waha-shared 1.0.362 → 1.0.363

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 (46) hide show
  1. package/assets/fonts/AnekBangla-Bold.woff2 +0 -0
  2. package/assets/fonts/AnekBangla-Regular.woff2 +0 -0
  3. package/assets/fonts/AnekTelugu-Bold.woff2 +0 -0
  4. package/assets/fonts/AnekTelugu-Regular.woff2 +0 -0
  5. package/assets/fonts/EudoxusSans-Bold.woff2 +0 -0
  6. package/assets/fonts/EudoxusSans-Regular.woff2 +0 -0
  7. package/assets/fonts/IBMPlexSansArabic-Bold.woff2 +0 -0
  8. package/assets/fonts/IBMPlexSansArabic-Regular.woff2 +0 -0
  9. package/assets/fonts/IBMPlexSansHebrew-Bold.woff2 +0 -0
  10. package/assets/fonts/IBMPlexSansHebrew-Regular.woff2 +0 -0
  11. package/assets/fonts/KhmerOSContent-Bold.woff2 +0 -0
  12. package/assets/fonts/KhmerOSContent-Regular.woff2 +0 -0
  13. package/assets/fonts/NotoSans-Bold.woff2 +0 -0
  14. package/assets/fonts/NotoSans-Regular.woff2 +0 -0
  15. package/assets/fonts/NotoSansDevanagari-Bold.woff2 +0 -0
  16. package/assets/fonts/NotoSansDevanagari-Regular.woff2 +0 -0
  17. package/assets/fonts/NotoSansGeorgian-Bold.woff2 +0 -0
  18. package/assets/fonts/NotoSansGeorgian-Regular.woff2 +0 -0
  19. package/assets/fonts/NotoSansJP-Bold.woff2 +0 -0
  20. package/assets/fonts/NotoSansJP-Regular.woff2 +0 -0
  21. package/assets/fonts/NotoSansKR-Bold.woff2 +0 -0
  22. package/assets/fonts/NotoSansKR-Regular.woff2 +0 -0
  23. package/assets/fonts/NotoSansSC-Bold.woff2 +0 -0
  24. package/assets/fonts/NotoSansSC-Regular.woff2 +0 -0
  25. package/assets/fonts/NotoSansTamil-Bold.woff2 +0 -0
  26. package/assets/fonts/NotoSansTamil-Regular.woff2 +0 -0
  27. package/assets/fonts/NotoSansThai-Bold.woff2 +0 -0
  28. package/assets/fonts/NotoSansThai-Regular.woff2 +0 -0
  29. package/assets/fonts/Padauk-Bold.woff2 +0 -0
  30. package/assets/fonts/Padauk-Regular.woff2 +0 -0
  31. package/assets/fonts/UKIJTuz-Bold.woff2 +0 -0
  32. package/assets/fonts/UKIJTuz-Regular.woff2 +0 -0
  33. package/assets/fonts/fonts.css +64 -32
  34. package/dist/data/bibleAudios/bibleAudios.json +12 -0
  35. package/dist/data/bibleTexts/bibleTexts.json +12 -0
  36. package/dist/data/languages/languages.json +3 -2
  37. package/dist/data/languages/languages.zod.d.ts +26 -0
  38. package/dist/data/languages/languages.zod.js +8 -7
  39. package/dist/functions/languages.js +19 -0
  40. package/dist/types/articles.d.ts +3 -0
  41. package/dist/types/languages.d.ts +36 -1
  42. package/dist/types/languages.js +4 -0
  43. package/dist/types/microLessons.d.ts +3 -0
  44. package/dist/types/webContent.d.ts +1 -0
  45. package/dist/types/webContent.js +5 -0
  46. package/package.json +3 -3
Binary file
Binary file
Binary file
@@ -3,224 +3,256 @@
3
3
 
4
4
  @font-face {
5
5
  font-family: 'AnekBangla';
6
- src: url('./AnekBangla-Regular.ttf');
6
+ src: url('./AnekBangla-Regular.woff2') format('woff2');
7
7
  font-weight: normal;
8
8
  font-style: normal;
9
+ font-display: swap;
9
10
  }
