@syllst/th 0.1.1 → 0.1.2

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 (209) hide show
  1. package/dist/index-B029m98V.js +46 -0
  2. package/dist/index-B029m98V.js.map +1 -0
  3. package/dist/index-BCA5Llwg.js +52 -0
  4. package/dist/index-BCA5Llwg.js.map +1 -0
  5. package/dist/index-BFcg5D_W.js +56 -0
  6. package/dist/index-BFcg5D_W.js.map +1 -0
  7. package/dist/index-CB8M6CK6.js +52 -0
  8. package/dist/index-CB8M6CK6.js.map +1 -0
  9. package/dist/index-CTQ45BVw.js +48 -0
  10. package/dist/index-CTQ45BVw.js.map +1 -0
  11. package/dist/index-CoqP9GZL.js +52 -0
  12. package/dist/index-CoqP9GZL.js.map +1 -0
  13. package/dist/index-DADMaTE7.js +27 -0
  14. package/dist/index-DADMaTE7.js.map +1 -0
  15. package/dist/index-Dy38Hmlm.js +52 -0
  16. package/dist/index-Dy38Hmlm.js.map +1 -0
  17. package/dist/index-of_athp-.js +82 -0
  18. package/dist/index-of_athp-.js.map +1 -0
  19. package/dist/index-vuRo2mLK.js +50 -0
  20. package/dist/index-vuRo2mLK.js.map +1 -0
  21. package/dist/index.d.ts +15 -45
  22. package/dist/index.js +62 -66
  23. package/dist/index.js.map +1 -1
  24. package/dist/lesson-01--9NOyHZ6.js +106 -0
  25. package/dist/lesson-01--9NOyHZ6.js.map +1 -0
  26. package/dist/lesson-01-3hBted4A.js +147 -0
  27. package/dist/lesson-01-3hBted4A.js.map +1 -0
  28. package/dist/lesson-01-97FtYE6g.js +130 -0
  29. package/dist/lesson-01-97FtYE6g.js.map +1 -0
  30. package/dist/lesson-01-BNdHXAGR.js +103 -0
  31. package/dist/lesson-01-BNdHXAGR.js.map +1 -0
  32. package/dist/lesson-01-BYKAZiua.js +130 -0
  33. package/dist/lesson-01-BYKAZiua.js.map +1 -0
  34. package/dist/lesson-01-BhjY6ArF.js +147 -0
  35. package/dist/lesson-01-BhjY6ArF.js.map +1 -0
  36. package/dist/lesson-01-CF4tJfZ3.js +120 -0
  37. package/dist/lesson-01-CF4tJfZ3.js.map +1 -0
  38. package/dist/lesson-01-CRx-yw4C.js +145 -0
  39. package/dist/lesson-01-CRx-yw4C.js.map +1 -0
  40. package/dist/lesson-01-WV3ic8Ok.js +91 -0
  41. package/dist/lesson-01-WV3ic8Ok.js.map +1 -0
  42. package/dist/lesson-02-B2Xg7RVU.js +214 -0
  43. package/dist/lesson-02-B2Xg7RVU.js.map +1 -0
  44. package/dist/lesson-02-BAbq-QGP.js +191 -0
  45. package/dist/lesson-02-BAbq-QGP.js.map +1 -0
  46. package/dist/lesson-02-BGnp0Ik_.js +168 -0
  47. package/dist/lesson-02-BGnp0Ik_.js.map +1 -0
  48. package/dist/lesson-02-BO3BXPMJ.js +139 -0
  49. package/dist/lesson-02-BO3BXPMJ.js.map +1 -0
  50. package/dist/lesson-02-Bm9EJuN8.js +191 -0
  51. package/dist/lesson-02-Bm9EJuN8.js.map +1 -0
  52. package/dist/lesson-02-C0ZL4z3c.js +110 -0
  53. package/dist/lesson-02-C0ZL4z3c.js.map +1 -0
  54. package/dist/lesson-02-C2ALLvoT.js +161 -0
  55. package/dist/lesson-02-C2ALLvoT.js.map +1 -0
  56. package/dist/lesson-02-C8dfzXvq.js +112 -0
  57. package/dist/lesson-02-C8dfzXvq.js.map +1 -0
  58. package/dist/lesson-02-CsejVbCo.js +196 -0
  59. package/dist/lesson-02-CsejVbCo.js.map +1 -0
  60. package/dist/lesson-03-8NtAeqFh.js +132 -0
  61. package/dist/lesson-03-8NtAeqFh.js.map +1 -0
  62. package/dist/lesson-03-BdZfKRhq.js +163 -0
  63. package/dist/lesson-03-BdZfKRhq.js.map +1 -0
  64. package/dist/lesson-03-CKTNtgY1.js +229 -0
  65. package/dist/lesson-03-CKTNtgY1.js.map +1 -0
  66. package/dist/lesson-03-D8va_Q9B.js +173 -0
  67. package/dist/lesson-03-D8va_Q9B.js.map +1 -0
  68. package/dist/lesson-03-DV2SUWVH.js +184 -0
  69. package/dist/lesson-03-DV2SUWVH.js.map +1 -0
  70. package/dist/lesson-03-DiV17_Os.js +116 -0
  71. package/dist/lesson-03-DiV17_Os.js.map +1 -0
  72. package/dist/lesson-03-DrJgbfDQ.js +217 -0
  73. package/dist/lesson-03-DrJgbfDQ.js.map +1 -0
  74. package/dist/lesson-03-XVahXvgf.js +145 -0
  75. package/dist/lesson-03-XVahXvgf.js.map +1 -0
  76. package/dist/lesson-03-Xc8-2Yt3.js +175 -0
  77. package/dist/lesson-03-Xc8-2Yt3.js.map +1 -0
  78. package/dist/lesson-04-BpRrNmzO.js +135 -0
  79. package/dist/lesson-04-BpRrNmzO.js.map +1 -0
  80. package/dist/lesson-04-CtNr2B3E.js +206 -0
  81. package/dist/lesson-04-CtNr2B3E.js.map +1 -0
  82. package/dist/lesson-04-DEEPJ_rd.js +207 -0
  83. package/dist/lesson-04-DEEPJ_rd.js.map +1 -0
  84. package/dist/lesson-04-D__vMCyA.js +164 -0
  85. package/dist/lesson-04-D__vMCyA.js.map +1 -0
  86. package/dist/lesson-04-Dfc7S4nT.js +225 -0
  87. package/dist/lesson-04-Dfc7S4nT.js.map +1 -0
  88. package/dist/lesson-04-DtXVhdGB.js +170 -0
  89. package/dist/lesson-04-DtXVhdGB.js.map +1 -0
  90. package/dist/lesson-04-ZrSBM0BX.js +184 -0
  91. package/dist/lesson-04-ZrSBM0BX.js.map +1 -0
  92. package/dist/lesson-04-ioLXnB0j.js +175 -0
  93. package/dist/lesson-04-ioLXnB0j.js.map +1 -0
  94. package/dist/lesson-04-rapx_3vA.js +222 -0
  95. package/dist/lesson-04-rapx_3vA.js.map +1 -0
  96. package/dist/lesson-05-Bm6fg-DJ.js +236 -0
  97. package/dist/lesson-05-Bm6fg-DJ.js.map +1 -0
  98. package/dist/lesson-05-CKxXcooO.js +191 -0
  99. package/dist/lesson-05-CKxXcooO.js.map +1 -0
  100. package/dist/lesson-05-D1d3kc3M.js +137 -0
  101. package/dist/lesson-05-D1d3kc3M.js.map +1 -0
  102. package/dist/lesson-05-D2SVU-I0.js +236 -0
  103. package/dist/lesson-05-D2SVU-I0.js.map +1 -0
  104. package/dist/lesson-05-DBsHyFlt.js +181 -0
  105. package/dist/lesson-05-DBsHyFlt.js.map +1 -0
  106. package/dist/lesson-05-DXOLS7G0.js +172 -0
  107. package/dist/lesson-05-DXOLS7G0.js.map +1 -0
  108. package/dist/lesson-05-D_GdROUn.js +175 -0
  109. package/dist/lesson-05-D_GdROUn.js.map +1 -0
  110. package/dist/lesson-05-DusKUtbm.js +208 -0
  111. package/dist/lesson-05-DusKUtbm.js.map +1 -0
  112. package/dist/lesson-05-ip400cxe.js +194 -0
  113. package/dist/lesson-05-ip400cxe.js.map +1 -0
  114. package/dist/lesson-06-1CE05TRX.js +196 -0
  115. package/dist/lesson-06-1CE05TRX.js.map +1 -0
  116. package/dist/lesson-06-1ZsbrE1a.js +230 -0
  117. package/dist/lesson-06-1ZsbrE1a.js.map +1 -0
  118. package/dist/lesson-06-Aw-X-HMV.js +222 -0
  119. package/dist/lesson-06-Aw-X-HMV.js.map +1 -0
  120. package/dist/lesson-06-BG26PBTF.js +135 -0
  121. package/dist/lesson-06-BG26PBTF.js.map +1 -0
  122. package/dist/lesson-06-Bliedg7n.js +265 -0
  123. package/dist/lesson-06-Bliedg7n.js.map +1 -0
  124. package/dist/lesson-06-CnKkcUb-.js +164 -0
  125. package/dist/lesson-06-CnKkcUb-.js.map +1 -0
  126. package/dist/lesson-06-CvN9pDsE.js +182 -0
  127. package/dist/lesson-06-CvN9pDsE.js.map +1 -0
  128. package/dist/lesson-06-Du9J8sYl.js +192 -0
  129. package/dist/lesson-06-Du9J8sYl.js.map +1 -0
  130. package/dist/lesson-07-8zdPFyjE.js +189 -0
  131. package/dist/lesson-07-8zdPFyjE.js.map +1 -0
  132. package/dist/lesson-07-B9bkJ3gP.js +136 -0
  133. package/dist/lesson-07-B9bkJ3gP.js.map +1 -0
  134. package/dist/lesson-07-CTFSd9gF.js +200 -0
  135. package/dist/lesson-07-CTFSd9gF.js.map +1 -0
  136. package/dist/lesson-07-DezS1ojS.js +224 -0
  137. package/dist/lesson-07-DezS1ojS.js.map +1 -0
  138. package/dist/lesson-07-DjCMCYkK.js +186 -0
  139. package/dist/lesson-07-DjCMCYkK.js.map +1 -0
  140. package/dist/lesson-07-X6anzbAn.js +240 -0
  141. package/dist/lesson-07-X6anzbAn.js.map +1 -0
  142. package/dist/lesson-07-rvSSQiVh.js +222 -0
  143. package/dist/lesson-07-rvSSQiVh.js.map +1 -0
  144. package/dist/lesson-08-BYfkPBkH.js +279 -0
  145. package/dist/lesson-08-BYfkPBkH.js.map +1 -0
  146. package/dist/lesson-08-Bb_v_gD-.js +140 -0
  147. package/dist/lesson-08-Bb_v_gD-.js.map +1 -0
  148. package/dist/lesson-08-BqW5C_OE.js +265 -0
  149. package/dist/lesson-08-BqW5C_OE.js.map +1 -0
  150. package/dist/lesson-08-CeDWopKc.js +215 -0
  151. package/dist/lesson-08-CeDWopKc.js.map +1 -0
  152. package/dist/lesson-08-Cyzy_VeP.js +214 -0
  153. package/dist/lesson-08-Cyzy_VeP.js.map +1 -0
  154. package/dist/lesson-08-hJlci9W5.js +197 -0
  155. package/dist/lesson-08-hJlci9W5.js.map +1 -0
  156. package/dist/lesson-09-BQ1CZCjT.js +137 -0
  157. package/dist/lesson-09-BQ1CZCjT.js.map +1 -0
  158. package/dist/lesson-09-DHRHZIc1.js +209 -0
  159. package/dist/lesson-09-DHRHZIc1.js.map +1 -0
  160. package/dist/lesson-10-BdfkVT7s.js +221 -0
  161. package/dist/lesson-10-BdfkVT7s.js.map +1 -0
  162. package/dist/lesson-10-C7YEQ8et.js +150 -0
  163. package/dist/lesson-10-C7YEQ8et.js.map +1 -0
  164. package/dist/lesson-11-oJQ8ZxJk.js +248 -0
  165. package/dist/lesson-11-oJQ8ZxJk.js.map +1 -0
  166. package/dist/lesson-12-D69m5ETy.js +265 -0
  167. package/dist/lesson-12-D69m5ETy.js.map +1 -0
  168. package/dist/syllabi/alphabet/index.d.ts +3 -6
  169. package/dist/syllabi/alphabet/index.js +8 -37
  170. package/dist/syllabi/alphabet/index.js.map +1 -1
  171. package/dist/syllabi/dialogue/index.d.ts +3 -6
  172. package/dist/syllabi/dialogue/index.js +9 -33
  173. package/dist/syllabi/dialogue/index.js.map +1 -1
  174. package/dist/syllabi/essentials/index.d.ts +3 -6
  175. package/dist/syllabi/essentials/index.js +9 -31
  176. package/dist/syllabi/essentials/index.js.map +1 -1
  177. package/dist/syllabi/food/index.d.ts +3 -6
  178. package/dist/syllabi/food/index.js +9 -33
  179. package/dist/syllabi/food/index.js.map +1 -1
  180. package/dist/syllabi/grammar/index.d.ts +3 -6
  181. package/dist/syllabi/grammar/index.js +9 -33
  182. package/dist/syllabi/grammar/index.js.map +1 -1
  183. package/dist/syllabi/numbers/index.d.ts +3 -6
  184. package/dist/syllabi/numbers/index.js +9 -30
  185. package/dist/syllabi/numbers/index.js.map +1 -1
  186. package/dist/syllabi/reading/index.d.ts +3 -6
  187. package/dist/syllabi/reading/index.js +9 -35
  188. package/dist/syllabi/reading/index.js.map +1 -1
  189. package/dist/syllabi/travel/index.d.ts +3 -6
  190. package/dist/syllabi/travel/index.js +9 -32
  191. package/dist/syllabi/travel/index.js.map +1 -1
  192. package/dist/syllabi/vowels-tones/index.d.ts +3 -6
  193. package/dist/syllabi/vowels-tones/index.js +9 -33
  194. package/dist/syllabi/vowels-tones/index.js.map +1 -1
  195. package/package.json +16 -9
  196. package/dist/index.d.ts.map +0 -1
  197. package/dist/shared.d.ts +0 -70
  198. package/dist/shared.d.ts.map +0 -1
  199. package/dist/shared.js +0 -33
  200. package/dist/shared.js.map +0 -1
  201. package/dist/syllabi/alphabet/index.d.ts.map +0 -1
  202. package/dist/syllabi/dialogue/index.d.ts.map +0 -1
  203. package/dist/syllabi/essentials/index.d.ts.map +0 -1
  204. package/dist/syllabi/food/index.d.ts.map +0 -1
  205. package/dist/syllabi/grammar/index.d.ts.map +0 -1
  206. package/dist/syllabi/numbers/index.d.ts.map +0 -1
  207. package/dist/syllabi/reading/index.d.ts.map +0 -1
  208. package/dist/syllabi/travel/index.d.ts.map +0 -1
  209. package/dist/syllabi/vowels-tones/index.d.ts.map +0 -1
