@venite/components 0.16.16 → 0.16.20

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 (125) hide show
  1. package/dist/cjs/{change-cdb1e8c0.js → change-deff223a.js} +0 -0
  2. package/dist/cjs/{cursor-81bfd01e.js → cursor-849a5372.js} +0 -0
  3. package/dist/cjs/{heading-5afc2b24.js → heading-fae3ce98.js} +2 -2
  4. package/dist/cjs/{image-3bee3e73.js → image-41000c7b.js} +2 -2
  5. package/dist/cjs/{book-1a92678a.js → index-c9b940c7.js} +96 -2
  6. package/dist/cjs/ion-button_13.cjs.entry.js +3 -2
  7. package/dist/cjs/ion-card-content_6.cjs.entry.js +4 -3
  8. package/dist/cjs/ion-checkbox_3.cjs.entry.js +3 -2
  9. package/dist/cjs/ion-input_2.cjs.entry.js +3 -3
  10. package/dist/cjs/ion-segment_16.cjs.entry.js +20 -20
  11. package/dist/cjs/ldf-day-name_5.cjs.entry.js +93 -79
  12. package/dist/cjs/ldf-editable-add-block-menu.cjs.entry.js +10 -9
  13. package/dist/cjs/ldf-editable-condition-piece.cjs.entry.js +7 -6
  14. package/dist/cjs/ldf-editable-condition.cjs.entry.js +5 -4
  15. package/dist/cjs/ldf-editable-filter-documents.cjs.entry.js +11 -10
  16. package/dist/cjs/ldf-editable-lookup_2.cjs.entry.js +10 -9
  17. package/dist/cjs/ldf-editable-metadata.cjs.entry.js +11 -10
  18. package/dist/cjs/ldf-editable-preference-option.cjs.entry.js +4 -3
  19. package/dist/cjs/ldf-editable-preference.cjs.entry.js +4 -3
  20. package/dist/cjs/ldf-editable-preferences.cjs.entry.js +4 -3
  21. package/dist/cjs/ldf-editable-string-list.cjs.entry.js +3 -2
  22. package/dist/cjs/ldf-editor.cjs.entry.js +14 -14
  23. package/dist/cjs/ldf.cjs.js +1 -1
  24. package/dist/cjs/loader.cjs.js +1 -1
  25. package/dist/cjs/{option-a078d432.js → option-6fb78f5c.js} +5 -17
  26. package/dist/cjs/{preference-a4bd51c4.js → preference-1365e161.js} +0 -0
  27. package/dist/cjs/{refrain-91fb446b.js → refrain-f51fd88d.js} +2 -2
  28. package/dist/cjs/{rubric-586cf42b.js → rubric-ad2f926f.js} +15 -170
  29. package/dist/cjs/{specific-class-35eb52b1.js → specific-class-071762e7.js} +5 -5
  30. package/dist/cjs/{text-5edb80f3.js → text-8d8d32e7.js} +2 -2
  31. package/dist/collection/components/string/dist/string.js +2 -2
  32. package/dist/collection/components/string/string.js +3 -3
  33. package/dist/collection/components/text/dist/text.js +43 -16
  34. package/dist/collection/components/text/text.css +14 -1
  35. package/dist/collection/components/text/text.i18n.en.json +2 -1
  36. package/dist/collection/components/text/text.i18n.es.json +2 -1
  37. package/dist/collection/components/text/text.js +71 -19
  38. package/dist/collection/i18n/text.i18n.en.json +2 -1
  39. package/dist/collection/i18n/text.i18n.es.json +2 -1
  40. package/dist/esm/{change-ea574d32.js → change-b077b77c.js} +0 -0
  41. package/dist/esm/{cursor-0e47f111.js → cursor-cb97384b.js} +0 -0
  42. package/dist/esm/{heading-cc5ffa8a.js → heading-c03fbe8b.js} +1 -1
  43. package/dist/esm/{image-c6a3f0c5.js → image-a1336f0a.js} +1 -1
  44. package/dist/esm/{book-31b8cdde.js → index-2e220677.js} +96 -2
  45. package/dist/esm/ion-button_13.entry.js +3 -2
  46. package/dist/esm/ion-card-content_6.entry.js +4 -3
  47. package/dist/esm/ion-checkbox_3.entry.js +3 -2
  48. package/dist/esm/ion-input_2.entry.js +3 -3
  49. package/dist/esm/ion-segment_16.entry.js +7 -7
  50. package/dist/esm/ldf-day-name_5.entry.js +34 -20
  51. package/dist/esm/ldf-editable-add-block-menu.entry.js +8 -7
  52. package/dist/esm/ldf-editable-condition-piece.entry.js +3 -2
  53. package/dist/esm/ldf-editable-condition.entry.js +3 -2
  54. package/dist/esm/ldf-editable-filter-documents.entry.js +3 -2
  55. package/dist/esm/ldf-editable-lookup_2.entry.js +9 -8
  56. package/dist/esm/ldf-editable-metadata.entry.js +9 -8
  57. package/dist/esm/ldf-editable-preference-option.entry.js +4 -3
  58. package/dist/esm/ldf-editable-preference.entry.js +4 -3
  59. package/dist/esm/ldf-editable-preferences.entry.js +4 -3
  60. package/dist/esm/ldf-editable-string-list.entry.js +3 -2
  61. package/dist/esm/ldf-editor.entry.js +3 -3
  62. package/dist/esm/ldf.js +1 -1
  63. package/dist/esm/loader.js +1 -1
  64. package/dist/esm/{option-c16af13a.js → option-e130a4b2.js} +4 -16
  65. package/dist/esm/{preference-d070d4cb.js → preference-60cdfde3.js} +0 -0
  66. package/dist/esm/{refrain-75a412cb.js → refrain-9b9f05cc.js} +1 -1
  67. package/dist/esm/{rubric-54f45eb5.js → rubric-0d2b870d.js} +8 -163
  68. package/dist/esm/{specific-class-4cec1eaf.js → specific-class-3f0e0c45.js} +5 -5
  69. package/dist/esm/{text-ed75fbd4.js → text-801eb7de.js} +1 -1
  70. package/dist/ldf/i18n/text.i18n.en.json +2 -1
  71. package/dist/ldf/i18n/text.i18n.es.json +2 -1
  72. package/dist/ldf/ldf.esm.js +1 -1
  73. package/dist/ldf/{p-3c7997be.entry.js → p-05ac8045.entry.js} +1 -1
  74. package/dist/ldf/{p-23af1bc3.entry.js → p-0d9b71a8.entry.js} +1 -1
  75. package/dist/ldf/{p-8ec26587.js → p-12d81208.js} +0 -0
  76. package/dist/ldf/{p-991c0877.js → p-2a08ff25.js} +0 -0
  77. package/dist/ldf/p-31a1f740.js +1 -0
  78. package/dist/ldf/p-34e37c39.entry.js +1 -0
  79. package/dist/ldf/p-37d9f551.entry.js +1 -0
  80. package/dist/ldf/p-3a7cb4d5.entry.js +1 -0
  81. package/dist/ldf/p-3e0814c2.entry.js +1 -0
  82. package/dist/ldf/p-405928d1.js +1 -0
  83. package/dist/ldf/p-4ed034a1.js +1 -0
  84. package/dist/ldf/p-5eef960d.entry.js +1 -0
  85. package/dist/ldf/p-67c52455.entry.js +1 -0
  86. package/dist/ldf/p-69d493f3.entry.js +1 -0
  87. package/dist/ldf/{p-5066eaa5.js → p-6a68fa7b.js} +0 -0
  88. package/dist/ldf/p-80f6ec9f.js +1 -0
  89. package/dist/ldf/p-82f2facb.entry.js +1 -0
  90. package/dist/ldf/{p-5b43e6be.js → p-93911ad1.js} +1 -1
  91. package/dist/ldf/p-9424ca03.entry.js +1 -0
  92. package/dist/ldf/p-952f8992.entry.js +1 -0
  93. package/dist/ldf/p-9b008ca8.entry.js +1 -0
  94. package/dist/ldf/p-a712728b.js +1 -0
  95. package/dist/ldf/p-b3b245a2.entry.js +1 -0
  96. package/dist/ldf/p-bc84c531.entry.js +1 -0
  97. package/dist/ldf/p-be6c5df8.entry.js +1 -0
  98. package/dist/ldf/p-c02098e2.entry.js +1 -0
  99. package/dist/ldf/p-cec60628.js +1 -0
  100. package/dist/ldf/p-ff0452c1.js +3 -0
  101. package/dist/types/components/text/text.d.ts +4 -0
  102. package/dist/types/components.d.ts +5 -0
  103. package/package.json +2 -2
  104. package/dist/ldf/p-03afc8cb.entry.js +0 -1
  105. package/dist/ldf/p-1e137d0e.entry.js +0 -1
  106. package/dist/ldf/p-2ae548b3.entry.js +0 -1
  107. package/dist/ldf/p-304a2bdb.entry.js +0 -1
  108. package/dist/ldf/p-3f8ef67b.entry.js +0 -1
  109. package/dist/ldf/p-476327d6.js +0 -1
  110. package/dist/ldf/p-4aa9a6f2.js +0 -1
  111. package/dist/ldf/p-594fa9d4.entry.js +0 -1
  112. package/dist/ldf/p-65563763.entry.js +0 -1
  113. package/dist/ldf/p-65d26c45.js +0 -1
  114. package/dist/ldf/p-65ea7ab3.entry.js +0 -1
  115. package/dist/ldf/p-800a115c.entry.js +0 -1
  116. package/dist/ldf/p-883425cd.js +0 -3
  117. package/dist/ldf/p-9c1973a6.entry.js +0 -1
  118. package/dist/ldf/p-9ea7c254.js +0 -1
  119. package/dist/ldf/p-a1729dbd.js +0 -1
  120. package/dist/ldf/p-aea3213d.entry.js +0 -1
  121. package/dist/ldf/p-d324dc19.entry.js +0 -1
  122. package/dist/ldf/p-e4f0cd91.entry.js +0 -1
  123. package/dist/ldf/p-e7a449d7.js +0 -1
  124. package/dist/ldf/p-f0de7628.entry.js +0 -1
  125. package/dist/ldf/p-fa191f47.entry.js +0 -1