10
11
 
11
12
  @font-face {
12
13
  font-family: 'AnekBangla';
13
- src: url('./AnekBangla-Bold.ttf');
14
+ src: url('./AnekBangla-Bold.woff2') format('woff2');
14
15
  font-weight: bold;
15
16
  font-style: normal;
17
+ font-display: swap;
16
18
  }
17
19
 
18
20
  @font-face {
19
21
  font-family: 'AnekTelugu';
20
- src: url('./AnekTelugu-Regular.ttf');
22
+ src: url('./AnekTelugu-Regular.woff2') format('woff2');
21
23
  font-weight: normal;
22
24
  font-style: normal;
25
+ font-display: swap;
23
26
  }
24
27
 
25
28
  @font-face {
26
29
  font-family: 'AnekTelugu';
27
- src: url('./AnekTelugu-Bold.ttf');
30
+ src: url('./AnekTelugu-Bold.woff2') format('woff2');
28
31
  font-weight: bold;
29
32
  font-style: normal;
33
+ font-display: swap;
30
34
  }
31
35
 
32
36
  @font-face {
33
37
  font-family: 'EudoxusSans';
34
- src: url('./EudoxusSans-Regular.ttf');
38
+ src: url('./EudoxusSans-Regular.woff2') format('woff2');
35
39
  font-weight: normal;
36
40
  font-style: normal;
41
+ font-display: swap;
37
42
  }
38
43
 
39
44
  @font-face {
40
45
  font-family: 'EudoxusSans';
41
- src: url('./EudoxusSans-Bold.ttf');
46
+ src: url('./EudoxusSans-Bold.woff2') format('woff2');
42
47
  font-weight: bold;
43
48
  font-style: normal;
49
+ font-display: swap;
44
50
  }
45
51
 
46
52
  @font-face {
47
53
  font-family: 'IBMPlexSansArabic';
48
- src: url('./IBMPlexSansArabic-Regular.ttf');
54
+ src: url('./IBMPlexSansArabic-Regular.woff2') format('woff2');
49
55
  font-weight: normal;
50
56
  font-style: normal;
57
+ font-display: swap;
51
58
  }
52
59
 
53
60
  @font-face {
54
61
  font-family: 'IBMPlexSansArabic';
55
- src: url('./IBMPlexSansArabic-Bold.ttf');
62
+ src: url('./IBMPlexSansArabic-Bold.woff2') format('woff2');
56
63
  font-weight: bold;
57
64
  font-style: normal;
65
+ font-display: swap;
58
66
  }
59
67
 
60
68
  @font-face {
61
69
  font-family: 'IBMPlexSansHebrew';
62
- src: url('./IBMPlexSansHebrew-Regular.ttf');
70
+ src: url('./IBMPlexSansHebrew-Regular.woff2') format('woff2');
63
71
  font-weight: normal;
64
72
  font-style: normal;
73
+ font-display: swap;
65
74
  }
66
75
 
67
76
  @font-face {
68
77
  font-family: 'IBMPlexSansHebrew';
69
- src: url('./IBMPlexSansHebrew-Bold.ttf');
78
+ src: url('./IBMPlexSansHebrew-Bold.woff2') format('woff2');
70
79
  font-weight: bold;
71
80
  font-style: normal;
81
+ font-display: swap;
72
82
  }
73
83
 
74
84
  @font-face {
75
85
  font-family: 'KhmerOSContent';
76
- src: url('./KhmerOSContent-Regular.ttf');
86
+ src: url('./KhmerOSContent-Regular.woff2') format('woff2');
77
87
  font-weight: normal;
78
88
  font-style: normal;
89
+ font-display: swap;
79
90
  }
80
91
 
81
92
  @font-face {
82
93
  font-family: 'KhmerOSContent';
83
- src: url('./KhmerOSContent-Bold.ttf');
94
+ src: url('./KhmerOSContent-Bold.woff2') format('woff2');
84
95
  font-weight: bold;
85
96
  font-style: normal;
97
+ font-display: swap;
86
98
  }
87
99
 
