@venite/components 0.16.46 → 0.16.48

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 (93) 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/ion-button_14.cjs.entry.js +1 -1
  6. package/dist/cjs/ion-card-content_6.cjs.entry.js +2 -2
  7. package/dist/cjs/ion-input_2.cjs.entry.js +1 -1
  8. package/dist/cjs/ion-segment_16.cjs.entry.js +18 -17
  9. package/dist/cjs/ldf-day-name_5.cjs.entry.js +9 -9
  10. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +7 -7
  11. package/dist/cjs/ldf-editable-boolean_2.cjs.entry.js +1 -1
  12. package/dist/cjs/ldf-editable-condition-piece.cjs.entry.js +1 -1
  13. package/dist/cjs/ldf-editable-condition.cjs.entry.js +1 -1
  14. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +2 -2
  15. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +7 -7
  16. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +7 -7
  17. package/dist/cjs/ldf-editable-preference-option.cjs.entry.js +1 -1
  18. package/dist/cjs/ldf-editable-preference.cjs.entry.js +1 -1
  19. package/dist/cjs/ldf-editable-preferences.cjs.entry.js +1 -1
  20. package/dist/cjs/ldf-editable-string-list.cjs.entry.js +1 -1
  21. package/dist/cjs/ldf-editor.cjs.entry.js +1 -1
  22. package/dist/cjs/{option-d7f9785e.js → option-af060fb4.js} +1 -1
  23. package/dist/cjs/{refrain-dcde813a.js → refrain-f867e88b.js} +1 -1
  24. package/dist/cjs/{rubric-cd1436af.js → rubric-9851b9bb.js} +1 -1
  25. package/dist/cjs/{specific-class-c2579d35.js → specific-class-a4d1cc65.js} +5 -5
  26. package/dist/cjs/{text-d86d8916.js → text-9dd495bb.js} +1 -1
  27. package/dist/collection/components/bible-reading/bible-reading.js +5 -4
  28. package/dist/collection/components/psalm/psalm.js +2 -1
  29. package/dist/collection/components/responsive-prayer/responsive-prayer.js +8 -7
  30. package/dist/collection/components/text/text.css +0 -1
  31. package/dist/collection/components/text/text.js +6 -11
  32. package/dist/collection/utils/dropcaps.js +17 -0
  33. package/dist/esm/{book-30d463e4.js → book-ffb2b7c9.js} +1 -1
  34. package/dist/esm/dropcaps-9409f9e0.js +19 -0
  35. package/dist/esm/{heading-3148493f.js → heading-32b75b51.js} +1 -1
  36. package/dist/esm/{image-72083f34.js → image-b773ce41.js} +1 -1
  37. package/dist/esm/ion-button_14.entry.js +1 -1
  38. package/dist/esm/ion-card-content_6.entry.js +2 -2
  39. package/dist/esm/ion-input_2.entry.js +1 -1
  40. package/dist/esm/ion-segment_16.entry.js +18 -17
  41. package/dist/esm/ldf-day-name_5.entry.js +9 -9
  42. package/dist/esm/ldf-editable-add-block-menu.entry.js +7 -7
  43. package/dist/esm/ldf-editable-boolean_2.entry.js +1 -1
  44. package/dist/esm/ldf-editable-condition-piece.entry.js +1 -1
  45. package/dist/esm/ldf-editable-condition.entry.js +1 -1
  46. package/dist/esm/ldf-editable-filter-documents.entry.js +2 -2
  47. package/dist/esm/ldf-editable-lookup_2.entry.js +7 -7
  48. package/dist/esm/ldf-editable-metadata.entry.js +7 -7
  49. package/dist/esm/ldf-editable-preference-option.entry.js +1 -1
  50. package/dist/esm/ldf-editable-preference.entry.js +1 -1
  51. package/dist/esm/ldf-editable-preferences.entry.js +1 -1
  52. package/dist/esm/ldf-editable-string-list.entry.js +1 -1
  53. package/dist/esm/ldf-editor.entry.js +1 -1
  54. package/dist/esm/{option-6f3f65cd.js → option-f5f45da6.js} +1 -1
  55. package/dist/esm/{refrain-7bd7ce8a.js → refrain-03edc2dd.js} +1 -1
  56. package/dist/esm/{rubric-4fcaa326.js → rubric-5e76db3e.js} +1 -1
  57. package/dist/esm/{specific-class-11a0f046.js → specific-class-19d5b8ae.js} +5 -5
  58. package/dist/esm/{text-8a1f3c31.js → text-035232e4.js} +1 -1
  59. package/dist/ldf/ldf.esm.js +1 -1
  60. package/dist/ldf/p-07a5654e.js +1 -0
  61. package/dist/ldf/{p-13c95df6.entry.js → p-1e912545.entry.js} +1 -1
  62. package/dist/ldf/{p-75945b61.entry.js → p-2a52fcd7.entry.js} +1 -1
  63. package/dist/ldf/{p-4cecd5be.js → p-3f3b5ab1.js} +1 -1
  64. package/dist/ldf/p-424ff111.entry.js +1 -0
  65. package/dist/ldf/{p-0275ff97.entry.js → p-4a2d5333.entry.js} +1 -1
  66. package/dist/ldf/{p-531b0af0.entry.js → p-5547df4c.entry.js} +1 -1
  67. package/dist/ldf/p-5c897bef.entry.js +1 -0
  68. package/dist/ldf/{p-809c58d3.js → p-619c1cd7.js} +1 -1
  69. package/dist/ldf/{p-b5f92da4.entry.js → p-64a75143.entry.js} +1 -1
  70. package/dist/ldf/{p-a54d398b.entry.js → p-6a61c406.entry.js} +1 -1
  71. package/dist/ldf/{p-28f67c35.entry.js → p-823625bb.entry.js} +1 -1
  72. package/dist/ldf/{p-be6a5a82.js → p-8e59a930.js} +1 -1
  73. package/dist/ldf/p-94095704.js +1 -0
  74. package/dist/ldf/{p-f51f98ee.entry.js → p-a745950c.entry.js} +1 -1
  75. package/dist/ldf/p-ae13ac48.js +1 -0
  76. package/dist/ldf/{p-49297483.js → p-c88be1ca.js} +1 -1
  77. package/dist/ldf/{p-76b4b747.entry.js → p-c9263178.entry.js} +1 -1
  78. package/dist/ldf/{p-4346d5f8.js → p-cf9d5530.js} +1 -1
  79. package/dist/ldf/{p-8bd9886e.entry.js → p-d15ff324.entry.js} +1 -1
  80. package/dist/ldf/p-d6b725e9.js +1 -0
  81. package/dist/ldf/{p-3d550f37.entry.js → p-dd824b02.entry.js} +1 -1
  82. package/dist/ldf/{p-3402f431.entry.js → p-e1f58e08.entry.js} +1 -1
  83. package/dist/ldf/{p-74080a1b.entry.js → p-e8a53a5e.entry.js} +1 -1
  84. package/dist/ldf/{p-c8423964.entry.js → p-e8bb8144.entry.js} +1 -1
  85. package/dist/ldf/{p-248ae134.entry.js → p-ea6696fa.entry.js} +1 -1
  86. package/dist/types/components/responsive-prayer/responsive-prayer.d.ts +2 -2
  87. package/dist/types/utils/dropcaps.d.ts +3 -0
  88. package/package.json +2 -2
  89. package/dist/ldf/p-0a291888.entry.js +0 -1
  90. package/dist/ldf/p-705e7fad.js +0 -1
  91. package/dist/ldf/p-ce877995.js +0 -1
  92. package/dist/ldf/p-cf7fede1.entry.js +0 -1
  93. package/dist/ldf/p-de7668ff.js +0 -1