@@ -49,4 +49,17 @@ h3.editable-label {
49
49
  text-transform: var(--ldf-h3-text-transform);
50
50
  }
51
51
 
52
- /* .text.abbreviated is handled in the DOM itself, in the component */
52
+ /* .text.abbreviated is handled in the DOM itself, in the component */
53
+ .prayer-list {
54
+ display: block;
55
+ margin: 0;
56
+ padding: 0;
57
+ text-align: center;
58
+ }
59
+
60
+ .prayer-list li {
61
+ list-style-type: none;
62
+ text-align: center;
63
+ margin: 0.5em 0;
64
+ padding: 0;
65
+ }
@@ -3,5 +3,6 @@
3
3
  "authorized_prayers": "Prayers and Thanksgivings",
4
4
  "label": "Label",
5
5
  "source": "Source",
6
- "source_citation": "Citation"
6
+ "source_citation": "Citation",
7
+ "prayer-list": "Prayer List"
7
8
  }
@@ -1,3 +1,4 @@
1
1
  {
2
- "amen": "Amén."
2
+ "amen": "Amén.",
3
+ "prayer-list": "Oraciones"
3
4
  }
@@ -1,4 +1,4 @@
1
- import { Component, Prop, Watch, State, Element, Host, Event, h } from '@stencil/core';
1
+ import { Component, Prop, Watch, State, Element, Host, Event, h, Method } from '@stencil/core';
2
2
  import { Text, Heading } from '@venite/ldf';
3
3
  import { getComponentClosestLanguage } from '../../utils/locale';
4
4
  import showdown from 'showdown';
@@ -10,7 +10,16 @@ const LOCALE = {
10
10
  'es': ES
11
11
  };
