tegaki 0.2.2 → 0.3.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 (744) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +4 -43
  3. package/dist/index.d.mts +42 -23
  4. package/dist/index.mjs +143 -183
  5. package/dist/index.mjs.map +1 -1
  6. package/fonts/caveat/bundle.ts +1 -276
  7. package/fonts/caveat/glyphData.json +1 -1
  8. package/fonts/italianno/bundle.ts +1 -276
  9. package/fonts/italianno/glyphData.json +1 -1
  10. package/fonts/parisienne/bundle.ts +1 -276
  11. package/fonts/parisienne/glyphData.json +1 -1
  12. package/fonts/tangerine/bundle.ts +1 -276
  13. package/fonts/tangerine/glyphData.json +1 -1
  14. package/package.json +2 -2
  15. package/src/env.d.ts +0 -6
  16. package/src/index.ts +1 -0
  17. package/src/lib/TegakiRenderer.tsx +141 -168
  18. package/src/lib/drawGlyph.ts +25 -25
  19. package/src/lib/timeline.ts +6 -5
  20. package/src/types.ts +13 -8
  21. package/fonts/caveat/font.json +0 -24472
  22. package/fonts/caveat/svg/0.svg +0 -12
  23. package/fonts/caveat/svg/0.tsx +0 -14
  24. package/fonts/caveat/svg/1.svg +0 -7
  25. package/fonts/caveat/svg/1.tsx +0 -9
  26. package/fonts/caveat/svg/2.svg +0 -10
  27. package/fonts/caveat/svg/2.tsx +0 -12
  28. package/fonts/caveat/svg/3.svg +0 -12
  29. package/fonts/caveat/svg/3.tsx +0 -14
  30. package/fonts/caveat/svg/4.svg +0 -12
  31. package/fonts/caveat/svg/4.tsx +0 -14
  32. package/fonts/caveat/svg/5.svg +0 -7
  33. package/fonts/caveat/svg/5.tsx +0 -9
  34. package/fonts/caveat/svg/6.svg +0 -7
  35. package/fonts/caveat/svg/6.tsx +0 -9
  36. package/fonts/caveat/svg/7.svg +0 -12
  37. package/fonts/caveat/svg/7.tsx +0 -14
  38. package/fonts/caveat/svg/8.svg +0 -10
  39. package/fonts/caveat/svg/8.tsx +0 -12
  40. package/fonts/caveat/svg/9.svg +0 -12
  41. package/fonts/caveat/svg/9.tsx +0 -14
  42. package/fonts/caveat/svg/U+0021.svg +0 -12
  43. package/fonts/caveat/svg/U+0021.tsx +0 -14
  44. package/fonts/caveat/svg/U+0022.svg +0 -12
  45. package/fonts/caveat/svg/U+0022.tsx +0 -14
  46. package/fonts/caveat/svg/U+0023.svg +0 -22
  47. package/fonts/caveat/svg/U+0023.tsx +0 -24
  48. package/fonts/caveat/svg/U+0024.svg +0 -12
  49. package/fonts/caveat/svg/U+0024.tsx +0 -14
  50. package/fonts/caveat/svg/U+0025.svg +0 -25
  51. package/fonts/caveat/svg/U+0025.tsx +0 -27
  52. package/fonts/caveat/svg/U+0026.svg +0 -10
  53. package/fonts/caveat/svg/U+0026.tsx +0 -12
  54. package/fonts/caveat/svg/U+0027.svg +0 -7
  55. package/fonts/caveat/svg/U+0027.tsx +0 -9
  56. package/fonts/caveat/svg/U+0028.svg +0 -7
  57. package/fonts/caveat/svg/U+0028.tsx +0 -9
  58. package/fonts/caveat/svg/U+0029.svg +0 -7
  59. package/fonts/caveat/svg/U+0029.tsx +0 -9
  60. package/fonts/caveat/svg/U+002a.svg +0 -17
  61. package/fonts/caveat/svg/U+002a.tsx +0 -19
  62. package/fonts/caveat/svg/U+002b.svg +0 -12
  63. package/fonts/caveat/svg/U+002b.tsx +0 -14
  64. package/fonts/caveat/svg/U+002c.svg +0 -7
  65. package/fonts/caveat/svg/U+002c.tsx +0 -9
  66. package/fonts/caveat/svg/U+002d.svg +0 -7
  67. package/fonts/caveat/svg/U+002d.tsx +0 -9
  68. package/fonts/caveat/svg/U+002e.svg +0 -7
  69. package/fonts/caveat/svg/U+002e.tsx +0 -9
  70. package/fonts/caveat/svg/U+002f.svg +0 -12
  71. package/fonts/caveat/svg/U+002f.tsx +0 -14
  72. package/fonts/caveat/svg/U+003a.svg +0 -12
  73. package/fonts/caveat/svg/U+003a.tsx +0 -14
  74. package/fonts/caveat/svg/U+003b.svg +0 -12
  75. package/fonts/caveat/svg/U+003b.tsx +0 -14
  76. package/fonts/caveat/svg/U+003c.svg +0 -12
  77. package/fonts/caveat/svg/U+003c.tsx +0 -14
  78. package/fonts/caveat/svg/U+003d.svg +0 -12
  79. package/fonts/caveat/svg/U+003d.tsx +0 -14
  80. package/fonts/caveat/svg/U+003e.svg +0 -12
  81. package/fonts/caveat/svg/U+003e.tsx +0 -14
  82. package/fonts/caveat/svg/U+003f.svg +0 -12
  83. package/fonts/caveat/svg/U+003f.tsx +0 -14
  84. package/fonts/caveat/svg/U+0040.svg +0 -7
  85. package/fonts/caveat/svg/U+0040.tsx +0 -9
  86. package/fonts/caveat/svg/U+005c.svg +0 -7
  87. package/fonts/caveat/svg/U+005c.tsx +0 -9
  88. package/fonts/caveat/svg/U+005e.svg +0 -7
  89. package/fonts/caveat/svg/U+005e.tsx +0 -9
  90. package/fonts/caveat/svg/U+005f.svg +0 -7
  91. package/fonts/caveat/svg/U+005f.tsx +0 -9
  92. package/fonts/caveat/svg/U+0060.svg +0 -7
  93. package/fonts/caveat/svg/U+0060.tsx +0 -9
  94. package/fonts/caveat/svg/U+007c.svg +0 -7
  95. package/fonts/caveat/svg/U+007c.tsx +0 -9
  96. package/fonts/caveat/svg/U+007e.svg +0 -7
  97. package/fonts/caveat/svg/U+007e.tsx +0 -9
  98. package/fonts/caveat/svg/a.svg +0 -7
  99. package/fonts/caveat/svg/a.tsx +0 -9
  100. package/fonts/caveat/svg/b.svg +0 -12
  101. package/fonts/caveat/svg/b.tsx +0 -14
  102. package/fonts/caveat/svg/c.svg +0 -7
  103. package/fonts/caveat/svg/c.tsx +0 -9
  104. package/fonts/caveat/svg/d.svg +0 -12
  105. package/fonts/caveat/svg/d.tsx +0 -14
  106. package/fonts/caveat/svg/e.svg +0 -7
  107. package/fonts/caveat/svg/e.tsx +0 -9
  108. package/fonts/caveat/svg/f.svg +0 -12
  109. package/fonts/caveat/svg/f.tsx +0 -14
  110. package/fonts/caveat/svg/g.svg +0 -15
  111. package/fonts/caveat/svg/g.tsx +0 -17
  112. package/fonts/caveat/svg/h.svg +0 -7
  113. package/fonts/caveat/svg/h.tsx +0 -9
  114. package/fonts/caveat/svg/i.svg +0 -12
  115. package/fonts/caveat/svg/i.tsx +0 -14
  116. package/fonts/caveat/svg/j.svg +0 -12
  117. package/fonts/caveat/svg/j.tsx +0 -14
  118. package/fonts/caveat/svg/k.svg +0 -15
  119. package/fonts/caveat/svg/k.tsx +0 -17
  120. package/fonts/caveat/svg/l.svg +0 -7
  121. package/fonts/caveat/svg/l.tsx +0 -9
  122. package/fonts/caveat/svg/m.svg +0 -17
  123. package/fonts/caveat/svg/m.tsx +0 -19
  124. package/fonts/caveat/svg/n.svg +0 -17
  125. package/fonts/caveat/svg/n.tsx +0 -19
  126. package/fonts/caveat/svg/o.svg +0 -7
  127. package/fonts/caveat/svg/o.tsx +0 -9
  128. package/fonts/caveat/svg/p.svg +0 -12
  129. package/fonts/caveat/svg/p.tsx +0 -14
  130. package/fonts/caveat/svg/q.svg +0 -7
  131. package/fonts/caveat/svg/q.tsx +0 -9
  132. package/fonts/caveat/svg/r.svg +0 -12
  133. package/fonts/caveat/svg/r.tsx +0 -14
  134. package/fonts/caveat/svg/s.svg +0 -7
  135. package/fonts/caveat/svg/s.tsx +0 -9
  136. package/fonts/caveat/svg/t.svg +0 -20
  137. package/fonts/caveat/svg/t.tsx +0 -22
  138. package/fonts/caveat/svg/u.svg +0 -12
  139. package/fonts/caveat/svg/u.tsx +0 -14
  140. package/fonts/caveat/svg/upper_A.svg +0 -12
  141. package/fonts/caveat/svg/upper_A.tsx +0 -14
  142. package/fonts/caveat/svg/upper_B.svg +0 -17
  143. package/fonts/caveat/svg/upper_B.tsx +0 -19
  144. package/fonts/caveat/svg/upper_C.svg +0 -7
  145. package/fonts/caveat/svg/upper_C.tsx +0 -9
  146. package/fonts/caveat/svg/upper_D.svg +0 -12
  147. package/fonts/caveat/svg/upper_D.tsx +0 -14
  148. package/fonts/caveat/svg/upper_E.svg +0 -12
  149. package/fonts/caveat/svg/upper_E.tsx +0 -14
  150. package/fonts/caveat/svg/upper_F.svg +0 -17
  151. package/fonts/caveat/svg/upper_F.tsx +0 -19
  152. package/fonts/caveat/svg/upper_G.svg +0 -7
  153. package/fonts/caveat/svg/upper_G.tsx +0 -9
  154. package/fonts/caveat/svg/upper_H.svg +0 -17
  155. package/fonts/caveat/svg/upper_H.tsx +0 -19
  156. package/fonts/caveat/svg/upper_I.svg +0 -17
  157. package/fonts/caveat/svg/upper_I.tsx +0 -19
  158. package/fonts/caveat/svg/upper_J.svg +0 -7
  159. package/fonts/caveat/svg/upper_J.tsx +0 -9
  160. package/fonts/caveat/svg/upper_K.svg +0 -12
  161. package/fonts/caveat/svg/upper_K.tsx +0 -14
  162. package/fonts/caveat/svg/upper_L.svg +0 -7
  163. package/fonts/caveat/svg/upper_L.tsx +0 -9
  164. package/fonts/caveat/svg/upper_M.svg +0 -17
  165. package/fonts/caveat/svg/upper_M.tsx +0 -19
  166. package/fonts/caveat/svg/upper_N.svg +0 -7
  167. package/fonts/caveat/svg/upper_N.tsx +0 -9
  168. package/fonts/caveat/svg/upper_O.svg +0 -7
  169. package/fonts/caveat/svg/upper_O.tsx +0 -9
  170. package/fonts/caveat/svg/upper_P.svg +0 -12
  171. package/fonts/caveat/svg/upper_P.tsx +0 -14
  172. package/fonts/caveat/svg/upper_Q.svg +0 -15
  173. package/fonts/caveat/svg/upper_Q.tsx +0 -17
  174. package/fonts/caveat/svg/upper_R.svg +0 -12
  175. package/fonts/caveat/svg/upper_R.tsx +0 -14
  176. package/fonts/caveat/svg/upper_S.svg +0 -7
  177. package/fonts/caveat/svg/upper_S.tsx +0 -9
  178. package/fonts/caveat/svg/upper_T.svg +0 -12
  179. package/fonts/caveat/svg/upper_T.tsx +0 -14
  180. package/fonts/caveat/svg/upper_U.svg +0 -15
  181. package/fonts/caveat/svg/upper_U.tsx +0 -17
  182. package/fonts/caveat/svg/upper_V.svg +0 -12
  183. package/fonts/caveat/svg/upper_V.tsx +0 -14
  184. package/fonts/caveat/svg/upper_W.svg +0 -12
  185. package/fonts/caveat/svg/upper_W.tsx +0 -14
  186. package/fonts/caveat/svg/upper_X.svg +0 -12
  187. package/fonts/caveat/svg/upper_X.tsx +0 -14
  188. package/fonts/caveat/svg/upper_Y.svg +0 -12
  189. package/fonts/caveat/svg/upper_Y.tsx +0 -14
  190. package/fonts/caveat/svg/upper_Z.svg +0 -7
  191. package/fonts/caveat/svg/upper_Z.tsx +0 -9
  192. package/fonts/caveat/svg/v.svg +0 -7
  193. package/fonts/caveat/svg/v.tsx +0 -9
  194. package/fonts/caveat/svg/w.svg +0 -12
  195. package/fonts/caveat/svg/w.tsx +0 -14
  196. package/fonts/caveat/svg/x.svg +0 -17
  197. package/fonts/caveat/svg/x.tsx +0 -19
  198. package/fonts/caveat/svg/y.svg +0 -12
  199. package/fonts/caveat/svg/y.tsx +0 -14
  200. package/fonts/caveat/svg/z.svg +0 -7
  201. package/fonts/caveat/svg/z.tsx +0 -9
  202. package/fonts/italianno/font.json +0 -33410
  203. package/fonts/italianno/svg/0.svg +0 -10
  204. package/fonts/italianno/svg/0.tsx +0 -12
  205. package/fonts/italianno/svg/1.svg +0 -17
  206. package/fonts/italianno/svg/1.tsx +0 -19
  207. package/fonts/italianno/svg/2.svg +0 -12
  208. package/fonts/italianno/svg/2.tsx +0 -14
  209. package/fonts/italianno/svg/3.svg +0 -17
  210. package/fonts/italianno/svg/3.tsx +0 -19
  211. package/fonts/italianno/svg/4.svg +0 -22
  212. package/fonts/italianno/svg/4.tsx +0 -24
  213. package/fonts/italianno/svg/5.svg +0 -12
  214. package/fonts/italianno/svg/5.tsx +0 -14
  215. package/fonts/italianno/svg/6.svg +0 -13
  216. package/fonts/italianno/svg/6.tsx +0 -15
  217. package/fonts/italianno/svg/7.svg +0 -12
  218. package/fonts/italianno/svg/7.tsx +0 -14
  219. package/fonts/italianno/svg/8.svg +0 -7
  220. package/fonts/italianno/svg/8.tsx +0 -9
  221. package/fonts/italianno/svg/9.svg +0 -12
  222. package/fonts/italianno/svg/9.tsx +0 -14
  223. package/fonts/italianno/svg/U+0021.svg +0 -12
  224. package/fonts/italianno/svg/U+0021.tsx +0 -14
  225. package/fonts/italianno/svg/U+0022.svg +0 -15
  226. package/fonts/italianno/svg/U+0022.tsx +0 -17
  227. package/fonts/italianno/svg/U+0023.svg +0 -22
  228. package/fonts/italianno/svg/U+0023.tsx +0 -24
  229. package/fonts/italianno/svg/U+0024.svg +0 -25
  230. package/fonts/italianno/svg/U+0024.tsx +0 -27
  231. package/fonts/italianno/svg/U+0025.svg +0 -22
  232. package/fonts/italianno/svg/U+0025.tsx +0 -24
  233. package/fonts/italianno/svg/U+0026.svg +0 -17
  234. package/fonts/italianno/svg/U+0026.tsx +0 -19
  235. package/fonts/italianno/svg/U+0027.svg +0 -7
  236. package/fonts/italianno/svg/U+0027.tsx +0 -9
  237. package/fonts/italianno/svg/U+0028.svg +0 -7
  238. package/fonts/italianno/svg/U+0028.tsx +0 -9
  239. package/fonts/italianno/svg/U+0029.svg +0 -7
  240. package/fonts/italianno/svg/U+0029.tsx +0 -9
  241. package/fonts/italianno/svg/U+002a.svg +0 -22
  242. package/fonts/italianno/svg/U+002a.tsx +0 -24
  243. package/fonts/italianno/svg/U+002b.svg +0 -12
  244. package/fonts/italianno/svg/U+002b.tsx +0 -14
  245. package/fonts/italianno/svg/U+002c.svg +0 -12
  246. package/fonts/italianno/svg/U+002c.tsx +0 -14
  247. package/fonts/italianno/svg/U+002d.svg +0 -7
  248. package/fonts/italianno/svg/U+002d.tsx +0 -9
  249. package/fonts/italianno/svg/U+002e.svg +0 -7
  250. package/fonts/italianno/svg/U+002e.tsx +0 -9
  251. package/fonts/italianno/svg/U+002f.svg +0 -7
  252. package/fonts/italianno/svg/U+002f.tsx +0 -9
  253. package/fonts/italianno/svg/U+003a.svg +0 -12
  254. package/fonts/italianno/svg/U+003a.tsx +0 -14
  255. package/fonts/italianno/svg/U+003b.svg +0 -12
  256. package/fonts/italianno/svg/U+003b.tsx +0 -14
  257. package/fonts/italianno/svg/U+003c.svg +0 -7
  258. package/fonts/italianno/svg/U+003c.tsx +0 -9
  259. package/fonts/italianno/svg/U+003d.svg +0 -12
  260. package/fonts/italianno/svg/U+003d.tsx +0 -14
  261. package/fonts/italianno/svg/U+003e.svg +0 -12
  262. package/fonts/italianno/svg/U+003e.tsx +0 -14
  263. package/fonts/italianno/svg/U+003f.svg +0 -12
  264. package/fonts/italianno/svg/U+003f.tsx +0 -14
  265. package/fonts/italianno/svg/U+0040.svg +0 -15
  266. package/fonts/italianno/svg/U+0040.tsx +0 -17
  267. package/fonts/italianno/svg/U+005c.svg +0 -7
  268. package/fonts/italianno/svg/U+005c.tsx +0 -9
  269. package/fonts/italianno/svg/U+005e.svg +0 -12
  270. package/fonts/italianno/svg/U+005e.tsx +0 -14
  271. package/fonts/italianno/svg/U+005f.svg +0 -3
  272. package/fonts/italianno/svg/U+005f.tsx +0 -5
  273. package/fonts/italianno/svg/U+0060.svg +0 -10
  274. package/fonts/italianno/svg/U+0060.tsx +0 -12
  275. package/fonts/italianno/svg/U+007c.svg +0 -7
  276. package/fonts/italianno/svg/U+007c.tsx +0 -9
  277. package/fonts/italianno/svg/U+007e.svg +0 -7
  278. package/fonts/italianno/svg/U+007e.tsx +0 -9
  279. package/fonts/italianno/svg/a.svg +0 -12
  280. package/fonts/italianno/svg/a.tsx +0 -14
  281. package/fonts/italianno/svg/b.svg +0 -10
  282. package/fonts/italianno/svg/b.tsx +0 -12
  283. package/fonts/italianno/svg/c.svg +0 -10
  284. package/fonts/italianno/svg/c.tsx +0 -12
  285. package/fonts/italianno/svg/d.svg +0 -15
  286. package/fonts/italianno/svg/d.tsx +0 -17
  287. package/fonts/italianno/svg/e.svg +0 -12
  288. package/fonts/italianno/svg/e.tsx +0 -14
  289. package/fonts/italianno/svg/f.svg +0 -12
  290. package/fonts/italianno/svg/f.tsx +0 -14
  291. package/fonts/italianno/svg/g.svg +0 -12
  292. package/fonts/italianno/svg/g.tsx +0 -14
  293. package/fonts/italianno/svg/h.svg +0 -12
  294. package/fonts/italianno/svg/h.tsx +0 -14
  295. package/fonts/italianno/svg/i.svg +0 -17
  296. package/fonts/italianno/svg/i.tsx +0 -19
  297. package/fonts/italianno/svg/j.svg +0 -12
  298. package/fonts/italianno/svg/j.tsx +0 -14
  299. package/fonts/italianno/svg/k.svg +0 -17
  300. package/fonts/italianno/svg/k.tsx +0 -19
  301. package/fonts/italianno/svg/l.svg +0 -15
  302. package/fonts/italianno/svg/l.tsx +0 -17
  303. package/fonts/italianno/svg/m.svg +0 -27
  304. package/fonts/italianno/svg/m.tsx +0 -29
  305. package/fonts/italianno/svg/n.svg +0 -22
  306. package/fonts/italianno/svg/n.tsx +0 -24
  307. package/fonts/italianno/svg/o.svg +0 -20
  308. package/fonts/italianno/svg/o.tsx +0 -22
  309. package/fonts/italianno/svg/p.svg +0 -12
  310. package/fonts/italianno/svg/p.tsx +0 -14
  311. package/fonts/italianno/svg/q.svg +0 -17
  312. package/fonts/italianno/svg/q.tsx +0 -19
  313. package/fonts/italianno/svg/r.svg +0 -22
  314. package/fonts/italianno/svg/r.tsx +0 -24
  315. package/fonts/italianno/svg/s.svg +0 -15
  316. package/fonts/italianno/svg/s.tsx +0 -17
  317. package/fonts/italianno/svg/t.svg +0 -17
  318. package/fonts/italianno/svg/t.tsx +0 -19
  319. package/fonts/italianno/svg/u.svg +0 -12
  320. package/fonts/italianno/svg/u.tsx +0 -14
  321. package/fonts/italianno/svg/upper_A.svg +0 -17
  322. package/fonts/italianno/svg/upper_A.tsx +0 -19
  323. package/fonts/italianno/svg/upper_B.svg +0 -27
  324. package/fonts/italianno/svg/upper_B.tsx +0 -29
  325. package/fonts/italianno/svg/upper_C.svg +0 -7
  326. package/fonts/italianno/svg/upper_C.tsx +0 -9
  327. package/fonts/italianno/svg/upper_D.svg +0 -12
  328. package/fonts/italianno/svg/upper_D.tsx +0 -14
  329. package/fonts/italianno/svg/upper_E.svg +0 -17
  330. package/fonts/italianno/svg/upper_E.tsx +0 -19
  331. package/fonts/italianno/svg/upper_F.svg +0 -17
  332. package/fonts/italianno/svg/upper_F.tsx +0 -19
  333. package/fonts/italianno/svg/upper_G.svg +0 -20
  334. package/fonts/italianno/svg/upper_G.tsx +0 -22
  335. package/fonts/italianno/svg/upper_H.svg +0 -17
  336. package/fonts/italianno/svg/upper_H.tsx +0 -19
  337. package/fonts/italianno/svg/upper_I.svg +0 -12
  338. package/fonts/italianno/svg/upper_I.tsx +0 -14
  339. package/fonts/italianno/svg/upper_J.svg +0 -10
  340. package/fonts/italianno/svg/upper_J.tsx +0 -12
  341. package/fonts/italianno/svg/upper_K.svg +0 -20
  342. package/fonts/italianno/svg/upper_K.tsx +0 -22
  343. package/fonts/italianno/svg/upper_L.svg +0 -12
  344. package/fonts/italianno/svg/upper_L.tsx +0 -14
  345. package/fonts/italianno/svg/upper_M.svg +0 -17
  346. package/fonts/italianno/svg/upper_M.tsx +0 -19
  347. package/fonts/italianno/svg/upper_N.svg +0 -17
  348. package/fonts/italianno/svg/upper_N.tsx +0 -19
  349. package/fonts/italianno/svg/upper_O.svg +0 -17
  350. package/fonts/italianno/svg/upper_O.tsx +0 -19
  351. package/fonts/italianno/svg/upper_P.svg +0 -22
  352. package/fonts/italianno/svg/upper_P.tsx +0 -24
  353. package/fonts/italianno/svg/upper_Q.svg +0 -12
  354. package/fonts/italianno/svg/upper_Q.tsx +0 -14
  355. package/fonts/italianno/svg/upper_R.svg +0 -15
  356. package/fonts/italianno/svg/upper_R.tsx +0 -17
  357. package/fonts/italianno/svg/upper_S.svg +0 -12
  358. package/fonts/italianno/svg/upper_S.tsx +0 -14
  359. package/fonts/italianno/svg/upper_T.svg +0 -17
  360. package/fonts/italianno/svg/upper_T.tsx +0 -19
  361. package/fonts/italianno/svg/upper_U.svg +0 -17
  362. package/fonts/italianno/svg/upper_U.tsx +0 -19
  363. package/fonts/italianno/svg/upper_V.svg +0 -17
  364. package/fonts/italianno/svg/upper_V.tsx +0 -19
  365. package/fonts/italianno/svg/upper_W.svg +0 -17
  366. package/fonts/italianno/svg/upper_W.tsx +0 -19
  367. package/fonts/italianno/svg/upper_X.svg +0 -22
  368. package/fonts/italianno/svg/upper_X.tsx +0 -24
  369. package/fonts/italianno/svg/upper_Y.svg +0 -22
  370. package/fonts/italianno/svg/upper_Y.tsx +0 -24
  371. package/fonts/italianno/svg/upper_Z.svg +0 -12
  372. package/fonts/italianno/svg/upper_Z.tsx +0 -14
  373. package/fonts/italianno/svg/v.svg +0 -17
  374. package/fonts/italianno/svg/v.tsx +0 -19
  375. package/fonts/italianno/svg/w.svg +0 -17
  376. package/fonts/italianno/svg/w.tsx +0 -19
  377. package/fonts/italianno/svg/x.svg +0 -15
  378. package/fonts/italianno/svg/x.tsx +0 -17
  379. package/fonts/italianno/svg/y.svg +0 -12
  380. package/fonts/italianno/svg/y.tsx +0 -14
  381. package/fonts/italianno/svg/z.svg +0 -17
  382. package/fonts/italianno/svg/z.tsx +0 -19
  383. package/fonts/parisienne/font.json +0 -36222
  384. package/fonts/parisienne/svg/0.svg +0 -7
  385. package/fonts/parisienne/svg/0.tsx +0 -9
  386. package/fonts/parisienne/svg/1.svg +0 -12
  387. package/fonts/parisienne/svg/1.tsx +0 -14
  388. package/fonts/parisienne/svg/2.svg +0 -7
  389. package/fonts/parisienne/svg/2.tsx +0 -9
  390. package/fonts/parisienne/svg/3.svg +0 -7
  391. package/fonts/parisienne/svg/3.tsx +0 -9
  392. package/fonts/parisienne/svg/4.svg +0 -17
  393. package/fonts/parisienne/svg/4.tsx +0 -19
  394. package/fonts/parisienne/svg/5.svg +0 -10
  395. package/fonts/parisienne/svg/5.tsx +0 -12
  396. package/fonts/parisienne/svg/6.svg +0 -7
  397. package/fonts/parisienne/svg/6.tsx +0 -9
  398. package/fonts/parisienne/svg/7.svg +0 -12
  399. package/fonts/parisienne/svg/7.tsx +0 -14
  400. package/fonts/parisienne/svg/8.svg +0 -7
  401. package/fonts/parisienne/svg/8.tsx +0 -9
  402. package/fonts/parisienne/svg/9.svg +0 -7
  403. package/fonts/parisienne/svg/9.tsx +0 -9
  404. package/fonts/parisienne/svg/U+0021.svg +0 -10
  405. package/fonts/parisienne/svg/U+0021.tsx +0 -12
  406. package/fonts/parisienne/svg/U+0022.svg +0 -12
  407. package/fonts/parisienne/svg/U+0022.tsx +0 -14
  408. package/fonts/parisienne/svg/U+0023.svg +0 -22
  409. package/fonts/parisienne/svg/U+0023.tsx +0 -24
  410. package/fonts/parisienne/svg/U+0024.svg +0 -15
  411. package/fonts/parisienne/svg/U+0024.tsx +0 -17
  412. package/fonts/parisienne/svg/U+0025.svg +0 -22
  413. package/fonts/parisienne/svg/U+0025.tsx +0 -24
  414. package/fonts/parisienne/svg/U+0026.svg +0 -17
  415. package/fonts/parisienne/svg/U+0026.tsx +0 -19
  416. package/fonts/parisienne/svg/U+0027.svg +0 -7
  417. package/fonts/parisienne/svg/U+0027.tsx +0 -9
  418. package/fonts/parisienne/svg/U+0028.svg +0 -7
  419. package/fonts/parisienne/svg/U+0028.tsx +0 -9
  420. package/fonts/parisienne/svg/U+0029.svg +0 -7
  421. package/fonts/parisienne/svg/U+0029.tsx +0 -9
  422. package/fonts/parisienne/svg/U+002a.svg +0 -22
  423. package/fonts/parisienne/svg/U+002a.tsx +0 -24
  424. package/fonts/parisienne/svg/U+002b.svg +0 -12
  425. package/fonts/parisienne/svg/U+002b.tsx +0 -14
  426. package/fonts/parisienne/svg/U+002c.svg +0 -7
  427. package/fonts/parisienne/svg/U+002c.tsx +0 -9
  428. package/fonts/parisienne/svg/U+002d.svg +0 -7
  429. package/fonts/parisienne/svg/U+002d.tsx +0 -9
  430. package/fonts/parisienne/svg/U+002e.svg +0 -7
  431. package/fonts/parisienne/svg/U+002e.tsx +0 -9
  432. package/fonts/parisienne/svg/U+002f.svg +0 -7
  433. package/fonts/parisienne/svg/U+002f.tsx +0 -9
  434. package/fonts/parisienne/svg/U+003a.svg +0 -8
  435. package/fonts/parisienne/svg/U+003a.tsx +0 -10
  436. package/fonts/parisienne/svg/U+003b.svg +0 -10
  437. package/fonts/parisienne/svg/U+003b.tsx +0 -12
  438. package/fonts/parisienne/svg/U+003c.svg +0 -7
  439. package/fonts/parisienne/svg/U+003c.tsx +0 -9
  440. package/fonts/parisienne/svg/U+003d.svg +0 -12
  441. package/fonts/parisienne/svg/U+003d.tsx +0 -14
  442. package/fonts/parisienne/svg/U+003e.svg +0 -7
  443. package/fonts/parisienne/svg/U+003e.tsx +0 -9
  444. package/fonts/parisienne/svg/U+003f.svg +0 -10
  445. package/fonts/parisienne/svg/U+003f.tsx +0 -12
  446. package/fonts/parisienne/svg/U+0040.svg +0 -15
  447. package/fonts/parisienne/svg/U+0040.tsx +0 -17
  448. package/fonts/parisienne/svg/U+005c.svg +0 -7
  449. package/fonts/parisienne/svg/U+005c.tsx +0 -9
  450. package/fonts/parisienne/svg/U+005e.svg +0 -7
  451. package/fonts/parisienne/svg/U+005e.tsx +0 -9
  452. package/fonts/parisienne/svg/U+005f.svg +0 -7
  453. package/fonts/parisienne/svg/U+005f.tsx +0 -9
  454. package/fonts/parisienne/svg/U+0060.svg +0 -10
  455. package/fonts/parisienne/svg/U+0060.tsx +0 -12
  456. package/fonts/parisienne/svg/U+007c.svg +0 -7
  457. package/fonts/parisienne/svg/U+007c.tsx +0 -9
  458. package/fonts/parisienne/svg/U+007e.svg +0 -7
  459. package/fonts/parisienne/svg/U+007e.tsx +0 -9
  460. package/fonts/parisienne/svg/a.svg +0 -15
  461. package/fonts/parisienne/svg/a.tsx +0 -17
  462. package/fonts/parisienne/svg/b.svg +0 -7
  463. package/fonts/parisienne/svg/b.tsx +0 -9
  464. package/fonts/parisienne/svg/c.svg +0 -12
  465. package/fonts/parisienne/svg/c.tsx +0 -14
  466. package/fonts/parisienne/svg/d.svg +0 -12
  467. package/fonts/parisienne/svg/d.tsx +0 -14
  468. package/fonts/parisienne/svg/e.svg +0 -17
  469. package/fonts/parisienne/svg/e.tsx +0 -19
  470. package/fonts/parisienne/svg/f.svg +0 -12
  471. package/fonts/parisienne/svg/f.tsx +0 -14
  472. package/fonts/parisienne/svg/g.svg +0 -10
  473. package/fonts/parisienne/svg/g.tsx +0 -12
  474. package/fonts/parisienne/svg/h.svg +0 -12
  475. package/fonts/parisienne/svg/h.tsx +0 -14
  476. package/fonts/parisienne/svg/i.svg +0 -12
  477. package/fonts/parisienne/svg/i.tsx +0 -14
  478. package/fonts/parisienne/svg/j.svg +0 -17
  479. package/fonts/parisienne/svg/j.tsx +0 -19
  480. package/fonts/parisienne/svg/k.svg +0 -17
  481. package/fonts/parisienne/svg/k.tsx +0 -19
  482. package/fonts/parisienne/svg/l.svg +0 -7
  483. package/fonts/parisienne/svg/l.tsx +0 -9
  484. package/fonts/parisienne/svg/m.svg +0 -17
  485. package/fonts/parisienne/svg/m.tsx +0 -19
  486. package/fonts/parisienne/svg/n.svg +0 -12
  487. package/fonts/parisienne/svg/n.tsx +0 -14
  488. package/fonts/parisienne/svg/o.svg +0 -15
  489. package/fonts/parisienne/svg/o.tsx +0 -17
  490. package/fonts/parisienne/svg/p.svg +0 -12
  491. package/fonts/parisienne/svg/p.tsx +0 -14
  492. package/fonts/parisienne/svg/q.svg +0 -12
  493. package/fonts/parisienne/svg/q.tsx +0 -14
  494. package/fonts/parisienne/svg/r.svg +0 -7
  495. package/fonts/parisienne/svg/r.tsx +0 -9
  496. package/fonts/parisienne/svg/s.svg +0 -17
  497. package/fonts/parisienne/svg/s.tsx +0 -19
  498. package/fonts/parisienne/svg/t.svg +0 -20
  499. package/fonts/parisienne/svg/t.tsx +0 -22
  500. package/fonts/parisienne/svg/u.svg +0 -12
  501. package/fonts/parisienne/svg/u.tsx +0 -14
  502. package/fonts/parisienne/svg/upper_A.svg +0 -10
  503. package/fonts/parisienne/svg/upper_A.tsx +0 -12
  504. package/fonts/parisienne/svg/upper_B.svg +0 -12
  505. package/fonts/parisienne/svg/upper_B.tsx +0 -14
  506. package/fonts/parisienne/svg/upper_C.svg +0 -7
  507. package/fonts/parisienne/svg/upper_C.tsx +0 -9
  508. package/fonts/parisienne/svg/upper_D.svg +0 -7
  509. package/fonts/parisienne/svg/upper_D.tsx +0 -9
  510. package/fonts/parisienne/svg/upper_E.svg +0 -10
  511. package/fonts/parisienne/svg/upper_E.tsx +0 -12
  512. package/fonts/parisienne/svg/upper_F.svg +0 -22
  513. package/fonts/parisienne/svg/upper_F.tsx +0 -24
  514. package/fonts/parisienne/svg/upper_G.svg +0 -15
  515. package/fonts/parisienne/svg/upper_G.tsx +0 -17
  516. package/fonts/parisienne/svg/upper_H.svg +0 -15
  517. package/fonts/parisienne/svg/upper_H.tsx +0 -17
  518. package/fonts/parisienne/svg/upper_I.svg +0 -15
  519. package/fonts/parisienne/svg/upper_I.tsx +0 -17
  520. package/fonts/parisienne/svg/upper_J.svg +0 -15
  521. package/fonts/parisienne/svg/upper_J.tsx +0 -17
  522. package/fonts/parisienne/svg/upper_K.svg +0 -12
  523. package/fonts/parisienne/svg/upper_K.tsx +0 -14
  524. package/fonts/parisienne/svg/upper_L.svg +0 -7
  525. package/fonts/parisienne/svg/upper_L.tsx +0 -9
  526. package/fonts/parisienne/svg/upper_M.svg +0 -15
  527. package/fonts/parisienne/svg/upper_M.tsx +0 -17
  528. package/fonts/parisienne/svg/upper_N.svg +0 -12
  529. package/fonts/parisienne/svg/upper_N.tsx +0 -14
  530. package/fonts/parisienne/svg/upper_O.svg +0 -7
  531. package/fonts/parisienne/svg/upper_O.tsx +0 -9
  532. package/fonts/parisienne/svg/upper_P.svg +0 -12
  533. package/fonts/parisienne/svg/upper_P.tsx +0 -14
  534. package/fonts/parisienne/svg/upper_Q.svg +0 -15
  535. package/fonts/parisienne/svg/upper_Q.tsx +0 -17
  536. package/fonts/parisienne/svg/upper_R.svg +0 -12
  537. package/fonts/parisienne/svg/upper_R.tsx +0 -14
  538. package/fonts/parisienne/svg/upper_S.svg +0 -7
  539. package/fonts/parisienne/svg/upper_S.tsx +0 -9
  540. package/fonts/parisienne/svg/upper_T.svg +0 -12
  541. package/fonts/parisienne/svg/upper_T.tsx +0 -14
  542. package/fonts/parisienne/svg/upper_U.svg +0 -17
  543. package/fonts/parisienne/svg/upper_U.tsx +0 -19
  544. package/fonts/parisienne/svg/upper_V.svg +0 -7
  545. package/fonts/parisienne/svg/upper_V.tsx +0 -9
  546. package/fonts/parisienne/svg/upper_W.svg +0 -12
  547. package/fonts/parisienne/svg/upper_W.tsx +0 -14
  548. package/fonts/parisienne/svg/upper_X.svg +0 -27
  549. package/fonts/parisienne/svg/upper_X.tsx +0 -29
  550. package/fonts/parisienne/svg/upper_Y.svg +0 -15
  551. package/fonts/parisienne/svg/upper_Y.tsx +0 -17
  552. package/fonts/parisienne/svg/upper_Z.svg +0 -12
  553. package/fonts/parisienne/svg/upper_Z.tsx +0 -14
  554. package/fonts/parisienne/svg/v.svg +0 -7
  555. package/fonts/parisienne/svg/v.tsx +0 -9
  556. package/fonts/parisienne/svg/w.svg +0 -17
  557. package/fonts/parisienne/svg/w.tsx +0 -19
  558. package/fonts/parisienne/svg/x.svg +0 -17
  559. package/fonts/parisienne/svg/x.tsx +0 -19
  560. package/fonts/parisienne/svg/y.svg +0 -17
  561. package/fonts/parisienne/svg/y.tsx +0 -19
  562. package/fonts/parisienne/svg/z.svg +0 -12
  563. package/fonts/parisienne/svg/z.tsx +0 -14
  564. package/fonts/tangerine/font.json +0 -31512
  565. package/fonts/tangerine/svg/0.svg +0 -7
  566. package/fonts/tangerine/svg/0.tsx +0 -9
  567. package/fonts/tangerine/svg/1.svg +0 -12
  568. package/fonts/tangerine/svg/1.tsx +0 -14
  569. package/fonts/tangerine/svg/2.svg +0 -12
  570. package/fonts/tangerine/svg/2.tsx +0 -14
  571. package/fonts/tangerine/svg/3.svg +0 -12
  572. package/fonts/tangerine/svg/3.tsx +0 -14
  573. package/fonts/tangerine/svg/4.svg +0 -12
  574. package/fonts/tangerine/svg/4.tsx +0 -14
  575. package/fonts/tangerine/svg/5.svg +0 -7
  576. package/fonts/tangerine/svg/5.tsx +0 -9
  577. package/fonts/tangerine/svg/6.svg +0 -7
  578. package/fonts/tangerine/svg/6.tsx +0 -9
  579. package/fonts/tangerine/svg/7.svg +0 -12
  580. package/fonts/tangerine/svg/7.tsx +0 -14
  581. package/fonts/tangerine/svg/8.svg +0 -7
  582. package/fonts/tangerine/svg/8.tsx +0 -9
  583. package/fonts/tangerine/svg/9.svg +0 -7
  584. package/fonts/tangerine/svg/9.tsx +0 -9
  585. package/fonts/tangerine/svg/U+0021.svg +0 -12
  586. package/fonts/tangerine/svg/U+0021.tsx +0 -14
  587. package/fonts/tangerine/svg/U+0022.svg +0 -12
  588. package/fonts/tangerine/svg/U+0022.tsx +0 -14
  589. package/fonts/tangerine/svg/U+0023.svg +0 -22
  590. package/fonts/tangerine/svg/U+0023.tsx +0 -24
  591. package/fonts/tangerine/svg/U+0024.svg +0 -12
  592. package/fonts/tangerine/svg/U+0024.tsx +0 -14
  593. package/fonts/tangerine/svg/U+0025.svg +0 -17
  594. package/fonts/tangerine/svg/U+0025.tsx +0 -19
  595. package/fonts/tangerine/svg/U+0026.svg +0 -7
  596. package/fonts/tangerine/svg/U+0026.tsx +0 -9
  597. package/fonts/tangerine/svg/U+0027.svg +0 -7
  598. package/fonts/tangerine/svg/U+0027.tsx +0 -9
  599. package/fonts/tangerine/svg/U+0028.svg +0 -7
  600. package/fonts/tangerine/svg/U+0028.tsx +0 -9
  601. package/fonts/tangerine/svg/U+0029.svg +0 -7
  602. package/fonts/tangerine/svg/U+0029.tsx +0 -9
  603. package/fonts/tangerine/svg/U+002a.svg +0 -17
  604. package/fonts/tangerine/svg/U+002a.tsx +0 -19
  605. package/fonts/tangerine/svg/U+002b.svg +0 -12
  606. package/fonts/tangerine/svg/U+002b.tsx +0 -14
  607. package/fonts/tangerine/svg/U+002c.svg +0 -10
  608. package/fonts/tangerine/svg/U+002c.tsx +0 -12
  609. package/fonts/tangerine/svg/U+002d.svg +0 -7
  610. package/fonts/tangerine/svg/U+002d.tsx +0 -9
  611. package/fonts/tangerine/svg/U+002e.svg +0 -10
  612. package/fonts/tangerine/svg/U+002e.tsx +0 -12
  613. package/fonts/tangerine/svg/U+002f.svg +0 -7
  614. package/fonts/tangerine/svg/U+002f.tsx +0 -9
  615. package/fonts/tangerine/svg/U+003a.svg +0 -12
  616. package/fonts/tangerine/svg/U+003a.tsx +0 -14
  617. package/fonts/tangerine/svg/U+003b.svg +0 -12
  618. package/fonts/tangerine/svg/U+003b.tsx +0 -14
  619. package/fonts/tangerine/svg/U+003c.svg +0 -12
  620. package/fonts/tangerine/svg/U+003c.tsx +0 -14
  621. package/fonts/tangerine/svg/U+003d.svg +0 -12
  622. package/fonts/tangerine/svg/U+003d.tsx +0 -14
  623. package/fonts/tangerine/svg/U+003e.svg +0 -12
  624. package/fonts/tangerine/svg/U+003e.tsx +0 -14
  625. package/fonts/tangerine/svg/U+003f.svg +0 -12
  626. package/fonts/tangerine/svg/U+003f.tsx +0 -14
  627. package/fonts/tangerine/svg/U+0040.svg +0 -15
  628. package/fonts/tangerine/svg/U+0040.tsx +0 -17
  629. package/fonts/tangerine/svg/U+005c.svg +0 -7
  630. package/fonts/tangerine/svg/U+005c.tsx +0 -9
  631. package/fonts/tangerine/svg/U+005e.svg +0 -12
  632. package/fonts/tangerine/svg/U+005e.tsx +0 -14
  633. package/fonts/tangerine/svg/U+005f.svg +0 -7
  634. package/fonts/tangerine/svg/U+005f.tsx +0 -9
  635. package/fonts/tangerine/svg/U+0060.svg +0 -7
  636. package/fonts/tangerine/svg/U+0060.tsx +0 -9
  637. package/fonts/tangerine/svg/U+007c.svg +0 -7
  638. package/fonts/tangerine/svg/U+007c.tsx +0 -9
  639. package/fonts/tangerine/svg/U+007e.svg +0 -7
  640. package/fonts/tangerine/svg/U+007e.tsx +0 -9
  641. package/fonts/tangerine/svg/a.svg +0 -12
  642. package/fonts/tangerine/svg/a.tsx +0 -14
  643. package/fonts/tangerine/svg/b.svg +0 -7
  644. package/fonts/tangerine/svg/b.tsx +0 -9
  645. package/fonts/tangerine/svg/c.svg +0 -7
  646. package/fonts/tangerine/svg/c.tsx +0 -9
  647. package/fonts/tangerine/svg/d.svg +0 -12
  648. package/fonts/tangerine/svg/d.tsx +0 -14
  649. package/fonts/tangerine/svg/e.svg +0 -15
  650. package/fonts/tangerine/svg/e.tsx +0 -17
  651. package/fonts/tangerine/svg/f.svg +0 -15
  652. package/fonts/tangerine/svg/f.tsx +0 -17
  653. package/fonts/tangerine/svg/g.svg +0 -12
  654. package/fonts/tangerine/svg/g.tsx +0 -14
  655. package/fonts/tangerine/svg/h.svg +0 -12
  656. package/fonts/tangerine/svg/h.tsx +0 -14
  657. package/fonts/tangerine/svg/i.svg +0 -15
  658. package/fonts/tangerine/svg/i.tsx +0 -17
  659. package/fonts/tangerine/svg/j.svg +0 -12
  660. package/fonts/tangerine/svg/j.tsx +0 -14
  661. package/fonts/tangerine/svg/k.svg +0 -12
  662. package/fonts/tangerine/svg/k.tsx +0 -14
  663. package/fonts/tangerine/svg/l.svg +0 -7
  664. package/fonts/tangerine/svg/l.tsx +0 -9
  665. package/fonts/tangerine/svg/m.svg +0 -17
  666. package/fonts/tangerine/svg/m.tsx +0 -19
  667. package/fonts/tangerine/svg/n.svg +0 -12
  668. package/fonts/tangerine/svg/n.tsx +0 -14
  669. package/fonts/tangerine/svg/o.svg +0 -12
  670. package/fonts/tangerine/svg/o.tsx +0 -14
  671. package/fonts/tangerine/svg/p.svg +0 -17
  672. package/fonts/tangerine/svg/p.tsx +0 -19
  673. package/fonts/tangerine/svg/q.svg +0 -15
  674. package/fonts/tangerine/svg/q.tsx +0 -17
  675. package/fonts/tangerine/svg/r.svg +0 -17
  676. package/fonts/tangerine/svg/r.tsx +0 -19
  677. package/fonts/tangerine/svg/s.svg +0 -10
  678. package/fonts/tangerine/svg/s.tsx +0 -12
  679. package/fonts/tangerine/svg/t.svg +0 -17
  680. package/fonts/tangerine/svg/t.tsx +0 -19
  681. package/fonts/tangerine/svg/u.svg +0 -17
  682. package/fonts/tangerine/svg/u.tsx +0 -19
  683. package/fonts/tangerine/svg/upper_A.svg +0 -20
  684. package/fonts/tangerine/svg/upper_A.tsx +0 -22
  685. package/fonts/tangerine/svg/upper_B.svg +0 -17
  686. package/fonts/tangerine/svg/upper_B.tsx +0 -19
  687. package/fonts/tangerine/svg/upper_C.svg +0 -7
  688. package/fonts/tangerine/svg/upper_C.tsx +0 -9
  689. package/fonts/tangerine/svg/upper_D.svg +0 -12
  690. package/fonts/tangerine/svg/upper_D.tsx +0 -14
  691. package/fonts/tangerine/svg/upper_E.svg +0 -7
  692. package/fonts/tangerine/svg/upper_E.tsx +0 -9
  693. package/fonts/tangerine/svg/upper_F.svg +0 -17
  694. package/fonts/tangerine/svg/upper_F.tsx +0 -19
  695. package/fonts/tangerine/svg/upper_G.svg +0 -12
  696. package/fonts/tangerine/svg/upper_G.tsx +0 -14
  697. package/fonts/tangerine/svg/upper_H.svg +0 -12
  698. package/fonts/tangerine/svg/upper_H.tsx +0 -14
  699. package/fonts/tangerine/svg/upper_I.svg +0 -7
  700. package/fonts/tangerine/svg/upper_I.tsx +0 -9
  701. package/fonts/tangerine/svg/upper_J.svg +0 -7
  702. package/fonts/tangerine/svg/upper_J.tsx +0 -9
  703. package/fonts/tangerine/svg/upper_K.svg +0 -17
  704. package/fonts/tangerine/svg/upper_K.tsx +0 -19
  705. package/fonts/tangerine/svg/upper_L.svg +0 -7
  706. package/fonts/tangerine/svg/upper_L.tsx +0 -9
  707. package/fonts/tangerine/svg/upper_M.svg +0 -12
  708. package/fonts/tangerine/svg/upper_M.tsx +0 -14
  709. package/fonts/tangerine/svg/upper_N.svg +0 -15
  710. package/fonts/tangerine/svg/upper_N.tsx +0 -17
  711. package/fonts/tangerine/svg/upper_O.svg +0 -7
  712. package/fonts/tangerine/svg/upper_O.tsx +0 -9
  713. package/fonts/tangerine/svg/upper_P.svg +0 -12
  714. package/fonts/tangerine/svg/upper_P.tsx +0 -14
  715. package/fonts/tangerine/svg/upper_Q.svg +0 -12
  716. package/fonts/tangerine/svg/upper_Q.tsx +0 -14
  717. package/fonts/tangerine/svg/upper_R.svg +0 -12
  718. package/fonts/tangerine/svg/upper_R.tsx +0 -14
  719. package/fonts/tangerine/svg/upper_S.svg +0 -7
  720. package/fonts/tangerine/svg/upper_S.tsx +0 -9
  721. package/fonts/tangerine/svg/upper_T.svg +0 -7
  722. package/fonts/tangerine/svg/upper_T.tsx +0 -9
  723. package/fonts/tangerine/svg/upper_U.svg +0 -12
  724. package/fonts/tangerine/svg/upper_U.tsx +0 -14
  725. package/fonts/tangerine/svg/upper_V.svg +0 -12
  726. package/fonts/tangerine/svg/upper_V.tsx +0 -14
  727. package/fonts/tangerine/svg/upper_W.svg +0 -17
  728. package/fonts/tangerine/svg/upper_W.tsx +0 -19
  729. package/fonts/tangerine/svg/upper_X.svg +0 -12
  730. package/fonts/tangerine/svg/upper_X.tsx +0 -14
  731. package/fonts/tangerine/svg/upper_Y.svg +0 -12
  732. package/fonts/tangerine/svg/upper_Y.tsx +0 -14
  733. package/fonts/tangerine/svg/upper_Z.svg +0 -17
  734. package/fonts/tangerine/svg/upper_Z.tsx +0 -19
  735. package/fonts/tangerine/svg/v.svg +0 -12
  736. package/fonts/tangerine/svg/v.tsx +0 -14
  737. package/fonts/tangerine/svg/w.svg +0 -25
  738. package/fonts/tangerine/svg/w.tsx +0 -27
  739. package/fonts/tangerine/svg/x.svg +0 -17
  740. package/fonts/tangerine/svg/x.tsx +0 -19
  741. package/fonts/tangerine/svg/y.svg +0 -12
  742. package/fonts/tangerine/svg/y.tsx +0 -14
  743. package/fonts/tangerine/svg/z.svg +0 -20
  744. package/fonts/tangerine/svg/z.tsx +0 -22