@@ -257,7 +257,7 @@ const TYPES = [
257
257
  'parallel',
258
258
  ];
259
259
  const LOOKUP_TYPES = ['lectionary', 'canticle', 'category', 'slug', 'collect'];
260
- const DISPLAY_FORMATS = ['default', 'omit', 'unison', 'abbreviated', 'force_dropcap'];
260
+ const DISPLAY_FORMATS = ['default', 'omit', 'unison', 'abbreviated', 'force_dropcap', 'disable_dropcap'];
261
261
  /** Represents a liturgy of any scope and concreteness, from a complete bullletin to a single prayer. */
262
262
  class LiturgicalDocument {
263
263
  //** Constructor takes a Javascript object containing the class's properties */
@@ -0,0 +1,21 @@
1
+ 'use strict';
2
+
3
+ function useDropcap(language, display_format, index) {
4
+ if (language == "iu" || language == "he") {
5
+ return "disabled";
6
+ }
7
+ if (display_format === "force_dropcap") {
8
+ return "enabled";
9
+ }
10
+ if (display_format === "disable_dropcap") {
11
+ return "disabled";
12
+ }
13
+ if (index == 0) {
14
+ return "enabled";
15
+ }
16
+ else {
17
+ return "disabled";
18
+ }
19
+ }
20
+
21
+ exports.useDropcap = useDropcap;
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  const STYLES = ['text', 'day', 'date'];
6
6
  class Heading extends book.LiturgicalDocument {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  const STYLES = ['normal', 'slideshow', 'carousel'];
6
6
  /** Refrain represents a short text like the Gloria Patri, Hail Mary, or an Antiphon */
@@ -11,7 +11,7 @@ const index$1 = require('./index-9c7b27e4.js');
11
11
  const index$2 = require('./index-b6879fbc.js');
12
12
  const index$3 = require('./index-e56e09b8.js');
13
13
  const overlays = require('./overlays-240c867b.js');
14
- require('./book-82e0876b.js');
14
+ require('./book-6d16fad3.js');
15
15
  const change = require('./change-cdb1e8c0.js');
16
16
  const locale = require('./locale-13a47c0e.js');
17
17
  require('./hardware-back-button-92d97ff8.js');
@@ -6,8 +6,8 @@ const index = require('./index-01fdec29.js');
6
6
  const ionicGlobal = require('./ionic-global-bd0aab94.js');
7
7
  const theme = require('./theme-b0b295c1.js');
8
8
  const overlays = require('./overlays-240c867b.js');
9
- require('./book-82e0876b.js');
10
- const refrain = require('./refrain-dcde813a.js');
9
+ require('./book-6d16fad3.js');
10
+ const refrain = require('./refrain-f867e88b.js');
11
11
  const change = require('./change-cdb1e8c0.js');
12
12
  const locale = require('./locale-13a47c0e.js');
13
13
  require('./hardware-back-button-92d97ff8.js');
@@ -7,7 +7,7 @@ const ionicGlobal = require('./ionic-global-bd0aab94.js');
7
7
  const helpers = require('./helpers-c2496722.js');
8
8
  const theme = require('./theme-b0b295c1.js');
9
9
  const index$1 = require('./index-7aa21373.js');
10
- require('./book-82e0876b.js');
10
+ require('./book-6d16fad3.js');
11
11
  const cursor = require('./cursor-81bfd01e.js');
12
12
  const change = require('./change-cdb1e8c0.js');
13
13
  const _commonjsHelpers = require('./_commonjsHelpers-bcc1208a.js');
@@ -8,15 +8,16 @@ const helpers = require('./helpers-c2496722.js');
8
8
  const dir = require('./dir-5af5259a.js');
9
9
  const theme = require('./theme-b0b295c1.js');
10
10
  const overlays = require('./overlays-240c867b.js');
11
- const book$2 = require('./book-82e0876b.js');
12
- const rubric = require('./rubric-cd1436af.js');
13
- const heading$1 = require('./heading-b7872a4d.js');
14
- const option$1 = require('./option-d7f9785e.js');
11
+ const book$2 = require('./book-6d16fad3.js');
12
+ const rubric = require('./rubric-9851b9bb.js');
13
+ const heading$1 = require('./heading-dff0a6f9.js');
14
+ const option$1 = require('./option-af060fb4.js');
15
15
  const change = require('./change-cdb1e8c0.js');
16
16
  const locale = require('./locale-13a47c0e.js');
17
- const image = require('./image-75040cd8.js');
17
+ const dropcaps = require('./dropcaps-baa79b2d.js');
18
+ const image = require('./image-527d7134.js');
18
19
  const index$1 = require('./index-7aa21373.js');
19
- const refrain = require('./refrain-dcde813a.js');
20
+ const refrain = require('./refrain-f867e88b.js');
20
21
  require('./hardware-back-button-92d97ff8.js');
21
22
  require('./_commonjsHelpers-bcc1208a.js');
22
23
 
@@ -768,22 +769,22 @@ const BibleReadingComponent = class {
768
769
  _o.response);
769
770
  }
770
771
  return (index.h(index.Host, null, ((_p = this.obj) === null || _p === void 0 ? void 0 : _p.label) && index.h("ldf-heading", { doc: new heading$1.Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label] }) }), index.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'}` }, index.h("p", null, this.verses.map((verse, verseIndex) => {
