@venite/components 0.16.47 → 0.16.49

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 (112) hide show
  1. package/dist/cjs/{book-82e0876b.js → book-6d16fad3.js} +1 -1
  2. package/dist/cjs/dropcaps-baa79b2d.js +21 -0
  3. package/dist/cjs/{heading-b7872a4d.js → heading-dff0a6f9.js} +1 -1
  4. package/dist/cjs/{image-75040cd8.js → image-527d7134.js} +1 -1
  5. package/dist/cjs/index-01fdec29.js +2 -2
  6. package/dist/cjs/ion-button_14.cjs.entry.js +1 -1
  7. package/dist/cjs/ion-card-content_6.cjs.entry.js +2 -2
  8. package/dist/cjs/ion-input_2.cjs.entry.js +1 -1
  9. package/dist/cjs/{ion-segment_16.cjs.entry.js → ion-segment_17.cjs.entry.js} +116 -45
  10. package/dist/cjs/ldf-day-name_5.cjs.entry.js +5 -7
  11. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +7 -7
  12. package/dist/cjs/ldf-editable-boolean_2.cjs.entry.js +1 -1
  13. package/dist/cjs/ldf-editable-condition-piece.cjs.entry.js +1 -1
  14. package/dist/cjs/ldf-editable-condition.cjs.entry.js +1 -1
  15. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +2 -2
  16. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +7 -7
  17. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +7 -7
  18. package/dist/cjs/ldf-editable-preference-option.cjs.entry.js +1 -1
  19. package/dist/cjs/ldf-editable-preference.cjs.entry.js +1 -1
  20. package/dist/cjs/ldf-editable-preferences.cjs.entry.js +1 -1
  21. package/dist/cjs/ldf-editable-string-list.cjs.entry.js +1 -1
  22. package/dist/cjs/ldf-editor.cjs.entry.js +1 -1
  23. package/dist/cjs/ldf.cjs.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/{option-d7f9785e.js → option-af060fb4.js} +1 -1
  26. package/dist/cjs/{refrain-dcde813a.js → refrain-f867e88b.js} +1 -1
  27. package/dist/cjs/{rubric-cd1436af.js → rubric-9851b9bb.js} +1 -1
  28. package/dist/cjs/{specific-class-c2579d35.js → specific-class-a4d1cc65.js} +5 -5
  29. package/dist/cjs/{text-d86d8916.js → text-9dd495bb.js} +1 -1
  30. package/dist/collection/collection-manifest.json +1 -0
  31. package/dist/collection/components/bible-reading/bible-reading.js +5 -4
  32. package/dist/collection/components/editable-metadata-buttons/editable-metadata-buttons.js +2 -2
  33. package/dist/collection/components/liturgical-document/dist/liturgical-document.js +3 -0
  34. package/dist/collection/components/liturgical-document/liturgical-document.js +3 -0
  35. package/dist/collection/components/parallel/dist/option.js +318 -0
  36. package/dist/collection/components/parallel/dist/parallel.js +146 -0
  37. package/dist/collection/components/parallel/parallel.css +8 -0
  38. package/dist/collection/components/parallel/parallel.i18n.en.json +3 -0
  39. package/dist/collection/components/parallel/parallel.js +213 -0
  40. package/dist/collection/components/psalm/psalm.js +2 -1
  41. package/dist/collection/components/responsive-prayer/responsive-prayer.js +8 -7
  42. package/dist/collection/components/text/text.js +3 -5
  43. package/dist/collection/i18n/parallel.i18n.en.json +3 -0
  44. package/dist/collection/utils/dropcaps.js +17 -0
  45. package/dist/esm/{book-30d463e4.js → book-ffb2b7c9.js} +1 -1
  46. package/dist/esm/dropcaps-9409f9e0.js +19 -0
  47. package/dist/esm/{heading-3148493f.js → heading-32b75b51.js} +1 -1
  48. package/dist/esm/{image-72083f34.js → image-b773ce41.js} +1 -1
  49. package/dist/esm/index-034add74.js +2 -2
  50. package/dist/esm/ion-button_14.entry.js +1 -1
  51. package/dist/esm/ion-card-content_6.entry.js +2 -2
  52. package/dist/esm/ion-input_2.entry.js +1 -1
  53. package/dist/esm/{ion-segment_16.entry.js → ion-segment_17.entry.js} +116 -46
  54. package/dist/esm/ldf-day-name_5.entry.js +5 -7
  55. package/dist/esm/ldf-editable-add-block-menu.entry.js +7 -7
  56. package/dist/esm/ldf-editable-boolean_2.entry.js +1 -1
  57. package/dist/esm/ldf-editable-condition-piece.entry.js +1 -1
  58. package/dist/esm/ldf-editable-condition.entry.js +1 -1
  59. package/dist/esm/ldf-editable-filter-documents.entry.js +2 -2
  60. package/dist/esm/ldf-editable-lookup_2.entry.js +7 -7
  61. package/dist/esm/ldf-editable-metadata.entry.js +7 -7
  62. package/dist/esm/ldf-editable-preference-option.entry.js +1 -1
  63. package/dist/esm/ldf-editable-preference.entry.js +1 -1
  64. package/dist/esm/ldf-editable-preferences.entry.js +1 -1
  65. package/dist/esm/ldf-editable-string-list.entry.js +1 -1
  66. package/dist/esm/ldf-editor.entry.js +1 -1
  67. package/dist/esm/ldf.js +1 -1
  68. package/dist/esm/loader.js +1 -1
  69. package/dist/esm/{option-6f3f65cd.js → option-f5f45da6.js} +1 -1
  70. package/dist/esm/{refrain-7bd7ce8a.js → refrain-03edc2dd.js} +1 -1
  71. package/dist/esm/{rubric-4fcaa326.js → rubric-5e76db3e.js} +1 -1
  72. package/dist/esm/{specific-class-11a0f046.js → specific-class-19d5b8ae.js} +5 -5
  73. package/dist/esm/{text-8a1f3c31.js → text-035232e4.js} +1 -1
  74. package/dist/ldf/i18n/parallel.i18n.en.json +3 -0
  75. package/dist/ldf/ldf.esm.js +1 -1
  76. package/dist/ldf/p-07a5654e.js +1 -0
  77. package/dist/ldf/p-177719a0.entry.js +1 -0
  78. package/dist/ldf/{p-13c95df6.entry.js → p-1e912545.entry.js} +1 -1
  79. package/dist/ldf/{p-75945b61.entry.js → p-2a52fcd7.entry.js} +1 -1
  80. package/dist/ldf/{p-4cecd5be.js → p-3f3b5ab1.js} +1 -1
  81. package/dist/ldf/p-424ff111.entry.js +1 -0
  82. package/dist/ldf/{p-0275ff97.entry.js → p-4a2d5333.entry.js} +1 -1
  83. package/dist/ldf/{p-531b0af0.entry.js → p-5547df4c.entry.js} +1 -1
  84. package/dist/ldf/{p-809c58d3.js → p-619c1cd7.js} +1 -1
  85. package/dist/ldf/{p-b5f92da4.entry.js → p-64a75143.entry.js} +1 -1
  86. package/dist/ldf/{p-a54d398b.entry.js → p-6a61c406.entry.js} +1 -1
  87. package/dist/ldf/{p-28f67c35.entry.js → p-823625bb.entry.js} +1 -1
  88. package/dist/ldf/{p-be6a5a82.js → p-8e59a930.js} +1 -1
  89. package/dist/ldf/p-94095704.js +1 -0
  90. package/dist/ldf/{p-f51f98ee.entry.js → p-a745950c.entry.js} +1 -1
  91. package/dist/ldf/p-ae13ac48.js +1 -0
  92. package/dist/ldf/{p-49297483.js → p-c88be1ca.js} +1 -1
  93. package/dist/ldf/{p-76b4b747.entry.js → p-c9263178.entry.js} +1 -1
  94. package/dist/ldf/{p-4346d5f8.js → p-cf9d5530.js} +1 -1
  95. package/dist/ldf/{p-8bd9886e.entry.js → p-d15ff324.entry.js} +1 -1
  96. package/dist/ldf/p-d6b725e9.js +1 -0
  97. package/dist/ldf/{p-3d550f37.entry.js → p-dd824b02.entry.js} +1 -1
  98. package/dist/ldf/{p-3402f431.entry.js → p-e1f58e08.entry.js} +1 -1
  99. package/dist/ldf/{p-74080a1b.entry.js → p-e8a53a5e.entry.js} +1 -1
  100. package/dist/ldf/{p-c8423964.entry.js → p-e8bb8144.entry.js} +1 -1
  101. package/dist/ldf/{p-248ae134.entry.js → p-ea6696fa.entry.js} +1 -1
  102. package/dist/types/components/editable-metadata-buttons/editable-metadata-buttons.d.ts +1 -1
  103. package/dist/types/components/parallel/parallel.d.ts +41 -0
  104. package/dist/types/components/responsive-prayer/responsive-prayer.d.ts +2 -2
  105. package/dist/types/components.d.ts +56 -3
  106. package/dist/types/utils/dropcaps.d.ts +3 -0
  107. package/package.json +2 -2
  108. package/dist/ldf/p-705e7fad.js +0 -1
  109. package/dist/ldf/p-8d817f81.entry.js +0 -1
  110. package/dist/ldf/p-ce877995.js +0 -1
  111. package/dist/ldf/p-cf7fede1.entry.js +0 -1
  112. package/dist/ldf/p-de7668ff.js +0 -1
