@jjlmoya/utils-alcohol 1.24.0 → 1.26.0

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 (144) hide show
  1. package/package.json +1 -1
  2. package/src/entries.ts +7 -1
  3. package/src/index.ts +1 -0
  4. package/src/pages/[locale]/[slug].astro +7 -3
  5. package/src/tests/locale_completeness.test.ts +4 -9
  6. package/src/tests/tool_validation.test.ts +2 -2
  7. package/src/tool/alcoholClearance/alcohol-clearance-calculator.css +23 -23
  8. package/src/tool/alcoholClearance/bibliography.ts +6 -0
  9. package/src/tool/alcoholClearance/entry.ts +1 -0
  10. package/src/tool/alcoholClearance/i18n/de.ts +1 -12
  11. package/src/tool/alcoholClearance/i18n/en.ts +1 -12
  12. package/src/tool/alcoholClearance/i18n/es.ts +1 -12
  13. package/src/tool/alcoholClearance/i18n/fr.ts +1 -12
  14. package/src/tool/alcoholClearance/i18n/id.ts +1 -12
  15. package/src/tool/alcoholClearance/i18n/it.ts +1 -12
  16. package/src/tool/alcoholClearance/i18n/ja.ts +1 -12
  17. package/src/tool/alcoholClearance/i18n/ko.ts +1 -12
  18. package/src/tool/alcoholClearance/i18n/nl.ts +1 -12
  19. package/src/tool/alcoholClearance/i18n/pl.ts +1 -12
  20. package/src/tool/alcoholClearance/i18n/pt.ts +1 -12
  21. package/src/tool/alcoholClearance/i18n/ru.ts +1 -12
  22. package/src/tool/alcoholClearance/i18n/sv.ts +1 -12
  23. package/src/tool/alcoholClearance/i18n/tr.ts +1 -12
  24. package/src/tool/alcoholClearance/i18n/zh.ts +1 -12
  25. package/src/tool/beerCooler/beer-cooler.css +22 -22
  26. package/src/tool/beerCooler/bibliography.ts +6 -0
  27. package/src/tool/beerCooler/entry.ts +1 -0
  28. package/src/tool/beerCooler/i18n/de.ts +1 -12
  29. package/src/tool/beerCooler/i18n/en.ts +1 -12
  30. package/src/tool/beerCooler/i18n/es.ts +1 -12
  31. package/src/tool/beerCooler/i18n/fr.ts +1 -12
  32. package/src/tool/beerCooler/i18n/id.ts +1 -12
  33. package/src/tool/beerCooler/i18n/it.ts +1 -12
  34. package/src/tool/beerCooler/i18n/ja.ts +1 -12
  35. package/src/tool/beerCooler/i18n/ko.ts +1 -12
  36. package/src/tool/beerCooler/i18n/nl.ts +1 -12
  37. package/src/tool/beerCooler/i18n/pl.ts +1 -12
  38. package/src/tool/beerCooler/i18n/pt.ts +1 -12
  39. package/src/tool/beerCooler/i18n/ru.ts +1 -12
  40. package/src/tool/beerCooler/i18n/sv.ts +1 -12
  41. package/src/tool/beerCooler/i18n/tr.ts +1 -12
  42. package/src/tool/beerCooler/i18n/zh.ts +1 -12
  43. package/src/tool/carbonationCalculator/beer-carbonation-calculator.css +19 -19
  44. package/src/tool/carbonationCalculator/bibliography.ts +6 -0
  45. package/src/tool/carbonationCalculator/entry.ts +1 -0
  46. package/src/tool/carbonationCalculator/i18n/de.ts +1 -12
  47. package/src/tool/carbonationCalculator/i18n/en.ts +1 -12
  48. package/src/tool/carbonationCalculator/i18n/es.ts +1 -12
  49. package/src/tool/carbonationCalculator/i18n/fr.ts +1 -12
  50. package/src/tool/carbonationCalculator/i18n/id.ts +1 -12
  51. package/src/tool/carbonationCalculator/i18n/it.ts +1 -12
  52. package/src/tool/carbonationCalculator/i18n/ja.ts +1 -12
  53. package/src/tool/carbonationCalculator/i18n/ko.ts +1 -12
  54. package/src/tool/carbonationCalculator/i18n/nl.ts +1 -12
  55. package/src/tool/carbonationCalculator/i18n/pl.ts +1 -12
  56. package/src/tool/carbonationCalculator/i18n/pt.ts +1 -12
  57. package/src/tool/carbonationCalculator/i18n/ru.ts +1 -12
  58. package/src/tool/carbonationCalculator/i18n/sv.ts +1 -12
  59. package/src/tool/carbonationCalculator/i18n/tr.ts +1 -12
  60. package/src/tool/carbonationCalculator/i18n/zh.ts +1 -12
  61. package/src/tool/cocktailBalancer/bibliography.ts +7 -0
  62. package/src/tool/cocktailBalancer/cocktail-balancer.css +59 -59
  63. package/src/tool/cocktailBalancer/entry.ts +1 -0
  64. package/src/tool/cocktailBalancer/i18n/de.ts +1 -16
  65. package/src/tool/cocktailBalancer/i18n/en.ts +1 -16
  66. package/src/tool/cocktailBalancer/i18n/es.ts +1 -16
  67. package/src/tool/cocktailBalancer/i18n/fr.ts +1 -16
  68. package/src/tool/cocktailBalancer/i18n/id.ts +1 -16
  69. package/src/tool/cocktailBalancer/i18n/it.ts +1 -16
  70. package/src/tool/cocktailBalancer/i18n/ja.ts +1 -16
  71. package/src/tool/cocktailBalancer/i18n/ko.ts +1 -16
  72. package/src/tool/cocktailBalancer/i18n/nl.ts +1 -16
  73. package/src/tool/cocktailBalancer/i18n/pl.ts +1 -16
  74. package/src/tool/cocktailBalancer/i18n/pt.ts +1 -16
  75. package/src/tool/cocktailBalancer/i18n/ru.ts +1 -16
  76. package/src/tool/cocktailBalancer/i18n/sv.ts +1 -16
  77. package/src/tool/cocktailBalancer/i18n/tr.ts +1 -16
  78. package/src/tool/cocktailBalancer/i18n/zh.ts +1 -16
  79. package/src/tool/fortifiedWine/bibliography.astro +14 -0
  80. package/src/tool/fortifiedWine/bibliography.ts +7 -0
  81. package/src/tool/fortifiedWine/component.astro +331 -0
  82. package/src/tool/fortifiedWine/entry.ts +62 -0
  83. package/src/tool/fortifiedWine/fortified-wine-builder.css +534 -0
  84. package/src/tool/fortifiedWine/i18n/de.ts +66 -0
  85. package/src/tool/fortifiedWine/i18n/en.ts +140 -0
  86. package/src/tool/fortifiedWine/i18n/es.ts +140 -0
  87. package/src/tool/fortifiedWine/i18n/fr.ts +91 -0
  88. package/src/tool/fortifiedWine/i18n/id.ts +91 -0
  89. package/src/tool/fortifiedWine/i18n/it.ts +91 -0
  90. package/src/tool/fortifiedWine/i18n/ja.ts +91 -0
  91. package/src/tool/fortifiedWine/i18n/ko.ts +91 -0
  92. package/src/tool/fortifiedWine/i18n/nl.ts +91 -0
  93. package/src/tool/fortifiedWine/i18n/pl.ts +91 -0
  94. package/src/tool/fortifiedWine/i18n/pt.ts +91 -0
  95. package/src/tool/fortifiedWine/i18n/ru.ts +91 -0
  96. package/src/tool/fortifiedWine/i18n/sv.ts +91 -0
  97. package/src/tool/fortifiedWine/i18n/tr.ts +91 -0
  98. package/src/tool/fortifiedWine/i18n/zh.ts +91 -0
  99. package/src/tool/fortifiedWine/index.ts +8 -0
  100. package/src/tool/fortifiedWine/logic.ts +46 -0
  101. package/src/tool/fortifiedWine/seo.astro +41 -0
  102. package/src/tool/jelloShotLab/bibliography.astro +14 -0
  103. package/src/tool/jelloShotLab/bibliography.ts +8 -0
  104. package/src/tool/jelloShotLab/component.astro +183 -0
  105. package/src/tool/jelloShotLab/entry.ts +62 -0
  106. package/src/tool/jelloShotLab/i18n/de.ts +156 -0
  107. package/src/tool/jelloShotLab/i18n/en.ts +156 -0
  108. package/src/tool/jelloShotLab/i18n/es.ts +156 -0
  109. package/src/tool/jelloShotLab/i18n/fr.ts +156 -0
  110. package/src/tool/jelloShotLab/i18n/id.ts +156 -0
  111. package/src/tool/jelloShotLab/i18n/it.ts +156 -0
  112. package/src/tool/jelloShotLab/i18n/ja.ts +156 -0
  113. package/src/tool/jelloShotLab/i18n/ko.ts +156 -0
  114. package/src/tool/jelloShotLab/i18n/nl.ts +156 -0
  115. package/src/tool/jelloShotLab/i18n/pl.ts +156 -0
  116. package/src/tool/jelloShotLab/i18n/pt.ts +156 -0
  117. package/src/tool/jelloShotLab/i18n/ru.ts +156 -0
  118. package/src/tool/jelloShotLab/i18n/sv.ts +156 -0
  119. package/src/tool/jelloShotLab/i18n/tr.ts +156 -0
  120. package/src/tool/jelloShotLab/i18n/zh.ts +156 -0
  121. package/src/tool/jelloShotLab/index.ts +11 -0
  122. package/src/tool/jelloShotLab/jello-shot-lab.css +229 -0
  123. package/src/tool/jelloShotLab/logic.ts +29 -0
  124. package/src/tool/jelloShotLab/seo.astro +53 -0
  125. package/src/tool/partyKeg/bibliography.ts +6 -0
  126. package/src/tool/partyKeg/entry.ts +1 -0
  127. package/src/tool/partyKeg/i18n/de.ts +1 -12
  128. package/src/tool/partyKeg/i18n/en.ts +1 -12
  129. package/src/tool/partyKeg/i18n/es.ts +1 -12
  130. package/src/tool/partyKeg/i18n/fr.ts +1 -12
  131. package/src/tool/partyKeg/i18n/id.ts +1 -12
  132. package/src/tool/partyKeg/i18n/it.ts +1 -12
  133. package/src/tool/partyKeg/i18n/ja.ts +1 -12
  134. package/src/tool/partyKeg/i18n/ko.ts +1 -12
  135. package/src/tool/partyKeg/i18n/nl.ts +1 -12
  136. package/src/tool/partyKeg/i18n/pl.ts +1 -12
  137. package/src/tool/partyKeg/i18n/pt.ts +1 -12
  138. package/src/tool/partyKeg/i18n/ru.ts +1 -12
  139. package/src/tool/partyKeg/i18n/sv.ts +1 -12
  140. package/src/tool/partyKeg/i18n/tr.ts +1 -12
  141. package/src/tool/partyKeg/i18n/zh.ts +1 -12
  142. package/src/tool/partyKeg/party-stock-calculator.css +23 -23
  143. package/src/tools.ts +5 -0
  144. package/src/types.ts +1 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jjlmoya/utils-alcohol",