@@ -0,0 +1,248 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-script-lesson-11
4
+ title: "บทที่ 11 — วรรณยุกต์"
5
+ description: "Tone Marks: ◌่ ◌้ ◌๊ ◌๋ — The four marks that modify Thai tones"
6
+ order: 11
7
+ parentId: thai-script-alphabet
8
+ difficulty: advanced
9
+ cefrLevel: B1
10
+ categories:
11
+ - tone-marks
12
+ - tone-rules
13
+ - pronunciation
14
+ - advanced-characters
15
+ metadata:
16
+ estimatedTime: 35
17
+ prerequisites:
18
+ - thai-script-lesson-10
19
+ objectives:
20
+ - "Learn the four Thai tone marks"
21
+ - "Understand how tone marks interact with consonant class"
22
+ - "Master the complete tone rule system"
23
+ - "Practice reading with all five tones"
24
+ ---
25
+
26
+ # บทที่ 11 (Lesson 11) — Tone Marks
27
+
28
+ ## Introduction
29
+
30
+ Thai has **five tones** but only **four tone marks**. The fifth tone (mid) is the default when no mark is present. Tone marks combine with consonant class to determine the final tone — this is the most complex part of Thai phonology.
31
+
32
+ ## The Five Thai Tones
33
+
34
+ | Tone | Thai Name | Symbol | Description | Example |
35
+ |------|-----------|--------|-------------|---------|
36
+ | Mid | เสียงสามัญ | — | Level, neutral | มา (maa) |
37
+ | Low | เสียงเอก | \\ | Low and level | ม่า (màa) |
38
+ | Falling | เสียงโท | \\\\ | High-to-low drop | ม้า (máa) horse |
39
+ | High | เสียงตรี | / | High and level | ม๊า (maa+) |
40
+ | Rising | เสียงจัตวา | // | Low-to-high rise | หมา (mǎa) dog |
41
+
42
+ **Note**: The symbols (—, \\, \\\\, /, //) are tone contour representations, not Thai script.
43
+
44
+ ## Characters
45
+
46
+ :::character-set{id="thai-tone-marks" title="Tone Marks"}
47
+
48
+ ::character{id="th-mai-ek" char="่" name="ไม้เอก (mái èek)" nativeName="ไม้เอก" transliteration="tone1" charType="tone"}
49
+
50
+ ::character{id="th-mai-tho" char="้" name="ไม้โท (mái thoo)" nativeName="ไม้โท" transliteration="tone2" charType="tone"}
51
+
52
+ ::character{id="th-mai-tri" char="๊" name="ไม้ตรี (mái dtrii)" nativeName="ไม้ตรี" transliteration="tone3" charType="tone"}
53
+
54
+ ::character{id="th-mai-chattawa" char="๋" name="ไม้จัตวา (mái jàt-dtà-waa)" nativeName="ไม้จัตวา" transliteration="tone4" charType="tone"}
55
+
56
+ :::
57
+
58
+ ## The Tone Rules Matrix
59
+
60
+ Here's the key insight: **the same tone mark produces different tones depending on consonant class**.
61
+
62
+ ### Live Syllables (Open or ending in m, n, ng, w, y)
63
+
64
+ | Mark | Middle Class | High Class | Low Class |
65
+ |------|--------------|------------|-----------|
66
+ | None | Mid | Rising | Mid |
67
+ | ◌่ (mái èek) | Low | Low | Falling |
68
+ | ◌้ (mái thoo) | Falling | Falling | High |
69
+ | ◌๊ (mái dtrii) | High | (not used) | (not used) |
70
+ | ◌๋ (mái jàt-dtà-waa) | Rising | (not used) | (not used) |
71
+
72
+ ### Dead Syllables (Ending in p, t, k or short vowel + stop)
73
+
74
+ Dead syllables have more limited options:
75
+
76
+ | Mark | Middle Class | High Class | Low Class |
77
+ |------|--------------|------------|-----------|
78
+ | None (short) | Low | Low | High |
79
+ | None (long) | Low | Low | Falling |
80
+ | ◌่ | — | — | — |
81
+ | ◌้ | — | — | — |
82
+
83
+ **Key**: Dead syllables usually don't take tone marks; their tone is determined by vowel length and class.
84
+
85
+ ## Understanding Each Tone Mark
86
+
87
+ ### ◌่ Mái Èek (First Mark)
88
+
89
+ The most common tone mark. Effects:
90
+ - **Middle/High class**: Creates LOW tone
91
+ - **Low class**: Creates FALLING tone
92
+
93
+ Examples:
94
+ - ก่า (gàa) — middle-class + mái èek = low
95
+ - ข่า (khàa) — high-class + mái èek = low
96
+ - ค่า (khâa) — low-class + mái èek = falling
97
+
98
+ ### ◌้ Mái Thoo (Second Mark)
99
+
100
+ Examples:
101
+ - ก้า (gâa) — middle-class = falling
102
+ - ข้า (khâa) — high-class = falling
103
+ - ค้า (kháa) — low-class = HIGH
104
+
105
+ **Surprise**: Low-class + mái thoo gives HIGH tone, not falling!
106
+
107
+ ### ◌๊ Mái Dtrii (Third Mark)
108
+
109
+ **Only used with middle-class consonants** to create HIGH tone:
110
+ - ก๊า (gáa) — high tone
111
+ - จ๊ะ (jáʔ) — exclamation
112
+
113
+ You'll almost never see ◌๊ with high or low-class consonants.
114
+
115
+ ### ◌๋ Mái Jàt-dtà-waa (Fourth Mark)
116
+
117
+ **Only used with middle-class consonants** to create RISING tone:
118
+ - ก๋า (gǎa) — rising tone
119
+
120
+ This is the rarest tone mark because:
121
+ - Middle-class consonants can get rising tone this way
122
+ - But rising tone is more often from high-class consonants or ห-lifting
123
+
124
+ ## Common Patterns to Memorize
125
+
126
+ ### Pattern 1: High-Class Default Rising
127
+ High-class consonants (ข ส ห etc.) naturally produce rising tone:
128
+ - ขา (khǎa), สี (sǐi), หา (hǎa)
129
+
130
+ ### Pattern 2: Mái Èek Makes Things Lower
131
+ - Middle/High: → Low tone
132
+ - Low: → Falling tone (even lower!)
133
+
134
+ ### Pattern 3: Mái Thoo's Low-Class Surprise
135
+ Low-class + mái thoo = HIGH, not falling:
136
+ - ค้า (kháa) = high tone
137
+
138
+ ### Pattern 4: ๊ and ๋ Are Middle-Class Only
139
+ See ก๊ or ก๋? It's definitely middle-class.
140
+ See ค๊? Something's wrong — low-class doesn't use ◌๊.
141
+
142
+ ## Practice Examples
143
+
144
+ | Word | Consonant | Class | Mark | Result |
145
+ |------|-----------|-------|------|--------|
146
+ | มา | ม | Low | none | Mid |
147
+ | ม่า | ม | Low | ◌่ | Falling |
148
+ | ม้า | ม | Low | ◌้ | High |
149
+ | หมา | หม | (lifted) | none | Rising |
150
+ | กา | ก | Middle | none | Mid |
151
+ | ก่า | ก | Middle | ◌่ | Low |
152
+ | ก้า | ก | Middle | ◌้ | Falling |
153
+ | ก๊า | ก | Middle | ◌๊ | High |
154
+ | ก๋า | ก | Middle | ◌๋ | Rising |
155
+
156
+ ## Why Is This So Complex?
157
+
158
+ Historical sound changes! Originally:
159
+ - Voice quality (breathy, creaky, etc.) determined tone
160
+ - When voice quality was lost, Thai compensated with marks
161
+ - Different consonant classes had different starting points
162
+
163
+ The result: a system that seems arbitrary but is actually quite regular once internalized.
164
+
165
+ ## Memory Strategies
166
+
167
+ 1. **Learn by word**: Don't calculate — recognize ม้า as "horse" with high tone
168
+ 2. **Class first**: Always identify consonant class before looking at marks
169
+ 3. **High-class default**: Remember they naturally rise
170
+ 4. **Mái thoo surprise**: Low + ◌้ = HIGH is the big exception
171
+ 5. **Practice common words**: ที่ ไม่ ก็ ค่ะ ครับ — learn their tones by ear
172
+
173
+ ## Key Points
174
+
175
+ 1. **Four marks, five tones**: Mid tone needs no mark
176
+ 2. **Class matters**: Same mark = different tone by class
177
+ 3. **◌๊ and ◌๋ are middle-only**: High/low don't use them
178
+ 4. **Mái thoo exception**: Low-class + ◌้ = high (not falling)
179
+ 5. **Dead syllables are simpler**: Tone from class and vowel length
180
+
181
+ ## Practice Exercises
182
+
183
+ :::exercise{id="tone-1-mark-recognition" type="matching" title="Tone Mark Recognition"}
184
+
185
+ **Question:** Match each tone mark to its name and effect on middle-class consonants
186
+
187
+ - ◌่ (mái èek)
188
+ - ◌้ (mái thoo)
189
+ - ◌๊ (mái dtrii)
190
+ - ◌๋ (mái jàt-dtà-waa)
191
+
192
+ **Answer:**
193
+
194
+ - ◌่ → Low tone (mái èek - first mark)
195
+ - ◌้ → Falling tone (mái thoo - second mark)
196
+ - ◌๊ → High tone (mái dtrii - third mark)
197
+ - ◌๋ → Rising tone (mái jàt-dtà-waa - fourth mark)
198
+
199
+ **Explanation:** On middle-class consonants, each tone mark produces a different tone. The marks are named "first, second, third, fourth" in Thai.
200
+
201
+ :::
202
+
203
+ :::exercise{id="tone-1-class-interaction" type="multiple-choice" title="Tone Mark and Class Interaction"}
204
+
205
+ **Question:** The word ค้า (kháa) has a high tone. Why?
206
+
207
+ **Options:**
208
+ - Because ค is high-class
209
+ - Because of mái thoo (◌้) on a low-class consonant
210
+ - Because of mái dtrii (◌๊) on a low-class consonant
211
+ - Because it's a dead syllable
212
+
213
+ **Answer:** 2
214
+
215
+ **Explanation:** This is the "mái thoo surprise"! ค is low-class, and mái thoo (◌้) on a low-class consonant in a live syllable produces HIGH tone, not falling. This is the key exception to remember.
216
+
217
+ :::
218
+
219
+ :::exercise{id="tone-1-tone-prediction" type="fill-in-blank" title="Tone Prediction Practice"}
220
+
221
+ **Question:** Predict the tone for these words:
222
+
223
+ - กา (middle-class ก, no mark)
224
+ - ขา (high-class ข, no mark)
225
+ - คา (low-class ค, no mark)
226
+ - ก่า (middle-class ก, mái èek)
227
+ - ค่า (low-class ค, mái èek)
228
+
229
+ **Answer:**
230
+
231
+ - กา → Mid tone (middle-class default)
232
+ - ขา → Rising tone (high-class default)
233
+ - คา → Mid tone (low-class default in live syllables)
234
+ - ก่า → Low tone (middle-class + mái èek)
235
+ - ค่า → Falling tone (low-class + mái èek)
236
+
237
+ **Explanation:** The consonant class determines the base tone when no mark is present. Mái èek (◌่) lowers the tone: middle/high → low, low → falling.
238
+
239
+ :::
240
+
241
+ ## What's Next
242
+
243
+ In Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for complete literacy.
244
+ `;
245
+ export {
246
+ n as default
247
+ };
248
+ //# sourceMappingURL=lesson-11-oJQ8ZxJk.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-11-oJQ8ZxJk.js","sources":["../src/syllabi/alphabet/lessons/lesson-11.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-11\\ntitle: \\\"บทที่ 11 — วรรณยุกต์\\\"\\ndescription: \\\"Tone Marks: ◌่ ◌้ ◌๊ ◌๋ — The four marks that modify Thai tones\\\"\\norder: 11\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - tone-marks\\n - tone-rules\\n - pronunciation\\n - advanced-characters\\nmetadata:\\n estimatedTime: 35\\n prerequisites:\\n - thai-script-lesson-10\\n objectives:\\n - \\\"Learn the four Thai tone marks\\\"\\n - \\\"Understand how tone marks interact with consonant class\\\"\\n - \\\"Master the complete tone rule system\\\"\\n - \\\"Practice reading with all five tones\\\"\\n---\\n\\n# บทที่ 11 (Lesson 11) — Tone Marks\\n\\n## Introduction\\n\\nThai has **five tones** but only **four tone marks**. The fifth tone (mid) is the default when no mark is present. Tone marks combine with consonant class to determine the final tone — this is the most complex part of Thai phonology.\\n\\n## The Five Thai Tones\\n\\n| Tone | Thai Name | Symbol | Description | Example |\\n|------|-----------|--------|-------------|---------|\\n| Mid | เสียงสามัญ | — | Level, neutral | มา (maa) |\\n| Low | เสียงเอก | \\\\ | Low and level | ม่า (màa) |\\n| Falling | เสียงโท | \\\\\\\\ | High-to-low drop | ม้า (máa) horse |\\n| High | เสียงตรี | / | High and level | ม๊า (maa+) |\\n| Rising | เสียงจัตวา | // | Low-to-high rise | หมา (mǎa) dog |\\n\\n**Note**: The symbols (—, \\\\, \\\\\\\\, /, //) are tone contour representations, not Thai script.\\n\\n## Characters\\n\\n:::character-set{id=\\\"thai-tone-marks\\\" title=\\\"Tone Marks\\\"}\\n\\n::character{id=\\\"th-mai-ek\\\" char=\\\"่\\\" name=\\\"ไม้เอก (mái èek)\\\" nativeName=\\\"ไม้เอก\\\" transliteration=\\\"tone1\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"th-mai-tho\\\" char=\\\"้\\\" name=\\\"ไม้โท (mái thoo)\\\" nativeName=\\\"ไม้โท\\\" transliteration=\\\"tone2\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"th-mai-tri\\\" char=\\\"๊\\\" name=\\\"ไม้ตรี (mái dtrii)\\\" nativeName=\\\"ไม้ตรี\\\" transliteration=\\\"tone3\\\" charType=\\\"tone\\\"}\\n\\n::character{id=\\\"th-mai-chattawa\\\" char=\\\"๋\\\" name=\\\"ไม้จัตวา (mái jàt-dtà-waa)\\\" nativeName=\\\"ไม้จัตวา\\\" transliteration=\\\"tone4\\\" charType=\\\"tone\\\"}\\n\\n:::\\n\\n## The Tone Rules Matrix\\n\\nHere's the key insight: **the same tone mark produces different tones depending on consonant class**.\\n\\n### Live Syllables (Open or ending in m, n, ng, w, y)\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None | Mid | Rising | Mid |\\n| ◌่ (mái èek) | Low | Low | Falling |\\n| ◌้ (mái thoo) | Falling | Falling | High |\\n| ◌๊ (mái dtrii) | High | (not used) | (not used) |\\n| ◌๋ (mái jàt-dtà-waa) | Rising | (not used) | (not used) |\\n\\n### Dead Syllables (Ending in p, t, k or short vowel + stop)\\n\\nDead syllables have more limited options:\\n\\n| Mark | Middle Class | High Class | Low Class |\\n|------|--------------|------------|-----------|\\n| None (short) | Low | Low | High |\\n| None (long) | Low | Low | Falling |\\n| ◌่ | — | — | — |\\n| ◌้ | — | — | — |\\n\\n**Key**: Dead syllables usually don't take tone marks; their tone is determined by vowel length and class.\\n\\n## Understanding Each Tone Mark\\n\\n### ◌่ Mái Èek (First Mark)\\n\\nThe most common tone mark. Effects:\\n- **Middle/High class**: Creates LOW tone\\n- **Low class**: Creates FALLING tone\\n\\nExamples:\\n- ก่า (gàa) — middle-class + mái èek = low\\n- ข่า (khàa) — high-class + mái èek = low\\n- ค่า (khâa) — low-class + mái èek = falling\\n\\n### ◌้ Mái Thoo (Second Mark)\\n\\nExamples:\\n- ก้า (gâa) — middle-class = falling\\n- ข้า (khâa) — high-class = falling\\n- ค้า (kháa) — low-class = HIGH\\n\\n**Surprise**: Low-class + mái thoo gives HIGH tone, not falling!\\n\\n### ◌๊ Mái Dtrii (Third Mark)\\n\\n**Only used with middle-class consonants** to create HIGH tone:\\n- ก๊า (gáa) — high tone\\n- จ๊ะ (jáʔ) — exclamation\\n\\nYou'll almost never see ◌๊ with high or low-class consonants.\\n\\n### ◌๋ Mái Jàt-dtà-waa (Fourth Mark)\\n\\n**Only used with middle-class consonants** to create RISING tone:\\n- ก๋า (gǎa) — rising tone\\n\\nThis is the rarest tone mark because:\\n- Middle-class consonants can get rising tone this way\\n- But rising tone is more often from high-class consonants or ห-lifting\\n\\n## Common Patterns to Memorize\\n\\n### Pattern 1: High-Class Default Rising\\nHigh-class consonants (ข ส ห etc.) naturally produce rising tone:\\n- ขา (khǎa), สี (sǐi), หา (hǎa)\\n\\n### Pattern 2: Mái Èek Makes Things Lower\\n- Middle/High: → Low tone\\n- Low: → Falling tone (even lower!)\\n\\n### Pattern 3: Mái Thoo's Low-Class Surprise\\nLow-class + mái thoo = HIGH, not falling:\\n- ค้า (kháa) = high tone\\n\\n### Pattern 4: ๊ and ๋ Are Middle-Class Only\\nSee ก๊ or ก๋? It's definitely middle-class.\\nSee ค๊? Something's wrong — low-class doesn't use ◌๊.\\n\\n## Practice Examples\\n\\n| Word | Consonant | Class | Mark | Result |\\n|------|-----------|-------|------|--------|\\n| มา | ม | Low | none | Mid |\\n| ม่า | ม | Low | ◌่ | Falling |\\n| ม้า | ม | Low | ◌้ | High |\\n| หมา | หม | (lifted) | none | Rising |\\n| กา | ก | Middle | none | Mid |\\n| ก่า | ก | Middle | ◌่ | Low |\\n| ก้า | ก | Middle | ◌้ | Falling |\\n| ก๊า | ก | Middle | ◌๊ | High |\\n| ก๋า | ก | Middle | ◌๋ | Rising |\\n\\n## Why Is This So Complex?\\n\\nHistorical sound changes! Originally:\\n- Voice quality (breathy, creaky, etc.) determined tone\\n- When voice quality was lost, Thai compensated with marks\\n- Different consonant classes had different starting points\\n\\nThe result: a system that seems arbitrary but is actually quite regular once internalized.\\n\\n## Memory Strategies\\n\\n1. **Learn by word**: Don't calculate — recognize ม้า as \\\"horse\\\" with high tone\\n2. **Class first**: Always identify consonant class before looking at marks\\n3. **High-class default**: Remember they naturally rise\\n4. **Mái thoo surprise**: Low + ◌้ = HIGH is the big exception\\n5. **Practice common words**: ที่ ไม่ ก็ ค่ะ ครับ — learn their tones by ear\\n\\n## Key Points\\n\\n1. **Four marks, five tones**: Mid tone needs no mark\\n2. **Class matters**: Same mark = different tone by class\\n3. **◌๊ and ◌๋ are middle-only**: High/low don't use them\\n4. **Mái thoo exception**: Low-class + ◌้ = high (not falling)\\n5. **Dead syllables are simpler**: Tone from class and vowel length\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"tone-1-mark-recognition\\\" type=\\\"matching\\\" title=\\\"Tone Mark Recognition\\\"}\\n\\n**Question:** Match each tone mark to its name and effect on middle-class consonants\\n\\n- ◌่ (mái èek)\\n- ◌้ (mái thoo)\\n- ◌๊ (mái dtrii)\\n- ◌๋ (mái jàt-dtà-waa)\\n\\n**Answer:**\\n\\n- ◌่ → Low tone (mái èek - first mark)\\n- ◌้ → Falling tone (mái thoo - second mark)\\n- ◌๊ → High tone (mái dtrii - third mark)\\n- ◌๋ → Rising tone (mái jàt-dtà-waa - fourth mark)\\n\\n**Explanation:** On middle-class consonants, each tone mark produces a different tone. The marks are named \\\"first, second, third, fourth\\\" in Thai.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-class-interaction\\\" type=\\\"multiple-choice\\\" title=\\\"Tone Mark and Class Interaction\\\"}\\n\\n**Question:** The word ค้า (kháa) has a high tone. Why?\\n\\n**Options:**\\n- Because ค is high-class\\n- Because of mái thoo (◌้) on a low-class consonant\\n- Because of mái dtrii (◌๊) on a low-class consonant\\n- Because it's a dead syllable\\n\\n**Answer:** 2\\n\\n**Explanation:** This is the \\\"mái thoo surprise\\\"! ค is low-class, and mái thoo (◌้) on a low-class consonant in a live syllable produces HIGH tone, not falling. This is the key exception to remember.\\n\\n:::\\n\\n:::exercise{id=\\\"tone-1-tone-prediction\\\" type=\\\"fill-in-blank\\\" title=\\\"Tone Prediction Practice\\\"}\\n\\n**Question:** Predict the tone for these words:\\n\\n- กา (middle-class ก, no mark)\\n- ขา (high-class ข, no mark)\\n- คา (low-class ค, no mark)\\n- ก่า (middle-class ก, mái èek)\\n- ค่า (low-class ค, mái èek)\\n\\n**Answer:**\\n\\n- กา → Mid tone (middle-class default)\\n- ขา → Rising tone (high-class default)\\n- คา → Mid tone (low-class default in live syllables)\\n- ก่า → Low tone (middle-class + mái èek)\\n- ค่า → Falling tone (low-class + mái èek)\\n\\n**Explanation:** The consonant class determines the base tone when no mark is present. Mái èek (◌่) lowers the tone: middle/high → low, low → falling.\\n\\n:::\\n\\n## What's Next\\n\\nIn Lesson 12, you'll learn **Thai numbers and symbols** — the final pieces for complete literacy.\\n\""],"names":["lesson11"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -0,0 +1,265 @@
1
+ const n = `---
2
+ type: lesson
3
+ id: thai-script-lesson-12
4
+ title: "บทที่ 12 — ตัวเลขและสัญลักษณ์"
5
+ description: "Numbers & Symbols: ๐-๙ ฯ ๆ — Thai numerals and special characters"
6
+ order: 12
7
+ parentId: thai-script-alphabet
8
+ difficulty: advanced
9
+ cefrLevel: B1
10
+ categories:
11
+ - numbers
12
+ - symbols
13
+ - punctuation
14
+ - advanced-characters
15
+ metadata:
16
+ estimatedTime: 20
17
+ prerequisites:
18
+ - thai-script-lesson-11
19
+ objectives:
20
+ - "Learn Thai numerals 0-9"
21
+ - "Understand Thai punctuation marks"
22
+ - "Master the repetition mark ๆ"
23
+ - "Complete your Thai script literacy"
24
+ ---
25
+
26
+ # บทที่ 12 (Lesson 12) — Numbers & Symbols
27
+
28
+ ## Introduction
29
+
30
+ Thai has its own numeral system dating back centuries. While Arabic numerals (0-9) are common in modern Thailand, Thai numerals still appear on official documents, temples, traditional contexts, and formal writing. This lesson also covers essential Thai punctuation.
31
+
32
+ ## Thai Numerals
33
+
34
+ :::character-set{id="thai-numbers" title="Thai Numerals"}
35
+
36
+ ::character{id="th-zero" char="๐" name="ศูนย์ (sǔun)" nativeName="ศูนย์" transliteration="0" charType="number"}
37
+
38
+ ::character{id="th-one" char="๑" name="หนึ่ง (nʉ̀ng)" nativeName="หนึ่ง" transliteration="1" charType="number"}
39
+
40
+ ::character{id="th-two" char="๒" name="สอง (sɔ̌ɔng)" nativeName="สอง" transliteration="2" charType="number"}
41
+
42
+ ::character{id="th-three" char="๓" name="สาม (sǎam)" nativeName="สาม" transliteration="3" charType="number"}
43
+
44
+ ::character{id="th-four" char="๔" name="สี่ (sìi)" nativeName="สี่" transliteration="4" charType="number"}
45
+
46
+ ::character{id="th-five" char="๕" name="ห้า (hâa)" nativeName="ห้า" transliteration="5" charType="number"}
47
+
48
+ ::character{id="th-six" char="๖" name="หก (hòk)" nativeName="หก" transliteration="6" charType="number"}
49
+
50
+ ::character{id="th-seven" char="๗" name="เจ็ด (jèt)" nativeName="เจ็ด" transliteration="7" charType="number"}
51
+
52
+ ::character{id="th-eight" char="๘" name="แปด (bpàaet)" nativeName="แปด" transliteration="8" charType="number"}
53
+
54
+ ::character{id="th-nine" char="๙" name="เก้า (gâo)" nativeName="เก้า" transliteration="9" charType="number"}
55
+
56
+ :::
57
+
58
+ ## Shape Recognition for Numbers
59
+
60
+ Thai numerals have distinctive shapes:
61
+
62
+ | Numeral | Shape Hint |
63
+ |---------|------------|
64
+ | ๐ | Circle (like 0) |
65
+ | ๑ | Simple hook |
66
+ | ๒ | Like ๑ with extra curve |
67
+ | ๓ | Three loops/curves |
68
+ | ๔ | Complex with descender |
69
+ | ๕ | Curved shape |
70
+ | ๖ | Has a "tail" going down |
71
+ | ๗ | Curves at top |
72
+ | ๘ | Complex with loops |
73
+ | ๙ | Almost like a "9" reversed |
74
+
75
+ **Memory tip**: ๐ (zero) looks like a circle, ๓ (three) has three connected parts.
76
+
77
+ ## Where You'll See Thai Numerals
78
+
79
+ 1. **Temple dates**: Buddhist Era years (พ.ศ. ๒๕๖๗)
80
+ 2. **Official documents**: Government forms, IDs
81
+ 3. **Royal contexts**: Anything related to monarchy
82
+ 4. **Traditional signs**: Old buildings, historical markers
83
+ 5. **Lottery tickets**: Thai lottery uses Thai numerals
84
+ 6. **Clock faces**: Traditional-style clocks
85
+
86
+ ## The Buddhist Era Calendar
87
+
88
+ Thailand uses the **Buddhist Era (พ.ศ.)**, which is 543 years ahead of the Gregorian calendar:
89
+ - 2024 CE = พ.ศ. ๒๕๖๗
90
+ - 2025 CE = พ.ศ. ๒๕๖๘
91
+
92
+ When you see dates in Thai numerals, they're likely Buddhist Era!
93
+
94
+ ## Special Symbols
95
+
96
+ :::character-set{id="thai-symbols" title="Thai Symbols"}
97
+
98
+ ::character{id="th-paiyannoi" char="ฯ" name="ไปยาลน้อย (bpai-yaan-nói)" nativeName="ไปยาลน้อย" transliteration="abbrev." charType="symbol"}
99
+
100
+ ::character{id="th-maiyamok" char="ๆ" name="ไม้ยมก (mái-yá-mók)" nativeName="ไม้ยมก" transliteration="repeat" charType="symbol"}
101
+
102
+ :::
103
+
104
+ ### ฯ Paiyannoi (Abbreviation Mark)
105
+
106
+ Used to indicate abbreviation, similar to a period in abbreviations:
107
+ - กรุงเทพฯ (Krung Thep...) — Bangkok (full: กรุงเทพมหานคร)
108
+ - ฯลฯ — etc. (literally "and so on")
109
+
110
+ You'll see ฯ in:
111
+ - Place name abbreviations
112
+ - Title abbreviations
113
+ - Lists ending with "etc."
114
+
115
+ ### ๆ Maiyamok (Repetition Mark)
116
+
117
+ Indicates that the previous word should be repeated:
118
+ - ช้า ๆ (cháa cháa) — slowly (literally "slow slow")
119
+ - เด็ก ๆ (dèk dèk) — children (plural marker)
120
+ - บาง ๆ (baang baang) — somewhat thin
121
+
122
+ **Usage patterns**:
123
+ 1. **Emphasis/intensity**: ดี ๆ (really good)
124
+ 2. **Plurality**: คน ๆ (people, multiple)
125
+ 3. **Reduplication for meaning change**: Various idiomatic uses
126
+
127
+ Without ๆ, you'd have to write the word twice. This mark saves space and is very common in everyday Thai.
128
+
129
+ ## Other Symbols You May Encounter
130
+
131
+ | Symbol | Name | Use |
132
+ |--------|------|-----|
133
+ | ๆ | Maiyamok | Repetition |
134
+ | ฯ | Paiyannoi | Abbreviation |
135
+ | ๏ | Fongman | Old paragraph marker (rare) |
136
+ | ฯลฯ | (etc.) | Et cetera |
137
+ | ฯพณฯ | (title) | Royal/noble title prefix |
138
+
139
+ ## Punctuation in Thai
140
+
141
+ Traditional Thai used **no punctuation** — no spaces between words, no periods, no commas. Modern Thai has adopted:
142
+
143
+ | Punctuation | Usage |
144
+ |-------------|-------|
145
+ | (space) | Between clauses, not words |
146
+ | . | Rarely used; sometimes in abbreviations |
147
+ | , | Borrowed from English, used sparingly |
148
+ | ? | Used in informal writing |
149
+ | ! | Used in informal writing |
150
+ | " " | Quotation marks (borrowed) |
151
+
152
+ **Important**: Thai traditionally has no spaces between words. Word boundaries are learned through experience. Spaces appear between phrases or clauses, not individual words.
153
+
154
+ ## Complete Script Summary
155
+
156
+ You've now learned the complete Thai script:
157
+
158
+ | Category | Count | Examples |
159
+ |----------|-------|----------|
160
+ | Consonants | 44 | ก ข ค... |
161
+ | Vowels | 32+ | ◌า ◌ิ เ◌... |
162
+ | Tone Marks | 4 | ◌่ ◌้ ◌๊ ◌๋ |
163
+ | Numerals | 10 | ๐-๙ |
164
+ | Symbols | 2+ | ฯ ๆ |
165
+
166
+ ## Key Points
167
+
168
+ 1. **Thai numerals exist**: Used in traditional/formal contexts
169
+ 2. **Buddhist Era**: Add 543 to get Thai year
170
+ 3. **ๆ means repeat**: Common in everyday writing
171
+ 4. **ฯ means abbreviated**: Like "..." or abbreviation periods
172
+ 5. **No word spaces**: Thai doesn't space between words
173
+ 6. **Modern punctuation**: Borrowed from English, used sparingly
174
+
175
+ ## Practice Exercises
176
+
177
+ :::exercise{id="numbers-1-numeral-conversion" type="fill-in-blank" title="Numeral Conversion"}
178
+
179
+ **Question:** Convert these Thai numerals to Arabic numerals:
180
+
181
+ - ๒๕๖๗
182
+ - ๑๒๓
183
+ - ๕๐
184
+
185
+ **Answer:**
186
+
187
+ - ๒๕๖๗ = 2567 (Buddhist Era year, equivalent to 2024 CE)
188
+ - ๑๒๓ = 123
189
+ - ๕๐ = 50
190
+
191
+ **Explanation:** Thai numerals work exactly like Arabic numerals — position determines value. ๒๕๖๗ is a Buddhist Era year (add 543 to get Gregorian year).
192
+
193
+ :::
194
+
195
+ :::exercise{id="numbers-1-symbol-usage" type="matching" title="Symbol Usage"}
196
+
197
+ **Question:** Match each symbol to its correct usage
198
+
199
+ - ๆ (mái yamok)
200
+ - ฯ (paiyannoi)
201
+ - ฯลฯ
202
+
203
+ **Answer:**
204
+
205
+ - ๆ → Repetition mark (repeat the previous word)
206
+ - ฯ → Abbreviation mark (indicates shortened form)
207
+ - ฯลฯ → Et cetera (and so on)
208
+
209
+ **Explanation:** ๆ is very common in Thai writing for emphasis and plurality. ฯ indicates abbreviations, especially in place names. ฯลฯ means "etc."
210
+
211
+ :::
212
+
213
+ :::exercise{id="numbers-1-reading-practice" type="fill-in-blank" title="Reading Practice with Symbols"}
214
+
215
+ **Question:** What do these phrases mean?
216
+
217
+ - กรุงเทพฯ
218
+ - ช้า ๆ
219
+ - เด็ก ๆ
220
+
221
+ **Answer:**
222
+
223
+ - กรุงเทพฯ = Bangkok (abbreviated from กรุงเทพมหานคร)
224
+ - ช้า ๆ = slowly (reduplication for emphasis)
225
+ - เด็ก ๆ = children (plural marker)
226
+
227
+ **Explanation:** ฯ abbreviates long place names. ๆ creates reduplication for emphasis (ช้า = slow, ช้า ๆ = slowly) or plurality (เด็ก = child, เด็ก ๆ = children).
228
+
229
+ :::
230
+
231
+ ## Congratulations!
232
+
233
+ You've completed the Thai Script course! You now know:
234
+ - All 44 consonants and their classes
235
+ - The tone mark system
236
+ - Thai numerals and symbols
237
+
238
+ **What's next?**
239
+ - Practice reading real Thai text
240
+ - Learn Thai vowels in depth
241
+ - Build vocabulary
242
+ - Study grammar patterns
243
+
244
+ Remember: Reading Thai is a skill that improves with practice. The patterns you've learned will become automatic as you read more Thai text.
245
+
246
+ ## Final Practice Challenge
247
+
248
+ Try reading this sentence:
249
+
250
+ **กรุงเทพฯ เป็นเมืองหลวงของประเทศไทย**
251
+
252
+ - กรุงเทพฯ (Krung Thep...) — Bangkok
253
+ - เป็น (bpen) — is
254
+ - เมืองหลวง (mʉang-lǔang) — capital city
255
+ - ของ (khɔ̌ɔng) — of
256
+ - ประเทศไทย (bprà-thêet-thai) — Thailand
257
+
258
+ "Bangkok is the capital city of Thailand."
259
+
260
+ You can read Thai!
261
+ `;
262
+ export {
263
+ n as default
264
+ };
265
+ //# sourceMappingURL=lesson-12-D69m5ETy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lesson-12-D69m5ETy.js","sources":["../src/syllabi/alphabet/lessons/lesson-12.mdx?raw"],"sourcesContent":["export default \"---\\ntype: lesson\\nid: thai-script-lesson-12\\ntitle: \\\"บทที่ 12 — ตัวเลขและสัญลักษณ์\\\"\\ndescription: \\\"Numbers & Symbols: ๐-๙ ฯ ๆ — Thai numerals and special characters\\\"\\norder: 12\\nparentId: thai-script-alphabet\\ndifficulty: advanced\\ncefrLevel: B1\\ncategories:\\n - numbers\\n - symbols\\n - punctuation\\n - advanced-characters\\nmetadata:\\n estimatedTime: 20\\n prerequisites:\\n - thai-script-lesson-11\\n objectives:\\n - \\\"Learn Thai numerals 0-9\\\"\\n - \\\"Understand Thai punctuation marks\\\"\\n - \\\"Master the repetition mark ๆ\\\"\\n - \\\"Complete your Thai script literacy\\\"\\n---\\n\\n# บทที่ 12 (Lesson 12) — Numbers & Symbols\\n\\n## Introduction\\n\\nThai has its own numeral system dating back centuries. While Arabic numerals (0-9) are common in modern Thailand, Thai numerals still appear on official documents, temples, traditional contexts, and formal writing. This lesson also covers essential Thai punctuation.\\n\\n## Thai Numerals\\n\\n:::character-set{id=\\\"thai-numbers\\\" title=\\\"Thai Numerals\\\"}\\n\\n::character{id=\\\"th-zero\\\" char=\\\"๐\\\" name=\\\"ศูนย์ (sǔun)\\\" nativeName=\\\"ศูนย์\\\" transliteration=\\\"0\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-one\\\" char=\\\"๑\\\" name=\\\"หนึ่ง (nʉ̀ng)\\\" nativeName=\\\"หนึ่ง\\\" transliteration=\\\"1\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-two\\\" char=\\\"๒\\\" name=\\\"สอง (sɔ̌ɔng)\\\" nativeName=\\\"สอง\\\" transliteration=\\\"2\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-three\\\" char=\\\"๓\\\" name=\\\"สาม (sǎam)\\\" nativeName=\\\"สาม\\\" transliteration=\\\"3\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-four\\\" char=\\\"๔\\\" name=\\\"สี่ (sìi)\\\" nativeName=\\\"สี่\\\" transliteration=\\\"4\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-five\\\" char=\\\"๕\\\" name=\\\"ห้า (hâa)\\\" nativeName=\\\"ห้า\\\" transliteration=\\\"5\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-six\\\" char=\\\"๖\\\" name=\\\"หก (hòk)\\\" nativeName=\\\"หก\\\" transliteration=\\\"6\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-seven\\\" char=\\\"๗\\\" name=\\\"เจ็ด (jèt)\\\" nativeName=\\\"เจ็ด\\\" transliteration=\\\"7\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-eight\\\" char=\\\"๘\\\" name=\\\"แปด (bpàaet)\\\" nativeName=\\\"แปด\\\" transliteration=\\\"8\\\" charType=\\\"number\\\"}\\n\\n::character{id=\\\"th-nine\\\" char=\\\"๙\\\" name=\\\"เก้า (gâo)\\\" nativeName=\\\"เก้า\\\" transliteration=\\\"9\\\" charType=\\\"number\\\"}\\n\\n:::\\n\\n## Shape Recognition for Numbers\\n\\nThai numerals have distinctive shapes:\\n\\n| Numeral | Shape Hint |\\n|---------|------------|\\n| ๐ | Circle (like 0) |\\n| ๑ | Simple hook |\\n| ๒ | Like ๑ with extra curve |\\n| ๓ | Three loops/curves |\\n| ๔ | Complex with descender |\\n| ๕ | Curved shape |\\n| ๖ | Has a \\\"tail\\\" going down |\\n| ๗ | Curves at top |\\n| ๘ | Complex with loops |\\n| ๙ | Almost like a \\\"9\\\" reversed |\\n\\n**Memory tip**: ๐ (zero) looks like a circle, ๓ (three) has three connected parts.\\n\\n## Where You'll See Thai Numerals\\n\\n1. **Temple dates**: Buddhist Era years (พ.ศ. ๒๕๖๗)\\n2. **Official documents**: Government forms, IDs\\n3. **Royal contexts**: Anything related to monarchy\\n4. **Traditional signs**: Old buildings, historical markers\\n5. **Lottery tickets**: Thai lottery uses Thai numerals\\n6. **Clock faces**: Traditional-style clocks\\n\\n## The Buddhist Era Calendar\\n\\nThailand uses the **Buddhist Era (พ.ศ.)**, which is 543 years ahead of the Gregorian calendar:\\n- 2024 CE = พ.ศ. ๒๕๖๗\\n- 2025 CE = พ.ศ. ๒๕๖๘\\n\\nWhen you see dates in Thai numerals, they're likely Buddhist Era!\\n\\n## Special Symbols\\n\\n:::character-set{id=\\\"thai-symbols\\\" title=\\\"Thai Symbols\\\"}\\n\\n::character{id=\\\"th-paiyannoi\\\" char=\\\"ฯ\\\" name=\\\"ไปยาลน้อย (bpai-yaan-nói)\\\" nativeName=\\\"ไปยาลน้อย\\\" transliteration=\\\"abbrev.\\\" charType=\\\"symbol\\\"}\\n\\n::character{id=\\\"th-maiyamok\\\" char=\\\"ๆ\\\" name=\\\"ไม้ยมก (mái-yá-mók)\\\" nativeName=\\\"ไม้ยมก\\\" transliteration=\\\"repeat\\\" charType=\\\"symbol\\\"}\\n\\n:::\\n\\n### ฯ Paiyannoi (Abbreviation Mark)\\n\\nUsed to indicate abbreviation, similar to a period in abbreviations:\\n- กรุงเทพฯ (Krung Thep...) — Bangkok (full: กรุงเทพมหานคร)\\n- ฯลฯ — etc. (literally \\\"and so on\\\")\\n\\nYou'll see ฯ in:\\n- Place name abbreviations\\n- Title abbreviations\\n- Lists ending with \\\"etc.\\\"\\n\\n### ๆ Maiyamok (Repetition Mark)\\n\\nIndicates that the previous word should be repeated:\\n- ช้า ๆ (cháa cháa) — slowly (literally \\\"slow slow\\\")\\n- เด็ก ๆ (dèk dèk) — children (plural marker)\\n- บาง ๆ (baang baang) — somewhat thin\\n\\n**Usage patterns**:\\n1. **Emphasis/intensity**: ดี ๆ (really good)\\n2. **Plurality**: คน ๆ (people, multiple)\\n3. **Reduplication for meaning change**: Various idiomatic uses\\n\\nWithout ๆ, you'd have to write the word twice. This mark saves space and is very common in everyday Thai.\\n\\n## Other Symbols You May Encounter\\n\\n| Symbol | Name | Use |\\n|--------|------|-----|\\n| ๆ | Maiyamok | Repetition |\\n| ฯ | Paiyannoi | Abbreviation |\\n| ๏ | Fongman | Old paragraph marker (rare) |\\n| ฯลฯ | (etc.) | Et cetera |\\n| ฯพณฯ | (title) | Royal/noble title prefix |\\n\\n## Punctuation in Thai\\n\\nTraditional Thai used **no punctuation** — no spaces between words, no periods, no commas. Modern Thai has adopted:\\n\\n| Punctuation | Usage |\\n|-------------|-------|\\n| (space) | Between clauses, not words |\\n| . | Rarely used; sometimes in abbreviations |\\n| , | Borrowed from English, used sparingly |\\n| ? | Used in informal writing |\\n| ! | Used in informal writing |\\n| \\\" \\\" | Quotation marks (borrowed) |\\n\\n**Important**: Thai traditionally has no spaces between words. Word boundaries are learned through experience. Spaces appear between phrases or clauses, not individual words.\\n\\n## Complete Script Summary\\n\\nYou've now learned the complete Thai script:\\n\\n| Category | Count | Examples |\\n|----------|-------|----------|\\n| Consonants | 44 | ก ข ค... |\\n| Vowels | 32+ | ◌า ◌ิ เ◌... |\\n| Tone Marks | 4 | ◌่ ◌้ ◌๊ ◌๋ |\\n| Numerals | 10 | ๐-๙ |\\n| Symbols | 2+ | ฯ ๆ |\\n\\n## Key Points\\n\\n1. **Thai numerals exist**: Used in traditional/formal contexts\\n2. **Buddhist Era**: Add 543 to get Thai year\\n3. **ๆ means repeat**: Common in everyday writing\\n4. **ฯ means abbreviated**: Like \\\"...\\\" or abbreviation periods\\n5. **No word spaces**: Thai doesn't space between words\\n6. **Modern punctuation**: Borrowed from English, used sparingly\\n\\n## Practice Exercises\\n\\n:::exercise{id=\\\"numbers-1-numeral-conversion\\\" type=\\\"fill-in-blank\\\" title=\\\"Numeral Conversion\\\"}\\n\\n**Question:** Convert these Thai numerals to Arabic numerals:\\n\\n- ๒๕๖๗\\n- ๑๒๓\\n- ๕๐\\n\\n**Answer:**\\n\\n- ๒๕๖๗ = 2567 (Buddhist Era year, equivalent to 2024 CE)\\n- ๑๒๓ = 123\\n- ๕๐ = 50\\n\\n**Explanation:** Thai numerals work exactly like Arabic numerals — position determines value. ๒๕๖๗ is a Buddhist Era year (add 543 to get Gregorian year).\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-1-symbol-usage\\\" type=\\\"matching\\\" title=\\\"Symbol Usage\\\"}\\n\\n**Question:** Match each symbol to its correct usage\\n\\n- ๆ (mái yamok)\\n- ฯ (paiyannoi)\\n- ฯลฯ\\n\\n**Answer:**\\n\\n- ๆ → Repetition mark (repeat the previous word)\\n- ฯ → Abbreviation mark (indicates shortened form)\\n- ฯลฯ → Et cetera (and so on)\\n\\n**Explanation:** ๆ is very common in Thai writing for emphasis and plurality. ฯ indicates abbreviations, especially in place names. ฯลฯ means \\\"etc.\\\"\\n\\n:::\\n\\n:::exercise{id=\\\"numbers-1-reading-practice\\\" type=\\\"fill-in-blank\\\" title=\\\"Reading Practice with Symbols\\\"}\\n\\n**Question:** What do these phrases mean?\\n\\n- กรุงเทพฯ\\n- ช้า ๆ\\n- เด็ก ๆ\\n\\n**Answer:**\\n\\n- กรุงเทพฯ = Bangkok (abbreviated from กรุงเทพมหานคร)\\n- ช้า ๆ = slowly (reduplication for emphasis)\\n- เด็ก ๆ = children (plural marker)\\n\\n**Explanation:** ฯ abbreviates long place names. ๆ creates reduplication for emphasis (ช้า = slow, ช้า ๆ = slowly) or plurality (เด็ก = child, เด็ก ๆ = children).\\n\\n:::\\n\\n## Congratulations!\\n\\nYou've completed the Thai Script course! You now know:\\n- All 44 consonants and their classes\\n- The tone mark system\\n- Thai numerals and symbols\\n\\n**What's next?**\\n- Practice reading real Thai text\\n- Learn Thai vowels in depth\\n- Build vocabulary\\n- Study grammar patterns\\n\\nRemember: Reading Thai is a skill that improves with practice. The patterns you've learned will become automatic as you read more Thai text.\\n\\n## Final Practice Challenge\\n\\nTry reading this sentence:\\n\\n**กรุงเทพฯ เป็นเมืองหลวงของประเทศไทย**\\n\\n- กรุงเทพฯ (Krung Thep...) — Bangkok\\n- เป็น (bpen) — is\\n- เมืองหลวง (mʉang-lǔang) — capital city\\n- ของ (khɔ̌ɔng) — of\\n- ประเทศไทย (bprà-thêet-thai) — Thailand\\n\\n\\\"Bangkok is the capital city of Thailand.\\\"\\n\\nYou can read Thai!\\n\""],"names":["lesson12"],"mappings":"AAAA,MAAAA,IAAe;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;"}
@@ -1,10 +1,7 @@
1
- /**
2
- * Thai Alphabet syllabus
3
- */
4
- import { type SyllabusConfig, type ContentLoader } from '../../shared.js';
1
+ import { SyllabusConfig, ContentLoader } from '../../shared.js';
5
2
  export declare const config: SyllabusConfig;
6
3
  export declare const loader: ContentLoader;
7
- export declare const loadLesson: (lessonNumber: number) => Promise<import("../../shared.js").LoadedLesson>;
8
- export declare const loadAllLessons: () => Promise<import("../../shared.js").LoadedLesson[]>;
4
+ export declare const loadLesson: (lessonNumber: number) => Promise<import('../../shared.js').LoadedLesson>;
5
+ export declare const loadAllLessons: () => Promise<import('../../shared.js').LoadedLesson[]>;
9
6
  export declare const getAvailableLessons: () => number[];
10
7
  //# sourceMappingURL=index.d.ts.map
@@ -1,38 +1,9 @@
1
- /**
2
- * Thai Alphabet syllabus
3
- */
4
- import { createContentLoader } from '../../shared.js';
5
- export const config = {
6
- id: 'th-alphabet',
7
- title: 'อักษรไทย (Thai Alphabet)',
8
- description: 'Learn the Thai writing system - consonants, vowels, and tone marks',
9
- language: 'th',
10
- locale: 'th-TH',
11
- lessonCount: 12,
12
- difficulty: 'beginner',
13
- cefrLevel: 'A1',
14
- icon: 'alphabet',
15
- version: '0.1.0',
1
+ import { c as o, g as l, a as e, b as n, l as d } from "../../index-of_athp-.js";
2
+ export {
3
+ o as config,
4
+ l as getAvailableLessons,
5
+ e as loadAllLessons,
6
+ n as loadLesson,
7
+ d as loader
16
8
  };
17
- async function loadLessonMDX(lessonNumber) {
18
- switch (lessonNumber) {
19
- case 1: return import('./lessons/lesson-01.mdx?raw');
20
- case 2: return import('./lessons/lesson-02.mdx?raw');
21
- case 3: return import('./lessons/lesson-03.mdx?raw');
22
- case 4: return import('./lessons/lesson-04.mdx?raw');
23
- case 5: return import('./lessons/lesson-05.mdx?raw');
24
- case 6: return import('./lessons/lesson-06.mdx?raw');
25
- case 7: return import('./lessons/lesson-07.mdx?raw');
26
- case 8: return import('./lessons/lesson-08.mdx?raw');
27
- case 9: return import('./lessons/lesson-09.mdx?raw');
28
- case 10: return import('./lessons/lesson-10.mdx?raw');
29
- case 11: return import('./lessons/lesson-11.mdx?raw');
30
- case 12: return import('./lessons/lesson-12.mdx?raw');
31
- default: throw new Error(`Lesson ${lessonNumber} not found`);
32
- }
33
- }
34
- export const loader = createContentLoader(config, loadLessonMDX);
35
- export const loadLesson = loader.loadLesson.bind(loader);
36
- export const loadAllLessons = loader.loadAllLessons.bind(loader);
37
- export const getAvailableLessons = loader.getAvailableLessons.bind(loader);
38
- //# sourceMappingURL=index.js.map
9
+ //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/syllabi/alphabet/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,mBAAmB,EAA2C,MAAM,iBAAiB,CAAC;AAE/F,MAAM,CAAC,MAAM,MAAM,GAAmB;IACpC,EAAE,EAAE,aAAa;IACjB,KAAK,EAAE,0BAA0B;IACjC,WAAW,EAAE,oEAAoE;IACjF,QAAQ,EAAE,IAAI;IACd,MAAM,EAAE,OAAO;IACf,WAAW,EAAE,EAAE;IACf,UAAU,EAAE,UAAU;IACtB,SAAS,EAAE,IAAI;IACf,IAAI,EAAE,UAAU;IAChB,OAAO,EAAE,OAAO;CACjB,CAAC;AAEF,KAAK,UAAU,aAAa,CAAC,YAAoB;IAC/C,QAAQ,YAAY,EAAE,CAAC;QACrB,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,CAAC,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACrD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,KAAK,EAAE,CAAC,CAAC,OAAO,MAAM,CAAC,6BAA6B,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,UAAU,YAAY,YAAY,CAAC,CAAC;IAC/D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,MAAM,MAAM,GAAkB,mBAAmB,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAChF,MAAM,CAAC,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACzD,MAAM,CAAC,MAAM,cAAc,GAAG,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjE,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sources":[],"sourcesContent":[],"names":[],"mappings":";"}
@@ -1,10 +1,7 @@
1
- /**
2
- * Thai Dialogue syllabus
3
- */
4
- import { type SyllabusConfig, type ContentLoader } from '@syllst/content-shared';
1
+ import { SyllabusConfig, ContentLoader } from '@syllst/content-shared';
5
2
  export declare const config: SyllabusConfig;
6
3
  export declare const loader: ContentLoader;
7
- export declare const loadLesson: (lessonNumber: number) => Promise<import("@syllst/content-shared").LoadedLesson>;
8
- export declare const loadAllLessons: () => Promise<import("@syllst/content-shared").LoadedLesson[]>;
4
+ export declare const loadLesson: (lessonNumber: number) => Promise<import('@syllst/content-shared').LoadedLesson>;
5
+ export declare const loadAllLessons: () => Promise<import('@syllst/content-shared').LoadedLesson[]>;
9
6
  export declare const getAvailableLessons: () => number[];
10
7
  //# sourceMappingURL=index.d.ts.map