771
- var _a;
772
+ var _a, _b;
772
773
  return verse.hasOwnProperty('type') && verse.type === 'heading'
773
774
  ? index.h("ldf-heading", { doc: new heading$1.Heading(verse) })
774
- : index.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" });
775
+ : index.h("ldf-string", { citation: { book: verse.book, chapter: verse.chapter, verse: verse.verse }, id: this.obj.uid, text: verse.text, fragment: this.path, dropcap: dropcaps.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) });
775
776
  }), shortResponse && !((_t = (_s = this.obj) === null || _s === void 0 ? void 0 : _s.metadata) === null || _t === void 0 ? void 0 : _t.omit_response) && responseNode, index.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) && index.h("p", null, responseNode))));
776
777
  }
777
778
  /* `long` render a typical Bible reading in the liturgy */
778
779
  else {
779
780
  const paragraphs = this.paragraphs();
780
781
  return (index.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'}` }, index.h("ldf-heading", { doc: new heading$1.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) && index.h("ldf-liturgical-document", { doc: this.obj.metadata.compiled_intro }), paragraphs.map((paragraph, paragraphIndex) => index.h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => {
781
- var _a;
782
+ var _a, _b;
782
783
  return verse.hasOwnProperty('type') && verse.type === 'heading'
783
784
  ? index.h("ldf-heading", { doc: new heading$1.Heading(verse) })
784
785
  : [
785
786
  index.h("sup", null, verse.verse),
786
- index.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 })
787
+ index.h("ldf-string", { citation: verse, dropcap: dropcaps.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 })
787
788
  ];
788
789
  })))));
789
790
  }
@@ -2427,7 +2428,7 @@ const PsalmComponent = class {
2427
2428
  // 1st half of verse
2428
2429
  nodes.push(index.h("div", { class: 'verse' }, this.editable ?
2429
2430
  index.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 }) :
2430
- index.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 })));
2431
+ index.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: dropcaps.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 })));
2431
2432
  nodes.push(index.h("br", null));