@@ -4,18 +4,26 @@ import { q as pointerCoord, b as addEventListener, e as removeEventListener } fr
4
4
  import { i as isRTL } from './dir-03012648.js';
5
5
  import { c as createColorClasses, h as hostContext } from './theme-7ef00c83.js';
6
6
  import { f as alertController, l as loadingController, m as modalController, t as toastController } from './overlays-59377e10.js';
7
- import { R as Responsive, L as LiturgicalDocument, d as dateFromYMDString } from './book-30d463e4.js';
8
- import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-4fcaa326.js';
9
- import { H as Heading } from './heading-3148493f.js';
10
- import { v as versionToString, O as Option } from './option-6f3f65cd.js';
7
+ import { L as LiturgicalDocument, R as Responsive, d as dateFromYMDString } from './book-ffb2b7c9.js';
8
+ import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-5e76db3e.js';
9
+ import { H as Heading } from './heading-32b75b51.js';
10
+ import { v as versionToString, O as Option } from './option-f5f45da6.js';
11
11
  import { C as Change } from './change-ea574d32.js';
12
12
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
13
- import { I as Image } from './image-72083f34.js';
13
+ import { u as useDropcap } from './dropcaps-9409f9e0.js';
14
+ import { I as Image } from './image-b773ce41.js';
14
15
  import { D as Debounce } from './index-f08f6130.js';
15
- import { R as Refrain } from './refrain-7bd7ce8a.js';
16
+ import { R as Refrain } from './refrain-03edc2dd.js';
16
17
  import './hardware-back-button-fa04d6e9.js';
17
18
  import './_commonjsHelpers-ba3f0406.js';
18
19
 
20
+ class Parallel extends LiturgicalDocument {
21
+ //** Constructor takes a Javascript object containing the class's properties */
22
+ constructor(data = {}) {
23
+ super(data);
24
+ }
25
+ }
26
+
19
27
  const segmentIosCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.065);border-radius:8px;overflow:hidden;z-index:0}:host(.ion-color){background:rgba(var(--ion-color-base-rgb), 0.065)}:host(.in-toolbar){margin-left:auto;margin-right:auto;margin-top:0;margin-bottom:0;width:auto}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-toolbar){margin-left:unset;margin-right:unset;-webkit-margin-start:auto;margin-inline-start:auto;-webkit-margin-end:auto;margin-inline-end:auto}}:host(.in-toolbar:not(.ion-color)){background:var(--ion-toolbar-segment-background, var(--background))}:host(.in-toolbar-color:not(.ion-color)){background:rgba(var(--ion-color-contrast-rgb), 0.11)}";
20
28
 
21
29
  const segmentMdCss = ":host{--ripple-color:currentColor;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:flex;position:relative;align-items:stretch;justify-content:center;width:100%;background:var(--background);font-family:var(--ion-font-family, inherit);text-align:center;contain:paint;user-select:none}:host(.segment-scrollable){justify-content:start;width:auto;overflow-x:auto}:host(.segment-scrollable::-webkit-scrollbar){display:none}:host{--background:transparent}:host(.segment-scrollable) ::slotted(ion-segment-button){min-width:auto}";
@@ -549,7 +557,7 @@ const changeReading$1 = "Change Reading";
549
557
  const newCitation$1 = "Biblical citation.";
550
558
  const cancel$2 = "Cancel";
551
559
  const ok$2 = "OK";