3
- "version": "1.24.0",
3
+ "version": "1.26.0",
4
4
  "type": "module",
5
5
  "main": "./src/index.ts",
6
6
  "types": "./src/index.ts",
package/src/entries.ts CHANGED
@@ -8,10 +8,16 @@ export { cocktailBalancer } from './tool/cocktailBalancer/entry';
8
8
  export type { CocktailBalancerUI, CocktailBalancerLocaleContent } from './tool/cocktailBalancer/entry';
9
9
  export { partyKeg } from './tool/partyKeg/entry';
10
10
  export type { PartyKegUI, PartyKegLocaleContent } from './tool/partyKeg/entry';
11
+ export { jelloShotLab } from './tool/jelloShotLab/entry';
12
+ export type { JelloShotLabUI, JelloShotLabLocaleContent } from './tool/jelloShotLab/entry';
13
+ export { fortifiedWine } from './tool/fortifiedWine/entry';
14
+ export type { FortifiedWineBuilderUI, FortifiedWineBuilderLocaleContent } from './tool/fortifiedWine/entry';
11
15
  export { alcoholCategory, toolsCategory } from './category';
12
16
  import { alcoholClearance } from './tool/alcoholClearance/entry';
13
17
  import { beerCooler } from './tool/beerCooler/entry';