88
100
  @font-face {
89
101
  font-family: 'NotoSans';
90
- src: url('./NotoSans-Regular.ttf');
102
+ src: url('./NotoSans-Regular.woff2') format('woff2');
91
103
  font-weight: normal;
92
104
  font-style: normal;
105
+ font-display: swap;
93
106
  }
94
107
 
95
108
  @font-face {
96
109
  font-family: 'NotoSans';
97
- src: url('./NotoSans-Bold.ttf');
110
+ src: url('./NotoSans-Bold.woff2') format('woff2');
98
111
  font-weight: bold;
99
112
  font-style: normal;
113
+ font-display: swap;
100
114
  }
101
115
 
102
116
  @font-face {
103
117
  font-family: 'NotoSansDevanagari';
104
- src: url('./NotoSansDevanagari-Regular.ttf');
118
+ src: url('./NotoSansDevanagari-Regular.woff2') format('woff2');
105
119
  font-weight: normal;
106
120
  font-style: normal;
121
+ font-display: swap;
107
122
  }
108
123
 
109
124
  @font-face {
110
125
  font-family: 'NotoSansDevanagari';
111
- src: url('./NotoSansDevanagari-Bold.ttf');
126
+ src: url('./NotoSansDevanagari-Bold.woff2') format('woff2');
112
127
  font-weight: bold;
113
128
  font-style: normal;
129
+ font-display: swap;
114
130
  }
115
131
 
116
132
  @font-face {
117
133
  font-family: 'NotoSansGeorgian';
118
- src: url('./NotoSansGeorgian-Regular.ttf');
134
+ src: url('./NotoSansGeorgian-Regular.woff2') format('woff2');
119
135
  font-weight: normal;
120
136
  font-style: normal;
137
+ font-display: swap;
121
138
  }
122
139
 
123
140
  @font-face {
124
141
  font-family: 'NotoSansGeorgian';
125
- src: url('./NotoSansGeorgian-Bold.ttf');
142
+ src: url('./NotoSansGeorgian-Bold.woff2') format('woff2');
126
143
  font-weight: bold;
127
144
  font-style: normal;
145
+ font-display: swap;
128
146
  }
129
147
 
130
148
  @font-face {
131
149
  font-family: 'NotoSansJP';
132
- src: url('./NotoSansJP-Regular.ttf');
150
+ src: url('./NotoSansJP-Regular.woff2') format('woff2');
133
151
  font-weight: normal;
134
152
  font-style: normal;
153
+ font-display: swap;
135
154
  }
136
155
 
137
156
  @font-face {
138
157
  font-family: 'NotoSansJP';
139
- src: url('./NotoSansJP-Bold.ttf');
158
+ src: url('./NotoSansJP-Bold.woff2') format('woff2');
140
159
  font-weight: bold;
141
160
  font-style: normal;
161
+ font-display: swap;
142
162
  }
143
163
 
144
164
  @font-face {
145
165
  font-family: 'NotoSansKR';
146
- src: url('./NotoSansKR-Regular.ttf');
166
+ src: url('./NotoSansKR-Regular.woff2') format('woff2');
147
167
  font-weight: normal;
148
168
  font-style: normal;
169
+ font-display: swap;
149
170
  }
150
171
 
151
172
  @font-face {
152
173
  font-family: 'NotoSansKR';
153
- src: url('./NotoSansKR-Bold.ttf');
174
+ src: url('./NotoSansKR-Bold.woff2') format('woff2');
154
175
  font-weight: bold;
155
176
  font-style: normal;
177
+ font-display: swap;
156
178
  }
157
179
 
158
180
  @font-face {
159
181
  font-family: 'NotoSansSC';
160
- src: url('./NotoSansSC-Regular.ttf');
182
+ src: url('./NotoSansSC-Regular.woff2') format('woff2');
161
183
  font-weight: normal;
162
184
  font-style: normal;
185
+ font-display: swap;
163
186
  }
164
187
 
165
188
  @font-face {
166
189
  font-family: 'NotoSansSC';
167
- src: url('./NotoSansSC-Bold.ttf');
190
+ src: url('./NotoSansSC-Bold.woff2') format('woff2');
168
191
  font-weight: bold;
169
192
  font-style: normal;
193
+ font-display: swap;
170
194
  }