2432
2433
  // 2nd half of verse
2433
2434
  nodes.push(index.h("div", { class: 'halfverse' }, this.editable ?
@@ -2545,8 +2546,8 @@ const ResponsivePrayerComponent = class {
2545
2546
  return (index.h("ldf-editable-text", { id: `${this.obj.uid}-${index$1}-${part}`, text: line[part], path: `${this.path}/value/${index$1}/${part}`, template: template, templateMaker: templateMaker }));
2546
2547
  }
2547
2548
  /** renders a `ResponsivePrayerLine` as an `ldf-string` */
2548
- stringNode(line, index$1, part) {
2549
- return (index.h("ldf-string", { citation: { label: this.obj.label }, id: `${this.obj.uid}-${index$1}-${part}`, text: line[part], dropcap: index$1 == 0 ? "enabled" : "disabled", fragment: this.path }));
2549
+ stringNode(doc, line, index$1, part) {
2550
+ return (index.h("ldf-string", { citation: { label: this.obj.label }, id: `${this.obj.uid}-${index$1}-${part}`, text: line[part], dropcap: dropcaps.useDropcap(doc.language, doc.display_format, index$1), fragment: this.path }));
2550
2551
  }
2551
2552
  // Render the `response` in a litany, and handle `[Silence]` value
2552
2553
  litanyResponseStringNode(line, index$1) {
@@ -2571,7 +2572,7 @@ const ResponsivePrayerComponent = class {
2571
2572
  * V. O Lord, open our lips.
2572
2573
  * R. And our mouth shall proclaim thy praise. */
2573
2574
  const template = { label: '', text: '' }, templateMaker = (text) => ({ label: '', text });
2574
- return (index.h(index.Host, { class: this.obj.style, lang: this.obj.language }, index.h("ldf-label-bar", null, index.h("slot", { slot: 'end', name: 'controls' })), !this.editable && needsHeader && index.h("ldf-heading", { doc: new heading$1.Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), index.h("table", { class: "preces" }, this.obj.value.map((line, index$1) => index.h("tr", { class: "row" }, index.h("td", { class: "cell" }, this.editable ? this.editableNode(line, index$1, 'label', template, templateMaker) : this.stringNode(line, index$1, 'label')), index.h("td", { class: index$1 % 2 == 0 ? 'cell' : 'cell response' }, this.editable ? this.editableNode(line, index$1, 'text', template, templateMaker) : this.stringNode(line, index$1, 'text')))))));
2575
+ return (index.h(index.Host, { class: this.obj.style, lang: this.obj.language }, index.h("ldf-label-bar", null, index.h("slot", { slot: 'end', name: 'controls' })), !this.editable && needsHeader && index.h("ldf-heading", { doc: new heading$1.Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), index.h("table", { class: "preces" }, this.obj.value.map((line, index$1) => index.h("tr", { class: "row" }, index.h("td", { class: "cell" }, this.editable ? this.editableNode(line, index$1, 'label', template, templateMaker) : this.stringNode(this.obj, line, index$1, 'label')), index.h("td", { class: index$1 % 2 == 0 ? 'cell' : 'cell response' }, this.editable ? this.editableNode(line, index$1, 'text', template, templateMaker) : this.stringNode(this.obj, line, index$1, 'text')))))));
2575
2576
  }
2576
2577
  else if (this.obj.style == 'litany') {
2577
2578
  /* `litany`type returns prayers and responses with a break between each pair, like
@@ -2591,7 +2592,7 @@ const ResponsivePrayerComponent = class {
2591
2592
  // Render the line
2592
2593
  return index.h("div", { class: { "line": true, "editable": this.editable } }, index.h("p", { class: classes.join(' ') }, this.editable
2593
2594
  ? this.editableNode(line, index$1, 'text', template, templateMaker)
2594
- : this.stringNode(line, index$1, 'text'), line.response && (this.editable ?
2595
+ : this.stringNode(this.obj, line, index$1, 'text'), line.response && (this.editable ?
2595
2596
  index.h("span", { class: 'response' }, this.editableNode(line, index$1, 'response', template, templateMaker)) :
2596
2597
  [index.h("br", null), this.litanyResponseStringNode(line, index$1)]), (!line.response && ((_a = this.obj.metadata) === null || _a === void 0 ? void 0 : _a.response)) && (this.editable ?
2597
2598
  index.h("span", { class: 'response' }, index.h("ldf-editable-text", { id: `${this.obj.uid}-${index$1}-response`, text: this.obj.metadata.response, path: `${this.path}/response` })) :
@@ -2607,10 +2608,10 @@ const ResponsivePrayerComponent = class {
2607
2608
  return (index.h(index.Host, { class: this.obj.style, lang: this.obj.language }, !this.editableHeader && needsHeader && index.h("ldf-heading", { doc: new heading$1.Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && needsHeader && this.editableHeader(), index.h("p", { class: 'responsive' }, this.obj.value.map((line, index$1) => [
2608
2609
  this.editable ?
2609
2610
  index.h("div", null, this.editableNode(line, index$1, 'text', template, templateMaker)) :
2610
- index.h("div", null, this.stringNode(line, index$1, 'text')),
2611
+ index.h("div", null, this.stringNode(this.obj, line, index$1, 'text')),
2611
2612
  this.editable ?
2612
2613
  index.h("div", { class: 'response' }, this.editableNode(line, index$1, 'response', template, templateMaker)) :
2613
- index.h("div", { class: 'response' }, this.stringNode(line, index$1, 'response'))
2614
+ index.h("div", { class: 'response' }, this.stringNode(this.obj, line, index$1, 'response'))
2614
2615
  ]))));
2615
2616
  }
2616
2617
  }
@@ -3,12 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
7
- const text = require('./text-d86d8916.js');
6
+ const book = require('./book-6d16fad3.js');
7
+ const text = require('./text-9dd495bb.js');
8
8
  const locale = require('./locale-13a47c0e.js');
9
- const heading = require('./heading-b7872a4d.js');
9
+ const heading = require('./heading-dff0a6f9.js');
10
10
  const _commonjsHelpers = require('./_commonjsHelpers-bcc1208a.js');
11
11
  const overlays = require('./overlays-240c867b.js');
12
+ const dropcaps = require('./dropcaps-baa79b2d.js');
12
13
  require('./ionic-global-bd0aab94.js');
13
14
  require('./hardware-back-button-92d97ff8.js');
14
15
  require('./helpers-c2496722.js');
@@ -5753,7 +5754,7 @@ const ES = {
5753
5754
  "prayer-list": "Prayer List"
5754
5755
  };
5755
5756
 
5756
- const textCss = "ldf-label-bar.sc-ldf-text{min-height:0}p.sc-ldf-text{font-family:var(--ldf-font-face);text-align:var(--ldf-text-align);text-justify:inter-character}li.sc-ldf-text,h1.sc-ldf-text,h2.sc-ldf-text,h3.sc-ldf-text,h4.sc-ldf-text,h5.sc-ldf-text,h6.sc-ldf-text,ol.sc-ldf-text,span.sc-ldf-text,em.sc-ldf-text,strong.sc-ldf-text{font-family:var(--ldf-font-face)}.response.sc-ldf-text{font-weight:var(--ldf-response-font-weight);font-style:var(--ldf-response-font-style)}.text.omit.sc-ldf-text .text-body.sc-ldf-text{display:none}.text.editable.omit.sc-ldf-text .text-body.sc-ldf-text{display:block}.text.unison.sc-ldf-text .text-body.sc-ldf-text{font-weight:var(--ldf-unison-font-weight);font-style:var(--ldf-unison-font-style)}h3.editable-label.sc-ldf-text{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)}.prayer-list.sc-ldf-text{display:block;margin:0;padding:0;text-align:center}.prayer-list.formatted.sc-ldf-text{text-align:left;white-space:pre-wrap}.prayer-list.sc-ldf-text li.sc-ldf-text{list-style-type:none;text-align:center;margin:0.5em 0;padding:0}";
5757
+ const textCss = "ldf-label-bar.sc-ldf-text{min-height:0}p.sc-ldf-text{font-family:var(--ldf-font-face);text-align:var(--ldf-text-align);text-justify:inter-character}li.sc-ldf-text,h1.sc-ldf-text,h2.sc-ldf-text,h3.sc-ldf-text,h4.sc-ldf-text,h5.sc-ldf-text,h6.sc-ldf-text,ol.sc-ldf-text,span.sc-ldf-text,em.sc-ldf-text,strong.sc-ldf-text{font-family:var(--ldf-font-face)}.response.sc-ldf-text{font-weight:var(--ldf-response-font-weight);font-style:var(--ldf-response-font-style)}.text.omit.sc-ldf-text .text-body.sc-ldf-text{display:none}.text.editable.omit.sc-ldf-text .text-body.sc-ldf-text{display:block}.text.unison.sc-ldf-text .text-body.sc-ldf-text{font-weight:var(--ldf-unison-font-weight);font-style:var(--ldf-unison-font-style)}h3.editable-label.sc-ldf-text{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)}.prayer-list.sc-ldf-text{display:block;margin:0;padding:0;text-align:center}.prayer-list.formatted.sc-ldf-text{text-align:left}.prayer-list.sc-ldf-text li.sc-ldf-text{list-style-type:none;text-align:center;margin:0.5em 0;padding:0}";
5757
5758
 
5758
5759
  const LOCALE = {
5759
5760
  'en': EN,
@@ -5831,9 +5832,11 @@ const TextComponent = class {
5831
5832
  /** `authorized-prayer` type */
5832
5833
  if (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.style) === 'authorized-prayers') {
5833
5834
  const splits = this.path.split('/'), index$1 = Number(splits[splits.length - 1]), base = splits.slice(0, splits.length - 1).join('/');
5835
+ const converter = new showdown.Converter();
5836
+ //return (this.obj?.value || []).map(value => <div innerHTML={converter.makeHtml(value)}></div>);
5834
5837
  return index.h(index.Host, null, index.h("ldf-label-bar", null, index.h("ion-button", { onClick: () => this.addPAndT(base, index$1), fill: "clear" }, localeStrings.authorized_prayers)), (_c = ((_b = this.intentions) === null || _b === void 0 ? void 0 : _b.length) > 0) !== null && _c !== void 0 ? _c : index.h("strong", { class: "prayer-list" }, localeStrings['prayer-list']), Array.isArray(this.intentions)
5835
5838
  ? index.h("ul", { class: "prayer-list" }, this.intentions.map(intention => index.h("li", null, intention)))
5836
- : index.h("p", { class: "prayer-list formatted" }, this.intentions));
5839
+ : index.h("div", { class: "prayer-list formatted", innerHTML: converter.makeHtml(this.intentions) }));
5837
5840
  }
5838
5841
  else {
5839
5842
  let value = ((_e = (_d = this.obj) === null || _d === void 0 ? void 0 : _d.metadata) === null || _e === void 0 ? void 0 : _e.rollup)
@@ -5862,10 +5865,7 @@ const TextComponent = class {
5862
5865
  return (index.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)) && index.h("ldf-heading", { path: this.path, doc: new heading.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) => {
5863
5866
  var _a, _b, _c, _d;
5864
5867
  return index.h("p", { class: "text-body", id: `${this.obj.uid || this.obj.slug}-prayerIndex` }, prayer === null || prayer === void 0 ? void 0 :
5865
- prayer.map((chunk, chunkIndex) => {
5866
- var _a;
5867
- return index.h("span", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}-${chunkIndex}` }, index.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 }));
5868
- }), ((_b = (_a = this.obj) === null || _a === void 0 ? void 0 : _a.metadata) === null || _b === void 0 ? void 0 : _b.response) && prayerIndex == compiledValue.length - 1 && index.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 && index.h("span", { class: "response" }, " ", localeStrings.amen));
5868
+ prayer.map((chunk, chunkIndex) => index.h("span", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}-${chunkIndex}` }, index.h("ldf-string", { text: chunk, citation: { label: this.obj.label }, dropcap: dropcaps.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 && index.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 && index.h("span", { class: "response" }, " ", localeStrings.amen));
5869
5869
  })));
5870
5870
  }
5871
5871
  }
@@ -3,13 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
7
- const rubric$1 = require('./rubric-cd1436af.js');
8
- const heading$1 = require('./heading-b7872a4d.js');
9
- const image$1 = require('./image-75040cd8.js');
10
- const option$1 = require('./option-d7f9785e.js');
11
- const refrain$1 = require('./refrain-dcde813a.js');
12
- const text$1 = require('./text-d86d8916.js');
6
+ const book = require('./book-6d16fad3.js');
7
+ const rubric$1 = require('./rubric-9851b9bb.js');
8
+ const heading$1 = require('./heading-dff0a6f9.js');
9
+ const image$1 = require('./image-527d7134.js');
10
+ const option$1 = require('./option-af060fb4.js');
11
+ const refrain$1 = require('./refrain-f867e88b.js');
12
+ const text$1 = require('./text-9dd495bb.js');
13
13
  const locale = require('./locale-13a47c0e.js');
14
14
 
15
15
  const MENU = [
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- require('./book-82e0876b.js');
6
+ require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
8
  const overlays = require('./overlays-240c867b.js');
9
9
  const locale = require('./locale-13a47c0e.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
6
+ const book = require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
8
  const locale = require('./locale-13a47c0e.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
6
+ const book = require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
8
  const locale = require('./locale-13a47c0e.js');
9
9
 
@@ -3,8 +3,8 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
7
- const option = require('./option-d7f9785e.js');
6
+ const book = require('./book-6d16fad3.js');
7
+ const option = require('./option-af060fb4.js');
8
8
  const locale = require('./locale-13a47c0e.js');
9
9
 
10
10
  /* Converts a list of documents into a single document showing options in parallel */
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
6
+ const book = require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
- const option = require('./option-d7f9785e.js');
9
- const specificClass = require('./specific-class-c2579d35.js');
8
+ const option = require('./option-af060fb4.js');
9
+ const specificClass = require('./specific-class-a4d1cc65.js');
10
10
  const locale = require('./locale-13a47c0e.js');
11
- require('./rubric-cd1436af.js');
12
- require('./heading-b7872a4d.js');
13
- require('./refrain-dcde813a.js');
14
- require('./text-d86d8916.js');
11
+ require('./rubric-9851b9bb.js');
12
+ require('./heading-dff0a6f9.js');
13
+ require('./refrain-f867e88b.js');
14
+ require('./text-9dd495bb.js');
15
15
 
16
16
  const LOCALE_STRINGS = {
17
17
  "allowMultiple": "Allow multiple options",
@@ -3,15 +3,15 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
6
+ const book = require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
- const specificClass = require('./specific-class-c2579d35.js');
8
+ const specificClass = require('./specific-class-a4d1cc65.js');
9
9
  const locale = require('./locale-13a47c0e.js');
10
- require('./rubric-cd1436af.js');
11
- require('./heading-b7872a4d.js');
12
- require('./option-d7f9785e.js');
13
- require('./refrain-dcde813a.js');
14
- require('./text-d86d8916.js');
10
+ require('./rubric-9851b9bb.js');
11
+ require('./heading-dff0a6f9.js');
12
+ require('./option-af060fb4.js');
13
+ require('./refrain-f867e88b.js');
14
+ require('./text-9dd495bb.js');
15
15
 
16
16
  const abbreviated = "Abbreviated";
17
17
  const advanced = "Advanced Settings";
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- require('./book-82e0876b.js');
6
+ require('./book-6d16fad3.js');
7
7
  const preference = require('./preference-a4bd51c4.js');
8
8
  const change = require('./change-cdb1e8c0.js');
9
9
  const locale = require('./locale-13a47c0e.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- require('./book-82e0876b.js');
6
+ require('./book-6d16fad3.js');
7
7
  const preference$1 = require('./preference-a4bd51c4.js');
8
8
  const change = require('./change-cdb1e8c0.js');
9
9
  const locale = require('./locale-13a47c0e.js');
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
6
  const overlays = require('./overlays-240c867b.js');
7
- require('./book-82e0876b.js');
7
+ require('./book-6d16fad3.js');
8
8
  const preference = require('./preference-a4bd51c4.js');
9
9
  const change = require('./change-cdb1e8c0.js');
10
10
  const locale = require('./locale-13a47c0e.js');
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- require('./book-82e0876b.js');
6
+ require('./book-6d16fad3.js');
7
7
  const change = require('./change-cdb1e8c0.js');
8
8
  const locale = require('./locale-13a47c0e.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-01fdec29.js');
6
- const book = require('./book-82e0876b.js');
6
+ const book = require('./book-6d16fad3.js');
7
7
  const cursor = require('./cursor-81bfd01e.js');
8
8
  const change = require('./change-cdb1e8c0.js');
9
9
  const index$1 = require('./index-de13bd01.js');
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  function versionToString(version) {
6
6
  if (typeof version === 'string') {
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  const STYLES = ['normal', 'antiphon', 'gloria'];
6
6
  /** Refrain represents a short text like the Gloria Patri, Hail Mary, or an Antiphon */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  const BIBLE_BOOK_ABBREVIATIONS = [
6
6
  {
@@ -1,10 +1,10 @@
1
1
  'use strict';
2
2
 
3
- const rubric = require('./rubric-cd1436af.js');
4
- const heading = require('./heading-b7872a4d.js');
5
- const option = require('./option-d7f9785e.js');
6
- const refrain = require('./refrain-dcde813a.js');
7
- const text = require('./text-d86d8916.js');
3
+ const rubric = require('./rubric-9851b9bb.js');
4
+ const heading = require('./heading-dff0a6f9.js');
5
+ const option = require('./option-af060fb4.js');
6
+ const refrain = require('./refrain-f867e88b.js');
7
+ const text = require('./text-9dd495bb.js');
8
8
 
9
9
  /** Transforms a generic `LiturgicalDocument` (either a class instance or an `Object` that matches the type),
10
10
  * into an instance of a more-specific inherited class */
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- const book = require('./book-82e0876b.js');
3
+ const book = require('./book-6d16fad3.js');
4
4
 
5
5
  const STYLES = ['text', 'prayer', 'markdown', 'authorized-prayers'];
6
6
  /** Text represents collect or any other short prayer. */
@@ -5,6 +5,7 @@ import { getComponentClosestLanguage } from '../../utils/locale';
5
5
  import EN from './bible-reading.i18n.en.json';
6
6
  import ES from './bible-reading.i18n.es.json';
7
7
  import { fetchReading } from './fetch-reading';
8
+ import { useDropcap } from '../../utils/dropcaps';
8
9
  const LOCALE = {
9
10
  'en': EN,
10
11
  'es': ES
@@ -181,10 +182,10 @@ export class BibleReadingComponent {
181
182
  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'}` },
182
183
  h("p", null,
183
184
  this.verses.map((verse, verseIndex) => {
184
- var _a;
185
+ var _a, _b;
185
186
  return verse.hasOwnProperty('type') && verse.type === 'heading'
186
187
  ? h("ldf-heading", { doc: new Heading(verse) })
187
- : 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" });
188
+ : 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) });
188
189
  }),
189
190
  shortResponse && !((_t = (_s = this.obj) === null || _s === void 0 ? void 0 : _s.metadata) === null || _t === void 0 ? void 0 : _t.omit_response) && responseNode,
190
191
  h("span", { class: "citation" }, this.obj.citation)),
@@ -197,12 +198,12 @@ export class BibleReadingComponent {
197
198
  h("ldf-heading", { doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation }) }),
198
199
  ((_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 }),
199
200
  paragraphs.map((paragraph, paragraphIndex) => h("p", { lang: this.obj.language }, paragraph.map((verse, verseIndex) => {
200
- var _a;
201
+ var _a, _b;
201
202
  return verse.hasOwnProperty('type') && verse.type === 'heading'
202
203
  ? h("ldf-heading", { doc: new Heading(verse) })
203
204
  : [
204
205
  h("sup", null, verse.verse),
205
- 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 })
206
+ 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 })
206
207
  ];
207
208
  })))));
208
209
  }
@@ -4,6 +4,7 @@ import { Psalm, Refrain, Heading, dateFromYMDString, Change } from '@venite/ldf'
4
4
  import { getComponentClosestLanguage } from '../../utils/locale';
5
5
  import EN from './psalm.i18n.en.json';
6
6
  import ES from './psalm.i18n.es.json';
7
+ import { useDropcap } from '../../utils/dropcaps';
7
8
  const LOCALE = {
8
9
  'en': EN,
9
10
  'es': ES
@@ -219,7 +220,7 @@ export class PsalmComponent {
219
220
  // 1st half of verse
220
221
  nodes.push(h("div", { class: 'verse' }, this.editable ?
221
222
  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 }) :
222
- 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 })));
223
+ 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 })));
223
224
  nodes.push(h("br", null));