12
12
  export class TextComponent {
13
+ constructor() {
14
+ // prayer list for authorized prayers
15
+ this.intentions = [];
16
+ }
17
+ async setPrayerList(intentions) {
18
+ console.log("(PrayerList) setPrayerList", intentions);
19
+ this.intentions = intentions;
20
+ }
13
21
  docChanged(newDoc) {
22
+ var _a;
14
23
  try {
15
24
  if (typeof newDoc == 'string') {
16
25
  this.obj = new Text(JSON.parse(newDoc));
@@ -18,6 +27,10 @@ export class TextComponent {
18
27
  else {
19
28
  this.obj = new Text(newDoc);
20
29
  }
30
+ if (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.style) == "authorized-prayers") {
31
+ console.log("(PrayerList) ldfAskForPrayerList");
32
+ this.ldfAskForPrayerList.emit(true);
33
+ }
21
34
  }
22
35
  catch (e) {
23
36
  console.warn(e);
@@ -61,22 +74,24 @@ export class TextComponent {
61
74
  }
62
75
  // Render
63
76
  render() {
64
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
77
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
65
78
  const localeStrings = this.localeStrings || {};
66
79
  /** `authorized-prayer` type */
67
80
  if (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.style) === 'authorized-prayers') {
68
81
  const splits = this.path.split('/'), index = Number(splits[splits.length - 1]), base = splits.slice(0, splits.length - 1).join('/');
69
- return h("ldf-label-bar", null,
70
- h("ion-button", { onClick: () => this.addPAndT(base, index), fill: "clear" }, localeStrings.authorized_prayers));
82
+ return h(Host, null,
83
+ h("ldf-label-bar", null,
84
+ h("ion-button", { onClick: () => this.addPAndT(base, index), fill: "clear" }, localeStrings.authorized_prayers)), (_c = ((_b = this.intentions) === null || _b === void 0 ? void 0 : _b.length) > 0) !== null && _c !== void 0 ? _c : h("strong", { class: "prayer-list" }, localeStrings['prayer-list']),
85
+ h("ul", { class: "prayer-list" }, (this.intentions || []).map(intention => h("li", null, intention))));
71
86
  }
72
87
  else {
73
- let value = ((_c = (_b = this.obj) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.rollup)
74
- ? (((_d = this.obj) === null || _d === void 0 ? void 0 : _d.value) || []).map(s => s.replace(/\s+/g, ' '))
75
- : (((_e = this.obj) === null || _e === void 0 ? void 0 : _e.value) || []);
88
+ let value = ((_e = (_d = this.obj) === null || _d === void 0 ? void 0 : _d.metadata) === null || _e === void 0 ? void 0 : _e.rollup)
89
+ ? (((_f = this.obj) === null || _f === void 0 ? void 0 : _f.value) || []).map(s => s.replace(/\s+/g, ' '))
90
+ : (((_g = this.obj) === null || _g === void 0 ? void 0 : _g.value) || []);
76
91
  let compiledValue = value.map(s => {
77
92
  return s.split(/([\*\w\n\s,:;\.\-–—'“☩✠”‘’\!\?”\[\]\%\(\)\/\u0041-\u024F]+([^\*\w\n\s,;:\.'“”☩✠‘’”\-–—\!\?\[\]\%\(\)\/\u0041-\u024F]))/g);
78
93
  });
79
- if (!this.editable && ((_f = this.obj) === null || _f === void 0 ? void 0 : _f.display_format) === 'abbreviated') {
94
+ if (!this.editable && ((_h = this.obj) === null || _h === void 0 ? void 0 : _h.display_format) === 'abbreviated') {
80
95
  const firstSection = compiledValue[0], lastSection = compiledValue[compiledValue.length - 1];
81
96
  const firstChunk = this.truncate(firstSection[0]), lastChunk = this.truncate(lastSection[lastSection.length - 1], true);
82
97
  compiledValue = [[firstChunk], [lastChunk]];
@@ -87,25 +102,25 @@ export class TextComponent {
87
102
  h("slot", { slot: 'end', name: 'controls' })),
88
103
  !this.editable && h("ldf-heading", { path: `${this.path}/label`, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }),
89
104
  this.editable && h("ldf-label-bar", null,
90
- !((_h = (_g = this.obj) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.omit_label) && h("h3", { class: "editable-label", slot: "start" },
91
- h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-label`, text: (_j = this.obj) === null || _j === void 0 ? void 0 : _j.label, placeholder: localeStrings.label, path: `${this.path}/label` })),
92
- h("ldf-editable-text", { slot: "end", id: "source-source", text: (_l = (_k = this.obj) === null || _k === void 0 ? void 0 : _k.source) === null || _l === void 0 ? void 0 : _l.source, path: `${this.path}/source/source`, placeholder: (_m = this.localeStrings) === null || _m === void 0 ? void 0 : _m.source }),
93
- h("ldf-editable-text", { slot: "end", id: "source-citation", text: (_p = (_o = this.obj) === null || _o === void 0 ? void 0 : _o.source) === null || _p === void 0 ? void 0 : _p.citation, path: `${this.path}/source/citation`, placeholder: (_q = this.localeStrings) === null || _q === void 0 ? void 0 : _q.source_citation })),
94
- h("div", { class: `text ${this.editable ? 'editable' : ''} ${((_r = this.obj) === null || _r === void 0 ? void 0 : _r.display_format) || 'default'}` },
105
+ !((_k = (_j = this.obj) === null || _j === void 0 ? void 0 : _j.metadata) === null || _k === void 0 ? void 0 : _k.omit_label) && h("h3", { class: "editable-label", slot: "start" },
106
+ h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-label`, text: (_l = this.obj) === null || _l === void 0 ? void 0 : _l.label, placeholder: localeStrings.label, path: `${this.path}/label` })),
107
+ h("ldf-editable-text", { slot: "end", id: "source-source", text: (_o = (_m = this.obj) === null || _m === void 0 ? void 0 : _m.source) === null || _o === void 0 ? void 0 : _o.source, path: `${this.path}/source/source`, placeholder: (_p = this.localeStrings) === null || _p === void 0 ? void 0 : _p.source }),
108
+ h("ldf-editable-text", { slot: "end", id: "source-citation", text: (_r = (_q = this.obj) === null || _q === void 0 ? void 0 : _q.source) === null || _r === void 0 ? void 0 : _r.citation, path: `${this.path}/source/citation`, placeholder: (_s = this.localeStrings) === null || _s === void 0 ? void 0 : _s.source_citation })),
109
+ h("div", { class: `text ${this.editable ? 'editable' : ''} ${((_t = this.obj) === null || _t === void 0 ? void 0 : _t.display_format) || 'default'}` },
95
110
  this.obj.value.map((prayer, prayerIndex) => h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}`, text: prayer, path: `${this.path}/value/${prayerIndex}` })),
96
- (((_s = this.obj) === null || _s === void 0 ? void 0 : _s.style) === 'prayer' || (((_u = (_t = this.obj) === null || _t === void 0 ? void 0 : _t.metadata) === null || _u === void 0 ? void 0 : _u.response) && !((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.omit_response))) && h("span", { class: 'response' },
111
+ (((_u = this.obj) === null || _u === void 0 ? void 0 : _u.style) === 'prayer' || (((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.response) && !((_y = (_x = this.obj) === null || _x === void 0 ? void 0 : _x.metadata) === null || _y === void 0 ? void 0 : _y.omit_response))) && h("span", { class: 'response' },
97
112
  h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-response`, text: this.obj.metadata && this.obj.metadata.response, path: `${this.path}/response`, placeholder: localeStrings.amen })))));
98
113
  }