171
195
 
172
196
  @font-face {
173
197
  font-family: 'NotoSansTamil';
174
- src: url('./NotoSansTamil-Regular.ttf');
198
+ src: url('./NotoSansTamil-Regular.woff2') format('woff2');
175
199
  font-weight: normal;
176
200
  font-style: normal;
201
+ font-display: swap;
177
202
  }
178
203
 
179
204
  @font-face {
180
205
  font-family: 'NotoSansTamil';
181
- src: url('./NotoSansTamil-Bold.ttf');
206
+ src: url('./NotoSansTamil-Bold.woff2') format('woff2');
182
207
  font-weight: bold;
183
208
  font-style: normal;
209
+ font-display: swap;
184
210
  }
185
211
 
186
212
  @font-face {
187
213
  font-family: 'NotoSansThai';
188
- src: url('./NotoSansThai-Regular.ttf');
214
+ src: url('./NotoSansThai-Regular.woff2') format('woff2');
189
215
  font-weight: normal;
190
216
  font-style: normal;
217
+ font-display: swap;
191
218
  }
192
219
 
193
220
  @font-face {
194
221
  font-family: 'NotoSansThai';
195
- src: url('./NotoSansThai-Bold.ttf');
222
+ src: url('./NotoSansThai-Bold.woff2') format('woff2');
196
223
  font-weight: bold;
197
224
  font-style: normal;
225
+ font-display: swap;
198
226
  }
199
227
 
200
228
  @font-face {
201
229
  font-family: 'Padauk';
202
- src: url('./Padauk-Regular.ttf');
230
+ src: url('./Padauk-Regular.woff2') format('woff2');
203
231
  font-weight: normal;
204
232
  font-style: normal;
233
+ font-display: swap;
205
234
  }
206
235
 
207
236
  @font-face {
208
237
  font-family: 'Padauk';
209
- src: url('./Padauk-Bold.ttf');
238
+ src: url('./Padauk-Bold.woff2') format('woff2');
210
239
  font-weight: bold;
211
240
  font-style: normal;
241
+ font-display: swap;
212
242
  }
213
243
 
214
244
  @font-face {
215
245
  font-family: 'UKIJTuz';
216
- src: url('./UKIJTuz-Regular.ttf');
246
+ src: url('./UKIJTuz-Regular.woff2') format('woff2');
217
247
  font-weight: normal;
218
248
  font-style: normal;
249
+ font-display: swap;
219
250
  }
220
251
 
221
252
  @font-face {
222
253
  font-family: 'UKIJTuz';
223
- src: url('./UKIJTuz-Bold.ttf');
254
+ src: url('./UKIJTuz-Bold.woff2') format('woff2');
224
255
  font-weight: bold;
225
256
  font-style: normal;
257
+ font-display: swap;
226
258
  }
@@ -683,6 +683,18 @@
683
683
  }
684
684
  ]
685
685
  },
686
+ {
687
+ "bibleAudioId": "TANT2022",
688
+ "canDownload": true,
689
+ "copyright": "Text: © United Bible Societies, 2011, 2018, 2022, Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License. Audio: ℗ Hosanna, 2024, Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License",
690
+ "audioSource": [
691
+ {
692
+ "scope": "all",
693
+ "source": "dbl",
694
+ "sourceId": "c2d41121545143a0-01"
695
+ }
696
+ ]
697
+ },
686
698
  {
687
699
  "bibleAudioId": "TCL02",
688
700
  "canDownload": false,
@@ -653,6 +653,18 @@
653
653
  "nameEnglish": "Sudanese Arabic Audio Bible",
654
654
  "textSource": {
655
655
  "source": "custom"
656
+ },
657
+ "version": 2
658
+ },
659
+ {
660
+ "bibleTextId": "TANT2022",
661
+ "copyright": "Text copyright © United Bible Societies, 2011, 2018, 2022.",
662
+ "languageId": "aeb",
663
+ "name": "العهد الجديد بالدارجة التونسية 2022",
664
+ "nameEnglish": "Tunisian Arabic New Testament",
665
+ "textSource": {
666
+ "source": "dbl",
667
+ "sourceId": "26e0bbc90cf70432-01"
656
668
  }
657
669
  },