224
225
  // 2nd half of verse
225
226
  nodes.push(h("div", { class: 'halfverse' }, this.editable ?
@@ -2,6 +2,7 @@ import { Component, Prop, Watch, State, Element, Host, h } from '@stencil/core';
2
2
  import { ResponsivePrayer, Heading } from '@venite/ldf';
3
3
  import { getComponentClosestLanguage } from '../../utils/locale';
4
4
  import EN from './responsive-prayer.i18n.en.json';
5
+ import { useDropcap } from '../../utils/dropcaps';
5
6
  const LOCALE = {
6
7
  'en': EN,
7
8
  };
@@ -39,8 +40,8 @@ export class ResponsivePrayerComponent {
39
40
  return (h("ldf-editable-text", { id: `${this.obj.uid}-${index}-${part}`, text: line[part], path: `${this.path}/value/${index}/${part}`, template: template, templateMaker: templateMaker }));
40
41
  }
41
42
  /** renders a `ResponsivePrayerLine` as an `ldf-string` */
42
- stringNode(line, index, part) {
43
- 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 }));
43
+ stringNode(doc, line, index, part) {
44
+ 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 }));
44
45
  }
45
46
  // Render the `response` in a litany, and handle `[Silence]` value
46
47
  litanyResponseStringNode(line, index) {
@@ -78,8 +79,8 @@ export class ResponsivePrayerComponent {
78
79
  !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 }) }),