package/dist/index.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { useCallback, useEffect, useLayoutEffect, useMemo, useRef, useState } from "react";
1
+ import { useEffect, useImperativeHandle, useLayoutEffect, useMemo, useRef, useState } from "react";
2
2
  import { layoutWithLines, prepareWithSegments } from "@chenglou/pretext";
3
3
  import { jsx, jsxs } from "react/jsx-runtime";
4
4
  //#region src/lib/effects.ts
@@ -179,20 +179,20 @@ function drawGlyph(ctx, glyph, pos, localTime, lineCap, color, effects = [], see
179
179
  if (taperEnd > 0 && progress > 1 - taperEnd) m = Math.min(m, (1 - progress) / taperEnd);
180
180
  return m;
181
181
  };
182
- for (const stroke of glyph.strokes) {
183
- if (localTime < stroke.delay) continue;
184
- const elapsed = localTime - stroke.delay;
185
- const progress = Math.min(elapsed / stroke.animationDuration, 1);
186
- const pts = stroke.points;
182
+ for (const stroke of glyph.s) {
183
+ if (localTime < stroke.d) continue;
184
+ const elapsed = localTime - stroke.d;
185
+ const progress = Math.min(elapsed / stroke.a, 1);
186
+ const pts = stroke.p;
187
187
  if (pts.length === 0) continue;
188
- const avgWidth = pts.reduce((s, p) => s + p.width, 0) / pts.length;
188
+ const avgWidth = pts.reduce((s, p) => s + p[2], 0) / pts.length;
189
189
  const baseLineWidth = Math.max(avgWidth, .5) * scale;
190
190
  if (pts.length === 1) {
191
191
  if (progress <= 0) continue;
192
192
  const p = pts[0];
193
- const dotX = px(wobbleX(p.x, p.y, 0));
194
- const dotY = py(wobbleY(p.x, p.y, 0));
195
- let dotWidth = baseLineWidth + (Math.max(p.width, .5) * scale - baseLineWidth) * pressureAmount;
193
+ const dotX = px(wobbleX(p[0], p[1], 0));
194
+ const dotY = py(wobbleY(p[0], p[1], 0));
195
+ let dotWidth = baseLineWidth + (Math.max(p[2], .5) * scale - baseLineWidth) * pressureAmount;
196
196
  dotWidth *= taperMultiplier(.5);
197
197
  for (const glow of glowEffects) {
198
198
  ctx.save();
@@ -217,8 +217,8 @@ function drawGlyph(ctx, glyph, pos, localTime, lineCap, color, effects = [], see
217
217
  }
218
218
  let totalLen = 0;
219
219
  for (let j = 1; j < pts.length; j++) {
220
- const dx = pts[j].x - pts[j - 1].x;
221
- const dy = pts[j].y - pts[j - 1].y;
220
+ const dx = pts[j][0] - pts[j - 1][0];
221
+ const dy = pts[j][1] - pts[j - 1][1];
222
222
  totalLen += Math.sqrt(dx * dx + dy * dy);
223
223
  }
224
224
  const drawLen = totalLen * progress;
@@ -228,32 +228,32 @@ function drawGlyph(ctx, glyph, pos, localTime, lineCap, color, effects = [], see
228
228
  for (let j = 1; j < pts.length; j++) {
229
229
  const prev = pts[j - 1];
230
230
  const cur = pts[j];
231
- const dx = cur.x - prev.x;
232
- const dy = cur.y - prev.y;
231
+ const dx = cur[0] - prev[0];
232
+ const dy = cur[1] - prev[1];
233
233
  const segLen = Math.sqrt(dx * dx + dy * dy);
234
234
  if (accumulated + segLen <= drawLen) {
235
235
  segments.push({
236
- x0: px(wobbleX(prev.x, prev.y, j - 1)),
237
- y0: py(wobbleY(prev.x, prev.y, j - 1)),
238
- x1: px(wobbleX(cur.x, cur.y, j)),
239
- y1: py(wobbleY(cur.x, cur.y, j)),
240
- width0: prev.width,
241
- width1: cur.width,
236
+ x0: px(wobbleX(prev[0], prev[1], j - 1)),
237
+ y0: py(wobbleY(prev[0], prev[1], j - 1)),
238
+ x1: px(wobbleX(cur[0], cur[1], j)),
239
+ y1: py(wobbleY(cur[0], cur[1], j)),
240
+ width0: prev[2],
241
+ width1: cur[2],
242
242
  segProgress: (accumulated + segLen / 2) / totalLen
243
243
  });
244
244
  accumulated += segLen;
245
245
  } else {
246
246
  const remaining = drawLen - accumulated;
247
247
  const frac = segLen > 0 ? remaining / segLen : 0;
248
- const ix = prev.x + dx * frac;
249
- const iy = prev.y + dy * frac;
250
- const iw = prev.width + (cur.width - prev.width) * frac;
248
+ const ix = prev[0] + dx * frac;
249
+ const iy = prev[1] + dy * frac;
250
+ const iw = prev[2] + (cur[2] - prev[2]) * frac;
251
251
  segments.push({
252
- x0: px(wobbleX(prev.x, prev.y, j - 1)),
253
- y0: py(wobbleY(prev.x, prev.y, j - 1)),
252
+ x0: px(wobbleX(prev[0], prev[1], j - 1)),
253
+ y0: py(wobbleY(prev[0], prev[1], j - 1)),
254
254
  x1: px(wobbleX(ix, iy, j)),
255
255
  y1: py(wobbleY(ix, iy, j)),
256
- width0: prev.width,
256
+ width0: prev[2],
257
257
  width1: iw,
258
258
  segProgress: (accumulated + remaining / 2) / totalLen
259
259
  });
@@ -488,13 +488,14 @@ function computeTimeline(text, font, config) {
488
488
  const entries = [];
489
489
  let offset = 0;
490
490
  for (const char of chars) {
491
- const hasSvg = char in font.glyphs;
492
- const duration = hasSvg ? font.glyphTimings[char] ?? 1 : unknownDuration;
491
+ const glyph = font.glyphData[char];
492
+ const hasGlyph = !!glyph;
493
+ const duration = hasGlyph ? glyph.t ?? 1 : unknownDuration;
493
494
  entries.push({
494
495
  char,
495
496
  offset,
496
497
  duration,
497
- hasSvg
498
+ hasGlyph
498
499
  });
499
500
  offset += duration;
500
501
  if (char === "\n") offset += lineGap;
@@ -530,7 +531,7 @@ if (typeof CSS !== "undefined" && "registerProperty" in CSS) for (const prop of
530
531
  initialValue: "0"
531
532
  });
532
533
  } catch {}
533
- function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode = "canvas", effects, segmentSize, timing, showOverlay, ...props }) {
534
+ function TegakiRenderer({ ref, font, text, children, time: timeProp, onComplete, effects, segmentSize, timing, showOverlay, ...props }) {
534
535
  const resolvedText = text ?? coerceToString(children);
535
536
  const resolvedEffects = useMemo(() => resolveEffects(effects), [effects]);
536
537
  const [seed] = useState(() => Math.random() * 1e3);
@@ -543,24 +544,56 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
543
544
  const controlledTime = timeControl.mode === "controlled" ? timeControl.value : void 0;
544
545
  const defaultTime = timeControl.mode === "uncontrolled" ? timeControl.initialTime ?? 0 : 0;
545
546
  const speed = timeControl.mode === "uncontrolled" ? timeControl.speed ?? 1 : 1;
546
- const playing = timeControl.mode === "uncontrolled" ? timeControl.playing ?? true : false;
547
+ const propPlaying = timeControl.mode === "uncontrolled" ? timeControl.playing ?? true : false;
547
548
  const loop = timeControl.mode === "uncontrolled" ? timeControl.loop ?? false : false;
548
549
  const catchUp = timeControl.mode === "uncontrolled" ? timeControl.catchUp ?? 0 : 0;
549
550
  const onTimeChange = timeControl.mode === "uncontrolled" ? timeControl.onTimeChange : void 0;
551
+ const [playingOverride, setPlayingOverride] = useState(void 0);
552
+ const playing = playingOverride ?? propPlaying;
553
+ const prevPropPlaying = useRef(propPlaying);
554
+ if (prevPropPlaying.current !== propPlaying) {
555
+ prevPropPlaying.current = propPlaying;
556
+ setPlayingOverride(void 0);
557
+ }
550
558
  const [internalTime, setInternalTime] = useState(defaultTime);
551
559
  const [cssTime, setCssTime] = useState(0);
552
560
  const currentTime = isCss ? cssTime : isControlled ? controlledTime : internalTime;
561
+ const currentTimeRef = useRef(currentTime);
562
+ currentTimeRef.current = currentTime;
563
+ const playingRef = useRef(playing);
564
+ playingRef.current = playing;
565
+ const isControlledRef = useRef(isControlled);
566
+ isControlledRef.current = isControlled;
553
567
  const onTimeChangeRef = useRef(onTimeChange);
554
568
  onTimeChangeRef.current = onTimeChange;
555
569
  const onCompleteRef = useRef(onComplete);
556
570
  onCompleteRef.current = onComplete;
571
+ const [fontReady, setFontReady] = useState(() => !!font && document.fonts.check(`16px "${font?.family}"`));
572
+ useEffect(() => {
573
+ if (!font) {
574
+ setFontReady(false);
575
+ return;
576
+ }
577
+ if (document.fonts.check(`16px "${font.family}"`)) {
578
+ setFontReady(true);
579
+ return;
580
+ }
581
+ setFontReady(false);
582
+ let cancelled = false;
583
+ font.registerFontFace().then(() => {
584
+ if (!cancelled) setFontReady(true);
585
+ });
586
+ return () => {
587
+ cancelled = true;
588
+ };
589
+ }, [font]);
557
590
  const fontFamily = font?.family;
558
591
  const emHeight = font ? (font.ascender - font.descender) / font.unitsPerEm : 0;
559
- const baselineOffset = font ? font.descender / font.unitsPerEm : 0;
560
592
  const rootRef = useRef(null);
561
593
  const [containerWidth, setContainerWidth] = useState(0);
562
594
  const [fontSize, setFontSize] = useState(0);
563
595
  const [lineHeight, setLineHeight] = useState(0);
596
+ const [currentColor, setCurrentColor] = useState("");
564
597
  const timeline = useMemo(() => font && resolvedText ? computeTimeline(resolvedText, font, timing) : {
565
598
  entries: [],
566
599
  totalDuration: 0
@@ -580,11 +613,33 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
580
613
  onCompleteRef.current?.();
581
614
  } else if (!isComplete) prevCompletedRef.current = false;
582
615
  });
616
+ useImperativeHandle(ref, () => ({
617
+ getElement: () => rootRef.current,
618
+ getCurrentTime: () => currentTimeRef.current,
619
+ getDuration: () => totalDurationRef.current,
620
+ getIsPlaying: () => playingRef.current,
621
+ getIsComplete: () => totalDurationRef.current > 0 && currentTimeRef.current >= totalDurationRef.current,
622
+ play: () => {
623
+ if (!isControlledRef.current) setPlayingOverride(true);
624
+ },
625
+ pause: () => {
626
+ if (!isControlledRef.current) setPlayingOverride(false);
627
+ },
628
+ seek: (time) => {
629
+ if (!isControlledRef.current) setInternalTime(Math.max(0, Math.min(time, totalDurationRef.current)));
630
+ },
631
+ restart: () => {
632
+ if (!isControlledRef.current) {
633
+ setInternalTime(0);
634
+ setPlayingOverride(true);
635
+ }
636
+ }
637
+ }), []);
583
638
  useEffect(() => {
584
639
  if (!isControlled) onTimeChangeRef.current?.(internalTime);
585
640
  }, [internalTime, isControlled]);
586
641
  useEffect(() => {
587
- if (isControlled || !playing || !font) return;
642
+ if (isControlled || !playing || !font || !fontReady) return;
588
643
  smoothedBoostRef.current = 0;
589
644
  let lastTs = null;
590
645
  let raf;
@@ -622,32 +677,9 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
622
677
  speed,
623
678
  loop,
624
679
  catchUp,
625
- font
680
+ font,
681
+ fontReady
626
682
  ]);
627
- const svgRefs = useRef(/* @__PURE__ */ new Map());
628
- const svgRefCallbacks = useRef(/* @__PURE__ */ new Map());
629
- const makeSvgRef = useCallback((charIdx) => (node) => {
630
- if (node) {
631
- node.pauseAnimations();
632
- svgRefs.current.set(charIdx, node);
633
- } else svgRefs.current.delete(charIdx);
634
- }, []);
635
- const getSvgRef = useCallback((charIdx) => {
636
- let cb = svgRefCallbacks.current.get(charIdx);
637
- if (!cb) {
638
- cb = makeSvgRef(charIdx);
639
- svgRefCallbacks.current.set(charIdx, cb);
640
- }
641
- return cb;
642
- }, [makeSvgRef]);
643
- const prevFontRef = useRef(font);
644
- const prevModeRef = useRef(mode);
645
- if (prevFontRef.current !== font || prevModeRef.current !== mode) {
646
- prevFontRef.current = font;
647
- prevModeRef.current = mode;
648
- svgRefs.current.clear();
649
- svgRefCallbacks.current.clear();
650
- }
651
683
  useEffect(() => {
652
684
  const el = rootRef.current;
653
685
  if (!el) return;
@@ -657,6 +689,7 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
657
689
  const styles = getComputedStyle(el);
658
690
  setFontSize(Number.parseFloat(styles.fontSize));
659
691
  setLineHeight(Number.parseFloat(styles.lineHeight));
692
+ setCurrentColor(styles.color);
660
693
  }
661
694
  });
662
695
  ro.observe(el);
@@ -672,15 +705,17 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
672
705
  setFontSize(Number.parseFloat(styles.fontSize));
673
706
  setLineHeight(Number.parseFloat(styles.lineHeight));
674
707
  }
708
+ if (e.propertyName === "color") setCurrentColor(styles.color);
675
709
  if (e.propertyName === CSS_PROGRESS) setCssTime(Number(styles.getPropertyValue(CSS_PROGRESS)) * totalDurationRef.current);
676
710
  };
677
711
  el.addEventListener("transitionend", onTransition);
678
712
  return () => el.removeEventListener("transitionend", onTransition);
679
713
  }, []);
680
714
  const layout = useMemo(() => {
681
- if (!fontFamily || !fontSize || !containerWidth || !resolvedText) return null;
715
+ if (!fontReady || !fontFamily || !fontSize || !containerWidth || !resolvedText) return null;
682
716
  return computeTextLayout(resolvedText, fontFamily, fontSize, lineHeight, containerWidth);
683
717
  }, [
718
+ fontReady,
684
719
  resolvedText,
685
720
  fontFamily,
686
721
  fontSize,
@@ -689,21 +724,8 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
689
724
  ]);
690
725
  const padH = PADDING_H_EM * fontSize;
691
726
  const padV = fontSize ? Math.max(MIN_PADDING_V_EM * fontSize, (MIN_LINE_HEIGHT_EM * fontSize - lineHeight) / 2) : 0;
692
- useLayoutEffect(() => {
693
- if (mode !== "svg") return;
694
- const entries = timeline.entries;
695
- for (let i = 0; i < entries.length; i++) {
696
- const entry = entries[i];
697
- if (!entry.hasSvg) continue;
698
- const svg = svgRefs.current.get(i);
699
- if (!svg) continue;
700
- const localTime = Math.max(0, Math.min(currentTime - entry.offset, entry.duration));
701
- svg.setCurrentTime(localTime);
702
- }
703
- });
704
727
  const canvasRef = useRef(null);
705
728
  useLayoutEffect(() => {
706
- if (mode !== "canvas") return;
707
729
  const canvas = canvasRef.current;
708
730
  if (!canvas || !font?.glyphData || !layout || !fontSize) return;
709
731
  const dpr = window.devicePixelRatio || 1;
@@ -721,7 +743,7 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
721
743
  ctx.setTransform(dpr, 0, 0, dpr, 0, 0);
722
744
  ctx.clearRect(0, 0, w, h);
723
745
  ctx.translate(padH, padV);
724
- const color = getComputedStyle(el).color;
746
+ const color = currentColor || getComputedStyle(el).color;
725
747
  const halfLeading = (lineHeight - emHeight * fontSize) / 2;
726
748
  const characters = graphemes(resolvedText);
727
749
  let y = 0;
@@ -734,7 +756,7 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
734
756
  const charWidth = layout.charWidths[charIdx] ?? 0;
735
757
  const kerning = layout.kernings[charIdx] ?? 0;
736
758
  const glyph = font.glyphData[char];
737
- if (glyph && entry.hasSvg) {
759
+ if (glyph && entry.hasGlyph) {
738
760
  const localTime = Math.max(0, Math.min(currentTime - entry.offset, entry.duration));
739
761
  const glyphY = y + halfLeading;
740
762
  drawGlyph(ctx, glyph, {
@@ -745,7 +767,7 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
745
767
  ascender: font.ascender,
746
768
  descender: font.descender
747
769
  }, localTime, font.lineCap, color, resolvedEffects, seed + charIdx, segmentSize);
748
- } else if (!entry.hasSvg && currentTime >= entry.offset + entry.duration) {
770
+ } else if (!entry.hasGlyph && currentTime >= entry.offset + entry.duration) {
749
771
  const baseline = y + halfLeading + font.ascender / font.unitsPerEm * fontSize;
750
772
  drawFallbackGlyph(ctx, char, x, baseline, fontSize, fontFamily, color, resolvedEffects, seed + charIdx);
751
773
  }
@@ -754,7 +776,6 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
754
776
  y += lineHeight;
755
777
  }
756
778
  }, [
757
- mode,
758
779
  currentTime,
759
780
  timeline,
760
781
  layout,
@@ -766,71 +787,16 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
766
787
  emHeight,
767
788
  padH,
768
789
  padV,
790
+ currentColor,
769
791
  resolvedEffects,
770
792
  seed,
771
793
  segmentSize
772
794
  ]);
773
- const lineElements = useMemo(() => {
774
- if (mode !== "svg" || !font || !resolvedText) return null;
775
- const characters = graphemes(resolvedText);
776
- const renderGlyph = (charIdx) => {
777
- const char = characters[charIdx];
778
- const entry = timeline.entries[charIdx];
779
- const GlyphSvg = font.glyphs[char];
780
- const width = layout?.charWidths[charIdx] ?? 1;
781
- const kerning = layout?.kernings[charIdx];
782
- if (char === "\n") return null;
783
- if (GlyphSvg) return /* @__PURE__ */ jsx(GlyphSvg, {
784
- ref: getSvgRef(charIdx),
785
- style: {
786
- display: "inline-block",
787
- verticalAlign: `${baselineOffset}em`,
788
- width: `${width}em`,
789
- marginRight: kerning ? `${kerning}em` : void 0,
790
- height: `${emHeight}em`,
791
- overflow: "visible"
792
- }
793
- }, charIdx);
794
- return /* @__PURE__ */ jsx("span", {
795
- style: {
796
- fontFamily,
797
- visibility: currentTime >= entry.offset + entry.duration ? "visible" : "hidden"
798
- },
799
- children: char
800
- }, charIdx);
801
- };
802
- if (layout) return layout.lines.map((lineIndices, lineIdx) => {
803
- return /* @__PURE__ */ jsx("div", {
804
- style: {
805
- whiteSpace: "nowrap",
806
- height: lineIndices.every((i) => characters[i] === "\n") ? "1lh" : void 0,
807
- lineHeight: `${lineHeight}px`
808
- },
809
- children: lineIndices.map(renderGlyph)
810
- }, lineIdx);
811
- });
812
- return characters.length > 0 ? /* @__PURE__ */ jsx("div", {
813
- style: { whiteSpace: "nowrap" },
814
- children: characters.map((_, i) => renderGlyph(i))
815
- }) : null;
816
- }, [
817
- mode,
818
- resolvedText,
819
- timeline,
820
- font,
821
- layout,
822
- getSvgRef,
823
- baselineOffset,
824
- emHeight,
825
- currentTime,
826
- fontFamily,
827
- lineHeight
828
- ]);
829
- if (!font || !resolvedText) return /* @__PURE__ */ jsx("div", {
795
+ if (!font || !resolvedText || !fontReady) return /* @__PURE__ */ jsx("div", {
830
796
  ref: rootRef,
831
797
  ...props
832
798
  });
833
- return /* @__PURE__ */ jsxs("div", {
799
+ return /* @__PURE__ */ jsx("div", {
834
800
  ref: rootRef,
835
801
  ...props,
836
802
  style: {
@@ -843,55 +809,49 @@ function TegakiRenderer({ font, text, children, time: timeProp, onComplete, mode
843
809
  [CSS_TIME]: currentTime,
844
810
  [CSS_PROGRESS]: timeline.totalDuration > 0 ? currentTime / timeline.totalDuration : 0
845
811
  },
846
- children: [
847
- /* @__PURE__ */ jsx("span", {
848
- ref: sentinelRef,
849
- "aria-hidden": true,
850
- style: {
851
- position: "absolute",
852
- width: 0,
853
- overflow: "hidden",
854
- pointerEvents: "none",
855
- fontSize: "inherit",
856
- lineHeight: "inherit",
857
- visibility: "hidden",
858
- transition: isCss ? `font-size 0.001s, line-height 0.001s, ${CSS_PROGRESS} 0.001s` : "font-size 0.001s, line-height 0.001s"
859
- },
860
- children: "\xA0"
861
- }),
862
- mode === "canvas" ? /* @__PURE__ */ jsx("canvas", {
863
- ref: canvasRef,
864
- "aria-hidden": true,
865
- style: {
866
- position: "absolute",
867
- inset: `${-padV}px ${-padH}px`,
868
- width: `calc(100% + ${padH * 2}px)`,
869
- height: `calc(100% + ${padV * 2}px)`,
870
- pointerEvents: "none"
871
- }
872
- }) : /* @__PURE__ */ jsx("div", {
873
- style: {
874
- position: "absolute",
875
- inset: 0,
876
- pointerEvents: "none",
877
- fontFamily
878
- },
879
- children: lineElements
880
- }),
881
- /* @__PURE__ */ jsx("div", {
882
- style: {
883
- userSelect: "auto",
884
- whiteSpace: "pre-wrap",
885
- overflowWrap: "break-word",
886
- paddingRight: 1,
887
- WebkitTextFillColor: showOverlay ? void 0 : "transparent",
888
- fontFamily,
889
- color: showOverlay ? "rgba(255, 0, 0, 0.4)" : void 0,
890
- fontFeatureSettings: "'calt' 0, 'liga' 0"
891
- },
892
- children: resolvedText
893
- })
894
- ]
812
+ children: /* @__PURE__ */ jsxs("div", {
813
+ style: { position: "relative" },
814
+ children: [
815
+ /* @__PURE__ */ jsx("span", {
816
+ ref: sentinelRef,
817
+ "aria-hidden": true,
818
+ style: {
819
+ position: "absolute",
820
+ width: 0,
821
+ overflow: "hidden",
822
+ pointerEvents: "none",
823
+ fontSize: "inherit",
824
+ lineHeight: "inherit",
825
+ visibility: "hidden",
826
+ transition: isCss ? `font-size 0.001s, line-height 0.001s, color 0.001s, ${CSS_PROGRESS} 0.001s` : "font-size 0.001s, line-height 0.001s, color 0.001s"
827
+ },
828
+ children: "\xA0"
829
+ }),
830
+ /* @__PURE__ */ jsx("canvas", {
831
+ ref: canvasRef,
832
+ "aria-hidden": true,
833
+ style: {
834
+ position: "absolute",
835
+ inset: `${-padV}px ${-padH}px`,
836
+ width: `calc(100% + ${padH * 2}px)`,
837
+ height: `calc(100% + ${padV * 2}px)`,
838
+ pointerEvents: "none"
839
+ }
840
+ }),
841
+ /* @__PURE__ */ jsx("div", {
842
+ style: {
843
+ userSelect: "auto",
844
+ whiteSpace: "pre-wrap",
845
+ overflowWrap: "break-word",
846
+ paddingRight: 1,
847
+ WebkitTextFillColor: showOverlay ? void 0 : "transparent",
848
+ fontFamily,
849
+ color: showOverlay ? "rgba(255, 0, 0, 0.4)" : void 0
850
+ },
851
+ children: resolvedText
852
+ })
853
+ ]
854
+ })
895
855
  });
896
856
  }
897
857
  //#endregion