658
670
  {
@@ -117,10 +117,10 @@
117
117
  "languageId": "aeb",
118
118
  "appInterface": false,
119
119
  "assetVersions": {
120
- "dbs": 2
120
+ "dbs": 3
121
121
  },
122
122
  "bcpLanguageId": "ar-TN",
123
- "bible": "NAV",
123
+ "bible": "TANT2022",
124
124
  "bridgeLanguages": {
125
125
  "ftbs": "ara",
126
126
  "intros": "ara",
@@ -151,6 +151,7 @@
151
151
  "web": "notStarted"
152
152
  },
153
153
  "uuid": "b4c558bf-10bb-495c-8d9c-f4d9cf9cd0f0",
154
+ "bibleFallbacks": ["NAV"],
154
155
  "countries": ["TN", "LY"]
155
156
  },
156
157
  {
@@ -47,6 +47,32 @@ export declare const AssetVersions: z.ZodObject<{
47
47
  dmc: z.ZodOptional<z.ZodInt>;
48
48
  cast: z.ZodOptional<z.ZodInt>;
49
49
  }, z.core.$strip>;
50
+ export declare const LanguageStatuses: z.ZodObject<{
51
+ dbs: z.ZodEnum<{
52
+ notStarted: "notStarted";
53
+ inProgress: "inProgress";
54
+ testing: "testing";
55
+ launched: "launched";
56
+ }>;
57
+ trainingVideos: z.ZodEnum<{
58
+ notStarted: "notStarted";
59
+ inProgress: "inProgress";
60
+ testing: "testing";
61
+ launched: "launched";
62
+ }>;
63
+ gdmc: z.ZodEnum<{
64
+ notStarted: "notStarted";
65
+ inProgress: "inProgress";
66
+ testing: "testing";
67
+ launched: "launched";
68
+ }>;
69
+ web: z.ZodEnum<{
70
+ notStarted: "notStarted";
71
+ inProgress: "inProgress";
72
+ testing: "testing";
73
+ launched: "launched";
74
+ }>;
75
+ }, z.core.$strip>;
50
76
  export declare const Languages: z.ZodArray<z.ZodObject<{
51
77
  languageId: z.ZodString;
52
78
  exonym: z.ZodString;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.Languages = exports.AssetVersions = exports.BibleModifier = exports.BridgeLanguages = exports.Status = exports.BibleTestament = exports.SetCategory = void 0;
3
+ exports.Languages = exports.LanguageStatuses = exports.AssetVersions = exports.BibleModifier = exports.BridgeLanguages = exports.Status = exports.BibleTestament = exports.SetCategory = void 0;
4
4
  const zod_1 = require("zod");
5
5
  exports.SetCategory = zod_1.z.enum(['Foundations', 'Topics', 'WahaTraining']);
6
6
  exports.BibleTestament = zod_1.z.enum(['OT', 'NT']);
@@ -65,6 +65,12 @@ exports.AssetVersions = zod_1.z
65
65
  .describe('Asset version for cast-ready Foundations/Topics/GMDC video lessons.'),
66
66
  })
67
67
  .describe('Version numbers for various language assets that determine where files will be generated and retrieved. Omitting will always look for all assets in `full_lessons`. Adding for a category will generate and look for assets in `full_lessons${versionNumber}`.');