99
114
  else {
100
115
  /** `markdown` types */
101
- if (((_x = this.obj) === null || _x === void 0 ? void 0 : _x.style) === 'markdown') {
116
+ if (((_z = this.obj) === null || _z === void 0 ? void 0 : _z.style) === 'markdown') {
102
117
  const converter = new showdown.Converter();
103
- return (((_y = this.obj) === null || _y === void 0 ? void 0 : _y.value) || []).map(value => h("div", { innerHTML: converter.makeHtml(value) }));
118
+ return (((_0 = this.obj) === null || _0 === void 0 ? void 0 : _0.value) || []).map(value => h("div", { innerHTML: converter.makeHtml(value) }));
104
119
  }
105
120
  /** `text` and `prayer` types */
106
121
  else {
107
- return (h("div", { lang: ((_z = this.obj) === null || _z === void 0 ? void 0 : _z.language) || 'en', class: `text ${((_0 = this.obj) === null || _0 === void 0 ? void 0 : _0.display_format) || 'default'}` },
108
- ((((_1 = this.obj) === null || _1 === void 0 ? void 0 : _1.label) && !((_3 = (_2 = this.obj) === null || _2 === void 0 ? void 0 : _2.metadata) === null || _3 === void 0 ? void 0 : _3.omit_label)) || ((_4 = this.obj) === null || _4 === void 0 ? void 0 : _4.citation)) && h("ldf-heading", { path: this.path, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [((_5 = this.obj.metadata) === null || _5 === void 0 ? void 0 : _5.omit_label) ? '' : this.obj.label], citation: this.obj.citation, source: this.obj.source }) }),
122
+ 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'}` },
123
+ ((((_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 }) }),
109
124
  compiledValue.map((prayer, prayerIndex) => {
110
125
  var _a, _b, _c, _d;
111
126
  return h("p", { class: "text-body", id: `${this.obj.uid || this.obj.slug}-prayerIndex` }, prayer === null || prayer === void 0 ? void 0 :
@@ -193,7 +208,8 @@ export class TextComponent {
193
208
  }; }
194
209
  static get states() { return {
195
210
  "obj": {},
196
- "localeStrings": {}
211
+ "localeStrings": {},
212
+ "intentions": {}
197
213
  }; }
198
214
  static get events() { return [{
199
215
  "method": "ldfDocShouldChange",
@@ -215,7 +231,43 @@ export class TextComponent {
215
231
  }
216
232
  }
217
233
  }
234
+ }, {
235
+ "method": "ldfAskForPrayerList",
236
+ "name": "ldfAskForPrayerList",
237
+ "bubbles": true,
238
+ "cancelable": true,
239
+ "composed": true,
240
+ "docs": {
241
+ "tags": [],
242
+ "text": "Request prayer list for Prayers and Thanksgivings"
243
+ },
244
+ "complexType": {
245
+ "original": "boolean",
246
+ "resolved": "boolean",
247
+ "references": {}
248
+ }
218
249
  }]; }
250
+ static get methods() { return {
251
+ "setPrayerList": {
252
+ "complexType": {
253
+ "signature": "(intentions: string[]) => Promise<void>",
254
+ "parameters": [{
255
+ "tags": [],
256
+ "text": ""
257
+ }],
258
+ "references": {
259
+ "Promise": {
260
+ "location": "global"
261
+ }
262
+ },
263
+ "return": "Promise<void>"
264
+ },
265
+ "docs": {
266
+ "text": "",
267
+ "tags": []
268
+ }
269
+ }
270
+ }; }
219
271
  static get elementRef() { return "element"; }
220
272
  static get watchers() { return [{
221
273
  "propName": "doc",
@@ -3,5 +3,6 @@
3
3
  "authorized_prayers": "Prayers and Thanksgivings",
4
4
  "label": "Label",
5
5
  "source": "Source",
6
- "source_citation": "Citation"
6
+ "source_citation": "Citation",
7
+ "prayer-list": "Prayer List"
7
8
  }
@@ -1,3 +1,4 @@
1
1
  {
2
- "amen": "Amén."
2
+ "amen": "Amén.",
3
+ "prayer-list": "Oraciones"
3
4
  }
@@ -1,4 +1,4 @@
1
- import { L as LiturgicalDocument } from './book-31b8cdde.js';
1
+ import { L as LiturgicalDocument } from './index-2e220677.js';
2
2
 
3
3
  const STYLES = ['text', 'day', 'date'];
4
4
  class Heading extends LiturgicalDocument {
@@ -1,4 +1,4 @@
1
- import { L as LiturgicalDocument } from './book-31b8cdde.js';
1
+ import { L as LiturgicalDocument } from './index-2e220677.js';
2
2
 
3
3
  const STYLES = ['normal', 'slideshow', 'carousel'];
4
4
  /** Refrain represents a short text like the Gloria Patri, Hail Mary, or an Antiphon */
@@ -1,3 +1,5 @@
1
+ import { c as createCommonjsModule } from './_commonjsHelpers-ba3f0406.js';
2
+
1
3
  // strip away everything but year, month, day
2
4
  function dateOnly(d) {
3
5
  d.setHours(0);
@@ -140,14 +142,17 @@ const TYPES = [
140
142
  'psalm',
141
143
  'meditation',
142
144
  'image',
143
- 'parallel',
144
145
  ];
145
146
  const LOOKUP_TYPES = ['lectionary', 'canticle', 'category', 'slug', 'collect'];
146
- const DISPLAY_FORMATS = ['default', 'omit', 'unison', 'abbreviated', 'force_dropcap'];
147
+ const DISPLAY_FORMATS = ['default', 'omit', 'unison', 'abbreviated'];
147
148
  /** Represents a liturgy of any scope and concreteness, from a complete bullletin to a single prayer. */
148
149
  class LiturgicalDocument {
149
150
  //** Constructor takes a Javascript object containing the class's properties */
150
151
  constructor(data = {}) {
152
+ /** Marks a document hidden, so it will not display but will not be deleted
153
+ * Typically used to a hide a subdocument within a larger liturgy without removing it entirely from the structure,
154
+ * making it easier to restore or toggle on and off */
155
+ this.hidden = false;
151
156
  Object.assign(this, data);
152
157
  }
153
158
  /** Evaluates the full set of conditions attached to the document and returns a boolean of whether it should be included
@@ -279,4 +284,93 @@ var Book;
279
284
  Book["Bel"] = "Bel";
280
285
  })(Book || (Book = {}));
281
286
 
287
+ createCommonjsModule(function (module, exports) {
288
+ // Reference: https://www.geeksforgeeks.org/jaro-and-jaro-winkler-similarity/
289
+ Object.defineProperty(exports, "__esModule", { value: true });
290
+ exports.jaroWinkler = exports.jaro = void 0;
291
+ /**
292
+ *
293
+ * @param str1 String 1 for compare
294
+ * @param str2 String 2 for compare
295
+ * @param options to control case sensitive or not
296
+ */
297
+ function jaro(str1, str2, options) {
298
+ // Exit early if either are empty.
299
+ if (str1.length === 0 || str2.length === 0) {
300
+ return 0;
301
+ }
302
+ // Convert to upper if case-sensitive is false.
303
+ if (options && !options.caseSensitive) {
304
+ str1 = str1.toUpperCase();
305
+ str2 = str2.toUpperCase();
306
+ }
307
+ // Exact match
308
+ if (str1 === str2) {
309
+ return 1;
310
+ }
311
+ // Number of matches
312
+ var m = 0;
313
+ // Length of two Strings
314
+ var len1 = str1.length;
315
+ var len2 = str2.length;
316
+ // Maximum distance
317
+ var window = Math.floor(Math.max(len1, len2) / 2) - 1;
318
+ // Hash for matches
319
+ var str1Hash = new Array(len1);
320
+ var str2Hash = new Array(len2);
321
+ for (var i = 0; i < len1; i++) {
322
+ for (var j = Math.max(0, i - window); j <= Math.min(len2, i + window + 1); j++) {
323
+ if (!str1Hash[i] && !str2Hash[j] && str1[i] === str2[j]) {
324
+ ++m;
325
+ str1Hash[i] = str2Hash[j] = true;
326
+ break;
327
+ }
328
+ }
329
+ }
330
+ // Exit early if no matches were found.
331
+ if (m === 0) {
332
+ return 0;
333
+ }
334
+ // Count the transpositions.
335
+ var t = 0;
336
+ var point = 0;
337
+ for (var i = 0; i < len1; i++) {
338
+ if (str1Hash[i]) {
339
+ while (!str2Hash[point]) {
340
+ point++;
341
+ }
342
+ if (str1.charAt(i) !== str2.charAt(point++)) {
343
+ t++;
344
+ }
345
+ }
346
+ }
347
+ t /= 2;
348
+ return (m / len1 + m / len2 + (m - t) / m) / 3;
349
+ }
350
+ exports.jaro = jaro;
351
+ /**
352
+ *
353
+ * @param str1 String 1 for compare
354
+ * @param str2 String 2 for compare
355
+ * @param options to control case sensitive or not
356
+ */
357
+ function jaroWinkler(str1, str2, options) {
358
+ // Jaro Distance
359
+ var jaroDist = jaro(str1, str2, options);
360
+ // Same prefix length, maxium is 4
361
+ var prefix = 0;
362
+ if (jaroDist > 0.7) {
363
+ var minIndex = Math.min(str1.length, str2.length);
364
+ var i = 0;
365
+ while (str1[i] === str2[i] && i < 4 && i < minIndex) {
366
+ ++prefix;
367
+ i++;
368
+ }
369
+ jaroDist += 0.1 * prefix * (1 - jaroDist);
370
+ }
371
+ return jaroDist;
372
+ }
373
+ exports.jaroWinkler = jaroWinkler;
374
+ });
375
+
282
376
  export { Condition as C, LiturgicalDocument as L, Responsive as R, dateOnly as a, dateFromYMDString as d };
@@ -3,10 +3,11 @@ import { g as getIonMode$1, i as isPlatform, c as config } from './ionic-global-
3
3
  import { h as hasShadowDom, c as clamp, d as debounceEvent, r as raf } from './helpers-8c93393b.js';
4
4
  import { o as openURL, c as createColorClasses$1, h as hostContext } from './theme-74c22054.js';
5
5
  import { p as popoverController } from './overlays-06b43b65.js';
6
- import './book-31b8cdde.js';
7
- import { C as Change } from './change-ea574d32.js';
6
+ import './index-2e220677.js';
7
+ import { C as Change } from './change-b077b77c.js';
8
8
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
9
9
  import './hardware-back-button-b3b61715.js';
10
+ import './_commonjsHelpers-ba3f0406.js';
10
11
 
11
12
  const buttonIosCss = ":host{--overflow:hidden;--ripple-color:currentColor;--border-width:initial;--border-color:initial;--border-style:initial;--color-activated:var(--color);--color-focused:var(--color);--color-hover:var(--color);--box-shadow:none;display:inline-block;width:auto;color:var(--color);font-family:var(--ion-font-family, inherit);text-align:center;text-decoration:none;text-overflow:ellipsis;white-space:nowrap;user-select:none;vertical-align:top;vertical-align:-webkit-baseline-middle;pointer-events:auto;font-kerning:none}:host(.button-disabled){cursor:default;opacity:0.5;pointer-events:none}:host(.button-solid){--background:var(--ion-color-primary, #3880ff);--color:var(--ion-color-primary-contrast, #fff)}:host(.button-outline){--border-color:var(--ion-color-primary, #3880ff);--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-clear){--border-width:0;--background:transparent;--color:var(--ion-color-primary, #3880ff)}:host(.button-block){display:block}:host(.button-block) .button-native{margin-left:0;margin-right:0;display:block;width:100%;clear:both;contain:content}:host(.button-block) .button-native::after{clear:both}:host(.button-full){display:block}:host(.button-full) .button-native{margin-left:0;margin-right:0;display:block;width:100%;contain:content}:host(.button-full:not(.button-round)) .button-native{border-radius:0;border-right-width:0;border-left-width:0}.button-native{border-radius:var(--border-radius);-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;padding-left:var(--padding-start);padding-right:var(--padding-end);padding-top:var(--padding-top);padding-bottom:var(--padding-bottom);font-family:inherit;font-size:inherit;font-style:inherit;font-weight:inherit;letter-spacing:inherit;text-decoration:inherit;text-indent:inherit;text-overflow:inherit;text-transform:inherit;text-align:inherit;white-space:inherit;color:inherit;display:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);outline:none;background:var(--background);line-height:1;box-shadow:var(--box-shadow);contain:layout style;cursor:pointer;opacity:var(--opacity);overflow:var(--overflow);z-index:0;box-sizing:border-box;appearance:none}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.button-native{padding-left:unset;padding-right:unset;-webkit-padding-start:var(--padding-start);padding-inline-start:var(--padding-start);-webkit-padding-end:var(--padding-end);padding-inline-end:var(--padding-end)}}.button-native::-moz-focus-inner{border:0}.button-inner{display:flex;position:relative;flex-flow:row nowrap;flex-shrink:0;align-items:center;justify-content:center;width:100%;height:100%;z-index:1}::slotted(ion-icon){font-size:1.4em;pointer-events:none}::slotted(ion-icon[slot=start]){margin-left:-0.3em;margin-right:0.3em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:-0.3em;margin-inline-start:-0.3em;-webkit-margin-end:0.3em;margin-inline-end:0.3em}}::slotted(ion-icon[slot=end]){margin-left:0.3em;margin-right:-0.2em;margin-top:0;margin-bottom:0}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){::slotted(ion-icon[slot=end]){margin-left:unset;margin-right:unset;-webkit-margin-start:0.3em;margin-inline-start:0.3em;-webkit-margin-end:-0.2em;margin-inline-end:-0.2em}}::slotted(ion-icon[slot=icon-only]){font-size:1.8em}ion-ripple-effect{color:var(--ripple-color)}.button-native::after{left:0;right:0;top:0;bottom:0;position:absolute;content:\"\";opacity:0}:host(.ion-activated){color:var(--color-activated)}:host(.ion-activated) .button-native::after{background:var(--background-activated);opacity:var(--background-activated-opacity)}:host(.ion-focused){color:var(--color-focused)}:host(.ion-focused) .button-native::after{background:var(--background-focused);opacity:var(--background-focused-opacity)}@media (any-hover: hover){:host(:hover){color:var(--color-hover)}:host(:hover) .button-native::after{background:var(--background-hover);opacity:var(--background-hover-opacity)}}:host(.button-solid.ion-color) .button-native{background:var(--ion-color-base);color:var(--ion-color-contrast)}:host(.button-outline.ion-color) .button-native{border-color:var(--ion-color-base);background:transparent;color:var(--ion-color-base)}:host(.button-clear.ion-color) .button-native{background:transparent;color:var(--ion-color-base)}:host(.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{color:var(--ion-toolbar-color, var(--color))}:host(.button-outline.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{border-color:var(--ion-toolbar-color, var(--color, var(--border-color)))}:host(.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native{background:var(--ion-toolbar-color, var(--background));color:var(--ion-toolbar-background, var(--color))}:host{--border-radius:10px;--padding-top:0;--padding-bottom:0;--padding-start:1em;--padding-end:1em;--transition:background-color, opacity 100ms linear;margin-left:2px;margin-right:2px;margin-top:4px;margin-bottom:4px;height:2.8em;font-size:16px;font-weight:500;letter-spacing:-0.03em}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host{margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:2px;margin-inline-end:2px}}:host(.button-solid){--background-activated:var(--ion-color-primary-shade, #3171e0);--background-focused:var(--ion-color-primary-shade, #3171e0);--background-hover:var(--ion-color-primary-tint, #4c8dff);--background-activated-opacity:1;--background-focused-opacity:1;--background-hover-opacity:1}:host(.button-outline){--border-radius:10px;--border-width:1px;--border-style:solid;--background-activated:var(--ion-color-primary, #3880ff);--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;--color-activated:var(--ion-color-primary-contrast, #fff)}:host(.button-clear){--background-activated:transparent;--background-focused:var(--ion-color-primary, #3880ff);--background-hover:transparent;--background-focused-opacity:.1;font-size:17px;font-weight:normal;letter-spacing:0}:host(.button-large){--border-radius:12px;--padding-top:0;--padding-start:1em;--padding-end:1em;--padding-bottom:0;height:2.8em;font-size:20px}:host(.button-small){--border-radius:6px;--padding-top:0;--padding-start:0.9em;--padding-end:0.9em;--padding-bottom:0;height:2.1em;font-size:13px}:host(.button-round){--border-radius:64px;--padding-top:0;--padding-start:26px;--padding-end:26px;--padding-bottom:0}:host(.button-strong){font-weight:600}:host(.button-clear.ion-activated){opacity:0.4}:host(.button-outline.ion-activated.ion-color) .button-native{color:var(--ion-color-contrast)}:host(.button-outline.ion-activated.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-activated) .button-native::after{background:var(--ion-color-shade)}:host(.button-outline.ion-focused.ion-color) .button-native,:host(.button-clear.ion-focused.ion-color) .button-native{color:var(--ion-color-base)}:host(.button-outline.ion-focused.ion-color) .button-native::after,:host(.button-clear.ion-focused.ion-color) .button-native::after{background:var(--ion-color-base)}:host(.button-solid.ion-color.ion-focused) .button-native::after{background:var(--ion-color-shade)}@media (any-hover: hover){:host(.button-clear:hover),:host(.button-outline:hover){opacity:0.6}:host(.button-clear.ion-color:hover) .button-native,:host(.button-outline.ion-color:hover) .button-native{color:var(--ion-color-base)}:host(.button-clear.ion-color:hover) .button-native::after,:host(.button-outline.ion-color:hover) .button-native::after{background:transparent}:host(.button-solid.ion-color:hover) .button-native::after{background:var(--ion-color-tint)}:host(:hover.button-solid.in-toolbar:not(.ion-color):not(.in-toolbar-color)) .button-native::after{background:#fff;opacity:0.1}}";
12
13
 
@@ -2,11 +2,12 @@ import { r as registerInstance, h, H as Host, f as forceUpdate, c as createEvent
2
2
  import { g as getIonMode } from './ionic-global-ef89a0a5.js';
3
3
  import { c as createColorClasses } from './theme-74c22054.js';
4
4
  import { f as alertController } from './overlays-06b43b65.js';
5
- import './book-31b8cdde.js';
6
- import { R as Refrain } from './refrain-75a412cb.js';
7
- import { C as Change } from './change-ea574d32.js';
5
+ import './index-2e220677.js';
6
+ import { R as Refrain } from './refrain-9b9f05cc.js';
7
+ import { C as Change } from './change-b077b77c.js';
8
8
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
9
9
  import './hardware-back-button-b3b61715.js';
10
+ import './_commonjsHelpers-ba3f0406.js';
10
11
 
11
12
  const cardContentIosCss = "ion-card-content{display:block;position:relative}.card-content-ios{padding-left:20px;padding-right:20px;padding-top:20px;padding-bottom:20px;font-size:16px;line-height:1.4}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){.card-content-ios{padding-left:unset;padding-right:unset;-webkit-padding-start:20px;padding-inline-start:20px;-webkit-padding-end:20px;padding-inline-end:20px}}.card-content-ios h1{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:24px;font-weight:normal}.card-content-ios h2{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:16px;font-weight:normal}.card-content-ios h3,.card-content-ios h4,.card-content-ios h5,.card-content-ios h6{margin-left:0;margin-right:0;margin-top:2px;margin-bottom:2px;font-size:14px;font-weight:normal}.card-content-ios p{margin-left:0;margin-right:0;margin-top:0;margin-bottom:2px;font-size:14px}ion-card-header+.card-content-ios{padding-top:0}";
12
13
 
@@ -2,10 +2,11 @@ import { r as registerInstance, c as createEvent, h, H as Host, a as getElement
2
2
  import { g as getIonMode } from './ionic-global-ef89a0a5.js';
3
3
  import { f as findItemLabel, b as renderHiddenInput } from './helpers-8c93393b.js';
4
4
  import { c as createColorClasses, h as hostContext } from './theme-74c22054.js';
5
- import './book-31b8cdde.js';
6
- import { C as Change } from './change-ea574d32.js';
5
+ import './index-2e220677.js';
6
+ import { C as Change } from './change-b077b77c.js';
7
7
  import { f as alertController } from './overlays-06b43b65.js';
8
8
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
9
+ import './_commonjsHelpers-ba3f0406.js';
9
10
  import './hardware-back-button-b3b61715.js';
10
11
 
11
12
  const checkboxIosCss = ":host{--background-checked:var(--ion-color-primary, #3880ff);--border-color-checked:var(--ion-color-primary, #3880ff);--checkmark-color:var(--ion-color-primary-contrast, #fff);--checkmark-width:1;--transition:none;display:inline-block;position:relative;user-select:none;z-index:2}:host(.ion-color){--background-checked:var(--ion-color-base);--border-color-checked:var(--ion-color-base);--checkmark-color:var(--ion-color-contrast)}button{left:0;top:0;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;width:100%;height:100%;border:0;background:transparent;cursor:pointer;appearance:none;outline:none}[dir=rtl] button,:host-context([dir=rtl]) button{left:unset;right:unset;right:0}button::-moz-focus-inner{border:0}.checkbox-icon{border-radius:var(--border-radius);display:block;position:relative;width:100%;height:100%;transition:var(--transition);border-width:var(--border-width);border-style:var(--border-style);border-color:var(--border-color);background:var(--background);box-sizing:border-box}.checkbox-icon path{fill:none;stroke:var(--checkmark-color);stroke-width:var(--checkmark-width);opacity:0}:host(.checkbox-checked) .checkbox-icon,:host(.checkbox-indeterminate) .checkbox-icon{border-color:var(--border-color-checked);background:var(--background-checked)}:host(.checkbox-checked) .checkbox-icon path,:host(.checkbox-indeterminate) .checkbox-icon path{opacity:1}:host(.checkbox-disabled){pointer-events:none}:host{--border-radius:50%;--border-width:1px;--border-style:solid;--border-color:rgba(var(--ion-text-color-rgb, 0, 0, 0), 0.23);--background:var(--ion-item-background, var(--ion-background-color, #fff));--size:26px;width:var(--size);height:var(--size)}:host(.checkbox-disabled){opacity:0.3}:host(.in-item){margin-left:0;margin-right:8px;margin-top:10px;margin-bottom:9px;display:block;position:static}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item){margin-left:unset;margin-right:unset;-webkit-margin-start:0;margin-inline-start:0;-webkit-margin-end:8px;margin-inline-end:8px}}:host(.in-item[slot=start]){margin-left:2px;margin-right:20px;margin-top:8px;margin-bottom:8px}@supports (margin-inline-start: 0) or (-webkit-margin-start: 0){:host(.in-item[slot=start]){margin-left:unset;margin-right:unset;-webkit-margin-start:2px;margin-inline-start:2px;-webkit-margin-end:20px;margin-inline-end:20px}}";
@@ -3,9 +3,9 @@ import { g as getIonMode } from './ionic-global-ef89a0a5.js';
3
3
  import { d as debounceEvent, f as findItemLabel } from './helpers-8c93393b.js';
4
4
  import { c as createColorClasses } from './theme-74c22054.js';
5
5
  import { D as Debounce } from './index-f08f6130.js';
6
- import './book-31b8cdde.js';
7
- import { C as Cursor } from './cursor-0e47f111.js';
8
- import { C as Change } from './change-ea574d32.js';
6
+ import './index-2e220677.js';
7
+ import { C as Cursor } from './cursor-cb97384b.js';
8
+ import { C as Change } from './change-b077b77c.js';
9
9
  import { c as createCommonjsModule } from './_commonjsHelpers-ba3f0406.js';
10
10
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
11
11
 
@@ -3,15 +3,15 @@ import { c as config, g as getIonMode } from './ionic-global-ef89a0a5.js';
3
3
  import { p as pointerCoord } from './helpers-8c93393b.js';
4
4
  import { c as createColorClasses, h as hostContext } from './theme-74c22054.js';
5
5
  import { f as alertController, l as loadingController, m as modalController, t as toastController } from './overlays-06b43b65.js';
6
- import { R as Responsive, L as LiturgicalDocument, d as dateFromYMDString } from './book-31b8cdde.js';
7
- import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-54f45eb5.js';
8
- import { H as Heading } from './heading-cc5ffa8a.js';
9
- import { v as versionToString, O as Option } from './option-c16af13a.js';
10
- import { C as Change } from './change-ea574d32.js';
6
+ import { R as Responsive, L as LiturgicalDocument, d as dateFromYMDString } from './index-2e220677.js';
7
+ import { B as BibleReading, L as Liturgy, M as Meditation, P as Psalm, R as ResponsivePrayer, a as Rubric } from './rubric-0d2b870d.js';
8
+ import { H as Heading } from './heading-c03fbe8b.js';
9
+ import { v as versionToString, O as Option } from './option-e130a4b2.js';
10
+ import { C as Change } from './change-b077b77c.js';
11
11
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
12
- import { I as Image } from './image-c6a3f0c5.js';
12
+ import { I as Image } from './image-a1336f0a.js';
13
13
  import { D as Debounce } from './index-f08f6130.js';
14
- import { R as Refrain } from './refrain-75a412cb.js';
14
+ import { R as Refrain } from './refrain-9b9f05cc.js';
15
15
  import './hardware-back-button-b3b61715.js';
16
16
  import './_commonjsHelpers-ba3f0406.js';
17
17
 
@@ -1,8 +1,8 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement, c as createEvent } from './index-f0f6a379.js';
2
- import { d as dateFromYMDString, a as dateOnly } from './book-31b8cdde.js';
3
- import { T as Text } from './text-ed75fbd4.js';
2
+ import { d as dateFromYMDString, a as dateOnly } from './index-2e220677.js';
3
+ import { T as Text } from './text-801eb7de.js';
4
4
  import { g as getComponentClosestLanguage } from './locale-ec8e14e6.js';
5
- import { H as Heading } from './heading-cc5ffa8a.js';
5
+ import { H as Heading } from './heading-c03fbe8b.js';
6
6
  import { c as createCommonjsModule, a as commonjsGlobal } from './_commonjsHelpers-ba3f0406.js';
7
7
  import { m as modalController } from './overlays-06b43b65.js';
8
8
  import './ionic-global-ef89a0a5.js';
@@ -61,7 +61,7 @@ class LiturgicalDay {
61
61
  propers = slug;
62
62
  }
63
63
  const color = observed.color || this.color, collect = observed.collect || this.collect, season = observed.season || this.season, octave = (_d = (_c = (this.holy_days || [])) === null || _c === void 0 ? void 0 : _c.concat(holydays)) === null || _d === void 0 ? void 0 : _d.map((holyday) => holyday.octave).filter((octave) => Boolean(octave)).reduce((acc, curr) => (acc ? acc : curr || acc), undefined);
64
- return new LiturgicalDay(Object.assign(Object.assign({}, this), { slug, propers: holy_day_is_observed && holy_day_rank > 2 ? (observed === null || observed === void 0 ? void 0 : observed.propers) || (observed === null || observed === void 0 ? void 0 : observed.slug) : propers, color,
64
+ return new LiturgicalDay(Object.assign(Object.assign({}, this), { slug, propers: holy_day_is_observed && holy_day_rank > 2 ? observed === null || observed === void 0 ? void 0 : observed.slug : propers, color,
65
65
  season,
66
66
  octave,
67
67
  collect, holy_days: (this.holy_days || new Array()).concat(holydays), holy_day_observed: holy_day_is_observed ? observed : this.holy_day_observed }));
@@ -476,9 +476,9 @@ const StringComponent = class {
476
476
  if (firstChunk) {
477
477
  const splitTest = (firstChunk || '').split(/[\s.!?\\]/);
478
478
  const firstWord = splitTest ? splitTest[0] : '', re = firstWord.length > 2
479
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*)/
480
- : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff])([\w\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\w\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
481
- ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\w\u0590-\u05ff\u0370-\u03ff]{2})\s*([\w\u0590-\u05ff\u0370-\u03ff]*)/
479
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*)/
480
+ : /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff])([\wñáéíóú\u0590-\u05ff\u0370-\u03ff\,]*[\s.!?]*[\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/, reIncludingPunctuation = ((_a = firstWord[0]) === null || _a === void 0 ? void 0 : _a.match(/[\"\'“”‘’\!\?\[\]\(\)]/))
481
+ ? /^ ?([\"\'“”‘’\!\?\[\]\(\)\,\wñáéíóú\u0590-\u05ff\u0370-\u03ff]{2})\s*([\wñáéíóú\u0590-\u05ff\u0370-\u03ff]*)/
482
482
  : re, buffer = firstWord.length == 1, split = firstChunk.split(reIncludingPunctuation).filter(s => s !== ''), [match1, match2, nextWord] = split;
483
483
  final = new Array(h("span", { class: 'firstword' }, h("span", { class: buffer ? `drop buffered-drop drop-${match1}` : `drop drop-${match1}` }, match1), this.maintainCasing(match2) ? match2 : match2 === null || match2 === void 0 ? void 0 : match2.toLowerCase()))
484
484
  .concat(nextWord)
@@ -5552,15 +5552,17 @@ const EN = {
5552
5552
  authorized_prayers: authorized_prayers,
5553
5553
  label: label,
5554
5554
  source: source,
5555
- source_citation: source_citation
5555
+ source_citation: source_citation,
5556
+ "prayer-list": "Prayer List"
5556
5557
  };
5557
5558
 
5558
5559
  const amen = "Amén.";
5559
5560
  const ES = {
5560
- amen: amen
5561
+ amen: amen,
5562
+ "prayer-list": "Oraciones"
5561
5563
  };
5562
5564
 
5563
- 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)}";
5565
+ 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.sc-ldf-text li.sc-ldf-text{list-style-type:none;text-align:center;margin:0.5em 0;padding:0}";
5564
5566
 
5565
5567
  const LOCALE = {
5566
5568
  'en': EN,
@@ -5570,8 +5572,16 @@ const TextComponent = class {
5570
5572
  constructor(hostRef) {
5571
5573
  registerInstance(this, hostRef);
5572
5574
  this.ldfDocShouldChange = createEvent(this, "ldfDocShouldChange", 7);
5575
+ this.ldfAskForPrayerList = createEvent(this, "ldfAskForPrayerList", 7);
5576
+ // prayer list for authorized prayers
5577
+ this.intentions = [];
5578
+ }
5579
+ async setPrayerList(intentions) {
5580
+ console.log("(PrayerList) setPrayerList", intentions);
5581
+ this.intentions = intentions;
5573
5582
  }
5574
5583
  docChanged(newDoc) {
5584
+ var _a;
5575
5585
  try {
5576
5586
  if (typeof newDoc == 'string') {
5577
5587
  this.obj = new Text(JSON.parse(newDoc));
@@ -5579,6 +5589,10 @@ const TextComponent = class {
5579
5589
  else {
5580
5590
  this.obj = new Text(newDoc);
5581
5591
  }
5592
+ if (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.style) == "authorized-prayers") {
5593
+ console.log("(PrayerList) ldfAskForPrayerList");
5594
+ this.ldfAskForPrayerList.emit(true);
5595
+ }
5582
5596
  }
5583
5597
  catch (e) {
5584
5598
  console.warn(e);
@@ -5622,37 +5636,37 @@ const TextComponent = class {
5622
5636
  }
5623
5637
  // Render
5624
5638
  render() {
5625
- var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5;
5639
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7;
5626
5640
  const localeStrings = this.localeStrings || {};
5627
5641
  /** `authorized-prayer` type */
5628
5642
  if (((_a = this.obj) === null || _a === void 0 ? void 0 : _a.style) === 'authorized-prayers') {
5629
5643
  const splits = this.path.split('/'), index = Number(splits[splits.length - 1]), base = splits.slice(0, splits.length - 1).join('/');
5630
- return h("ldf-label-bar", null, h("ion-button", { onClick: () => this.addPAndT(base, index), fill: "clear" }, localeStrings.authorized_prayers));
5644
+ return h(Host, null, h("ldf-label-bar", null, h("ion-button", { onClick: () => this.addPAndT(base, index), fill: "clear" }, localeStrings.authorized_prayers)), (_c = ((_b = this.intentions) === null || _b === void 0 ? void 0 : _b.length) > 0) !== null && _c !== void 0 ? _c : h("strong", { class: "prayer-list" }, localeStrings['prayer-list']), h("ul", { class: "prayer-list" }, (this.intentions || []).map(intention => h("li", null, intention))));
5631
5645
  }
5632
5646
  else {
5633
- let value = ((_c = (_b = this.obj) === null || _b === void 0 ? void 0 : _b.metadata) === null || _c === void 0 ? void 0 : _c.rollup)
5634
- ? (((_d = this.obj) === null || _d === void 0 ? void 0 : _d.value) || []).map(s => s.replace(/\s+/g, ' '))
5635
- : (((_e = this.obj) === null || _e === void 0 ? void 0 : _e.value) || []);
5647
+ let value = ((_e = (_d = this.obj) === null || _d === void 0 ? void 0 : _d.metadata) === null || _e === void 0 ? void 0 : _e.rollup)
5648
+ ? (((_f = this.obj) === null || _f === void 0 ? void 0 : _f.value) || []).map(s => s.replace(/\s+/g, ' '))
5649
+ : (((_g = this.obj) === null || _g === void 0 ? void 0 : _g.value) || []);
5636
5650
  let compiledValue = value.map(s => {
5637
5651
  return s.split(/([\*\w\n\s,:;\.\-–—'“☩✠”‘’\!\?”\[\]\%\(\)\/\u0041-\u024F]+([^\*\w\n\s,;:\.'“”☩✠‘’”\-–—\!\?\[\]\%\(\)\/\u0041-\u024F]))/g);
5638
5652
  });
5639
- if (!this.editable && ((_f = this.obj) === null || _f === void 0 ? void 0 : _f.display_format) === 'abbreviated') {
5653
+ if (!this.editable && ((_h = this.obj) === null || _h === void 0 ? void 0 : _h.display_format) === 'abbreviated') {
5640
5654
  const firstSection = compiledValue[0], lastSection = compiledValue[compiledValue.length - 1];
5641
5655
  const firstChunk = this.truncate(firstSection[0]), lastChunk = this.truncate(lastSection[lastSection.length - 1], true);
5642
5656
  compiledValue = [[firstChunk], [lastChunk]];
5643
5657
  }
5644
5658
  if (this.editable) {
5645
- return (h(Host, { lang: this.obj.language }, h("ldf-label-bar", null, h("slot", { slot: 'end', name: 'controls' })), !this.editable && h("ldf-heading", { path: `${this.path}/label`, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && h("ldf-label-bar", null, !((_h = (_g = this.obj) === null || _g === void 0 ? void 0 : _g.metadata) === null || _h === void 0 ? void 0 : _h.omit_label) && h("h3", { class: "editable-label", slot: "start" }, h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-label`, text: (_j = this.obj) === null || _j === void 0 ? void 0 : _j.label, placeholder: localeStrings.label, path: `${this.path}/label` })), h("ldf-editable-text", { slot: "end", id: "source-source", text: (_l = (_k = this.obj) === null || _k === void 0 ? void 0 : _k.source) === null || _l === void 0 ? void 0 : _l.source, path: `${this.path}/source/source`, placeholder: (_m = this.localeStrings) === null || _m === void 0 ? void 0 : _m.source }), h("ldf-editable-text", { slot: "end", id: "source-citation", text: (_p = (_o = this.obj) === null || _o === void 0 ? void 0 : _o.source) === null || _p === void 0 ? void 0 : _p.citation, path: `${this.path}/source/citation`, placeholder: (_q = this.localeStrings) === null || _q === void 0 ? void 0 : _q.source_citation })), h("div", { class: `text ${this.editable ? 'editable' : ''} ${((_r = this.obj) === null || _r === void 0 ? void 0 : _r.display_format) || 'default'}` }, this.obj.value.map((prayer, prayerIndex) => h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}`, text: prayer, path: `${this.path}/value/${prayerIndex}` })), (((_s = this.obj) === null || _s === void 0 ? void 0 : _s.style) === 'prayer' || (((_u = (_t = this.obj) === null || _t === void 0 ? void 0 : _t.metadata) === null || _u === void 0 ? void 0 : _u.response) && !((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.omit_response))) && h("span", { class: 'response' }, h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-response`, text: this.obj.metadata && this.obj.metadata.response, path: `${this.path}/response`, placeholder: localeStrings.amen })))));
5659
+ return (h(Host, { lang: this.obj.language }, h("ldf-label-bar", null, h("slot", { slot: 'end', name: 'controls' })), !this.editable && h("ldf-heading", { path: `${this.path}/label`, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), this.editable && h("ldf-label-bar", null, !((_k = (_j = this.obj) === null || _j === void 0 ? void 0 : _j.metadata) === null || _k === void 0 ? void 0 : _k.omit_label) && h("h3", { class: "editable-label", slot: "start" }, h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-label`, text: (_l = this.obj) === null || _l === void 0 ? void 0 : _l.label, placeholder: localeStrings.label, path: `${this.path}/label` })), h("ldf-editable-text", { slot: "end", id: "source-source", text: (_o = (_m = this.obj) === null || _m === void 0 ? void 0 : _m.source) === null || _o === void 0 ? void 0 : _o.source, path: `${this.path}/source/source`, placeholder: (_p = this.localeStrings) === null || _p === void 0 ? void 0 : _p.source }), h("ldf-editable-text", { slot: "end", id: "source-citation", text: (_r = (_q = this.obj) === null || _q === void 0 ? void 0 : _q.source) === null || _r === void 0 ? void 0 : _r.citation, path: `${this.path}/source/citation`, placeholder: (_s = this.localeStrings) === null || _s === void 0 ? void 0 : _s.source_citation })), h("div", { class: `text ${this.editable ? 'editable' : ''} ${((_t = this.obj) === null || _t === void 0 ? void 0 : _t.display_format) || 'default'}` }, this.obj.value.map((prayer, prayerIndex) => h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-${prayerIndex}`, text: prayer, path: `${this.path}/value/${prayerIndex}` })), (((_u = this.obj) === null || _u === void 0 ? void 0 : _u.style) === 'prayer' || (((_w = (_v = this.obj) === null || _v === void 0 ? void 0 : _v.metadata) === null || _w === void 0 ? void 0 : _w.response) && !((_y = (_x = this.obj) === null || _x === void 0 ? void 0 : _x.metadata) === null || _y === void 0 ? void 0 : _y.omit_response))) && h("span", { class: 'response' }, h("ldf-editable-text", { id: `${this.obj.uid || this.obj.slug}-response`, text: this.obj.metadata && this.obj.metadata.response, path: `${this.path}/response`, placeholder: localeStrings.amen })))));
5646
5660
  }
5647
5661
  else {
5648
5662
  /** `markdown` types */
5649
- if (((_x = this.obj) === null || _x === void 0 ? void 0 : _x.style) === 'markdown') {
5663
+ if (((_z = this.obj) === null || _z === void 0 ? void 0 : _z.style) === 'markdown') {
5650
5664
  const converter = new showdown.Converter();
5651
- return (((_y = this.obj) === null || _y === void 0 ? void 0 : _y.value) || []).map(value => h("div", { innerHTML: converter.makeHtml(value) }));
5665
+ return (((_0 = this.obj) === null || _0 === void 0 ? void 0 : _0.value) || []).map(value => h("div", { innerHTML: converter.makeHtml(value) }));
5652
5666
  }
5653
5667
  /** `text` and `prayer` types */
5654
5668
  else {
5655
- return (h("div", { lang: ((_z = this.obj) === null || _z === void 0 ? void 0 : _z.language) || 'en', class: `text ${((_0 = this.obj) === null || _0 === void 0 ? void 0 : _0.display_format) || 'default'}` }, ((((_1 = this.obj) === null || _1 === void 0 ? void 0 : _1.label) && !((_3 = (_2 = this.obj) === null || _2 === void 0 ? void 0 : _2.metadata) === null || _3 === void 0 ? void 0 : _3.omit_label)) || ((_4 = this.obj) === null || _4 === void 0 ? void 0 : _4.citation)) && h("ldf-heading", { path: this.path, doc: new Heading({ type: 'heading', metadata: { level: 3 }, value: [((_5 = this.obj.metadata) === null || _5 === void 0 ? void 0 : _5.omit_label) ? '' : this.obj.label], citation: this.obj.citation, source: this.obj.source }) }), compiledValue.map((prayer, prayerIndex) => {
5669
+ 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) => {
5656
5670
  var _a, _b, _c, _d;
5657
5671
  return h("p", { class: "text-body", id: `${this.obj.uid || this.obj.slug}-prayerIndex` }, prayer === null || prayer === void 0 ? void 0 :
5658
5672
  prayer.map((chunk, chunkIndex) => {