14
18
  import { carbonationCalculator } from './tool/carbonationCalculator/entry';
15
19
  import { cocktailBalancer } from './tool/cocktailBalancer/entry';
16
20
  import { partyKeg } from './tool/partyKeg/entry';
17
- export const ALL_ENTRIES = [alcoholClearance, beerCooler, carbonationCalculator, cocktailBalancer, partyKeg];
21
+ import { jelloShotLab } from './tool/jelloShotLab/entry';
22
+ import { fortifiedWine } from './tool/fortifiedWine/entry';
23
+ export const ALL_ENTRIES = [alcoholClearance, beerCooler, carbonationCalculator, cocktailBalancer, partyKeg, jelloShotLab, fortifiedWine];
package/src/index.ts CHANGED
@@ -3,6 +3,7 @@ export * from './tool/beerCooler';
3
3
  export * from './tool/carbonationCalculator';
4
4
  export * from './tool/cocktailBalancer';
5
5
  export * from './tool/partyKeg';
6
+ export * from './tool/fortifiedWine';
6
7
 
7
8
  export { alcoholCategory } from './category';
8
9
  export const AlcoholCategorySEO = () => import('./category/seo.astro').then((m) => m.default);
@@ -45,7 +45,7 @@ export async function getStaticPaths() {
45
45
  );