68
+ exports.LanguageStatuses = zod_1.z.object({
69
+ dbs: exports.Status.describe("The overall status of this language. Determines whether or not the language will show up in the app. Only language's marked `launched` will be selectable in Waha."),
70
+ trainingVideos: exports.Status.describe("The status of this language's disciple making course training videos."),
71
+ gdmc: exports.Status.describe("The status of this language's growing as a dmc sets."),
72
+ web: exports.Status.describe("The status of this language's website localization on https://waha.app."),
73
+ });
68
74
  exports.Languages = zod_1.z.array(zod_1.z
69
75
  .object({
70
76
  languageId: zod_1.z
@@ -116,12 +122,7 @@ exports.Languages = zod_1.z.array(zod_1.z
116
122
  })
117
123
  .strict()
118
124
  .describe('Determines what curriculums this language will use for its various content. Each must be linked to objects in data/foundationsCurriculums.json, data/topicsCurriculums.json , or data/questionsCurriculums.json.'),
119
- status: zod_1.z.object({
120
- dbs: exports.Status.describe("The overall status of this language. Determines whether or not the language will show up in the app. Only language's marked `launched` will be selectable in Waha."),
121
- trainingVideos: exports.Status.describe("The status of this language's disciple making course training videos."),
122
- gdmc: exports.Status.describe("The status of this language's growing as a dmc sets."),
123
- web: exports.Status.describe("The status of this language's website localization on https://waha.app."),
124
- }),
125
+ status: exports.LanguageStatuses,
125
126
  endonym: zod_1.z
126
127
  .string()
127
128
  .regex(new RegExp('^.+$'))
@@ -56,6 +56,7 @@ function getLanguageInfo(languageId, options) {
56
56
  lessonPauses: lessonPauses_1.lessonPauses,
57
57
  allBibleIds: [],
58
58
  onboardingPassageIds: curriculumOnboarding_1.curriculumOnboarding[0].passages,
59
+ status: { ...languages_1.languages[0].status, dmCourse: 'notStarted' },
59
60
  };
60
61
  const language = languages_1.languages.find((language) => language.languageId === languageId);
61
62
  if (!language) {
@@ -89,6 +90,23 @@ function getLanguageInfo(languageId, options) {
89
90
  setIds.push(gdmcSetId);
90
91
  }
91
92
  }
93
+ let dmCourseStatus = 'notStarted';
94
+ if (language.status.trainingVideos === 'notStarted') {
95
+ if (!language.bridgeLanguages?.trainingVideos) {
96
+ dmCourseStatus = 'notStarted';
97
+ }
98
+ else {
99
+ if (language.status.dbs !== 'launched')
100
+ dmCourseStatus = language.status.dbs;
101
+ else {
102
+ const bridgeLanguageTrainingVideoStatus = languages_1.languages.find((l) => l.languageId === language.bridgeLanguages?.trainingVideos)?.status.trainingVideos ?? 'notStarted';
103
+ dmCourseStatus = bridgeLanguageTrainingVideoStatus;
104
+ }
105
+ }
106
+ }
107
+ else {
108
+ dmCourseStatus = language.status.trainingVideos;
109
+ }
92
110
  const toReturn = {
93
111
  ...language,
94
112
  setIds: setIds,
@@ -112,6 +130,7 @@ function getLanguageInfo(languageId, options) {
112
130
  lessonPauses: lessonPauses_1.lessonPauses,
113
131
  allBibleIds: (0, bibles_1.getAllBibleIds)(language),
114
132
  onboardingPassageIds: onboardingCurriculum?.passages ?? defaultReturn.onboardingPassageIds,
133
+ status: { ...language.status, dmCourse: dmCourseStatus },
115
134
  };
116
135
  return toReturn;
117
136
  }
@@ -36,6 +36,7 @@ export declare const ArticleSchema: z.ZodObject<{
36
36
  autoplay: z.ZodOptional<z.ZodBoolean>;
37
37
  loop: z.ZodOptional<z.ZodBoolean>;
38
38
  disableControls: z.ZodOptional<z.ZodBoolean>;
39
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
39
40
  }, z.core.$strip>>;
40
41
  impactStoryRegion: z.ZodOptional<z.ZodEnum<{
41
42
  "North America": "North America";
@@ -92,6 +93,7 @@ export declare const ResponseArticleSchema: z.ZodObject<{
92
93
  autoplay: z.ZodOptional<z.ZodBoolean>;
93
94
  loop: z.ZodOptional<z.ZodBoolean>;
94
95
  disableControls: z.ZodOptional<z.ZodBoolean>;
96
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
95
97
  }, z.core.$strip>>;
96
98
  impactStoryRegion: z.ZodOptional<z.ZodEnum<{
97
99
  "North America": "North America";
@@ -151,6 +153,7 @@ export declare const ArticlesResponseSchema: z.ZodObject<{
151
153
  autoplay: z.ZodOptional<z.ZodBoolean>;
152
154
  loop: z.ZodOptional<z.ZodBoolean>;
153
155
  disableControls: z.ZodOptional<z.ZodBoolean>;
156
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
154
157
  }, z.core.$strip>>;
155
158
  impactStoryRegion: z.ZodOptional<z.ZodEnum<{
156
159
  "North America": "North America";
@@ -32,7 +32,40 @@ declare const RequiredBridgeLanguages: z.ZodObject<{
32
32
  onboardingPassages: z.ZodNonOptional<z.ZodOptional<z.ZodString>>;
33
33
  }, z.core.$strip>;
34
34
  type RequiredBridgeLanguages = z.infer<typeof RequiredBridgeLanguages>;
35
- export interface LanguageInfo extends Omit<Language, 'bible' | 'bibleFallbacks' | 'script' | 'bridgeLanguages'> {
35
+ export declare const LanguageInfoStatuses: z.ZodObject<{
36
+ dbs: z.ZodEnum<{
37
+ notStarted: "notStarted";
38
+ inProgress: "inProgress";
39
+ testing: "testing";
40
+ launched: "launched";
41
+ }>;
42
+ trainingVideos: z.ZodEnum<{
43
+ notStarted: "notStarted";
44
+ inProgress: "inProgress";
45
+ testing: "testing";
46
+ launched: "launched";
47
+ }>;
48
+ gdmc: z.ZodEnum<{
49
+ notStarted: "notStarted";
50
+ inProgress: "inProgress";
51
+ testing: "testing";
52
+ launched: "launched";
53
+ }>;
54
+ web: z.ZodEnum<{
55
+ notStarted: "notStarted";
56
+ inProgress: "inProgress";
57
+ testing: "testing";
58
+ launched: "launched";
59
+ }>;
60
+ dmCourse: z.ZodEnum<{
61
+ notStarted: "notStarted";
62
+ inProgress: "inProgress";
63
+ testing: "testing";
64
+ launched: "launched";
65
+ }>;
66
+ }, z.core.$strip>;
67
+ export type LanguageInfoStatuses = z.infer<typeof LanguageInfoStatuses>;
68
+ export interface LanguageInfo extends Omit<Language, 'bible' | 'bibleFallbacks' | 'script' | 'bridgeLanguages' | 'status'> {
36
69
  /** The set ids that make up this language's curriculum. */
37
70
  setIds: string[];
38
71
  /** The question sets available for this language. */
@@ -66,6 +99,8 @@ export interface LanguageInfo extends Omit<Language, 'bible' | 'bibleFallbacks'
66
99
  * curriculum (some languages use different psalm numberings).
67
100
  */
68
101
  onboardingPassageIds: CurriculumOnboarding[number]['passages'];
102
+ /** The statuses of this language. */
103
+ status: LanguageInfoStatuses;
69
104
  }
70
105
  export interface MeetTranslations {
71
106
  sets: TranslationsSet[string];
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.LanguageInfoStatuses = void 0;
3
4
  const languages_zod_1 = require("../data/languages/languages.zod");
4
5
  const RequiredBridgeLanguages = languages_zod_1.BridgeLanguages.required();
6
+ exports.LanguageInfoStatuses = languages_zod_1.LanguageStatuses.extend({
7
+ dmCourse: languages_zod_1.Status.describe("Whether or not the DM course is available for a language. Calculated via a combination of language's dbs status, language's training video status, and language's bridge languages."),
8
+ });
@@ -53,6 +53,7 @@ export declare const MicroLessonSchema: z.ZodObject<{
53
53
  autoplay: z.ZodOptional<z.ZodBoolean>;
54
54
  loop: z.ZodOptional<z.ZodBoolean>;
55
55
  disableControls: z.ZodOptional<z.ZodBoolean>;
56
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
56
57
  }, z.core.$strip>>;
57
58
  textInput: z.ZodOptional<z.ZodObject<{
58
59
  show: z.ZodBoolean;
@@ -127,6 +128,7 @@ export declare const ResponseMicroLessonSchema: z.ZodObject<{
127
128
  autoplay: z.ZodOptional<z.ZodBoolean>;
128
129
  loop: z.ZodOptional<z.ZodBoolean>;
129
130
  disableControls: z.ZodOptional<z.ZodBoolean>;
131
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
130
132
  }, z.core.$strip>>;
131
133
  textInput: z.ZodOptional<z.ZodObject<{
132
134
  show: z.ZodBoolean;
@@ -203,6 +205,7 @@ export declare const MicroLessonsResponse: z.ZodObject<{
203
205
  autoplay: z.ZodOptional<z.ZodBoolean>;
204
206
  loop: z.ZodOptional<z.ZodBoolean>;
205
207
  disableControls: z.ZodOptional<z.ZodBoolean>;
208
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
206
209
  }, z.core.$strip>>;
207
210
  textInput: z.ZodOptional<z.ZodObject<{
208
211
  show: z.ZodBoolean;
@@ -16,6 +16,7 @@ export declare const VideoSchema: z.ZodOptional<z.ZodObject<{
16
16
  autoplay: z.ZodOptional<z.ZodBoolean>;
17
17
  loop: z.ZodOptional<z.ZodBoolean>;
18
18
  disableControls: z.ZodOptional<z.ZodBoolean>;
19
+ aspectRatio: z.ZodOptional<z.ZodNumber>;
19
20
  }, z.core.$strip>>;
20
21
  export declare const CategorySchema: z.ZodEnum<{
21
22
  "Case Studies": "Case Studies";
@@ -32,6 +32,11 @@ exports.VideoSchema = zod_1.default
32
32
  autoplay: zod_1.default.boolean().optional(),
33
33
  loop: zod_1.default.boolean().optional(),
34
34
  disableControls: zod_1.default.boolean().optional(),
35
+ aspectRatio: zod_1.default
36
+ .number()
37
+ .positive()
38
+ .describe('Width / height of the video. Defaults to 16/9. Use values < 1 for portrait videos (e.g. 9/16).')
39
+ .optional(),
35
40
  })
36
41
  .describe('Optional video to embed on the page.')
37
42
  .optional();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "waha-shared",
3
- "version": "1.0.362",
3
+ "version": "1.0.363",
4
4
  "author": "Waha",
5
5
  "dependencies": {
6
6
  "@types/signale": "^1.4.7",
@@ -27,7 +27,7 @@
27
27
  "license": "MIT",
28
28
  "scripts": {
29
29
  "build": "npx tsc && copyfiles \"data/**/*.json\" dist",
30
- "update": "yarn build && REGISTRY_VERSION=$(npm view waha-shared version) && npm version $REGISTRY_VERSION --no-git-tag-version --allow-same-version && npm version patch && git add . && git commit -m 'chore: update shared types' && bash -c 'npm publish --access public --registry https://registry.npmjs.org --//registry.npmjs.org/:_authToken=$(grep NPM_TOKEN= ../.env | cut -d \"=\" -f2-)'",
31
- "updateManual": "(npm whoami || npm login) && yarn build && REGISTRY_VERSION=$(npm view waha-shared version) && npm version $REGISTRY_VERSION --no-git-tag-version --allow-same-version && git add dist package.json && git commit -m 'chore: update shared types' && npm publish"
30
+ "update": "yarn build && REGISTRY_VERSION=$(npm view waha-shared version) && npm version $REGISTRY_VERSION --no-git-tag-version --allow-same-version && npm version patch --no-git-tag-version && git add . && (git commit -m 'chore: update shared types' || true) && bash -c 'npm publish --access public --registry https://registry.npmjs.org --//registry.npmjs.org/:_authToken=$(grep NPM_TOKEN= ../.env | cut -d \"=\" -f2-)'",
31
+ "updateManual": "(npm whoami || npm login) && yarn build && REGISTRY_VERSION=$(npm view waha-shared version) && npm version $REGISTRY_VERSION --no-git-tag-version --allow-same-version && npm version patch --no-git-tag-version && git add dist package.json && (git commit -m 'chore: update shared types' || true) && npm publish"
32
32
  }
33
33
  }