79
80
  this.editable && needsHeader && this.editableHeader(),
80
81
  h("table", { class: "preces" }, this.obj.value.map((line, index) => h("tr", { class: "row" },
81
- h("td", { class: "cell" }, this.editable ? this.editableNode(line, index, 'label', template, templateMaker) : this.stringNode(line, index, 'label')),
82
- h("td", { class: index % 2 == 0 ? 'cell' : 'cell response' }, this.editable ? this.editableNode(line, index, 'text', template, templateMaker) : this.stringNode(line, index, 'text')))))));
82
+ h("td", { class: "cell" }, this.editable ? this.editableNode(line, index, 'label', template, templateMaker) : this.stringNode(this.obj, line, index, 'label')),
83
+ 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')))))));
83
84
  }
84
85
  else if (this.obj.style == 'litany') {
85
86
  /* `litany`type returns prayers and responses with a break between each pair, like
@@ -106,7 +107,7 @@ export class ResponsivePrayerComponent {
106
107
  h("p", { class: classes.join(' ') },
107
108
  this.editable
108
109
  ? this.editableNode(line, index, 'text', template, templateMaker)
109
- : this.stringNode(line, index, 'text'),
110
+ : this.stringNode(this.obj, line, index, 'text'),
110
111
  line.response && (this.editable ?
111
112
  h("span", { class: 'response' }, this.editableNode(line, index, 'response', template, templateMaker)) :
112
113
  [h("br", null), this.litanyResponseStringNode(line, index)]),
@@ -130,10 +131,10 @@ export class ResponsivePrayerComponent {
130
131
  h("p", { class: 'responsive' }, this.obj.value.map((line, index) => [
131
132
  this.editable ?
132
133
  h("div", null, this.editableNode(line, index, 'text', template, templateMaker)) :
133
- h("div", null, this.stringNode(line, index, 'text')),
134
+ h("div", null, this.stringNode(this.obj, line, index, 'text')),
134
135
  this.editable ?
135
136
  h("div", { class: 'response' }, this.editableNode(line, index, 'response', template, templateMaker)) :
136
- h("div", { class: 'response' }, this.stringNode(line, index, 'response'))
137
+ h("div", { class: 'response' }, this.stringNode(this.obj, line, index, 'response'))
137
138
  ]))));
138
139
  }
139
140
  }
@@ -59,7 +59,6 @@ h3.editable-label {
59
59
 
60
60
  .prayer-list.formatted {
61
61
  text-align: left;
62
- white-space: pre-wrap;
63
62
  }
64
63
 
65
64
  .prayer-list li {