46
46
  paths.push({
47
47
  params: { locale, slug: content.slug },
48
- props: { Component, locale, content, localeUrls, allToolsNav },
48
+ props: { Component, locale, content, localeUrls, allToolsNav, toolId: entry.id },
49
49
  });
50
50
  }
51
51
  }
@@ -66,9 +66,14 @@ interface Props {
66
66
  content: ToolLocaleContent;
67
67
  localeUrls: Partial<Record<KnownLocale, string>>;
68
68
  allToolsNav: NavItem[];
69
+ toolId: string;
69
70
  }
70
71
 
71
- const { Component, locale, content, localeUrls, allToolsNav } = Astro.props;
72
+ const { Component, locale, content, localeUrls, allToolsNav, toolId } = Astro.props;
73
+
74
+ const toolCssModules = import.meta.glob('../../tool/*/*.css');
75
+ const cssKey = Object.keys(toolCssModules).find(k => k.endsWith(`/${toolId}.css`));
76
+ if (cssKey) await toolCssModules[cssKey]();
72
77
 
73
78
  const seoContent: UtilitySEOContent = { locale, sections: content.seo };
74
79
 
@@ -125,7 +130,6 @@ const titleBase = words.slice(1).join(" ") || "";
125
130
 
126
131
  <section class="section-bibliography">
127
132
  <Bibliography
128
- title={content.bibliographyTitle}
129
133
  links={content.bibliography}
130
134
  />
131
135
  </section>
@@ -19,24 +19,19 @@ describe('Locale Completeness Validation', () => {
19
19
  }
20
20
  });
21
21
 
22
- it('bibliographyTitle should be defined when bibliography items exist', async () => {
22
+ it('bibliography should be a non-empty array when defined', async () => {
23
23
  const loader = tool.entry.i18n[locale as keyof typeof tool.entry.i18n];
24
24
  const content = (await loader?.()) as ToolLocaleContent;
25
25
 
26
- if (content.bibliography.length > 0) {
27
- expect(
28
- content.bibliographyTitle,
29
- `Tool "${tool.entry.id}" locale "${locale}" has ${content.bibliography.length} bibliography items but is missing bibliographyTitle`,
30
- ).toBeTruthy();
31
- }
26
+ expect(Array.isArray(content.bibliography)).toBe(true);
32
27
  });
33
28
  });
34
29
  });
35
30
  });
36
31
  });
37
32
 
38
- it('all 5 tools registered', () => {
39
- expect(ALL_TOOLS.length).toBe(5);
33
+ it('all 7 tools registered', () => {
34
+ expect(ALL_TOOLS.length).toBe(7);
40
35
  });
41
36
  });
42
37
 
@@ -3,8 +3,8 @@ import { ALL_TOOLS } from '../tools';
3
3
 