552
- const EN$8 = {
560
+ const EN$9 = {
553
561
  amen: amen$1,
554
562
  book: book$1,
555
563
  chapter: chapter$1,
@@ -608,8 +616,8 @@ async function fetchReading(citation, version = 'NRSV', api = 'https://us-centra
608
616
 
609
617
  const bibleReadingCss = "ldf-bible-reading.sc-ldf-bible-reading,.sc-ldf-bible-reading-h{font-family:var(--ldf-font-face);text-align:var(--ldf-text-align)}.bible-reading[lang=he].sc-ldf-bible-reading{text-align:right;direction:rtl;font-size:1.5em;font-family:\"Times New Roman\" !important}.bible-reading[lang=he].sc-ldf-bible-reading .drop.sc-ldf-bible-reading{float:right !important;font-family:\"Times New Roman\" !important}.bible-reading.omit.sc-ldf-bible-reading .verses.sc-ldf-bible-reading{display:none}.editable.bible-reading.sc-ldf-bible-reading .verses.sc-ldf-bible-reading{display:block;color:var(--ldf-greyed-out-text-color)}sup.sc-ldf-bible-reading{display:var(--ldf-bible-reading-verse-number-display);margin-left:0;margin-right:0.25em}.citation.sc-ldf-bible-reading{font-size:80%;font-style:italic;margin-left:1em;float:var(--ldf-bible-reading-citation-float)}.response.sc-ldf-bible-reading{font-weight:var(--ldf-response-font-weight);font-style:var(--ldf-response-font-style)}.verses.sc-ldf-bible-reading .verse.sc-ldf-bible-reading{display:flex;flex-direction:row}sup.sc-ldf-bible-reading:first-of-type{display:var(--ldf-drop-early-verses-display)}.editable-verse.sc-ldf-bible-reading{display:inline}.editable-citation.sc-ldf-bible-reading{display:inline;width:100%}.editable-citation.sc-ldf-bible-reading ldf-editable-text.sc-ldf-bible-reading{display:inline-block;width:25px}.editable-citation.sc-ldf-bible-reading ldf-editable-text.book.sc-ldf-bible-reading{width:75px}h3.editable-label.sc-ldf-bible-reading{text-align:var(--ldf-h3-text-align);font-weight:var(--ldf-h3-font-weight);font-style:var(--ldf-h3-font-style);font-variant:var(--ldf-h3-font-variant);font-size:var(--ldf-h3-font-size);text-transform:var(--ldf-h3-text-transform)}.citation-button.sc-ldf-bible-reading{background:none;border:0;font-family:var(--ldf-font-face);font-size:inherit}";
610
618
 
611
- const LOCALE$8 = {
612
- 'en': EN$8,
619
+ const LOCALE$9 = {
620
+ 'en': EN$9,
613
621
  'es': ES$1
614
622
  };
615
623
  const BibleReadingComponent = class {
@@ -657,7 +665,7 @@ const BibleReadingComponent = class {
657
665
  // Private methods
658
666
  async loadLocaleStrings() {
659
667
  try {
660
- this.localeStrings = LOCALE$8[getComponentClosestLanguage(this.element)];
668
+ this.localeStrings = LOCALE$9[getComponentClosestLanguage(this.element)];
661
669
  }
662
670
  catch (e) {
663
671
  console.warn(e);
@@ -764,22 +772,22 @@ const BibleReadingComponent = class {
764
772
  _o.response);
765
773
  }
766
774
  return (h(Host, null, ((_p = this.obj) === null || _p === void 0 ? void 0 : _p.label) && h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label] }) }), h("div", { lang: (_q = this.obj) === null || _q === void 0 ? void 0 : _q.language, class: `bible-reading ${((_r = this.obj) === null || _r === void 0 ? void 0 : _r.display_format) || 'default'}` }, h("p", null, this.verses.map((verse, verseIndex) => {
767
- var _a;
775
+ var _a, _b;
768
776
  return verse.hasOwnProperty('type') && verse.type === 'heading'
769
777
  ? h("ldf-heading", { doc: new Heading(verse) })
770
- : h("ldf-string", { citation: { book: verse.book, chapter: verse.chapter, verse: verse.verse }, id: this.obj.uid, text: verse.text, fragment: this.path, dropcap: ((_a = this.obj) === null || _a === void 0 ? void 0 : _a.display_format) == "force_dropcap" && verseIndex === 0 ? "force" : "disabled" });
778
+ : h("ldf-string", { citation: { book: verse.book, chapter: verse.chapter, verse: verse.verse }, id: this.obj.uid, text: verse.text, fragment: this.path, dropcap: useDropcap((_a = this.obj) === null || _a === void 0 ? void 0 : _a.language, (_b = this.obj) === null || _b === void 0 ? void 0 : _b.display_format, verseIndex) });
771
779
  }), shortResponse && !((_t = (_s = this.obj) === null || _s === void 0 ? void 0 : _s.metadata) === null || _t === void 0 ? void 0 : _t.omit_response) && responseNode, h("span", { class: "citation" }, this.obj.citation)), !shortResponse && !((_v = (_u = this.obj) === null || _u === void 0 ? void 0 : _u.metadata) === null || _v === void 0 ? void 0 : _v.omit_response) && h("p", null, responseNode))));
772
780
  }
773
781
  /* `long` render a typical Bible reading in the liturgy */
774
782
  else {
775
783
  const paragraphs = this.paragraphs();
776
784
  return (h("div", { lang: (_w = this.obj) === null || _w === void 0 ? void 0 : _w.language, class: `bible-reading ${((_x = this.obj) === null || _x === void 0 ? void 0 : _x.display_format) || 'default'}` }, h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }), ((_z = (_y = this.obj) === null || _y === void 0 ? void 0 : _y.metadata) === null || _z === void 0 ? void 0 : _z.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) => {
777
- var _a;
785
+ var _a, _b;
778
786
  return verse.hasOwnProperty('type') && verse.type === 'heading'
779
787
  ? h("ldf-heading", { doc: new Heading(verse) })
780
788
  : [
781
789
  h("sup", null, verse.verse),
782
- 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 })
790
+ h("ldf-string", { citation: verse, dropcap: useDropcap((_a = this.obj) === null || _a === void 0 ? void 0 : _a.language, (_b = this.obj) === null || _b === void 0 ? void 0 : _b.display_format, paragraphIndex + verseIndex), id: `${verse.chapter}-${verse.book}-${verse.verse}`, text: verse.text, index: verseIndex, fragment: this.path })
783
791
  ];
784
792
  })))));
785
793
  }
@@ -798,7 +806,7 @@ BibleReadingComponent.style = bibleReadingCss;
798
806
  const add = "Add";
799
807
  const label$3 = "Label";
800
808
  const citation$3 = "Citation";
801
- const EN$7 = {
809
+ const EN$8 = {
802
810
  add: add,
803
811
  label: label$3,
804
812
  citation: citation$3
@@ -806,8 +814,8 @@ const EN$7 = {
806
814
 
807
815
  const editableAddBlockCss = ".sc-ldf-editable-add-block-h{display:flex;flex-direction:column;align-items:center;width:100%}.sc-ldf-editable-add-block-h .button-container.sc-ldf-editable-add-block{display:flex;align-items:center;height:0;justify-content:center;width:100%}.sc-ldf-editable-add-block-h button.sc-ldf-editable-add-block{background-color:var(--ldf-background-color);color:var(--ldf-color);font-family:var(--ldf-controls-font-family);font-weight:lighter}.sc-ldf-editable-add-block-h button.sc-ldf-editable-add-block:hover{cursor:pointer}.sc-ldf-editable-add-block-h .visible.sc-ldf-editable-add-block{height:0;opacity:1;transition:0.25s}.sc-ldf-editable-add-block-h .hidden.sc-ldf-editable-add-block{height:0;opacity:0;transition:2s}.sc-ldf-editable-add-block-h .underlying.sc-ldf-editable-add-block{width:100%;border-top:1px solid #a0a0a0;border-bottom:1px solid #a0a0a0;min-height:1em;position:relative;bottom:0.5em;z-index:-1}.sc-ldf-editable-add-block-h .underlying.visible.sc-ldf-editable-add-block{opacity:0.5;transition:0.25s}.sc-ldf-editable-add-block-h .underlying.visible.expanded.sc-ldf-editable-add-block{z-index:1}.sc-ldf-editable-add-block-h .underlying.collapsed.sc-ldf-editable-add-block{height:1em}.sc-ldf-editable-add-block-h .underlying.hidden.sc-ldf-editable-add-block{opacity:0;transition:1s}.sc-ldf-editable-add-block-h .underlying.hidden.sc-ldf-editable-add-block button.sc-ldf-editable-add-block{z-index:-1}.sc-ldf-editable-add-block-h .visually-hidden.sc-ldf-editable-add-block{position:absolute !important;height:1px;width:1px;overflow:hidden;clip:rect(1px 1px 1px 1px);clip:rect(1px, 1px, 1px, 1px);white-space:nowrap}.button.sc-ldf-editable-add-block{position:absolute;display:flex;flex-direction:row;align-items:center;justify-content:center;opacity:1;transition:all 0.25s}.hidden.sc-ldf-editable-add-block{display:none;height:0;opacity:0;transition:all 0.25s}";
808
816
 
809
- const LOCALE$7 = {
810
- 'en': EN$7
817
+ const LOCALE$8 = {
818
+ 'en': EN$8
811
819
  };
812
820
  const EditableAddBlockComponent = class {
813
821
  constructor(hostRef) {
@@ -822,7 +830,7 @@ const EditableAddBlockComponent = class {
822
830
  // Methods
823
831
  async loadLocaleStrings() {
824
832
  try {
825
- this.localeStrings = LOCALE$7[getComponentClosestLanguage(this.element)];
833
+ this.localeStrings = LOCALE$8[getComponentClosestLanguage(this.element)];
826
834
  }
827
835
  catch (e) {
828
836
  console.warn(e);
@@ -868,7 +876,7 @@ const responsiveSmallOnly = "Only on small screens";
868
876
  const responsiveSmallHidden = "Not on small screens";
869
877
  const unison = "Unison";
870
878
  const wholeverse = "By Whole Verse";
871
- const EN$6 = {
879
+ const EN$7 = {
872
880
  abbreviated: abbreviated,
873
881
  addOption: addOption,
874
882
  cancel: cancel,
@@ -902,8 +910,8 @@ const EN$6 = {
902
910
 
903
911
  const editableMetadataButtonsCss = ".buttons.sc-ldf-editable-metadata-buttons{position:absolute;height:0;width:100%;display:flex;flex-direction:row;align-items:center;justify-content:flex-end;opacity:1;transition:all 0.25s}.buttons.sc-ldf-editable-metadata-buttons ion-buttons.sc-ldf-editable-metadata-buttons{background-color:var(--ion-color-light, #f4f5f8);border-radius:3px;flex-wrap:wrap;max-width:100%}.hidden.sc-ldf-editable-metadata-buttons{display:none;height:0;opacity:0;transition:all 0.25s}@media (max-width: 767px){.sm-hidden.sc-ldf-editable-metadata-buttons{clip:rect(0 0 0 0);clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}}";
904
912
 
905
- const LOCALE$6 = {
906
- 'en': EN$6
913
+ const LOCALE$7 = {
914
+ 'en': EN$7
907
915
  };
908
916
  const EditableMetadataButtonsComponent = class {
909
917
  constructor(hostRef) {
@@ -927,7 +935,7 @@ const EditableMetadataButtonsComponent = class {
927
935
  // Private methods
928
936
  async loadLocaleStrings() {
929
937
  try {
930
- this.localeStrings = LOCALE$6[getComponentClosestLanguage(this.element)];
938
+ this.localeStrings = LOCALE$7[getComponentClosestLanguage(this.element)];
931
939
  }
932
940
  catch (e) {
933
941
  console.warn(e);
@@ -1143,7 +1151,7 @@ EditableSelectComponent.style = editableSelectCss;
1143
1151
 
1144
1152
  const close = "Return to Bulletin";
1145
1153
  const url = "URL";
1146
- const EN$5 = {
1154
+ const EN$6 = {
1147
1155
  close: close,
1148
1156
  url: url
1149
1157
  };
@@ -1160,8 +1168,8 @@ var __decorate = (undefined && undefined.__decorate) || function (decorators, ta
1160
1168
  r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
1161
1169
  return c > 3 && r && Object.defineProperty(target, key, r), r;
1162
1170
  };
1163
- const LOCALE$5 = {
1164
- 'en': EN$5
1171
+ const LOCALE$6 = {
1172
+ 'en': EN$6
1165
1173
  };
1166
1174
  const ImageComponent = class {
1167
1175
  constructor(hostRef) {
@@ -1195,7 +1203,7 @@ const ImageComponent = class {
1195
1203
  }
1196
1204
  async loadLocaleStrings() {
1197
1205
  try {
1198
- this.localeStrings = LOCALE$5[getComponentClosestLanguage(this.element)];
1206
+ this.localeStrings = LOCALE$6[getComponentClosestLanguage(this.element)];
1199
1207
  }
1200
1208
  catch (e) {
1201
1209
  console.warn(e);
@@ -1350,7 +1358,7 @@ const gt = " > ";
1350
1358
  const gte = " ≥ ";
1351
1359
  const smallOnly = "Only appears on small screens";
1352
1360
  const smallHidden = "Doesn't appear on small screens";
1353
- const EN$4 = {
1361
+ const EN$5 = {
1354
1362
  bible_version: bible_version,
1355
1363
  "canticle-1": "The first canticle ",
1356
1364
  "canticle-2": "The second canticle ",
@@ -1564,8 +1572,8 @@ const LookupNode = ({ doc, localeStrings }) => {
1564
1572
 
1565
1573
  const liturgicalDocumentCss = "ldf-liturgical-document.sc-ldf-liturgical-document,.sc-ldf-liturgical-document-h{font-family:var(--ldf-font-face);display:block}.container.editable.sc-ldf-liturgical-document{padding-top:0}.lookup.sc-ldf-liturgical-document{background-color:var(--ldf-editable-lookup-background-color);color:var(--ldf-editable-lookup-color);border-radius:4px;margin-bottom:1.5em;padding:1em;width:calc(100% - 2em)}.lookup.sc-ldf-liturgical-document code.sc-ldf-liturgical-document{font-weight:bold}.condition.sc-ldf-liturgical-document{background-color:var(--ldf-editable-condition-background-color);color:var(--ldf-editable-condition-color);border-radius:4px;padding:1em;width:calc(100% - 2em)}.condition.sc-ldf-liturgical-document code.sc-ldf-liturgical-document{font-weight:bold}.doc.sc-ldf-liturgical-document{margin-top:var(--ldf-liturgical-document-margin-top)}ldf-editable-metadata-buttons.sc-ldf-liturgical-document{height:none;display:block;z-index:10;background:var(--ldf-background);opacity:0.8;width:100%;position:sticky;top:2em;padding-top:1em;padding-bottom:1em}ldf-editable-metadata-buttons.top-level.sc-ldf-liturgical-document{position:relative;top:0}.small-only.sc-ldf-liturgical-document{display:block}.small-hidden.sc-ldf-liturgical-document{display:none}@media (min-width: 415px){.small-only.sc-ldf-liturgical-document{display:none}.small-hidden.sc-ldf-liturgical-document{display:block}}";
1566
1574
 
1567
- const LOCALE$4 = {
1568
- 'en': EN$4
1575
+ const LOCALE$5 = {
1576
+ 'en': EN$5
1569
1577
  };
1570
1578
  const LiturgicalDocumentComponent = class {
1571
1579
  constructor(hostRef) {
@@ -1652,7 +1660,7 @@ const LiturgicalDocumentComponent = class {
1652
1660
  }
1653
1661
  async loadLocaleStrings() {
1654
1662
  try {
1655
- this.localeStrings = LOCALE$4[getComponentClosestLanguage(this.element)];
1663
+ this.localeStrings = LOCALE$5[getComponentClosestLanguage(this.element)];
1656
1664
  }
1657
1665
  catch (e) {
1658
1666
  console.warn(e);
@@ -1722,6 +1730,9 @@ const LiturgicalDocumentComponent = class {
1722
1730
  case 'option':
1723
1731
  node = h("ldf-option", { path: this.path, editable: editable, preview: this.preview, doc: doc });
1724
1732
  break;
1733
+ case 'parallel':
1734
+ node = h("ldf-parallel", { path: this.path, editable: editable, preview: this.preview, doc: doc });
1735
+ break;
1725
1736
  case 'refrain':
1726
1737
  node = h("ldf-refrain", { path: this.path, editable: editable, doc: doc });
1727
1738
  break;
@@ -1821,7 +1832,7 @@ const resume = "Resume";
1821
1832
  const meditate = "Meditate for";
1822
1833
  const minutes = "minutes.";
1823
1834
  const seconds = " seconds. ";
1824
- const EN$3 = {
1835
+ const EN$4 = {
1825
1836
  start: start,
1826
1837
  pause: pause,
1827
1838
  resume: resume,
@@ -1832,8 +1843,8 @@ const EN$3 = {
1832
1843
 
1833
1844
  const meditationCss = "ldf-heading.sc-ldf-meditation .control-container.sc-ldf-meditation,.sc-ldf-meditation-h .control-container.sc-ldf-meditation{display:block;margin:auto}ldf-heading.sc-ldf-meditation .controls.sc-ldf-meditation,.sc-ldf-meditation-h .controls.sc-ldf-meditation{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;width:100%}ldf-heading.sc-ldf-meditation .controls.sc-ldf-meditation input.sc-ldf-meditation,.sc-ldf-meditation-h .controls.sc-ldf-meditation input.sc-ldf-meditation{text-align:center}@media (min-width: 767px){ldf-heading.sc-ldf-meditation .controls.sc-ldf-meditation,.sc-ldf-meditation-h .controls.sc-ldf-meditation{flex-direction:row}}ldf-heading.sc-ldf-meditation .progress-circle-container.sc-ldf-meditation,.sc-ldf-meditation-h .progress-circle-container.sc-ldf-meditation{display:flex;align-items:center;justify-content:center;padding:1em}ldf-heading.sc-ldf-meditation .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation,.sc-ldf-meditation-h .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation{width:300px;height:300px;display:flex;align-items:center;justify-content:center;border-radius:50%}ldf-heading.sc-ldf-meditation .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation .circle-overlay.sc-ldf-meditation,.sc-ldf-meditation-h .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation .circle-overlay.sc-ldf-meditation{background-color:var(--ldf-background-color);display:flex;align-items:center;flex-direction:column;justify-content:center;height:92%;width:92%;border-radius:50%}ldf-heading.sc-ldf-meditation .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation .seconds.sc-ldf-meditation,.sc-ldf-meditation-h .progress-circle-container.sc-ldf-meditation .progress-circle.sc-ldf-meditation .seconds.sc-ldf-meditation{font-family:var(--ldf-font-face);font-size:3em}ldf-heading.sc-ldf-meditation button.clear.sc-ldf-meditation,.sc-ldf-meditation-h button.clear.sc-ldf-meditation{background-color:var(--ldf-background-color);border:none;font-size:1em}.hidden.sc-ldf-meditation{height:0;opacity:0;transition:0.25s}";
1834
1845
 
1835
- const LOCALE$3 = {
1836
- 'en': EN$3
1846
+ const LOCALE$4 = {
1847
+ 'en': EN$4
1837
1848
  };
1838
1849
  const MeditationComponent = class {
1839
1850
  constructor(hostRef) {
@@ -1917,7 +1928,7 @@ const MeditationComponent = class {
1917
1928
  // Private methods
1918
1929
  async loadLocaleStrings() {
1919
1930
  try {
1920
- this.localeStrings = LOCALE$3[getComponentClosestLanguage(this.element)];
1931
+ this.localeStrings = LOCALE$4[getComponentClosestLanguage(this.element)];
1921
1932
  }
1922
1933
  catch (e) {
1923
1934
  console.warn(e);
@@ -1990,14 +2001,14 @@ const MeditationComponent = class {
1990
2001
  MeditationComponent.style = meditationCss;
1991
2002
 
1992
2003
  const option = "Option";
1993
- const EN$2 = {
2004
+ const EN$3 = {
1994
2005
  option: option
1995
2006
  };
1996
2007
 
1997
2008
  const optionCss = ".select-control.sc-ldf-option{margin-top:var(--ldf-select-control-margin-top)}ion-select.sc-ldf-option{width:75vw;max-width:300px}";
1998
2009
 
1999
- const LOCALE$2 = {
2000
- 'en': EN$2
2010
+ const LOCALE$3 = {
2011
+ 'en': EN$3
2001
2012
  };
2002
2013
  const OptionComponent = class {
2003
2014
  constructor(hostRef) {
@@ -2039,7 +2050,7 @@ const OptionComponent = class {
2039
2050
  /** Asynchronously load localization strings */
2040
2051
  async loadLocaleStrings() {
2041
2052
  try {
2042
- this.localeStrings = LOCALE$2[getComponentClosestLanguage(this.el)];
2053
+ this.localeStrings = LOCALE$3[getComponentClosestLanguage(this.el)];
2043
2054
  }
2044
2055
  catch (e) {
2045
2056
  console.warn(e);
@@ -2182,6 +2193,65 @@ const OptionComponent = class {
2182
2193
  };
2183
2194
  OptionComponent.style = optionCss;
2184
2195
 
2196
+ const parallel = "Parallel";
2197
+ const EN$2 = {
2198
+ parallel: parallel
2199
+ };
2200
+
2201
+ const parallelCss = ".select-control.sc-ldf-parallel{margin-top:var(--ldf-select-control-margin-top)}ion-select.sc-ldf-parallel{width:75vw;max-width:300px}";
2202
+
2203
+ const LOCALE$2 = {
2204
+ 'en': EN$2
2205
+ };
2206
+ const ParallelComponent = class {
2207
+ constructor(hostRef) {
2208
+ registerInstance(this, hostRef);
2209
+ this.ldfAddOptionToDoc = createEvent(this, "ldfAddOptionToDoc", 7);
2210
+ this.ldfDocShouldChange = createEvent(this, "ldfDocShouldChange", 7);
2211
+ this.ldfOptionAskForStoredSelection = createEvent(this, "ldfOptionAskForStoredSelection", 7);
2212
+ this.ldfOptionMakeSelection = createEvent(this, "ldfOptionMakeSelection", 7);
2213
+ }
2214
+ docChanged(newDoc) {
2215
+ try {
2216
+ if (typeof newDoc == 'string') {
2217
+ this.obj = new Parallel(JSON.parse(newDoc));
2218
+ }
2219
+ else {
2220
+ this.obj = new Parallel(newDoc);
2221
+ }
2222
+ }
2223
+ catch (e) {
2224
+ console.warn(e);
2225
+ this.obj = new Parallel();
2226
+ }
2227
+ }
2228
+ // Lifecycle events
2229
+ componentWillLoad() {
2230
+ this.docChanged(this.doc);
2231
+ this.loadLocaleStrings();
2232
+ this.ldfOptionAskForStoredSelection.emit({ el: this.el });
2233
+ }
2234
+ /** Asynchronously load localization strings */
2235
+ async loadLocaleStrings() {
2236
+ try {
2237
+ this.localeStrings = LOCALE$2[getComponentClosestLanguage(this.el)];
2238
+ }
2239
+ catch (e) {
2240
+ console.warn(e);
2241
+ }
2242
+ }
2243
+ // Render
2244
+ render() {
2245
+ var _a;
2246
+ return (h(Host, { lang: this.obj.language }, h("tr", null, (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.value) || []).map((obj, ii) => h("td", null, h("ldf-liturgical-document", { doc: obj, path: `${this.path}/value/${ii}`, base: `${this.path}/value`, index: ii, editable: this.editable, parentType: 'option' }))))));
2247
+ }
2248
+ get el() { return getElement(this); }
2249
+ static get watchers() { return {
2250
+ "doc": ["docChanged"]
2251
+ }; }
2252
+ };
2253
+ ParallelComponent.style = parallelCss;
2254
+
2185
2255
  const changeCanticle$1 = "Change Canticle";
2186
2256
  const citation$2 = "(Biblical) Citation";
2187
2257
  const label$2 = "Label";
@@ -2423,7 +2493,7 @@ const PsalmComponent = class {
2423
2493
  // 1st half of verse
2424
2494
  nodes.push(h("div", { class: 'verse' }, this.editable ?
2425
2495
  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 }) :
2426
- 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 })));
2496
+ 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: useDropcap((_e = this.obj) === null || _e === void 0 ? void 0 : _e.language, (_f = this.obj) === null || _f === void 0 ? void 0 : _f.display_format, verseIndex), index: verseIndex, fragment: this.path })));
2427
2497
  nodes.push(h("br", null));
2428
2498
  // 2nd half of verse
2429
2499
  nodes.push(h("div", { class: 'halfverse' }, this.editable ?
@@ -2541,8 +2611,8 @@ const ResponsivePrayerComponent = class {
2541
2611
  return (h("ldf-editable-text", { id: `${this.obj.uid}-${index}-${part}`, text: line[part], path: `${this.path}/value/${index}/${part}`, template: template, templateMaker: templateMaker }));
2542
2612
  }
2543
2613
  /** renders a `ResponsivePrayerLine` as an `ldf-string` */
2544
- stringNode(line, index, part) {
2545
- return (h("ldf-string", { citation: { label: this.obj.label }, id: `${this.obj.uid}-${index}-${part}`, text: line[part], dropcap: index == 0 ? "enabled" : "disabled", fragment: this.path }));
2614
+ stringNode(doc, line, index, part) {
2615
+ return (h("ldf-string", { citation: { label: this.obj.label }, id: `${this.obj.uid}-${index}-${part}`, text: line[part], dropcap: useDropcap(doc.language, doc.display_format, index), fragment: this.path }));
2546
2616
  }
2547
2617
  // Render the `response` in a litany, and handle `[Silence]` value
2548
2618
  litanyResponseStringNode(line, index) {
@@ -2567,7 +2637,7 @@ const ResponsivePrayerComponent = class {
2567
2637
  * V. O Lord, open our lips.
2568
2638
  * R. And our mouth shall proclaim thy praise. */
2569
2639
  const template = { label: '', text: '' }, templateMaker = (text) => ({ label: '', text });
2570
- return (h(Host, { class: this.obj.style, lang: this.obj.language }, h("ldf-label-bar", null, h("slot", { slot: 'end', name: 'controls' })), !this.editable && needsHeader && h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), h("table", { class: "preces" }, this.obj.value.map((line, index) => h("tr", { class: "row" }, h("td", { class: "cell" }, this.editable ? this.editableNode(line, index, 'label', template, templateMaker) : this.stringNode(line, index, 'label')), h("td", { class: index % 2 == 0 ? 'cell' : 'cell response' }, this.editable ? this.editableNode(line, index, 'text', template, templateMaker) : this.stringNode(line, index, 'text')))))));
2640
+ return (h(Host, { class: this.obj.style, lang: this.obj.language }, h("ldf-label-bar", null, h("slot", { slot: 'end', name: 'controls' })), !this.editable && needsHeader && h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), h("table", { class: "preces" }, this.obj.value.map((line, index) => h("tr", { class: "row" }, h("td", { class: "cell" }, this.editable ? this.editableNode(line, index, 'label', template, templateMaker) : this.stringNode(this.obj, line, index, 'label')), h("td", { class: index % 2 == 0 ? 'cell' : 'cell response' }, this.editable ? this.editableNode(line, index, 'text', template, templateMaker) : this.stringNode(this.obj, line, index, 'text')))))));
2571
2641
  }
2572
2642
  else if (this.obj.style == 'litany') {
2573
2643
  /* `litany`type returns prayers and responses with a break between each pair, like
@@ -2587,7 +2657,7 @@ const ResponsivePrayerComponent = class {
2587
2657
  // Render the line
2588
2658
  return h("div", { class: { "line": true, "editable": this.editable } }, h("p", { class: classes.join(' ') }, this.editable
2589
2659
  ? this.editableNode(line, index, 'text', template, templateMaker)
2590
- : this.stringNode(line, index, 'text'), line.response && (this.editable ?
2660
+ : this.stringNode(this.obj, line, index, 'text'), line.response && (this.editable ?
2591
2661
  h("span", { class: 'response' }, this.editableNode(line, index, 'response', template, templateMaker)) :
2592
2662
  [h("br", null), this.litanyResponseStringNode(line, index)]), (!line.response && ((_a = this.obj.metadata) === null || _a === void 0 ? void 0 : _a.response)) && (this.editable ?
2593
2663
  h("span", { class: 'response' }, h("ldf-editable-text", { id: `${this.obj.uid}-${index}-response`, text: this.obj.metadata.response, path: `${this.path}/response` })) :
@@ -2603,10 +2673,10 @@ const ResponsivePrayerComponent = class {
2603
2673
  return (h(Host, { class: this.obj.style, lang: this.obj.language }, !this.editableHeader && needsHeader && h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), h("p", { class: 'responsive' }, this.obj.value.map((line, index) => [
2604
2674
  this.editable ?
2605
2675
  h("div", null, this.editableNode(line, index, 'text', template, templateMaker)) :
2606
- h("div", null, this.stringNode(line, index, 'text')),
2676
+ h("div", null, this.stringNode(this.obj, line, index, 'text')),
2607
2677
  this.editable ?
2608
2678
  h("div", { class: 'response' }, this.editableNode(line, index, 'response', template, templateMaker)) :
2609
- h("div", { class: 'response' }, this.stringNode(line, index, 'response'))
2679
+ h("div", { class: 'response' }, this.stringNode(this.obj, line, index, 'response'))
2610
2680
  ]))));
2611
2681
  }
2612
2682
  }
@@ -2653,4 +2723,4 @@ const RubricComponent = class {
2653
2723
  };
2654
2724
  RubricComponent.style = rubricCss;
2655
2725
 
2656
- export { Segment as ion_segment, SegmentButton as ion_segment_button, SkeletonText as ion_skeleton_text, BibleReadingComponent as ldf_bible_reading, EditableAddBlockComponent as ldf_editable_add_block, EditableMetadataButtonsComponent as ldf_editable_metadata_buttons, EditableSelectComponent as ldf_editable_select, ImageComponent as ldf_image, LiturgicalDocumentComponent as ldf_liturgical_document, LiturgyComponent as ldf_liturgy, MeditationComponent as ldf_meditation, OptionComponent as ldf_option, PsalmComponent as ldf_psalm, RefrainComponent as ldf_refrain, ResponsivePrayerComponent as ldf_responsive_prayer, RubricComponent as ldf_rubric };
2726
+ export { Segment as ion_segment, SegmentButton as ion_segment_button, SkeletonText as ion_skeleton_text, BibleReadingComponent as ldf_bible_reading, EditableAddBlockComponent as ldf_editable_add_block, EditableMetadataButtonsComponent as ldf_editable_metadata_buttons, EditableSelectComponent as ldf_editable_select, ImageComponent as ldf_image, LiturgicalDocumentComponent as ldf_liturgical_document, LiturgyComponent as ldf_liturgy, MeditationComponent as ldf_meditation, OptionComponent as ldf_option, ParallelComponent as ldf_parallel, PsalmComponent as ldf_psalm, RefrainComponent as ldf_refrain, ResponsivePrayerComponent as ldf_responsive_prayer, RubricComponent as ldf_rubric };
@@ -1,10 +1,11 @@
1
1
  import { r as registerInstance, h, H as Host, d as getElement, c as createEvent } from './index-034add74.js';
2
- import { a as LiturgicalDay, d as dateFromYMDString } from './book-30d463e4.js';
3
- import { T as Text } from './text-8a1f3c31.js';
2
+ import { a as LiturgicalDay, d as dateFromYMDString } from './book-ffb2b7c9.js';
3
+ import { T as Text } from './text-035232e4.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
5
- import { H as Heading } from './heading-3148493f.js';
5
+ import { H as Heading } from './heading-32b75b51.js';
6
6
  import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-ba3f0406.js';
7
7
  import { m as modalController } from './overlays-59377e10.js';
8
+ import { u as useDropcap } from './dropcaps-9409f9e0.js';
8
9
  import './ionic-global-24253941.js';
9
10
  import './hardware-back-button-fa04d6e9.js';
10
11
  import './helpers-af86adf0.js';
@@ -5860,10 +5861,7 @@ const TextComponent = class {
5860
5861
  return (h("div", { lang: ((_1 = this.obj) === null || _1 === void 0 ? void 0 : _1.language) || 'en', class: `text ${((_2 = this.obj) === null || _2 === void 0 ? void 0 : _2.display_format) || 'default'}` }, ((((_3 = this.obj) === null || _3 === void 0 ? void 0 : _3.label) && !((_5 = (_4 = this.obj) === null || _4 === void 0 ? void 0 : _4.metadata) === null || _5 === void 0 ? void 0 : _5.omit_label)) || ((_6 = this.obj) === null || _6 === void 0 ? void 0 : _6.citation)) && h("ldf-heading", { path: this.path, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [((_7 = this.obj.metadata) === null || _7 === void 0 ? void 0 : _7.omit_label) ? '' : this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), compiledValue.map((prayer, prayerIndex) => {
5861
5862
  var _a, _b, _c, _d;
5862
5863
  return h("p", { class: "text-body", id: `${this.obj.uid || this.obj.slug}-prayerIndex` }, prayer === null || prayer === void 0 ? void 0 :
5863
- prayer.map((chunk, chunkIndex) => {
5864
- var _a;
5865
- return h("span", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}-${chunkIndex}` }, h("ldf-string", { text: chunk, citation: { label: this.obj.label }, dropcap: ((_a = this.obj) === null || _a === void 0 ? void 0 : _a.display_format) == "force_dropcap" && prayerIndex === 0 && chunkIndex === 0 ? "force" : (prayerIndex === 0 && chunkIndex <= 1 ? "enabled" : "disabled"), index: prayerIndex + chunkIndex, fragment: this.path }));
5866
- }), ((_b = (_a = this.obj) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.response) && prayerIndex == compiledValue.length - 1 && h("span", { class: "response" }, " ", this.obj.metadata.response), !((_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.response) && this.obj.style == 'prayer' && prayerIndex == compiledValue.length - 1 && h("span", { class: "response" }, " ", localeStrings.amen));
5864
+ prayer.map((chunk, chunkIndex) => h("span", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}-${chunkIndex}` }, h("ldf-string", { text: chunk, citation: { label: this.obj.label }, dropcap: useDropcap(this.obj.language, this.obj.display_format, prayerIndex + chunkIndex), index: prayerIndex + chunkIndex, fragment: this.path }))), ((_b = (_a = this.obj) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.response) && prayerIndex == compiledValue.length - 1 && h("span", { class: "response" }, " ", this.obj.metadata.response), !((_d = (_c = this.obj) === null || _c === void 0 ? void 0 : _c.metadata) === null || _d === void 0 ? void 0 : _d.response) && this.obj.style == 'prayer' && prayerIndex == compiledValue.length - 1 && h("span", { class: "response" }, " ", localeStrings.amen));
5867
5865
  })));
5868
5866
  }
5869
5867
  }
@@ -1,11 +1,11 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, d as getElement } from './index-034add74.js';
2
- import { L as LiturgicalDocument } from './book-30d463e4.js';
3
- import { B as BibleReading, P as Psalm, L as Liturgy$1, M as Meditation, R as ResponsivePrayer, a as Rubric } from './rubric-4fcaa326.js';
4
- import { H as Heading } from './heading-3148493f.js';
5
- import { I as Image } from './image-72083f34.js';
6
- import { O as Option } from './option-6f3f65cd.js';
7
- import { R as Refrain } from './refrain-7bd7ce8a.js';
8
- import { T as Text } from './text-8a1f3c31.js';
2
+ import { L as LiturgicalDocument } from './book-ffb2b7c9.js';
3
+ import { B as BibleReading, P as Psalm, L as Liturgy$1, M as Meditation, R as ResponsivePrayer, a as Rubric } from './rubric-5e76db3e.js';
4
+ import { H as Heading } from './heading-32b75b51.js';
5
+ import { I as Image } from './image-b773ce41.js';
6
+ import { O as Option } from './option-f5f45da6.js';
7
+ import { R as Refrain } from './refrain-03edc2dd.js';
8
+ import { T as Text } from './text-035232e4.js';
9
9
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
10
10
 
11
11
  const MENU = [
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, d as getElement } from './index-034add74.js';
2
- import './book-30d463e4.js';
2
+ import './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
4
  import { f as alertController } from './overlays-59377e10.js';
5
5
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
@@ -1,5 +1,5 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, d as getElement } from './index-034add74.js';
2
- import { C as Condition } from './book-30d463e4.js';
2
+ import { C as Condition } from './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import { C as Condition } from './book-30d463e4.js';
2
+ import { C as Condition } from './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
5
5
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import { L as LiturgicalDocument } from './book-30d463e4.js';
3
- import { v as versionToString, O as Option } from './option-6f3f65cd.js';
2
+ import { L as LiturgicalDocument } from './book-ffb2b7c9.js';
3
+ import { v as versionToString, O as Option } from './option-f5f45da6.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
5
5
 
6
6
  /* Converts a list of documents into a single document showing options in parallel */
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import { L as LiturgicalDocument } from './book-30d463e4.js';
2
+ import { L as LiturgicalDocument } from './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
- import { v as versionToString } from './option-6f3f65cd.js';
5
- import { s as specificClass } from './specific-class-11a0f046.js';
4
+ import { v as versionToString } from './option-f5f45da6.js';
5
+ import { s as specificClass } from './specific-class-19d5b8ae.js';
6
6
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
7
- import './rubric-4fcaa326.js';
8
- import './heading-3148493f.js';
9
- import './refrain-7bd7ce8a.js';
10
- import './text-8a1f3c31.js';
7
+ import './rubric-5e76db3e.js';
8
+ import './heading-32b75b51.js';
9
+ import './refrain-03edc2dd.js';
10
+ import './text-035232e4.js';
11
11
 
12
12
  const LOCALE_STRINGS = {
13
13
  "allowMultiple": "Allow multiple options",
@@ -1,13 +1,13 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import { L as LiturgicalDocument } from './book-30d463e4.js';
2
+ import { L as LiturgicalDocument } from './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
- import { s as specificClass } from './specific-class-11a0f046.js';
4
+ import { s as specificClass } from './specific-class-19d5b8ae.js';
5
5
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
6
- import './rubric-4fcaa326.js';
7
- import './heading-3148493f.js';
8
- import './option-6f3f65cd.js';
9
- import './refrain-7bd7ce8a.js';
10
- import './text-8a1f3c31.js';
6
+ import './rubric-5e76db3e.js';
7
+ import './heading-32b75b51.js';
8
+ import './option-f5f45da6.js';
9
+ import './refrain-03edc2dd.js';
10
+ import './text-035232e4.js';
11
11
 
12
12
  const abbreviated = "Abbreviated";
13
13
  const advanced = "Advanced Settings";
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import './book-30d463e4.js';
2
+ import './book-ffb2b7c9.js';
3
3
  import { a as PreferenceOption } from './preference-d070d4cb.js';
4
4
  import { C as Change } from './change-ea574d32.js';
5
5
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import './book-30d463e4.js';
2
+ import './book-ffb2b7c9.js';
3
3
  import { P as Preference, a as PreferenceOption } from './preference-d070d4cb.js';
4
4
  import { C as Change } from './change-ea574d32.js';
5
5
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
@@ -1,6 +1,6 @@
1
1
  import { h, r as registerInstance, c as createEvent, H as Host, d as getElement } from './index-034add74.js';
2
2
  import { f as alertController } from './overlays-59377e10.js';
3
- import './book-30d463e4.js';
3
+ import './book-ffb2b7c9.js';
4
4
  import { P as Preference } from './preference-d070d4cb.js';
5
5
  import { C as Change } from './change-ea574d32.js';
6
6
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, d as getElement } from './index-034add74.js';
2
- import './book-30d463e4.js';
2
+ import './book-ffb2b7c9.js';
3
3
  import { C as Change } from './change-ea574d32.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-de430ca1.js';
5
5
 
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, d as getElement } from './index-034add74.js';
2
- import { L as LiturgicalDocument } from './book-30d463e4.js';
2
+ import { L as LiturgicalDocument } from './book-ffb2b7c9.js';
3
3
  import { C as Cursor } from './cursor-0e47f111.js';
4
4
  import { C as Change } from './change-ea574d32.js';
5
5
  import { e as elementFromPath, q as querySelectorDeep, v as values_js } from './index-1bf6d100.js';