4
4
  describe('Tool Validation Suite', () => {
5
5
  describe('Library Registration', () => {
6
- it('should have 5 tools in ALL_TOOLS', () => {
7
- expect(ALL_TOOLS.length).toBe(5);
6
+ it('should have 7 tools in ALL_TOOLS', () => {
7
+ expect(ALL_TOOLS.length).toBe(7);
8
8
  });
9
9
 
10
10
  it('all tools should have defined i18n', () => {
@@ -13,7 +13,7 @@
13
13
  box-shadow: 0 4px 20px rgba(0,0,0,0.06);
14
14
  color: #1e293b;
15
15
  }
16
- :global(.theme-dark) .alc-card {
16
+ .theme-dark .alc-card {
17
17
  background: #0f172a;
18
18
  border-color: #1e293b;
19
19
  color: #f1f5f9;
@@ -34,13 +34,13 @@
34
34
  }
35
35
 
36
36
  @media (min-width: 768px) { .alc-inputs-panel { border-right: 1px solid #e2e8f0; } }
37
- :global(.theme-dark) .alc-inputs-panel { border-color: #1e293b; }
37
+ .theme-dark .alc-inputs-panel { border-color: #1e293b; }
38
38
 
39
39
  .alc-sec {
40
40
  padding: 1.25rem 1.5rem;
41
41
  border-bottom: 1px solid #e2e8f0;
42
42
  }
43
- :global(.theme-dark) .alc-sec { border-color: #1e293b; }
43
+ .theme-dark .alc-sec { border-color: #1e293b; }
44
44
  .alc-sec:last-child { border-bottom: none; }
45
45
 
46
46
  .alc-sex-weight {
@@ -76,7 +76,7 @@
76
76
  background: #f1f5f9;
77
77
  border-radius: 0.75rem;
78
78
  }
79
- :global(.theme-dark) .sex-toggle { background: #1e293b; }
79
+ .theme-dark .sex-toggle { background: #1e293b; }
80
80
 
81
81
  .sex-btn {
82
82
  flex: 1;
@@ -97,7 +97,7 @@
97
97
  color: #4f46e5;
98
98
  box-shadow: 0 1px 3px rgba(0,0,0,0.1);
99
99
  }
100
- :global(.theme-dark) .sex-btn.selected {
100
+ .theme-dark .sex-btn.selected {
101
101
  background: #334155;
102
102
  color: #818cf8;
103
103
  }
@@ -119,7 +119,7 @@
119
119
  transition: border-color 0.2s;
120
120
  box-sizing: border-box;
121
121
  }
122
- :global(.theme-dark) .weight-input {
122
+ .theme-dark .weight-input {
123
123
  background: rgba(0,0,0,0.2);
124
124
  border-color: #334155;
125
125
  color: #f1f5f9;
@@ -155,7 +155,7 @@
155
155
  color: #475569;
156
156
  transition: all 0.15s;
157
157
  }
158
- :global(.theme-dark) .drink-add-btn {
158
+ .theme-dark .drink-add-btn {
159
159
  background: #1e293b;
160
160
  color: #94a3b8;
161
161
  }
@@ -200,7 +200,7 @@
200
200
  align-items: center;
201
201
  gap: 0.75rem;
202
202
  }
203
- :global(.theme-dark) .list-empty { color: #334155; }
203
+ .theme-dark .list-empty { color: #334155; }
204
204
  .list-empty-icon {
205
205
  width: 2.5rem;
206
206
  height: 2.5rem;
@@ -218,7 +218,7 @@
218
218
  border-radius: 10px;
219
219
  }
220
220
 
221
- :global(.drink-list-row) {
221
+ .drink-list-row {
222
222
  display: flex;
223
223
  align-items: center;
224
224
  justify-content: space-between;
@@ -227,26 +227,26 @@
227
227
  border-radius: 0.75rem;
228
228
  border: 1px solid #e2e8f0;
229
229
  }
230
- :global(.theme-dark) :global(.drink-list-row) {
230
+ .theme-dark .drink-list-row {
231
231
  background: #1e293b;
232
232
  border-color: #334155;
233
233
  }
234
234
 
235
- :global(.drink-row-info) {
235
+ .drink-row-info {
236
236
  display: flex;
237
237
  align-items: center;
238
238
  gap: 0.75rem;
239
239
  }
240
240
 
241
- :global(.drink-row-name) {
241
+ .drink-row-name {
242
242
  font-weight: 700;
243
243
  color: #334155;
244
244
  }
245
- :global(.theme-dark) :global(.drink-row-name) {
245
+ .theme-dark .drink-row-name {
246
246
  color: #e2e8f0;
247
247
  }
248
248
 
249
- :global(.drink-row-qty) {
249
+ .drink-row-qty {
250
250
  font-size: 0.75rem;
251
251
  background: #e0e7ff;
252
252
  color: #4f46e5;
@@ -254,12 +254,12 @@
254
254
  border-radius: 0.25rem;
255
255
  font-weight: 700;
256
256
  }
257
- :global(.theme-dark) :global(.drink-row-qty) {
257
+ .theme-dark .drink-row-qty {
258
258
  background: #312e81;
259
259
  color: #a5b4fc;
260
260
  }
261
261
 
262
- :global(.drink-row-del) {
262
+ .drink-row-del {
263
263
  display: flex;
264
264
  align-items: center;
265
265
  justify-content: center;
@@ -272,11 +272,11 @@
272
272
  cursor: pointer;
273
273
  transition: background 0.2s;
274
274
  }
275
- :global(.drink-row-del:hover) {
275
+ .drink-row-del:hover {
276
276
  background: #fef2f2;
277
277
  border-radius: 0.5rem;
278
278
  }
279
- :global(.theme-dark) :global(.drink-row-del:hover) {
279
+ .theme-dark .drink-row-del:hover {
280
280
  background: rgba(239,68,68,0.1);
281
281
  }
282
282
 
@@ -285,7 +285,7 @@
285
285
  flex-direction: column;
286
286
  background: #f8fafc;
287
287
  }
288
- :global(.theme-dark) .alc-results-panel { background: rgba(0,0,0,0.2); }
288
+ .theme-dark .alc-results-panel { background: rgba(0,0,0,0.2); }
289
289
 
290
290
  .bac-section {
291
291
  background: #4f46e5;
@@ -295,7 +295,7 @@
295
295
  overflow: hidden;
296
296
  flex-shrink: 0;
297
297
  }
298
- :global(.theme-dark) .bac-section { background: #4338ca; }
298
+ .theme-dark .bac-section { background: #4338ca; }
299
299
  .bac-bg-icon {
300
300
  position: absolute;
301
301
  top: 0;
@@ -382,12 +382,12 @@
382
382
  background: #dbeafe;
383
383
  color: #3b82f6;
384
384
  }
385
- :global(.theme-dark) .advice-icon-blue { background: rgba(59,130,246,0.2); }
385
+ .theme-dark .advice-icon-blue { background: rgba(59,130,246,0.2); }
386
386
  .advice-icon-amber {
387
387
  background: #fef3c7;
388
388
  color: #f59e0b;
389
389
  }
390
- :global(.theme-dark) .advice-icon-amber { background: rgba(245,158,11,0.2); }
390
+ .theme-dark .advice-icon-amber { background: rgba(245,158,11,0.2); }
391
391
  .advice-icon-svg {
392
392
  width: 1.25rem;
393
393
  height: 1.25rem;
@@ -418,7 +418,7 @@
418
418
  line-height: 1.6;
419
419
  border: 1px solid #fde68a;
420
420
  }
421
- :global(.theme-dark) .disclaimer {
421
+ .theme-dark .disclaimer {
422
422
  background: rgba(120,53,15,0.2);
423
423
  border-color: rgba(120,53,15,0.5);
424
424
  color: #f59e0b;
@@ -0,0 +1,6 @@
1
+ import type { BibliographyEntry } from '../../types';
2
+
3
+ export const bibliography: BibliographyEntry[] = [
4
+ { name: 'Alcohol calculations and their uncertainty - PMC', url: 'https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/' },
5
+ { name: 'Alcohol Metabolism: How the body processes alcohol - NIH', url: 'https://www.niaaa.nih.gov/publications/alcohol-metabolism' },
6
+ ];
@@ -1,4 +1,5 @@
1
1
  import type { AlcoholToolEntry, ToolLocaleContent } from '../../types';
2
+ export { bibliography } from './bibliography';
2
3
 
3
4
  export interface AlcoholClearanceUI {
4
5
  [key: string]: string;
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Häufig gestellte Fragen';
34
- const bibliographyTitle = 'Literaturverzeichnis & Quellen';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Alkoholberechnungen und ihre Unsicherheit - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Alkoholstoffwechsel: Wie der Körper Alkohol verarbeitet - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Frequently Asked Questions';
34
- const bibliographyTitle = 'Bibliography & Sources';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Alcohol calculations and their uncertainty - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Alcohol Metabolism: How the body processes alcohol - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Preguntas Frecuentes';
34
- const bibliographyTitle = 'Bibliografía y Fuentes';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -75,16 +75,6 @@ const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
75
  },
76
76
  ];
77
77
 
78
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
79
- {
80
- name: "Alcohol calculations and their uncertainty - PMC",
81
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
82
- },
83
- {
84
- name: "Alcohol Metabolism: How the body processes alcohol - NIH",
85
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
86
- },
87
- ];
88
78
 
89
79
  const seo: AlcoholClearanceLocaleContent['seo'] = [
90
80
  {
@@ -207,7 +197,6 @@ export const content: AlcoholClearanceLocaleContent = {
207
197
  seo,
208
198
  faqTitle,
209
199
  faq,
210
- bibliographyTitle,
211
200
  bibliography,
212
201
  howTo,
213
202
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Foire Aux Questions';
34
- const bibliographyTitle = 'Bibliographie & Sources';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Alcohol calculations and their uncertainty - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Alcohol Metabolism: How the body processes alcohol - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -189,7 +179,6 @@ export const content: AlcoholClearanceLocaleContent = {
189
179
  seo,
190
180
  faqTitle,
191
181
  faq,
192
- bibliographyTitle,
193
182
  bibliography,
194
183
  howTo,
195
184
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Pertanyaan yang Sering Diajukan';
34
- const bibliographyTitle = 'Bibliografi & Sumber';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Perhitungan alkohol dan ketidakpastiannya - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Metabolisme Alkohol: Bagaimana tubuh memproses alkohol - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Domande frequenti';
34
- const bibliographyTitle = 'Bibliografia e fonti';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: 'Calcoli di alcol e loro incertezza - PMC',
66
- url: 'https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/',
67
- },
68
- {
69
- name: 'Metabolismo dell\'alcol: Come il corpo elabora l\'alcol - NIH',
70
- url: 'https://www.niaaa.nih.gov/publications/alcohol-metabolism',
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -173,7 +163,6 @@ export const content: AlcoholClearanceLocaleContent = {
173
163
  seo,
174
164
  faqTitle,
175
165
  faq,
176
- bibliographyTitle,
177
166
  bibliography,
178
167
  howTo,
179
168
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'よくある質問';
34
- const bibliographyTitle = '参考文献・情報源';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: 'アルコール計算とその不確実性 - PMC',
66
- url: 'https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/',
67
- },
68
- {
69
- name: 'アルコール代謝:体がアルコールを処理する方法 - NIH',
70
- url: 'https://www.niaaa.nih.gov/publications/alcohol-metabolism',
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = '자주 묻는 질문';
34
- const bibliographyTitle = '참고 자료 및 출처';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "알콜 계산 및 불확실성 - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "알콜 신진대사: 신체가 알콜을 처리하는 방식 - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Veelgestelde vragen';
34
- const bibliographyTitle = 'Bibliografie en bronnen';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Alcoholberekeningen en hun onzekerheid - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Alcoholstofwisseling: Hoe het lichaam alcohol verwerkt - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,
@@ -1,3 +1,4 @@
1
+ import { bibliography } from '../bibliography';
1
2
  import type { WithContext, SoftwareApplication, FAQPage, HowTo } from 'schema-dts';
2
3
  import type { AlcoholClearanceUI, AlcoholClearanceLocaleContent } from '../index';
3
4
 
@@ -31,7 +32,6 @@ const ui: AlcoholClearanceUI = {
31
32
  };
32
33
 
33
34
  const faqTitle = 'Często Zadawane Pytania';
34
- const bibliographyTitle = 'Bibliografia i Źródła';
35
35
 
36
36
  const faq: AlcoholClearanceLocaleContent['faq'] = [
37
37
  {
@@ -60,16 +60,6 @@ const faq: AlcoholClearanceLocaleContent['faq'] = [
60
60
  },
61
61
  ];
62
62
 
63
- const bibliography: AlcoholClearanceLocaleContent['bibliography'] = [
64
- {
65
- name: "Alcohol calculations and their uncertainty - PMC",
66
- url: "https://pmc.ncbi.nlm.nih.gov/articles/PMC4361698/",
67
- },
68
- {
69
- name: "Alcohol Metabolism: How the body processes alcohol - NIH",
70
- url: "https://www.niaaa.nih.gov/publications/alcohol-metabolism",
71
- },
72
- ];
73
63
 
74
64
  const howTo: AlcoholClearanceLocaleContent['howTo'] = [
75
65
  {
@@ -198,7 +188,6 @@ export const content: AlcoholClearanceLocaleContent = {
198
188
  seo,
199
189
  faqTitle,
200
190
  faq,
201
- bibliographyTitle,
202
191
  bibliography,
203
192
  howTo,
204
193
  schemas,