@7pmlabs/design-system 0.4.13 → 0.4.14

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 (647) hide show
  1. package/dist/design-system.js +1 -1
  2. package/dist/design-system.mjs +16 -16
  3. package/dist/design-system101.js +1 -1
  4. package/dist/design-system101.mjs +1 -1
  5. package/dist/design-system102.js +1 -1
  6. package/dist/design-system102.mjs +8 -8
  7. package/dist/design-system103.js +1 -1
  8. package/dist/design-system103.mjs +1 -1
  9. package/dist/design-system105.js +1 -1
  10. package/dist/design-system105.mjs +1 -1
  11. package/dist/design-system106.js +1 -1
  12. package/dist/design-system106.mjs +18 -2
  13. package/dist/design-system106.mjs.map +1 -1
  14. package/dist/design-system107.js +1 -1
  15. package/dist/design-system107.mjs +6 -2
  16. package/dist/design-system107.mjs.map +1 -1
  17. package/dist/design-system108.js +1 -1
  18. package/dist/design-system108.mjs +3 -5
  19. package/dist/design-system108.mjs.map +1 -1
  20. package/dist/design-system109.js +1 -1
  21. package/dist/design-system109.mjs +2 -4
  22. package/dist/design-system109.mjs.map +1 -1
  23. package/dist/design-system110.js +1 -1
  24. package/dist/design-system110.mjs +2 -2
  25. package/dist/design-system111.js +1 -1
  26. package/dist/design-system111.js.map +1 -1
  27. package/dist/design-system111.mjs +2 -4
  28. package/dist/design-system111.mjs.map +1 -1
  29. package/dist/design-system112.js +1 -1
  30. package/dist/design-system112.js.map +1 -1
  31. package/dist/design-system112.mjs +4 -8
  32. package/dist/design-system112.mjs.map +1 -1
  33. package/dist/design-system113.js +1 -1
  34. package/dist/design-system113.js.map +1 -1
  35. package/dist/design-system113.mjs +7 -6
  36. package/dist/design-system113.mjs.map +1 -1
  37. package/dist/design-system114.js +1 -1
  38. package/dist/design-system114.js.map +1 -1
  39. package/dist/design-system114.mjs +7 -2
  40. package/dist/design-system114.mjs.map +1 -1
  41. package/dist/design-system116.js +1 -1
  42. package/dist/design-system116.js.map +1 -1
  43. package/dist/design-system116.mjs +2 -63
  44. package/dist/design-system116.mjs.map +1 -1
  45. package/dist/design-system117.js +1 -1
  46. package/dist/design-system117.js.map +1 -1
  47. package/dist/design-system117.mjs +62 -3
  48. package/dist/design-system117.mjs.map +1 -1
  49. package/dist/design-system118.js +1 -1
  50. package/dist/design-system118.js.map +1 -1
  51. package/dist/design-system118.mjs +4 -9
  52. package/dist/design-system118.mjs.map +1 -1
  53. package/dist/design-system119.js +1 -1
  54. package/dist/design-system119.js.map +1 -1
  55. package/dist/design-system119.mjs +7 -5
  56. package/dist/design-system119.mjs.map +1 -1
  57. package/dist/design-system120.js +1 -1
  58. package/dist/design-system120.js.map +1 -1
  59. package/dist/design-system120.mjs +6 -3
  60. package/dist/design-system120.mjs.map +1 -1
  61. package/dist/design-system121.js +1 -1
  62. package/dist/design-system121.js.map +1 -1
  63. package/dist/design-system121.mjs +4 -3
  64. package/dist/design-system121.mjs.map +1 -1
  65. package/dist/design-system122.js +1 -1
  66. package/dist/design-system122.js.map +1 -1
  67. package/dist/design-system122.mjs +3 -6
  68. package/dist/design-system122.mjs.map +1 -1
  69. package/dist/design-system123.js +1 -1
  70. package/dist/design-system123.js.map +1 -1
  71. package/dist/design-system123.mjs +5 -9
  72. package/dist/design-system123.mjs.map +1 -1
  73. package/dist/design-system124.js +1 -1
  74. package/dist/design-system124.js.map +1 -1
  75. package/dist/design-system124.mjs +9 -4
  76. package/dist/design-system124.mjs.map +1 -1
  77. package/dist/design-system125.js +1 -1
  78. package/dist/design-system125.js.map +1 -1
  79. package/dist/design-system125.mjs +5 -5
  80. package/dist/design-system125.mjs.map +1 -1
  81. package/dist/design-system126.js +1 -1
  82. package/dist/design-system126.js.map +1 -1
  83. package/dist/design-system126.mjs +5 -4
  84. package/dist/design-system126.mjs.map +1 -1
  85. package/dist/design-system127.js +1 -1
  86. package/dist/design-system127.js.map +1 -1
  87. package/dist/design-system127.mjs +4 -4
  88. package/dist/design-system127.mjs.map +1 -1
  89. package/dist/design-system128.js +1 -1
  90. package/dist/design-system128.js.map +1 -1
  91. package/dist/design-system128.mjs +3 -11
  92. package/dist/design-system128.mjs.map +1 -1
  93. package/dist/design-system129.js +1 -1
  94. package/dist/design-system129.js.map +1 -1
  95. package/dist/design-system129.mjs +11 -26
  96. package/dist/design-system129.mjs.map +1 -1
  97. package/dist/design-system13.js +1 -1
  98. package/dist/design-system13.js.map +1 -1
  99. package/dist/design-system13.mjs +4 -4
  100. package/dist/design-system13.mjs.map +1 -1
  101. package/dist/design-system130.js +1 -1
  102. package/dist/design-system130.js.map +1 -1
  103. package/dist/design-system130.mjs +27 -6
  104. package/dist/design-system130.mjs.map +1 -1
  105. package/dist/design-system131.js +1 -1
  106. package/dist/design-system131.js.map +1 -1
  107. package/dist/design-system131.mjs +6 -6
  108. package/dist/design-system131.mjs.map +1 -1
  109. package/dist/design-system132.js +1 -1
  110. package/dist/design-system132.js.map +1 -1
  111. package/dist/design-system132.mjs +6 -8
  112. package/dist/design-system132.mjs.map +1 -1
  113. package/dist/design-system133.js +1 -1
  114. package/dist/design-system133.js.map +1 -1
  115. package/dist/design-system133.mjs +7 -4
  116. package/dist/design-system133.mjs.map +1 -1
  117. package/dist/design-system134.js +1 -1
  118. package/dist/design-system134.js.map +1 -1
  119. package/dist/design-system134.mjs +5 -6
  120. package/dist/design-system134.mjs.map +1 -1
  121. package/dist/design-system135.js +1 -1
  122. package/dist/design-system135.js.map +1 -1
  123. package/dist/design-system135.mjs +6 -7
  124. package/dist/design-system135.mjs.map +1 -1
  125. package/dist/design-system136.js +1 -1
  126. package/dist/design-system136.js.map +1 -1
  127. package/dist/design-system136.mjs +6 -5
  128. package/dist/design-system136.mjs.map +1 -1
  129. package/dist/design-system137.js +1 -1
  130. package/dist/design-system137.js.map +1 -1
  131. package/dist/design-system137.mjs +6 -10
  132. package/dist/design-system137.mjs.map +1 -1
  133. package/dist/design-system138.js +1 -1
  134. package/dist/design-system138.js.map +1 -1
  135. package/dist/design-system138.mjs +10 -6
  136. package/dist/design-system138.mjs.map +1 -1
  137. package/dist/design-system139.js +1 -1
  138. package/dist/design-system139.js.map +1 -1
  139. package/dist/design-system139.mjs +6 -7
  140. package/dist/design-system139.mjs.map +1 -1
  141. package/dist/design-system140.js +1 -1
  142. package/dist/design-system140.js.map +1 -1
  143. package/dist/design-system140.mjs +6 -9
  144. package/dist/design-system140.mjs.map +1 -1
  145. package/dist/design-system141.js +1 -1
  146. package/dist/design-system141.js.map +1 -1
  147. package/dist/design-system141.mjs +9 -6
  148. package/dist/design-system141.mjs.map +1 -1
  149. package/dist/design-system142.js +1 -1
  150. package/dist/design-system142.js.map +1 -1
  151. package/dist/design-system142.mjs +6 -17
  152. package/dist/design-system142.mjs.map +1 -1
  153. package/dist/design-system143.js +1 -1
  154. package/dist/design-system143.js.map +1 -1
  155. package/dist/design-system143.mjs +17 -6
  156. package/dist/design-system143.mjs.map +1 -1
  157. package/dist/design-system144.js +1 -1
  158. package/dist/design-system144.js.map +1 -1
  159. package/dist/design-system144.mjs +6 -12
  160. package/dist/design-system144.mjs.map +1 -1
  161. package/dist/design-system145.js +1 -1
  162. package/dist/design-system145.js.map +1 -1
  163. package/dist/design-system145.mjs +12 -3
  164. package/dist/design-system145.mjs.map +1 -1
  165. package/dist/design-system146.js +1 -1
  166. package/dist/design-system146.js.map +1 -1
  167. package/dist/design-system146.mjs +3 -11
  168. package/dist/design-system146.mjs.map +1 -1
  169. package/dist/design-system147.js +1 -1
  170. package/dist/design-system147.mjs +1 -1
  171. package/dist/design-system148.js +1 -1
  172. package/dist/design-system148.mjs +1 -1
  173. package/dist/design-system149.js +1 -1
  174. package/dist/design-system149.js.map +1 -1
  175. package/dist/design-system149.mjs +11 -5
  176. package/dist/design-system149.mjs.map +1 -1
  177. package/dist/design-system15.js +1 -1
  178. package/dist/design-system15.mjs +4 -4
  179. package/dist/design-system150.js +1 -1
  180. package/dist/design-system150.js.map +1 -1
  181. package/dist/design-system150.mjs +6 -10
  182. package/dist/design-system150.mjs.map +1 -1
  183. package/dist/design-system151.js +1 -1
  184. package/dist/design-system151.js.map +1 -1
  185. package/dist/design-system151.mjs +9 -15
  186. package/dist/design-system151.mjs.map +1 -1
  187. package/dist/design-system152.js +1 -1
  188. package/dist/design-system152.js.map +1 -1
  189. package/dist/design-system152.mjs +15 -5
  190. package/dist/design-system152.mjs.map +1 -1
  191. package/dist/design-system153.js +1 -1
  192. package/dist/design-system153.js.map +1 -1
  193. package/dist/design-system153.mjs +5 -5
  194. package/dist/design-system153.mjs.map +1 -1
  195. package/dist/design-system154.js +1 -1
  196. package/dist/design-system154.js.map +1 -1
  197. package/dist/design-system154.mjs +5 -8
  198. package/dist/design-system154.mjs.map +1 -1
  199. package/dist/design-system155.js +1 -1
  200. package/dist/design-system155.js.map +1 -1
  201. package/dist/design-system155.mjs +8 -6
  202. package/dist/design-system155.mjs.map +1 -1
  203. package/dist/design-system156.js +1 -1
  204. package/dist/design-system156.js.map +1 -1
  205. package/dist/design-system156.mjs +6 -5
  206. package/dist/design-system156.mjs.map +1 -1
  207. package/dist/design-system157.js +1 -1
  208. package/dist/design-system157.js.map +1 -1
  209. package/dist/design-system157.mjs +4 -4
  210. package/dist/design-system157.mjs.map +1 -1
  211. package/dist/design-system158.js +1 -1
  212. package/dist/design-system158.js.map +1 -1
  213. package/dist/design-system158.mjs +5 -6
  214. package/dist/design-system158.mjs.map +1 -1
  215. package/dist/design-system159.js +1 -1
  216. package/dist/design-system159.js.map +1 -1
  217. package/dist/design-system159.mjs +5 -5
  218. package/dist/design-system159.mjs.map +1 -1
  219. package/dist/design-system16.js +1 -1
  220. package/dist/design-system16.mjs +1 -1
  221. package/dist/design-system160.js +1 -1
  222. package/dist/design-system160.js.map +1 -1
  223. package/dist/design-system160.mjs +6 -5
  224. package/dist/design-system160.mjs.map +1 -1
  225. package/dist/design-system161.js +1 -1
  226. package/dist/design-system161.js.map +1 -1
  227. package/dist/design-system161.mjs +5 -39
  228. package/dist/design-system161.mjs.map +1 -1
  229. package/dist/design-system162.js +1 -1
  230. package/dist/design-system162.js.map +1 -1
  231. package/dist/design-system162.mjs +39 -6
  232. package/dist/design-system162.mjs.map +1 -1
  233. package/dist/design-system163.js +1 -1
  234. package/dist/design-system163.js.map +1 -1
  235. package/dist/design-system163.mjs +6 -5
  236. package/dist/design-system163.mjs.map +1 -1
  237. package/dist/design-system164.js +1 -1
  238. package/dist/design-system164.js.map +1 -1
  239. package/dist/design-system164.mjs +6 -16
  240. package/dist/design-system164.mjs.map +1 -1
  241. package/dist/design-system165.js +1 -1
  242. package/dist/design-system165.js.map +1 -1
  243. package/dist/design-system165.mjs +15 -7
  244. package/dist/design-system165.mjs.map +1 -1
  245. package/dist/design-system166.js +1 -1
  246. package/dist/design-system166.js.map +1 -1
  247. package/dist/design-system166.mjs +8 -3
  248. package/dist/design-system166.mjs.map +1 -1
  249. package/dist/design-system167.js +1 -1
  250. package/dist/design-system167.mjs +1 -1
  251. package/dist/design-system170.js +1 -1
  252. package/dist/design-system170.js.map +1 -1
  253. package/dist/design-system170.mjs +3 -4
  254. package/dist/design-system170.mjs.map +1 -1
  255. package/dist/design-system171.js +1 -1
  256. package/dist/design-system171.js.map +1 -1
  257. package/dist/design-system171.mjs +4 -5
  258. package/dist/design-system171.mjs.map +1 -1
  259. package/dist/design-system172.js +1 -1
  260. package/dist/design-system172.js.map +1 -1
  261. package/dist/design-system172.mjs +5 -5
  262. package/dist/design-system172.mjs.map +1 -1
  263. package/dist/design-system173.js +1 -1
  264. package/dist/design-system173.js.map +1 -1
  265. package/dist/design-system173.mjs +5 -5
  266. package/dist/design-system173.mjs.map +1 -1
  267. package/dist/design-system174.js +1 -1
  268. package/dist/design-system174.js.map +1 -1
  269. package/dist/design-system174.mjs +5 -5
  270. package/dist/design-system174.mjs.map +1 -1
  271. package/dist/design-system175.js +1 -1
  272. package/dist/design-system175.js.map +1 -1
  273. package/dist/design-system175.mjs +5 -5
  274. package/dist/design-system175.mjs.map +1 -1
  275. package/dist/design-system176.js +1 -1
  276. package/dist/design-system176.js.map +1 -1
  277. package/dist/design-system176.mjs +5 -15
  278. package/dist/design-system176.mjs.map +1 -1
  279. package/dist/design-system177.js +1 -1
  280. package/dist/design-system177.js.map +1 -1
  281. package/dist/design-system177.mjs +14 -13
  282. package/dist/design-system177.mjs.map +1 -1
  283. package/dist/design-system178.js +1 -1
  284. package/dist/design-system178.js.map +1 -1
  285. package/dist/design-system178.mjs +13 -8
  286. package/dist/design-system178.mjs.map +1 -1
  287. package/dist/design-system179.js +1 -1
  288. package/dist/design-system179.js.map +1 -1
  289. package/dist/design-system179.mjs +9 -4
  290. package/dist/design-system179.mjs.map +1 -1
  291. package/dist/design-system180.js +1 -1
  292. package/dist/design-system180.js.map +1 -1
  293. package/dist/design-system180.mjs +4 -6
  294. package/dist/design-system180.mjs.map +1 -1
  295. package/dist/design-system181.js +1 -1
  296. package/dist/design-system181.js.map +1 -1
  297. package/dist/design-system181.mjs +5 -5
  298. package/dist/design-system181.mjs.map +1 -1
  299. package/dist/design-system182.js +1 -1
  300. package/dist/design-system182.js.map +1 -1
  301. package/dist/design-system182.mjs +5 -5
  302. package/dist/design-system182.mjs.map +1 -1
  303. package/dist/design-system183.js +1 -1
  304. package/dist/design-system183.js.map +1 -1
  305. package/dist/design-system183.mjs +5 -7
  306. package/dist/design-system183.mjs.map +1 -1
  307. package/dist/design-system184.js +1 -1
  308. package/dist/design-system184.js.map +1 -1
  309. package/dist/design-system184.mjs +7 -17
  310. package/dist/design-system184.mjs.map +1 -1
  311. package/dist/design-system185.js +1 -1
  312. package/dist/design-system185.js.map +1 -1
  313. package/dist/design-system185.mjs +17 -10
  314. package/dist/design-system185.mjs.map +1 -1
  315. package/dist/design-system186.js +1 -1
  316. package/dist/design-system186.js.map +1 -1
  317. package/dist/design-system186.mjs +9 -4
  318. package/dist/design-system186.mjs.map +1 -1
  319. package/dist/design-system187.js +1 -1
  320. package/dist/design-system187.js.map +1 -1
  321. package/dist/design-system187.mjs +5 -4
  322. package/dist/design-system187.mjs.map +1 -1
  323. package/dist/design-system188.js +1 -1
  324. package/dist/design-system188.js.map +1 -1
  325. package/dist/design-system188.mjs +4 -4
  326. package/dist/design-system188.mjs.map +1 -1
  327. package/dist/design-system189.js +1 -1
  328. package/dist/design-system189.js.map +1 -1
  329. package/dist/design-system189.mjs +4 -5
  330. package/dist/design-system189.mjs.map +1 -1
  331. package/dist/design-system19.js +1 -1
  332. package/dist/design-system19.mjs +4 -4
  333. package/dist/design-system190.js +1 -1
  334. package/dist/design-system190.js.map +1 -1
  335. package/dist/design-system190.mjs +5 -6
  336. package/dist/design-system190.mjs.map +1 -1
  337. package/dist/design-system191.js +1 -1
  338. package/dist/design-system191.js.map +1 -1
  339. package/dist/design-system191.mjs +7 -11
  340. package/dist/design-system191.mjs.map +1 -1
  341. package/dist/design-system192.js +1 -1
  342. package/dist/design-system192.js.map +1 -1
  343. package/dist/design-system192.mjs +10 -6
  344. package/dist/design-system192.mjs.map +1 -1
  345. package/dist/design-system193.js +1 -1
  346. package/dist/design-system193.js.map +1 -1
  347. package/dist/design-system193.mjs +6 -17
  348. package/dist/design-system193.mjs.map +1 -1
  349. package/dist/design-system194.js +1 -1
  350. package/dist/design-system194.js.map +1 -1
  351. package/dist/design-system194.mjs +17 -4
  352. package/dist/design-system194.mjs.map +1 -1
  353. package/dist/design-system195.js +1 -1
  354. package/dist/design-system195.js.map +1 -1
  355. package/dist/design-system195.mjs +4 -4
  356. package/dist/design-system195.mjs.map +1 -1
  357. package/dist/design-system196.js +1 -1
  358. package/dist/design-system196.js.map +1 -1
  359. package/dist/design-system196.mjs +4 -3
  360. package/dist/design-system196.mjs.map +1 -1
  361. package/dist/design-system197.js +1 -1
  362. package/dist/design-system197.js.map +1 -1
  363. package/dist/design-system197.mjs +3 -3
  364. package/dist/design-system197.mjs.map +1 -1
  365. package/dist/design-system198.js +1 -1
  366. package/dist/design-system198.js.map +1 -1
  367. package/dist/design-system198.mjs +3 -14
  368. package/dist/design-system198.mjs.map +1 -1
  369. package/dist/design-system199.js +1 -1
  370. package/dist/design-system199.js.map +1 -1
  371. package/dist/design-system199.mjs +15 -9
  372. package/dist/design-system199.mjs.map +1 -1
  373. package/dist/design-system20.js +1 -1
  374. package/dist/design-system20.mjs +2 -2
  375. package/dist/design-system200.js +1 -1
  376. package/dist/design-system200.js.map +1 -1
  377. package/dist/design-system200.mjs +9 -6
  378. package/dist/design-system200.mjs.map +1 -1
  379. package/dist/design-system201.js +1 -1
  380. package/dist/design-system201.js.map +1 -1
  381. package/dist/design-system201.mjs +5 -5
  382. package/dist/design-system201.mjs.map +1 -1
  383. package/dist/design-system202.js +1 -1
  384. package/dist/design-system202.js.map +1 -1
  385. package/dist/design-system202.mjs +5 -5
  386. package/dist/design-system202.mjs.map +1 -1
  387. package/dist/design-system203.js +1 -1
  388. package/dist/design-system203.js.map +1 -1
  389. package/dist/design-system203.mjs +5 -5
  390. package/dist/design-system203.mjs.map +1 -1
  391. package/dist/design-system204.js +1 -1
  392. package/dist/design-system204.js.map +1 -1
  393. package/dist/design-system204.mjs +5 -5
  394. package/dist/design-system204.mjs.map +1 -1
  395. package/dist/design-system205.js +1 -1
  396. package/dist/design-system205.js.map +1 -1
  397. package/dist/design-system205.mjs +6 -4
  398. package/dist/design-system205.mjs.map +1 -1
  399. package/dist/design-system206.js +1 -1
  400. package/dist/design-system206.js.map +1 -1
  401. package/dist/design-system206.mjs +3 -17
  402. package/dist/design-system206.mjs.map +1 -1
  403. package/dist/design-system207.js +1 -1
  404. package/dist/design-system207.js.map +1 -1
  405. package/dist/design-system207.mjs +17 -5
  406. package/dist/design-system207.mjs.map +1 -1
  407. package/dist/design-system208.js +1 -1
  408. package/dist/design-system208.js.map +1 -1
  409. package/dist/design-system208.mjs +5 -3
  410. package/dist/design-system208.mjs.map +1 -1
  411. package/dist/design-system209.js +1 -1
  412. package/dist/design-system209.js.map +1 -1
  413. package/dist/design-system209.mjs +3 -3
  414. package/dist/design-system209.mjs.map +1 -1
  415. package/dist/design-system210.js +1 -1
  416. package/dist/design-system210.js.map +1 -1
  417. package/dist/design-system210.mjs +3 -9
  418. package/dist/design-system210.mjs.map +1 -1
  419. package/dist/design-system211.js +1 -1
  420. package/dist/design-system211.js.map +1 -1
  421. package/dist/design-system211.mjs +9 -5
  422. package/dist/design-system211.mjs.map +1 -1
  423. package/dist/design-system212.js +1 -1
  424. package/dist/design-system212.js.map +1 -1
  425. package/dist/design-system212.mjs +5 -4
  426. package/dist/design-system212.mjs.map +1 -1
  427. package/dist/design-system213.js +1 -1
  428. package/dist/design-system213.js.map +1 -1
  429. package/dist/design-system213.mjs +4 -5
  430. package/dist/design-system213.mjs.map +1 -1
  431. package/dist/design-system214.js +1 -1
  432. package/dist/design-system214.js.map +1 -1
  433. package/dist/design-system214.mjs +6 -4
  434. package/dist/design-system214.mjs.map +1 -1
  435. package/dist/design-system215.js +1 -1
  436. package/dist/design-system215.js.map +1 -1
  437. package/dist/design-system215.mjs +4 -5
  438. package/dist/design-system215.mjs.map +1 -1
  439. package/dist/design-system216.js +1 -1
  440. package/dist/design-system216.js.map +1 -1
  441. package/dist/design-system216.mjs +4 -4
  442. package/dist/design-system216.mjs.map +1 -1
  443. package/dist/design-system217.js +1 -1
  444. package/dist/design-system217.js.map +1 -1
  445. package/dist/design-system217.mjs +4 -10
  446. package/dist/design-system217.mjs.map +1 -1
  447. package/dist/design-system218.js +1 -1
  448. package/dist/design-system218.js.map +1 -1
  449. package/dist/design-system218.mjs +4 -6
  450. package/dist/design-system218.mjs.map +1 -1
  451. package/dist/design-system219.js +1 -1
  452. package/dist/design-system219.js.map +1 -1
  453. package/dist/design-system219.mjs +10 -6
  454. package/dist/design-system219.mjs.map +1 -1
  455. package/dist/design-system22.js +1 -1
  456. package/dist/design-system22.js.map +1 -1
  457. package/dist/design-system22.mjs +188 -54
  458. package/dist/design-system22.mjs.map +1 -1
  459. package/dist/design-system220.js +1 -1
  460. package/dist/design-system220.js.map +1 -1
  461. package/dist/design-system220.mjs +6 -4
  462. package/dist/design-system220.mjs.map +1 -1
  463. package/dist/design-system221.js +1 -1
  464. package/dist/design-system221.js.map +1 -1
  465. package/dist/design-system221.mjs +6 -7
  466. package/dist/design-system221.mjs.map +1 -1
  467. package/dist/design-system222.js +1 -1
  468. package/dist/design-system222.js.map +1 -1
  469. package/dist/design-system222.mjs +8 -4
  470. package/dist/design-system222.mjs.map +1 -1
  471. package/dist/design-system223.js +2 -0
  472. package/dist/design-system223.js.map +1 -0
  473. package/dist/design-system223.mjs +7 -0
  474. package/dist/design-system223.mjs.map +1 -0
  475. package/dist/design-system23.js +1 -1
  476. package/dist/design-system23.js.map +1 -1
  477. package/dist/design-system23.mjs +62 -188
  478. package/dist/design-system23.mjs.map +1 -1
  479. package/dist/design-system24.js +1 -1
  480. package/dist/design-system24.js.map +1 -1
  481. package/dist/design-system24.mjs +37 -69
  482. package/dist/design-system24.mjs.map +1 -1
  483. package/dist/design-system25.js +1 -1
  484. package/dist/design-system25.js.map +1 -1
  485. package/dist/design-system25.mjs +5 -46
  486. package/dist/design-system25.mjs.map +1 -1
  487. package/dist/design-system26.js +1 -1
  488. package/dist/design-system26.mjs +12 -5
  489. package/dist/design-system26.mjs.map +1 -1
  490. package/dist/design-system27.js +1 -1
  491. package/dist/design-system27.mjs +5 -12
  492. package/dist/design-system27.mjs.map +1 -1
  493. package/dist/design-system28.js +1 -1
  494. package/dist/design-system28.mjs +10 -5
  495. package/dist/design-system28.mjs.map +1 -1
  496. package/dist/design-system29.js +1 -1
  497. package/dist/design-system29.js.map +1 -1
  498. package/dist/design-system29.mjs +23 -10
  499. package/dist/design-system29.mjs.map +1 -1
  500. package/dist/design-system30.js +1 -1
  501. package/dist/design-system30.js.map +1 -1
  502. package/dist/design-system30.mjs +23 -17
  503. package/dist/design-system30.mjs.map +1 -1
  504. package/dist/design-system31.js +1 -1
  505. package/dist/design-system31.js.map +1 -1
  506. package/dist/design-system31.mjs +5 -29
  507. package/dist/design-system31.mjs.map +1 -1
  508. package/dist/design-system32.js +1 -1
  509. package/dist/design-system32.mjs +4 -4
  510. package/dist/design-system33.js +1 -1
  511. package/dist/design-system33.mjs +10 -5
  512. package/dist/design-system33.mjs.map +1 -1
  513. package/dist/design-system34.js +1 -1
  514. package/dist/design-system34.mjs +7 -7
  515. package/dist/design-system35.js +1 -1
  516. package/dist/design-system35.mjs +6 -6
  517. package/dist/design-system36.js +1 -1
  518. package/dist/design-system36.mjs +8 -8
  519. package/dist/design-system37.js +1 -1
  520. package/dist/design-system37.mjs +5 -10
  521. package/dist/design-system37.mjs.map +1 -1
  522. package/dist/design-system38.js +1 -1
  523. package/dist/design-system38.mjs +1 -1
  524. package/dist/design-system39.js +1 -1
  525. package/dist/design-system39.mjs +2 -2
  526. package/dist/design-system40.js +1 -1
  527. package/dist/design-system40.mjs +2 -2
  528. package/dist/design-system42.js +1 -1
  529. package/dist/design-system42.mjs +2 -2
  530. package/dist/design-system45.js +1 -1
  531. package/dist/design-system45.mjs +2 -2
  532. package/dist/design-system46.js +1 -1
  533. package/dist/design-system46.js.map +1 -1
  534. package/dist/design-system46.mjs +2 -2
  535. package/dist/design-system47.js +1 -1
  536. package/dist/design-system47.mjs +2 -2
  537. package/dist/design-system48.js +1 -1
  538. package/dist/design-system48.mjs +4 -4
  539. package/dist/design-system49.js +1 -1
  540. package/dist/design-system49.mjs +1 -1
  541. package/dist/design-system50.js +1 -1
  542. package/dist/design-system50.mjs +3 -3
  543. package/dist/design-system57.js +1 -4
  544. package/dist/design-system57.js.map +1 -1
  545. package/dist/design-system57.mjs +26 -29
  546. package/dist/design-system57.mjs.map +1 -1
  547. package/dist/design-system64.js +1 -1
  548. package/dist/design-system64.mjs +1 -1
  549. package/dist/design-system65.js +1 -1
  550. package/dist/design-system65.mjs +1 -1
  551. package/dist/design-system68.js +1 -1
  552. package/dist/design-system68.mjs +1 -1
  553. package/dist/design-system74.js +1 -1
  554. package/dist/design-system74.js.map +1 -1
  555. package/dist/design-system74.mjs +79 -2
  556. package/dist/design-system74.mjs.map +1 -1
  557. package/dist/design-system75.js +1 -1
  558. package/dist/design-system75.mjs +2 -2
  559. package/dist/design-system76.js +1 -1
  560. package/dist/design-system76.mjs +2 -2
  561. package/dist/design-system77.js +1 -1
  562. package/dist/design-system77.js.map +1 -1
  563. package/dist/design-system77.mjs +2 -81
  564. package/dist/design-system77.mjs.map +1 -1
  565. package/dist/design-system78.js +1 -1
  566. package/dist/design-system78.js.map +1 -1
  567. package/dist/design-system78.mjs +81 -2
  568. package/dist/design-system78.mjs.map +1 -1
  569. package/dist/design-system79.js +1 -1
  570. package/dist/design-system79.mjs +2 -2
  571. package/dist/design-system80.js +1 -1
  572. package/dist/design-system80.js.map +1 -1
  573. package/dist/design-system80.mjs +2 -119
  574. package/dist/design-system80.mjs.map +1 -1
  575. package/dist/design-system81.js +1 -1
  576. package/dist/design-system81.js.map +1 -1
  577. package/dist/design-system81.mjs +119 -2
  578. package/dist/design-system81.mjs.map +1 -1
  579. package/dist/design-system82.js +1 -1
  580. package/dist/design-system82.mjs +2 -2
  581. package/dist/design-system83.js +1 -1
  582. package/dist/design-system83.mjs +1 -1
  583. package/dist/design-system84.js +1 -1
  584. package/dist/design-system84.js.map +1 -1
  585. package/dist/design-system84.mjs +2 -102
  586. package/dist/design-system84.mjs.map +1 -1
  587. package/dist/design-system85.js +1 -1
  588. package/dist/design-system85.js.map +1 -1
  589. package/dist/design-system85.mjs +102 -2
  590. package/dist/design-system85.mjs.map +1 -1
  591. package/dist/design-system86.js +1 -1
  592. package/dist/design-system86.js.map +1 -1
  593. package/dist/design-system86.mjs +2 -190
  594. package/dist/design-system86.mjs.map +1 -1
  595. package/dist/design-system87.js +1 -1
  596. package/dist/design-system87.js.map +1 -1
  597. package/dist/design-system87.mjs +190 -2
  598. package/dist/design-system87.mjs.map +1 -1
  599. package/dist/design-system88.js +1 -1
  600. package/dist/design-system88.mjs +2 -2
  601. package/dist/design-system89.js +1 -1
  602. package/dist/design-system89.js.map +1 -1
  603. package/dist/design-system89.mjs +2 -142
  604. package/dist/design-system89.mjs.map +1 -1
  605. package/dist/design-system90.js +1 -1
  606. package/dist/design-system90.js.map +1 -1
  607. package/dist/design-system90.mjs +142 -2
  608. package/dist/design-system90.mjs.map +1 -1
  609. package/dist/design-system91.js +1 -1
  610. package/dist/design-system91.js.map +1 -1
  611. package/dist/design-system91.mjs +2 -49
  612. package/dist/design-system91.mjs.map +1 -1
  613. package/dist/design-system92.js +1 -1
  614. package/dist/design-system92.js.map +1 -1
  615. package/dist/design-system92.mjs +49 -2
  616. package/dist/design-system92.mjs.map +1 -1
  617. package/dist/design-system93.js +1 -6
  618. package/dist/design-system93.js.map +1 -1
  619. package/dist/design-system93.mjs +2 -107
  620. package/dist/design-system93.mjs.map +1 -1
  621. package/dist/design-system94.js +4 -4
  622. package/dist/design-system94.js.map +1 -1
  623. package/dist/design-system94.mjs +94 -899
  624. package/dist/design-system94.mjs.map +1 -1
  625. package/dist/design-system95.js +4 -5
  626. package/dist/design-system95.js.map +1 -1
  627. package/dist/design-system95.mjs +879 -828
  628. package/dist/design-system95.mjs.map +1 -1
  629. package/dist/design-system96.js +7 -4
  630. package/dist/design-system96.js.map +1 -1
  631. package/dist/design-system96.mjs +841 -1344
  632. package/dist/design-system96.mjs.map +1 -1
  633. package/dist/design-system97.js +4 -5
  634. package/dist/design-system97.js.map +1 -1
  635. package/dist/design-system97.mjs +1364 -10
  636. package/dist/design-system97.mjs.map +1 -1
  637. package/dist/design-system98.js +5 -1
  638. package/dist/design-system98.js.map +1 -1
  639. package/dist/design-system98.mjs +10 -17
  640. package/dist/design-system98.mjs.map +1 -1
  641. package/dist/design-system99.js +1 -1
  642. package/dist/design-system99.js.map +1 -1
  643. package/dist/design-system99.mjs +16 -17
  644. package/dist/design-system99.mjs.map +1 -1
  645. package/dist/style.css +1 -1
  646. package/dist/types/components/BRadio.vue.d.ts +22 -2
  647. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"design-system95.mjs","sources":["../node_modules/@intlify/message-compiler/dist/message-compiler.esm-bundler.js"],"sourcesContent":["/*!\n * message-compiler v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { format, assign, isString } from '@intlify/shared';\n\nconst CompileErrorCodes = {\r\n // tokenizer error codes\r\n EXPECTED_TOKEN: 1,\r\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\r\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\r\n UNKNOWN_ESCAPE_SEQUENCE: 4,\r\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\r\n UNBALANCED_CLOSING_BRACE: 6,\r\n UNTERMINATED_CLOSING_BRACE: 7,\r\n EMPTY_PLACEHOLDER: 8,\r\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\r\n INVALID_LINKED_FORMAT: 10,\r\n // parser error codes\r\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\r\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\r\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\r\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\r\n // Special value for higher-order compilers to pick up the last code\r\n // to avoid collision of error codes. This should always be kept as the last\r\n // item.\r\n __EXTEND_POINT__: 15\r\n};\r\n/** @internal */\r\nconst errorMessages = {\r\n // tokenizer error messages\r\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\r\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\r\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\r\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\r\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\r\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\r\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\r\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\r\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\r\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\r\n // parser error messages\r\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\r\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\r\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`\r\n};\r\nfunction createCompileError(code, loc, options = {}) {\r\n const { domain, messages, args } = options;\r\n const msg = (process.env.NODE_ENV !== 'production')\r\n ? format((messages || errorMessages)[code] || '', ...(args || []))\r\n : code;\r\n const error = new SyntaxError(String(msg));\r\n error.code = code;\r\n if (loc) {\r\n error.location = loc;\r\n }\r\n error.domain = domain;\r\n return error;\r\n}\r\n/** @internal */\r\nfunction defaultOnError(error) {\r\n throw error;\r\n}\n\nconst LocationStub = {\r\n start: { line: 1, column: 1, offset: 0 },\r\n end: { line: 1, column: 1, offset: 0 }\r\n};\r\nfunction createPosition(line, column, offset) {\r\n return { line, column, offset };\r\n}\r\nfunction createLocation(start, end, source) {\r\n const loc = { start, end };\r\n if (source != null) {\r\n loc.source = source;\r\n }\r\n return loc;\r\n}\n\nconst CHAR_SP = ' ';\r\nconst CHAR_CR = '\\r';\r\nconst CHAR_LF = '\\n';\r\nconst CHAR_LS = String.fromCharCode(0x2028);\r\nconst CHAR_PS = String.fromCharCode(0x2029);\r\nfunction createScanner(str) {\r\n const _buf = str;\r\n let _index = 0;\r\n let _line = 1;\r\n let _column = 1;\r\n let _peekOffset = 0;\r\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\r\n const isLF = (index) => _buf[index] === CHAR_LF;\r\n const isPS = (index) => _buf[index] === CHAR_PS;\r\n const isLS = (index) => _buf[index] === CHAR_LS;\r\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\r\n const index = () => _index;\r\n const line = () => _line;\r\n const column = () => _column;\r\n const peekOffset = () => _peekOffset;\r\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\r\n const currentChar = () => charAt(_index);\r\n const currentPeek = () => charAt(_index + _peekOffset);\r\n function next() {\r\n _peekOffset = 0;\r\n if (isLineEnd(_index)) {\r\n _line++;\r\n _column = 0;\r\n }\r\n if (isCRLF(_index)) {\r\n _index++;\r\n }\r\n _index++;\r\n _column++;\r\n return _buf[_index];\r\n }\r\n function peek() {\r\n if (isCRLF(_index + _peekOffset)) {\r\n _peekOffset++;\r\n }\r\n _peekOffset++;\r\n return _buf[_index + _peekOffset];\r\n }\r\n function reset() {\r\n _index = 0;\r\n _line = 1;\r\n _column = 1;\r\n _peekOffset = 0;\r\n }\r\n function resetPeek(offset = 0) {\r\n _peekOffset = offset;\r\n }\r\n function skipToPeek() {\r\n const target = _index + _peekOffset;\r\n // eslint-disable-next-line no-unmodified-loop-condition\r\n while (target !== _index) {\r\n next();\r\n }\r\n _peekOffset = 0;\r\n }\r\n return {\r\n index,\r\n line,\r\n column,\r\n peekOffset,\r\n charAt,\r\n currentChar,\r\n currentPeek,\r\n next,\r\n peek,\r\n reset,\r\n resetPeek,\r\n skipToPeek\r\n };\r\n}\n\nconst EOF = undefined;\r\nconst LITERAL_DELIMITER = \"'\";\r\nconst ERROR_DOMAIN$1 = 'tokenizer';\r\nfunction createTokenizer(source, options = {}) {\r\n const location = options.location !== false;\r\n const _scnr = createScanner(source);\r\n const currentOffset = () => _scnr.index();\r\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\r\n const _initLoc = currentPosition();\r\n const _initOffset = currentOffset();\r\n const _context = {\r\n currentType: 14 /* EOF */,\r\n offset: _initOffset,\r\n startLoc: _initLoc,\r\n endLoc: _initLoc,\r\n lastType: 14 /* EOF */,\r\n lastOffset: _initOffset,\r\n lastStartLoc: _initLoc,\r\n lastEndLoc: _initLoc,\r\n braceNest: 0,\r\n inLinked: false,\r\n text: ''\r\n };\r\n const context = () => _context;\r\n const { onError } = options;\r\n function emitError(code, pos, offset, ...args) {\r\n const ctx = context();\r\n pos.column += offset;\r\n pos.offset += offset;\r\n if (onError) {\r\n const loc = createLocation(ctx.startLoc, pos);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN$1,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function getToken(context, type, value) {\r\n context.endLoc = currentPosition();\r\n context.currentType = type;\r\n const token = { type };\r\n if (location) {\r\n token.loc = createLocation(context.startLoc, context.endLoc);\r\n }\r\n if (value != null) {\r\n token.value = value;\r\n }\r\n return token;\r\n }\r\n const getEndToken = (context) => getToken(context, 14 /* EOF */);\r\n function eat(scnr, ch) {\r\n if (scnr.currentChar() === ch) {\r\n scnr.next();\r\n return ch;\r\n }\r\n else {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function peekSpaces(scnr) {\r\n let buf = '';\r\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\r\n buf += scnr.currentPeek();\r\n scnr.peek();\r\n }\r\n return buf;\r\n }\r\n function skipSpaces(scnr) {\r\n const buf = peekSpaces(scnr);\r\n scnr.skipToPeek();\r\n return buf;\r\n }\r\n function isIdentifierStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n cc === 95 // _\r\n );\r\n }\r\n function isNumberStart(ch) {\r\n if (ch === EOF) {\r\n return false;\r\n }\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n }\r\n function isNamedIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isListIdentifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\r\n const ret = isNumberStart(ch);\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLiteralStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 2 /* BraceLeft */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDotStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 8 /* LinkedAlias */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \".\" /* LinkedDot */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedModifierStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 9 /* LinkedDot */) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = isIdentifierStart(scnr.currentPeek());\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedDelimiterStart(scnr, context) {\r\n const { currentType } = context;\r\n if (!(currentType === 8 /* LinkedAlias */ ||\r\n currentType === 12 /* LinkedModifier */)) {\r\n return false;\r\n }\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \":\" /* LinkedDelimiter */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isLinkedReferStart(scnr, context) {\r\n const { currentType } = context;\r\n if (currentType !== 10 /* LinkedDelimiter */) {\r\n return false;\r\n }\r\n const fn = () => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return isIdentifierStart(scnr.peek());\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n ch === \":\" /* LinkedDelimiter */ ||\r\n ch === \".\" /* LinkedDot */ ||\r\n ch === CHAR_SP ||\r\n !ch) {\r\n return false;\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn();\r\n }\r\n else {\r\n // other characters\r\n return isIdentifierStart(ch);\r\n }\r\n };\r\n const ret = fn();\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function isPluralStart(scnr) {\r\n peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"|\" /* Pipe */;\r\n scnr.resetPeek();\r\n return ret;\r\n }\r\n function detectModuloStart(scnr) {\r\n const spaces = peekSpaces(scnr);\r\n const ret = scnr.currentPeek() === \"%\" /* Modulo */ &&\r\n scnr.peek() === \"{\" /* BraceLeft */;\r\n scnr.resetPeek();\r\n return {\r\n isModulo: ret,\r\n hasSpace: spaces.length > 0\r\n };\r\n }\r\n function isTextStart(scnr, reset = true) {\r\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\r\n const ch = scnr.currentPeek();\r\n if (ch === \"{\" /* BraceLeft */) {\r\n return prev === \"%\" /* Modulo */ ? false : hasSpace;\r\n }\r\n else if (ch === \"@\" /* LinkedAlias */ || !ch) {\r\n return prev === \"%\" /* Modulo */ ? true : hasSpace;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n scnr.peek();\r\n return fn(hasSpace, \"%\" /* Modulo */, true);\r\n }\r\n else if (ch === \"|\" /* Pipe */) {\r\n return prev === \"%\" /* Modulo */ || detectModulo\r\n ? true\r\n : !(prev === CHAR_SP || prev === CHAR_LF);\r\n }\r\n else if (ch === CHAR_SP) {\r\n scnr.peek();\r\n return fn(true, CHAR_SP, detectModulo);\r\n }\r\n else if (ch === CHAR_LF) {\r\n scnr.peek();\r\n return fn(true, CHAR_LF, detectModulo);\r\n }\r\n else {\r\n return true;\r\n }\r\n };\r\n const ret = fn();\r\n reset && scnr.resetPeek();\r\n return ret;\r\n }\r\n function takeChar(scnr, fn) {\r\n const ch = scnr.currentChar();\r\n if (ch === EOF) {\r\n return EOF;\r\n }\r\n if (fn(ch)) {\r\n scnr.next();\r\n return ch;\r\n }\r\n return null;\r\n }\r\n function takeIdentifierChar(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 97 && cc <= 122) || // a-z\r\n (cc >= 65 && cc <= 90) || // A-Z\r\n (cc >= 48 && cc <= 57) || // 0-9\r\n cc === 95 || // _\r\n cc === 36 // $\r\n );\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return cc >= 48 && cc <= 57; // 0-9\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function takeHexDigit(scnr) {\r\n const closure = (ch) => {\r\n const cc = ch.charCodeAt(0);\r\n return ((cc >= 48 && cc <= 57) || // 0-9\r\n (cc >= 65 && cc <= 70) || // A-F\r\n (cc >= 97 && cc <= 102)); // a-f\r\n };\r\n return takeChar(scnr, closure);\r\n }\r\n function getDigits(scnr) {\r\n let ch = '';\r\n let num = '';\r\n while ((ch = takeDigit(scnr))) {\r\n num += ch;\r\n }\r\n return num;\r\n }\r\n function readModulo(scnr) {\r\n skipSpaces(scnr);\r\n const ch = scnr.currentChar();\r\n if (ch !== \"%\" /* Modulo */) {\r\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\r\n }\r\n scnr.next();\r\n return \"%\" /* Modulo */;\r\n }\r\n function readText(scnr) {\r\n let buf = '';\r\n while (true) {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"}\" /* BraceRight */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n break;\r\n }\r\n else if (ch === \"%\" /* Modulo */) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else {\r\n break;\r\n }\r\n }\r\n else if (ch === CHAR_SP || ch === CHAR_LF) {\r\n if (isTextStart(scnr)) {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n else if (isPluralStart(scnr)) {\r\n break;\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n }\r\n }\r\n return buf;\r\n }\r\n function readNamedIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return name;\r\n }\r\n function readListIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let value = '';\r\n if (scnr.currentChar() === '-') {\r\n scnr.next();\r\n value += `-${getDigits(scnr)}`;\r\n }\r\n else {\r\n value += getDigits(scnr);\r\n }\r\n if (scnr.currentChar() === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n return value;\r\n }\r\n function readLiteral(scnr) {\r\n skipSpaces(scnr);\r\n eat(scnr, `\\'`);\r\n let ch = '';\r\n let literal = '';\r\n const fn = (x) => x !== LITERAL_DELIMITER && x !== CHAR_LF;\r\n while ((ch = takeChar(scnr, fn))) {\r\n if (ch === '\\\\') {\r\n literal += readEscapeSequence(scnr);\r\n }\r\n else {\r\n literal += ch;\r\n }\r\n }\r\n const current = scnr.currentChar();\r\n if (current === CHAR_LF || current === EOF) {\r\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\r\n // TODO: Is it correct really?\r\n if (current === CHAR_LF) {\r\n scnr.next();\r\n eat(scnr, `\\'`);\r\n }\r\n return literal;\r\n }\r\n eat(scnr, `\\'`);\r\n return literal;\r\n }\r\n function readEscapeSequence(scnr) {\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case '\\\\':\r\n case `\\'`:\r\n scnr.next();\r\n return `\\\\${ch}`;\r\n case 'u':\r\n return readUnicodeEscapeSequence(scnr, ch, 4);\r\n case 'U':\r\n return readUnicodeEscapeSequence(scnr, ch, 6);\r\n default:\r\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\r\n return '';\r\n }\r\n }\r\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\r\n eat(scnr, unicode);\r\n let sequence = '';\r\n for (let i = 0; i < digits; i++) {\r\n const ch = takeHexDigit(scnr);\r\n if (!ch) {\r\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\r\n break;\r\n }\r\n sequence += ch;\r\n }\r\n return `\\\\${unicode}${sequence}`;\r\n }\r\n function readInvalidIdentifier(scnr) {\r\n skipSpaces(scnr);\r\n let ch = '';\r\n let identifiers = '';\r\n const closure = (ch) => ch !== \"{\" /* BraceLeft */ &&\r\n ch !== \"}\" /* BraceRight */ &&\r\n ch !== CHAR_SP &&\r\n ch !== CHAR_LF;\r\n while ((ch = takeChar(scnr, closure))) {\r\n identifiers += ch;\r\n }\r\n return identifiers;\r\n }\r\n function readLinkedModifier(scnr) {\r\n let ch = '';\r\n let name = '';\r\n while ((ch = takeIdentifierChar(scnr))) {\r\n name += ch;\r\n }\r\n return name;\r\n }\r\n function readLinkedRefer(scnr) {\r\n const fn = (detect = false, buf) => {\r\n const ch = scnr.currentChar();\r\n if (ch === \"{\" /* BraceLeft */ ||\r\n ch === \"%\" /* Modulo */ ||\r\n ch === \"@\" /* LinkedAlias */ ||\r\n ch === \"|\" /* Pipe */ ||\r\n !ch) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_SP) {\r\n return buf;\r\n }\r\n else if (ch === CHAR_LF) {\r\n buf += ch;\r\n scnr.next();\r\n return fn(detect, buf);\r\n }\r\n else {\r\n buf += ch;\r\n scnr.next();\r\n return fn(true, buf);\r\n }\r\n };\r\n return fn(false, '');\r\n }\r\n function readPlural(scnr) {\r\n skipSpaces(scnr);\r\n const plural = eat(scnr, \"|\" /* Pipe */);\r\n skipSpaces(scnr);\r\n return plural;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInPlaceholder(scnr, context) {\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n if (context.braceNest >= 1) {\r\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 2 /* BraceLeft */, \"{\" /* BraceLeft */);\r\n skipSpaces(scnr);\r\n context.braceNest++;\r\n return token;\r\n case \"}\" /* BraceRight */:\r\n if (context.braceNest > 0 &&\r\n context.currentType === 2 /* BraceLeft */) {\r\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\r\n }\r\n scnr.next();\r\n token = getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n context.braceNest--;\r\n context.braceNest > 0 && skipSpaces(scnr);\r\n if (context.inLinked && context.braceNest === 0) {\r\n context.inLinked = false;\r\n }\r\n return token;\r\n case \"@\" /* LinkedAlias */:\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = readTokenInLinked(scnr, context) || getEndToken(context);\r\n context.braceNest = 0;\r\n return token;\r\n default:\r\n let validNamedIdentifier = true;\r\n let validListIdentifier = true;\r\n let validLiteral = true;\r\n if (isPluralStart(scnr)) {\r\n if (context.braceNest > 0) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n }\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (context.braceNest > 0 &&\r\n (context.currentType === 5 /* Named */ ||\r\n context.currentType === 6 /* List */ ||\r\n context.currentType === 7 /* Literal */)) {\r\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\r\n context.braceNest = 0;\r\n return readToken(scnr, context);\r\n }\r\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\r\n token = getToken(context, 5 /* Named */, readNamedIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\r\n token = getToken(context, 6 /* List */, readListIdentifier(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if ((validLiteral = isLiteralStart(scnr, context))) {\r\n token = getToken(context, 7 /* Literal */, readLiteral(scnr));\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\r\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\r\n token = getToken(context, 13 /* InvalidPlace */, readInvalidIdentifier(scnr));\r\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\r\n skipSpaces(scnr);\r\n return token;\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readTokenInLinked(scnr, context) {\r\n const { currentType } = context;\r\n let token = null;\r\n const ch = scnr.currentChar();\r\n if ((currentType === 8 /* LinkedAlias */ ||\r\n currentType === 9 /* LinkedDot */ ||\r\n currentType === 12 /* LinkedModifier */ ||\r\n currentType === 10 /* LinkedDelimiter */) &&\r\n (ch === CHAR_LF || ch === CHAR_SP)) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n switch (ch) {\r\n case \"@\" /* LinkedAlias */:\r\n scnr.next();\r\n token = getToken(context, 8 /* LinkedAlias */, \"@\" /* LinkedAlias */);\r\n context.inLinked = true;\r\n return token;\r\n case \".\" /* LinkedDot */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 9 /* LinkedDot */, \".\" /* LinkedDot */);\r\n case \":\" /* LinkedDelimiter */:\r\n skipSpaces(scnr);\r\n scnr.next();\r\n return getToken(context, 10 /* LinkedDelimiter */, \":\" /* LinkedDelimiter */);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n if (isLinkedDotStart(scnr, context) ||\r\n isLinkedDelimiterStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return readTokenInLinked(scnr, context);\r\n }\r\n if (isLinkedModifierStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n return getToken(context, 12 /* LinkedModifier */, readLinkedModifier(scnr));\r\n }\r\n if (isLinkedReferStart(scnr, context)) {\r\n skipSpaces(scnr);\r\n if (ch === \"{\" /* BraceLeft */) {\r\n // scan the placeholder\r\n return readTokenInPlaceholder(scnr, context) || token;\r\n }\r\n else {\r\n return getToken(context, 11 /* LinkedKey */, readLinkedRefer(scnr));\r\n }\r\n }\r\n if (currentType === 8 /* LinkedAlias */) {\r\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\r\n }\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return readToken(scnr, context);\r\n }\r\n }\r\n // TODO: We need refactoring of token parsing ...\r\n function readToken(scnr, context) {\r\n let token = { type: 14 /* EOF */ };\r\n if (context.braceNest > 0) {\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n }\r\n if (context.inLinked) {\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n }\r\n const ch = scnr.currentChar();\r\n switch (ch) {\r\n case \"{\" /* BraceLeft */:\r\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\r\n case \"}\" /* BraceRight */:\r\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\r\n scnr.next();\r\n return getToken(context, 3 /* BraceRight */, \"}\" /* BraceRight */);\r\n case \"@\" /* LinkedAlias */:\r\n return readTokenInLinked(scnr, context) || getEndToken(context);\r\n default:\r\n if (isPluralStart(scnr)) {\r\n token = getToken(context, 1 /* Pipe */, readPlural(scnr));\r\n // reset\r\n context.braceNest = 0;\r\n context.inLinked = false;\r\n return token;\r\n }\r\n const { isModulo, hasSpace } = detectModuloStart(scnr);\r\n if (isModulo) {\r\n return hasSpace\r\n ? getToken(context, 0 /* Text */, readText(scnr))\r\n : getToken(context, 4 /* Modulo */, readModulo(scnr));\r\n }\r\n if (isTextStart(scnr)) {\r\n return getToken(context, 0 /* Text */, readText(scnr));\r\n }\r\n break;\r\n }\r\n return token;\r\n }\r\n function nextToken() {\r\n const { currentType, offset, startLoc, endLoc } = _context;\r\n _context.lastType = currentType;\r\n _context.lastOffset = offset;\r\n _context.lastStartLoc = startLoc;\r\n _context.lastEndLoc = endLoc;\r\n _context.offset = currentOffset();\r\n _context.startLoc = currentPosition();\r\n if (_scnr.currentChar() === EOF) {\r\n return getToken(_context, 14 /* EOF */);\r\n }\r\n return readToken(_scnr, _context);\r\n }\r\n return {\r\n nextToken,\r\n currentOffset,\r\n currentPosition,\r\n context\r\n };\r\n}\n\nconst ERROR_DOMAIN = 'parser';\r\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\r\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\r\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\r\n switch (match) {\r\n case `\\\\\\\\`:\r\n return `\\\\`;\r\n case `\\\\\\'`:\r\n return `\\'`;\r\n default: {\r\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\r\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\r\n return String.fromCodePoint(codePoint);\r\n }\r\n // invalid ...\r\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\r\n return '�';\r\n }\r\n }\r\n}\r\nfunction createParser(options = {}) {\r\n const location = options.location !== false;\r\n const { onError } = options;\r\n function emitError(tokenzer, code, start, offset, ...args) {\r\n const end = tokenzer.currentPosition();\r\n end.offset += offset;\r\n end.column += offset;\r\n if (onError) {\r\n const loc = createLocation(start, end);\r\n const err = createCompileError(code, loc, {\r\n domain: ERROR_DOMAIN,\r\n args\r\n });\r\n onError(err);\r\n }\r\n }\r\n function startNode(type, offset, loc) {\r\n const node = {\r\n type,\r\n start: offset,\r\n end: offset\r\n };\r\n if (location) {\r\n node.loc = { start: loc, end: loc };\r\n }\r\n return node;\r\n }\r\n function endNode(node, offset, pos, type) {\r\n node.end = offset;\r\n if (type) {\r\n node.type = type;\r\n }\r\n if (location && node.loc) {\r\n node.loc.end = pos;\r\n }\r\n }\r\n function parseText(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(3 /* Text */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseList(tokenizer, index) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(5 /* List */, offset, loc);\r\n node.index = parseInt(index, 10);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseNamed(tokenizer, key) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(4 /* Named */, offset, loc);\r\n node.key = key;\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLiteral(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\r\n const node = startNode(9 /* Literal */, offset, loc);\r\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\r\n tokenizer.nextToken(); // skip brach right\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinkedModifier(tokenizer) {\r\n const token = tokenizer.nextToken();\r\n const context = tokenizer.context();\r\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\r\n const node = startNode(8 /* LinkedModifier */, offset, loc);\r\n if (token.type !== 12 /* LinkedModifier */) {\r\n // empty modifier\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\r\n node.value = '';\r\n endNode(node, offset, loc);\r\n return {\r\n nextConsumeToken: token,\r\n node\r\n };\r\n }\r\n // check token\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.value = token.value || '';\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node\r\n };\r\n }\r\n function parseLinkedKey(tokenizer, value) {\r\n const context = tokenizer.context();\r\n const node = startNode(7 /* LinkedKey */, context.offset, context.startLoc);\r\n node.value = value;\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseLinked(tokenizer) {\r\n const context = tokenizer.context();\r\n const linkedNode = startNode(6 /* Linked */, context.offset, context.startLoc);\r\n let token = tokenizer.nextToken();\r\n if (token.type === 9 /* LinkedDot */) {\r\n const parsed = parseLinkedModifier(tokenizer);\r\n linkedNode.modifier = parsed.node;\r\n token = parsed.nextConsumeToken || tokenizer.nextToken();\r\n }\r\n // asset check token\r\n if (token.type !== 10 /* LinkedDelimiter */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n token = tokenizer.nextToken();\r\n // skip brace left\r\n if (token.type === 2 /* BraceLeft */) {\r\n token = tokenizer.nextToken();\r\n }\r\n switch (token.type) {\r\n case 11 /* LinkedKey */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseNamed(tokenizer, token.value || '');\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseList(tokenizer, token.value || '');\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\r\n break;\r\n default:\r\n // empty key\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\r\n const nextContext = tokenizer.context();\r\n const emptyLinkedKeyNode = startNode(7 /* LinkedKey */, nextContext.offset, nextContext.startLoc);\r\n emptyLinkedKeyNode.value = '';\r\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\r\n linkedNode.key = emptyLinkedKeyNode;\r\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\r\n return {\r\n nextConsumeToken: token,\r\n node: linkedNode\r\n };\r\n }\r\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return {\r\n node: linkedNode\r\n };\r\n }\r\n function parseMessage(tokenizer) {\r\n const context = tokenizer.context();\r\n const startOffset = context.currentType === 1 /* Pipe */\r\n ? tokenizer.currentOffset()\r\n : context.offset;\r\n const startLoc = context.currentType === 1 /* Pipe */\r\n ? context.endLoc\r\n : context.startLoc;\r\n const node = startNode(2 /* Message */, startOffset, startLoc);\r\n node.items = [];\r\n let nextToken = null;\r\n do {\r\n const token = nextToken || tokenizer.nextToken();\r\n nextToken = null;\r\n switch (token.type) {\r\n case 0 /* Text */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseText(tokenizer, token.value || ''));\r\n break;\r\n case 6 /* List */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseList(tokenizer, token.value || ''));\r\n break;\r\n case 5 /* Named */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseNamed(tokenizer, token.value || ''));\r\n break;\r\n case 7 /* Literal */:\r\n if (token.value == null) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\r\n }\r\n node.items.push(parseLiteral(tokenizer, token.value || ''));\r\n break;\r\n case 8 /* LinkedAlias */:\r\n const parsed = parseLinked(tokenizer);\r\n node.items.push(parsed.node);\r\n nextToken = parsed.nextConsumeToken || null;\r\n break;\r\n }\r\n } while (context.currentType !== 14 /* EOF */ &&\r\n context.currentType !== 1 /* Pipe */);\r\n // adjust message node loc\r\n const endOffset = context.currentType === 1 /* Pipe */\r\n ? context.lastOffset\r\n : tokenizer.currentOffset();\r\n const endLoc = context.currentType === 1 /* Pipe */\r\n ? context.lastEndLoc\r\n : tokenizer.currentPosition();\r\n endNode(node, endOffset, endLoc);\r\n return node;\r\n }\r\n function parsePlural(tokenizer, offset, loc, msgNode) {\r\n const context = tokenizer.context();\r\n let hasEmptyMessage = msgNode.items.length === 0;\r\n const node = startNode(1 /* Plural */, offset, loc);\r\n node.cases = [];\r\n node.cases.push(msgNode);\r\n do {\r\n const msg = parseMessage(tokenizer);\r\n if (!hasEmptyMessage) {\r\n hasEmptyMessage = msg.items.length === 0;\r\n }\r\n node.cases.push(msg);\r\n } while (context.currentType !== 14 /* EOF */);\r\n if (hasEmptyMessage) {\r\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n function parseResource(tokenizer) {\r\n const context = tokenizer.context();\r\n const { offset, startLoc } = context;\r\n const msgNode = parseMessage(tokenizer);\r\n if (context.currentType === 14 /* EOF */) {\r\n return msgNode;\r\n }\r\n else {\r\n return parsePlural(tokenizer, offset, startLoc, msgNode);\r\n }\r\n }\r\n function parse(source) {\r\n const tokenizer = createTokenizer(source, assign({}, options));\r\n const context = tokenizer.context();\r\n const node = startNode(0 /* Resource */, context.offset, context.startLoc);\r\n if (location && node.loc) {\r\n node.loc.source = source;\r\n }\r\n node.body = parseResource(tokenizer);\r\n // assert whether achieved to EOF\r\n if (context.currentType !== 14 /* EOF */) {\r\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\r\n }\r\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\r\n return node;\r\n }\r\n return { parse };\r\n}\r\nfunction getTokenCaption(token) {\r\n if (token.type === 14 /* EOF */) {\r\n return 'EOF';\r\n }\r\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\r\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\r\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\r\n) {\r\n const _context = {\r\n ast,\r\n helpers: new Set()\r\n };\r\n const context = () => _context;\r\n const helper = (name) => {\r\n _context.helpers.add(name);\r\n return name;\r\n };\r\n return { context, helper };\r\n}\r\nfunction traverseNodes(nodes, transformer) {\r\n for (let i = 0; i < nodes.length; i++) {\r\n traverseNode(nodes[i], transformer);\r\n }\r\n}\r\nfunction traverseNode(node, transformer) {\r\n // TODO: if we need pre-hook of transform, should be implemented to here\r\n switch (node.type) {\r\n case 1 /* Plural */:\r\n traverseNodes(node.cases, transformer);\r\n transformer.helper(\"plural\" /* PLURAL */);\r\n break;\r\n case 2 /* Message */:\r\n traverseNodes(node.items, transformer);\r\n break;\r\n case 6 /* Linked */:\r\n const linked = node;\r\n traverseNode(linked.key, transformer);\r\n transformer.helper(\"linked\" /* LINKED */);\r\n transformer.helper(\"type\" /* TYPE */);\r\n break;\r\n case 5 /* List */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"list\" /* LIST */);\r\n break;\r\n case 4 /* Named */:\r\n transformer.helper(\"interpolate\" /* INTERPOLATE */);\r\n transformer.helper(\"named\" /* NAMED */);\r\n break;\r\n }\r\n // TODO: if we need post-hook of transform, should be implemented to here\r\n}\r\n// transform AST\r\nfunction transform(ast, options = {} // eslint-disable-line\r\n) {\r\n const transformer = createTransformer(ast);\r\n transformer.helper(\"normalize\" /* NORMALIZE */);\r\n // traverse\r\n ast.body && traverseNode(ast.body, transformer);\r\n // set meta information\r\n const context = transformer.context();\r\n ast.helpers = Array.from(context.helpers);\r\n}\n\nfunction createCodeGenerator(ast, options) {\r\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\r\n const _context = {\r\n source: ast.loc.source,\r\n filename,\r\n code: '',\r\n column: 1,\r\n line: 1,\r\n offset: 0,\r\n map: undefined,\r\n breakLineCode,\r\n needIndent: _needIndent,\r\n indentLevel: 0\r\n };\r\n const context = () => _context;\r\n function push(code, node) {\r\n _context.code += code;\r\n }\r\n function _newline(n, withBreakLine = true) {\r\n const _breakLineCode = withBreakLine ? breakLineCode : '';\r\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\r\n }\r\n function indent(withNewLine = true) {\r\n const level = ++_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function deindent(withNewLine = true) {\r\n const level = --_context.indentLevel;\r\n withNewLine && _newline(level);\r\n }\r\n function newline() {\r\n _newline(_context.indentLevel);\r\n }\r\n const helper = (key) => `_${key}`;\r\n const needIndent = () => _context.needIndent;\r\n return {\r\n context,\r\n push,\r\n indent,\r\n deindent,\r\n newline,\r\n helper,\r\n needIndent\r\n };\r\n}\r\nfunction generateLinkedNode(generator, node) {\r\n const { helper } = generator;\r\n generator.push(`${helper(\"linked\" /* LINKED */)}(`);\r\n generateNode(generator, node.key);\r\n if (node.modifier) {\r\n generator.push(`, `);\r\n generateNode(generator, node.modifier);\r\n generator.push(`, _type`);\r\n }\r\n else {\r\n generator.push(`, undefined, _type`);\r\n }\r\n generator.push(`)`);\r\n}\r\nfunction generateMessageNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n generator.push(`${helper(\"normalize\" /* NORMALIZE */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.items.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.items[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push('])');\r\n}\r\nfunction generatePluralNode(generator, node) {\r\n const { helper, needIndent } = generator;\r\n if (node.cases.length > 1) {\r\n generator.push(`${helper(\"plural\" /* PLURAL */)}([`);\r\n generator.indent(needIndent());\r\n const length = node.cases.length;\r\n for (let i = 0; i < length; i++) {\r\n generateNode(generator, node.cases[i]);\r\n if (i === length - 1) {\r\n break;\r\n }\r\n generator.push(', ');\r\n }\r\n generator.deindent(needIndent());\r\n generator.push(`])`);\r\n }\r\n}\r\nfunction generateResource(generator, node) {\r\n if (node.body) {\r\n generateNode(generator, node.body);\r\n }\r\n else {\r\n generator.push('null');\r\n }\r\n}\r\nfunction generateNode(generator, node) {\r\n const { helper } = generator;\r\n switch (node.type) {\r\n case 0 /* Resource */:\r\n generateResource(generator, node);\r\n break;\r\n case 1 /* Plural */:\r\n generatePluralNode(generator, node);\r\n break;\r\n case 2 /* Message */:\r\n generateMessageNode(generator, node);\r\n break;\r\n case 6 /* Linked */:\r\n generateLinkedNode(generator, node);\r\n break;\r\n case 8 /* LinkedModifier */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 7 /* LinkedKey */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 5 /* List */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"list\" /* LIST */)}(${node.index}))`, node);\r\n break;\r\n case 4 /* Named */:\r\n generator.push(`${helper(\"interpolate\" /* INTERPOLATE */)}(${helper(\"named\" /* NAMED */)}(${JSON.stringify(node.key)}))`, node);\r\n break;\r\n case 9 /* Literal */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n case 3 /* Text */:\r\n generator.push(JSON.stringify(node.value), node);\r\n break;\r\n default:\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n throw new Error(`unhandled codegen node type: ${node.type}`);\r\n }\r\n }\r\n}\r\n// generate code from AST\r\nconst generate = (ast, options = {} // eslint-disable-line\r\n) => {\r\n const mode = isString(options.mode) ? options.mode : 'normal';\r\n const filename = isString(options.filename)\r\n ? options.filename\r\n : 'message.intl';\r\n const sourceMap = !!options.sourceMap;\r\n // prettier-ignore\r\n const breakLineCode = options.breakLineCode != null\r\n ? options.breakLineCode\r\n : mode === 'arrow'\r\n ? ';'\r\n : '\\n';\r\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\r\n const helpers = ast.helpers || [];\r\n const generator = createCodeGenerator(ast, {\r\n mode,\r\n filename,\r\n sourceMap,\r\n breakLineCode,\r\n needIndent\r\n });\r\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\r\n generator.indent(needIndent);\r\n if (helpers.length > 0) {\r\n generator.push(`const { ${helpers.map(s => `${s}: _${s}`).join(', ')} } = ctx`);\r\n generator.newline();\r\n }\r\n generator.push(`return `);\r\n generateNode(generator, ast);\r\n generator.deindent(needIndent);\r\n generator.push(`}`);\r\n const { code, map } = generator.context();\r\n return {\r\n ast,\r\n code,\r\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\r\n };\r\n};\n\nfunction baseCompile(source, options = {}) {\r\n const assignedOptions = assign({}, options);\r\n // parse source codes\r\n const parser = createParser(assignedOptions);\r\n const ast = parser.parse(source);\r\n // transform ASTs\r\n transform(ast, assignedOptions);\r\n // generate javascript codes\r\n return generate(ast, assignedOptions);\r\n}\n\nexport { CompileErrorCodes, ERROR_DOMAIN, LocationStub, baseCompile, createCompileError, createLocation, createParser, createPosition, defaultOnError, errorMessages };\n"],"names":["CompileErrorCodes","errorMessages","createCompileError","code","loc","options","domain","messages","args","msg","format","error","defaultOnError","createPosition","line","column","offset","createLocation","start","end","source","CHAR_SP","CHAR_CR","CHAR_LF","CHAR_LS","CHAR_PS","createScanner","str","_buf","_index","_line","_column","_peekOffset","isCRLF","index","isLF","isPS","isLS","isLineEnd","peekOffset","charAt","currentChar","currentPeek","next","peek","reset","resetPeek","skipToPeek","target","EOF","LITERAL_DELIMITER","ERROR_DOMAIN$1","createTokenizer","location","_scnr","currentOffset","currentPosition","_initLoc","_initOffset","_context","context","onError","emitError","pos","ctx","err","getToken","type","value","token","getEndToken","eat","scnr","ch","peekSpaces","buf","skipSpaces","isIdentifierStart","cc","isNumberStart","isNamedIdentifierStart","currentType","ret","isListIdentifierStart","isLiteralStart","isLinkedDotStart","isLinkedModifierStart","isLinkedDelimiterStart","isLinkedReferStart","fn","isPluralStart","detectModuloStart","spaces","isTextStart","hasSpace","prev","detectModulo","takeChar","takeIdentifierChar","takeDigit","takeHexDigit","getDigits","num","readModulo","readText","readNamedIdentifier","name","readListIdentifier","readLiteral","literal","x","readEscapeSequence","current","readUnicodeEscapeSequence","unicode","digits","sequence","i","readInvalidIdentifier","identifiers","closure","readLinkedModifier","readLinkedRefer","detect","readPlural","plural","readTokenInPlaceholder","readTokenInLinked","validNamedIdentifier","validListIdentifier","validLiteral","readToken","isModulo","nextToken","startLoc","endLoc","ERROR_DOMAIN","KNOWN_ESCAPES","fromEscapeSequence","match","codePoint4","codePoint6","codePoint","createParser","tokenzer","startNode","node","endNode","parseText","tokenizer","parseList","parseNamed","key","parseLiteral","parseLinkedModifier","getTokenCaption","parseLinkedKey","parseLinked","linkedNode","parsed","nextContext","emptyLinkedKeyNode","parseMessage","startOffset","endOffset","parsePlural","msgNode","hasEmptyMessage","parseResource","parse","assign","createTransformer","ast","traverseNodes","nodes","transformer","traverseNode","transform","createCodeGenerator","sourceMap","filename","breakLineCode","_needIndent","push","_newline","n","withBreakLine","_breakLineCode","indent","withNewLine","level","deindent","newline","generateLinkedNode","generator","helper","generateNode","generateMessageNode","needIndent","length","generatePluralNode","generateResource","generate","mode","isString","helpers","s","map","baseCompile","assignedOptions"],"mappings":"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","x_google_ignoreList":[0]}
1
+ {"version":3,"file":"design-system95.mjs","sources":["../node_modules/@intlify/core-base/dist/core-base.esm-bundler.js"],"sourcesContent":["/*!\n * core-base v9.2.2\n * (c) 2022 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { isObject, isString, isFunction, isNumber, isPlainObject, toDisplayString, isArray, format, isBoolean, assign, isRegExp, warn, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate, getGlobalThis } from '@intlify/shared';\nimport { defaultOnError, baseCompile, CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\nimport { IntlifyDevToolsHooks } from '@intlify/devtools-if';\n\nconst pathStateMachine = [];\r\npathStateMachine[0 /* BEFORE_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [0 /* BEFORE_PATH */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[1 /* IN_PATH */] = {\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */]\r\n};\r\npathStateMachine[2 /* BEFORE_IDENT */] = {\r\n [\"w\" /* WORKSPACE */]: [2 /* BEFORE_IDENT */],\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */]\r\n};\r\npathStateMachine[3 /* IN_IDENT */] = {\r\n [\"i\" /* IDENT */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"0\" /* ZERO */]: [3 /* IN_IDENT */, 0 /* APPEND */],\r\n [\"w\" /* WORKSPACE */]: [1 /* IN_PATH */, 1 /* PUSH */],\r\n [\".\" /* DOT */]: [2 /* BEFORE_IDENT */, 1 /* PUSH */],\r\n [\"[\" /* LEFT_BRACKET */]: [4 /* IN_SUB_PATH */, 1 /* PUSH */],\r\n [\"o\" /* END_OF_FAIL */]: [7 /* AFTER_PATH */, 1 /* PUSH */]\r\n};\r\npathStateMachine[4 /* IN_SUB_PATH */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */],\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */],\r\n [\"[\" /* LEFT_BRACKET */]: [\r\n 4 /* IN_SUB_PATH */,\r\n 2 /* INC_SUB_PATH_DEPTH */\r\n ],\r\n [\"]\" /* RIGHT_BRACKET */]: [1 /* IN_PATH */, 3 /* PUSH_SUB_PATH */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */]\r\n};\r\npathStateMachine[5 /* IN_SINGLE_QUOTE */] = {\r\n [\"'\" /* SINGLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [5 /* IN_SINGLE_QUOTE */, 0 /* APPEND */]\r\n};\r\npathStateMachine[6 /* IN_DOUBLE_QUOTE */] = {\r\n [\"\\\"\" /* DOUBLE_QUOTE */]: [4 /* IN_SUB_PATH */, 0 /* APPEND */],\r\n [\"o\" /* END_OF_FAIL */]: 8 /* ERROR */,\r\n [\"l\" /* ELSE */]: [6 /* IN_DOUBLE_QUOTE */, 0 /* APPEND */]\r\n};\r\n/**\r\n * Check if an expression is a literal value.\r\n */\r\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\r\nfunction isLiteral(exp) {\r\n return literalValueRE.test(exp);\r\n}\r\n/**\r\n * Strip quotes from a string\r\n */\r\nfunction stripQuotes(str) {\r\n const a = str.charCodeAt(0);\r\n const b = str.charCodeAt(str.length - 1);\r\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\r\n}\r\n/**\r\n * Determine the type of a character in a keypath.\r\n */\r\nfunction getPathCharType(ch) {\r\n if (ch === undefined || ch === null) {\r\n return \"o\" /* END_OF_FAIL */;\r\n }\r\n const code = ch.charCodeAt(0);\r\n switch (code) {\r\n case 0x5b: // [\r\n case 0x5d: // ]\r\n case 0x2e: // .\r\n case 0x22: // \"\r\n case 0x27: // '\r\n return ch;\r\n case 0x5f: // _\r\n case 0x24: // $\r\n case 0x2d: // -\r\n return \"i\" /* IDENT */;\r\n case 0x09: // Tab (HT)\r\n case 0x0a: // Newline (LF)\r\n case 0x0d: // Return (CR)\r\n case 0xa0: // No-break space (NBSP)\r\n case 0xfeff: // Byte Order Mark (BOM)\r\n case 0x2028: // Line Separator (LS)\r\n case 0x2029: // Paragraph Separator (PS)\r\n return \"w\" /* WORKSPACE */;\r\n }\r\n return \"i\" /* IDENT */;\r\n}\r\n/**\r\n * Format a subPath, return its plain form if it is\r\n * a literal string or number. Otherwise prepend the\r\n * dynamic indicator (*).\r\n */\r\nfunction formatSubPath(path) {\r\n const trimmed = path.trim();\r\n // invalid leading 0\r\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\r\n return false;\r\n }\r\n return isLiteral(trimmed)\r\n ? stripQuotes(trimmed)\r\n : \"*\" /* ASTARISK */ + trimmed;\r\n}\r\n/**\r\n * Parse a string path into an array of segments\r\n */\r\nfunction parse(path) {\r\n const keys = [];\r\n let index = -1;\r\n let mode = 0 /* BEFORE_PATH */;\r\n let subPathDepth = 0;\r\n let c;\r\n let key; // eslint-disable-line\r\n let newChar;\r\n let type;\r\n let transition;\r\n let action;\r\n let typeMap;\r\n const actions = [];\r\n actions[0 /* APPEND */] = () => {\r\n if (key === undefined) {\r\n key = newChar;\r\n }\r\n else {\r\n key += newChar;\r\n }\r\n };\r\n actions[1 /* PUSH */] = () => {\r\n if (key !== undefined) {\r\n keys.push(key);\r\n key = undefined;\r\n }\r\n };\r\n actions[2 /* INC_SUB_PATH_DEPTH */] = () => {\r\n actions[0 /* APPEND */]();\r\n subPathDepth++;\r\n };\r\n actions[3 /* PUSH_SUB_PATH */] = () => {\r\n if (subPathDepth > 0) {\r\n subPathDepth--;\r\n mode = 4 /* IN_SUB_PATH */;\r\n actions[0 /* APPEND */]();\r\n }\r\n else {\r\n subPathDepth = 0;\r\n if (key === undefined) {\r\n return false;\r\n }\r\n key = formatSubPath(key);\r\n if (key === false) {\r\n return false;\r\n }\r\n else {\r\n actions[1 /* PUSH */]();\r\n }\r\n }\r\n };\r\n function maybeUnescapeQuote() {\r\n const nextChar = path[index + 1];\r\n if ((mode === 5 /* IN_SINGLE_QUOTE */ &&\r\n nextChar === \"'\" /* SINGLE_QUOTE */) ||\r\n (mode === 6 /* IN_DOUBLE_QUOTE */ &&\r\n nextChar === \"\\\"\" /* DOUBLE_QUOTE */)) {\r\n index++;\r\n newChar = '\\\\' + nextChar;\r\n actions[0 /* APPEND */]();\r\n return true;\r\n }\r\n }\r\n while (mode !== null) {\r\n index++;\r\n c = path[index];\r\n if (c === '\\\\' && maybeUnescapeQuote()) {\r\n continue;\r\n }\r\n type = getPathCharType(c);\r\n typeMap = pathStateMachine[mode];\r\n transition = typeMap[type] || typeMap[\"l\" /* ELSE */] || 8 /* ERROR */;\r\n // check parse error\r\n if (transition === 8 /* ERROR */) {\r\n return;\r\n }\r\n mode = transition[0];\r\n if (transition[1] !== undefined) {\r\n action = actions[transition[1]];\r\n if (action) {\r\n newChar = c;\r\n if (action() === false) {\r\n return;\r\n }\r\n }\r\n }\r\n // check parse finish\r\n if (mode === 7 /* AFTER_PATH */) {\r\n return keys;\r\n }\r\n }\r\n}\r\n// path token cache\r\nconst cache = new Map();\r\n/**\r\n * key-value message resolver\r\n *\r\n * @remarks\r\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveWithKeyValue(obj, path) {\r\n return isObject(obj) ? obj[path] : null;\r\n}\r\n/**\r\n * message resolver\r\n *\r\n * @remarks\r\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\r\n *\r\n * @param obj - A target object to be resolved with path\r\n * @param path - A {@link Path | path} to resolve the value of message\r\n *\r\n * @returns A resolved {@link PathValue | path value}\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction resolveValue(obj, path) {\r\n // check object\r\n if (!isObject(obj)) {\r\n return null;\r\n }\r\n // parse path\r\n let hit = cache.get(path);\r\n if (!hit) {\r\n hit = parse(path);\r\n if (hit) {\r\n cache.set(path, hit);\r\n }\r\n }\r\n // check hit\r\n if (!hit) {\r\n return null;\r\n }\r\n // resolve path value\r\n const len = hit.length;\r\n let last = obj;\r\n let i = 0;\r\n while (i < len) {\r\n const val = last[hit[i]];\r\n if (val === undefined) {\r\n return null;\r\n }\r\n last = val;\r\n i++;\r\n }\r\n return last;\r\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\r\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\r\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\r\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : values.join('');\r\nconst DEFAULT_INTERPOLATE = toDisplayString;\r\nfunction pluralDefault(choice, choicesLength) {\r\n choice = Math.abs(choice);\r\n if (choicesLength === 2) {\r\n // prettier-ignore\r\n return choice\r\n ? choice > 1\r\n ? 1\r\n : 0\r\n : 1;\r\n }\r\n return choice ? Math.min(choice, 2) : 0;\r\n}\r\nfunction getPluralIndex(options) {\r\n // prettier-ignore\r\n const index = isNumber(options.pluralIndex)\r\n ? options.pluralIndex\r\n : -1;\r\n // prettier-ignore\r\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\r\n ? isNumber(options.named.count)\r\n ? options.named.count\r\n : isNumber(options.named.n)\r\n ? options.named.n\r\n : index\r\n : index;\r\n}\r\nfunction normalizeNamed(pluralIndex, props) {\r\n if (!props.count) {\r\n props.count = pluralIndex;\r\n }\r\n if (!props.n) {\r\n props.n = pluralIndex;\r\n }\r\n}\r\nfunction createMessageContext(options = {}) {\r\n const locale = options.locale;\r\n const pluralIndex = getPluralIndex(options);\r\n const pluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? options.pluralRules[locale]\r\n : pluralDefault;\r\n const orgPluralRule = isObject(options.pluralRules) &&\r\n isString(locale) &&\r\n isFunction(options.pluralRules[locale])\r\n ? pluralDefault\r\n : undefined;\r\n const plural = (messages) => {\r\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\r\n };\r\n const _list = options.list || [];\r\n const list = (index) => _list[index];\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n const _named = options.named || {};\r\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\r\n const named = (key) => _named[key];\r\n function message(key) {\r\n // prettier-ignore\r\n const msg = isFunction(options.messages)\r\n ? options.messages(key)\r\n : isObject(options.messages)\r\n ? options.messages[key]\r\n : false;\r\n return !msg\r\n ? options.parent\r\n ? options.parent.message(key) // resolve from parent messages\r\n : DEFAULT_MESSAGE\r\n : msg;\r\n }\r\n const _modifier = (name) => options.modifiers\r\n ? options.modifiers[name]\r\n : DEFAULT_MODIFIER;\r\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\r\n ? options.processor.normalize\r\n : DEFAULT_NORMALIZE;\r\n const interpolate = isPlainObject(options.processor) &&\r\n isFunction(options.processor.interpolate)\r\n ? options.processor.interpolate\r\n : DEFAULT_INTERPOLATE;\r\n const type = isPlainObject(options.processor) && isString(options.processor.type)\r\n ? options.processor.type\r\n : DEFAULT_MESSAGE_DATA_TYPE;\r\n const linked = (key, ...args) => {\r\n const [arg1, arg2] = args;\r\n let type = 'text';\r\n let modifier = '';\r\n if (args.length === 1) {\r\n if (isObject(arg1)) {\r\n modifier = arg1.modifier || modifier;\r\n type = arg1.type || type;\r\n }\r\n else if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n }\r\n else if (args.length === 2) {\r\n if (isString(arg1)) {\r\n modifier = arg1 || modifier;\r\n }\r\n if (isString(arg2)) {\r\n type = arg2 || type;\r\n }\r\n }\r\n let msg = message(key)(ctx);\r\n // The message in vnode resolved with linked are returned as an array by processor.nomalize\r\n if (type === 'vnode' && isArray(msg) && modifier) {\r\n msg = msg[0];\r\n }\r\n return modifier ? _modifier(modifier)(msg, type) : msg;\r\n };\r\n const ctx = {\r\n [\"list\" /* LIST */]: list,\r\n [\"named\" /* NAMED */]: named,\r\n [\"plural\" /* PLURAL */]: plural,\r\n [\"linked\" /* LINKED */]: linked,\r\n [\"message\" /* MESSAGE */]: message,\r\n [\"type\" /* TYPE */]: type,\r\n [\"interpolate\" /* INTERPOLATE */]: interpolate,\r\n [\"normalize\" /* NORMALIZE */]: normalize\r\n };\r\n return ctx;\r\n}\n\nlet devtools = null;\r\nfunction setDevToolsHook(hook) {\r\n devtools = hook;\r\n}\r\nfunction getDevToolsHook() {\r\n return devtools;\r\n}\r\nfunction initI18nDevTools(i18n, version, meta) {\r\n // TODO: queue if devtools is undefined\r\n devtools &&\r\n devtools.emit(IntlifyDevToolsHooks.I18nInit, {\r\n timestamp: Date.now(),\r\n i18n,\r\n version,\r\n meta\r\n });\r\n}\r\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(IntlifyDevToolsHooks.FunctionTranslate);\r\nfunction createDevToolsHook(hook) {\r\n return (payloads) => devtools && devtools.emit(hook, payloads);\r\n}\n\nconst CoreWarnCodes = {\r\n NOT_FOUND_KEY: 1,\r\n FALLBACK_TO_TRANSLATE: 2,\r\n CANNOT_FORMAT_NUMBER: 3,\r\n FALLBACK_TO_NUMBER_FORMAT: 4,\r\n CANNOT_FORMAT_DATE: 5,\r\n FALLBACK_TO_DATE_FORMAT: 6,\r\n __EXTEND_POINT__: 7\r\n};\r\n/** @internal */\r\nconst warnMessages = {\r\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\r\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\r\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\r\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`\r\n};\r\nfunction getWarnMessage(code, ...args) {\r\n return format(warnMessages[code], ...args);\r\n}\n\n/**\r\n * Fallback with simple implemenation\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a simple fallback algorithm.\r\n *\r\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\r\n) {\r\n // prettier-ignore\r\n return [...new Set([\r\n start,\r\n ...(isArray(fallback)\r\n ? fallback\r\n : isObject(fallback)\r\n ? Object.keys(fallback)\r\n : isString(fallback)\r\n ? [fallback]\r\n : [start])\r\n ])];\r\n}\r\n/**\r\n * Fallback with locale chain\r\n *\r\n * @remarks\r\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\r\n *\r\n * @param ctx - A {@link CoreContext | context}\r\n * @param fallback - A {@link FallbackLocale | fallback locale}\r\n * @param start - A starting {@link Locale | locale}\r\n *\r\n * @returns Fallback locales\r\n *\r\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\r\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\r\n const context = ctx;\r\n if (!context.__localeChainCache) {\r\n context.__localeChainCache = new Map();\r\n }\r\n let chain = context.__localeChainCache.get(startLocale);\r\n if (!chain) {\r\n chain = [];\r\n // first block defined by start\r\n let block = [start];\r\n // while any intervening block found\r\n while (isArray(block)) {\r\n block = appendBlockToChain(chain, block, fallback);\r\n }\r\n // prettier-ignore\r\n // last block defined by default\r\n const defaults = isArray(fallback) || !isPlainObject(fallback)\r\n ? fallback\r\n : fallback['default']\r\n ? fallback['default']\r\n : null;\r\n // convert defaults to array\r\n block = isString(defaults) ? [defaults] : defaults;\r\n if (isArray(block)) {\r\n appendBlockToChain(chain, block, false);\r\n }\r\n context.__localeChainCache.set(startLocale, chain);\r\n }\r\n return chain;\r\n}\r\nfunction appendBlockToChain(chain, block, blocks) {\r\n let follow = true;\r\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\r\n const locale = block[i];\r\n if (isString(locale)) {\r\n follow = appendLocaleToChain(chain, block[i], blocks);\r\n }\r\n }\r\n return follow;\r\n}\r\nfunction appendLocaleToChain(chain, locale, blocks) {\r\n let follow;\r\n const tokens = locale.split('-');\r\n do {\r\n const target = tokens.join('-');\r\n follow = appendItemToChain(chain, target, blocks);\r\n tokens.splice(-1, 1);\r\n } while (tokens.length && follow === true);\r\n return follow;\r\n}\r\nfunction appendItemToChain(chain, target, blocks) {\r\n let follow = false;\r\n if (!chain.includes(target)) {\r\n follow = true;\r\n if (target) {\r\n follow = target[target.length - 1] !== '!';\r\n const locale = target.replace(/!/g, '');\r\n chain.push(locale);\r\n if ((isArray(blocks) || isPlainObject(blocks)) &&\r\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\r\n ) {\r\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\r\n follow = blocks[locale];\r\n }\r\n }\r\n }\r\n return follow;\r\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\r\n/**\r\n * Intlify core-base version\r\n * @internal\r\n */\r\nconst VERSION = '9.2.2';\r\nconst NOT_REOSLVED = -1;\r\nconst DEFAULT_LOCALE = 'en-US';\r\nconst MISSING_RESOLVE_VALUE = '';\r\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\r\nfunction getDefaultLinkedModifiers() {\r\n return {\r\n upper: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toUpperCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toUpperCase()\r\n : val;\r\n },\r\n lower: (val, type) => {\r\n // prettier-ignore\r\n return type === 'text' && isString(val)\r\n ? val.toLowerCase()\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? val.children.toLowerCase()\r\n : val;\r\n },\r\n capitalize: (val, type) => {\r\n // prettier-ignore\r\n return (type === 'text' && isString(val)\r\n ? capitalize(val)\r\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\r\n ? capitalize(val.children)\r\n : val);\r\n }\r\n };\r\n}\r\nlet _compiler;\r\nfunction registerMessageCompiler(compiler) {\r\n _compiler = compiler;\r\n}\r\nlet _resolver;\r\n/**\r\n * Register the message resolver\r\n *\r\n * @param resolver - A {@link MessageResolver} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerMessageResolver(resolver) {\r\n _resolver = resolver;\r\n}\r\nlet _fallbacker;\r\n/**\r\n * Register the locale fallbacker\r\n *\r\n * @param fallbacker - A {@link LocaleFallbacker} function\r\n *\r\n * @VueI18nGeneral\r\n */\r\nfunction registerLocaleFallbacker(fallbacker) {\r\n _fallbacker = fallbacker;\r\n}\r\n// Additional Meta for Intlify DevTools\r\nlet _additionalMeta = null;\r\nconst setAdditionalMeta = (meta) => {\r\n _additionalMeta = meta;\r\n};\r\nconst getAdditionalMeta = () => _additionalMeta;\r\nlet _fallbackContext = null;\r\nconst setFallbackContext = (context) => {\r\n _fallbackContext = context;\r\n};\r\nconst getFallbackContext = () => _fallbackContext;\r\n// ID for CoreContext\r\nlet _cid = 0;\r\nfunction createCoreContext(options = {}) {\r\n // setup options\r\n const version = isString(options.version) ? options.version : VERSION;\r\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\r\n const fallbackLocale = isArray(options.fallbackLocale) ||\r\n isPlainObject(options.fallbackLocale) ||\r\n isString(options.fallbackLocale) ||\r\n options.fallbackLocale === false\r\n ? options.fallbackLocale\r\n : locale;\r\n const messages = isPlainObject(options.messages)\r\n ? options.messages\r\n : { [locale]: {} };\r\n const datetimeFormats = isPlainObject(options.datetimeFormats)\r\n ? options.datetimeFormats\r\n : { [locale]: {} }\r\n ;\r\n const numberFormats = isPlainObject(options.numberFormats)\r\n ? options.numberFormats\r\n : { [locale]: {} }\r\n ;\r\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\r\n const pluralRules = options.pluralRules || {};\r\n const missing = isFunction(options.missing) ? options.missing : null;\r\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\r\n ? options.missingWarn\r\n : true;\r\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : true;\r\n const fallbackFormat = !!options.fallbackFormat;\r\n const unresolving = !!options.unresolving;\r\n const postTranslation = isFunction(options.postTranslation)\r\n ? options.postTranslation\r\n : null;\r\n const processor = isPlainObject(options.processor) ? options.processor : null;\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n const escapeParameter = !!options.escapeParameter;\r\n const messageCompiler = isFunction(options.messageCompiler)\r\n ? options.messageCompiler\r\n : _compiler;\r\n const messageResolver = isFunction(options.messageResolver)\r\n ? options.messageResolver\r\n : _resolver || resolveWithKeyValue;\r\n const localeFallbacker = isFunction(options.localeFallbacker)\r\n ? options.localeFallbacker\r\n : _fallbacker || fallbackWithSimple;\r\n const fallbackContext = isObject(options.fallbackContext)\r\n ? options.fallbackContext\r\n : undefined;\r\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\r\n // setup internal options\r\n const internalOptions = options;\r\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\r\n ? internalOptions.__datetimeFormatters\r\n : new Map()\r\n ;\r\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\r\n ? internalOptions.__numberFormatters\r\n : new Map()\r\n ;\r\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\r\n _cid++;\r\n const context = {\r\n version,\r\n cid: _cid,\r\n locale,\r\n fallbackLocale,\r\n messages,\r\n modifiers,\r\n pluralRules,\r\n missing,\r\n missingWarn,\r\n fallbackWarn,\r\n fallbackFormat,\r\n unresolving,\r\n postTranslation,\r\n processor,\r\n warnHtmlMessage,\r\n escapeParameter,\r\n messageCompiler,\r\n messageResolver,\r\n localeFallbacker,\r\n fallbackContext,\r\n onWarn,\r\n __meta\r\n };\r\n {\r\n context.datetimeFormats = datetimeFormats;\r\n context.numberFormats = numberFormats;\r\n context.__datetimeFormatters = __datetimeFormatters;\r\n context.__numberFormatters = __numberFormatters;\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n context.__v_emitter =\r\n internalOptions.__v_emitter != null\r\n ? internalOptions.__v_emitter\r\n : undefined;\r\n }\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n initI18nDevTools(context, version, __meta);\r\n }\r\n return context;\r\n}\r\n/** @internal */\r\nfunction isTranslateFallbackWarn(fallback, key) {\r\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\r\n}\r\n/** @internal */\r\nfunction isTranslateMissingWarn(missing, key) {\r\n return missing instanceof RegExp ? missing.test(key) : missing;\r\n}\r\n/** @internal */\r\nfunction handleMissing(context, key, locale, missingWarn, type) {\r\n const { missing, onWarn } = context;\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"missing\" /* MISSING */, {\r\n locale,\r\n key,\r\n type,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n if (missing !== null) {\r\n const ret = missing(context, locale, key, type);\r\n return isString(ret) ? ret : key;\r\n }\r\n else {\r\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\r\n }\r\n return key;\r\n }\r\n}\r\n/** @internal */\r\nfunction updateFallbackLocale(ctx, locale, fallback) {\r\n const context = ctx;\r\n context.__localeChainCache = new Map();\r\n ctx.localeFallbacker(ctx, fallback, locale);\r\n}\r\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\r\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\r\nfunction checkHtmlMessage(source, options) {\r\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\r\n ? options.warnHtmlMessage\r\n : true;\r\n if (warnHtmlMessage && RE_HTML_TAG.test(source)) {\r\n warn(format(WARN_MESSAGE, { source }));\r\n }\r\n}\r\nconst defaultOnCacheKey = (source) => source;\r\nlet compileCache = Object.create(null);\r\nfunction clearCompileCache() {\r\n compileCache = Object.create(null);\r\n}\r\nfunction compileToFunction(source, options = {}) {\r\n {\r\n // check HTML message\r\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(source, options);\r\n // check caches\r\n const onCacheKey = options.onCacheKey || defaultOnCacheKey;\r\n const key = onCacheKey(source);\r\n const cached = compileCache[key];\r\n if (cached) {\r\n return cached;\r\n }\r\n // compile error detecting\r\n let occurred = false;\r\n const onError = options.onError || defaultOnError;\r\n options.onError = (err) => {\r\n occurred = true;\r\n onError(err);\r\n };\r\n // compile\r\n const { code } = baseCompile(source, options);\r\n // evaluate function\r\n const msg = new Function(`return ${code}`)();\r\n // if occurred compile error, don't cache\r\n return !occurred ? (compileCache[key] = msg) : msg;\r\n }\r\n}\n\nlet code = CompileErrorCodes.__EXTEND_POINT__;\r\nconst inc = () => ++code;\r\nconst CoreErrorCodes = {\r\n INVALID_ARGUMENT: code,\r\n INVALID_DATE_ARGUMENT: inc(),\r\n INVALID_ISO_DATE_ARGUMENT: inc(),\r\n __EXTEND_POINT__: inc() // 18\r\n};\r\nfunction createCoreError(code) {\r\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\r\n}\r\n/** @internal */\r\nconst errorMessages = {\r\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\r\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\r\n 'Make sure your Date represents a valid date.',\r\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string'\r\n};\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\r\nconst isMessageFunction = (val) => isFunction(val);\r\n// implementation of `translate` function\r\nfunction translate(context, ...args) {\r\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\r\n const [key, options] = parseTranslateArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const escapeParameter = isBoolean(options.escapeParameter)\r\n ? options.escapeParameter\r\n : context.escapeParameter;\r\n const resolvedMessage = !!options.resolvedMessage;\r\n // prettier-ignore\r\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\r\n ? !isBoolean(options.default)\r\n ? options.default\r\n : (!messageCompiler ? () => key : key)\r\n : fallbackFormat // default by `fallbackFormat` option\r\n ? (!messageCompiler ? () => key : key)\r\n : '';\r\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n // escape params\r\n escapeParameter && escapeParams(options);\r\n // resolve message format\r\n // eslint-disable-next-line prefer-const\r\n let [formatScope, targetLocale, message] = !resolvedMessage\r\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\r\n : [\r\n key,\r\n locale,\r\n messages[locale] || {}\r\n ];\r\n // NOTE:\r\n // Fix to work around `ssrTransfrom` bug in Vite.\r\n // https://github.com/vitejs/vite/issues/4306\r\n // To get around this, use temporary variables.\r\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\r\n let format = formatScope;\r\n // if you use default message, set it as message format!\r\n let cacheBaseKey = key;\r\n if (!resolvedMessage &&\r\n !(isString(format) || isMessageFunction(format))) {\r\n if (enableDefaultMsg) {\r\n format = defaultMsgOrKey;\r\n cacheBaseKey = format;\r\n }\r\n }\r\n // checking message format and target locale\r\n if (!resolvedMessage &&\r\n (!(isString(format) || isMessageFunction(format)) ||\r\n !isString(targetLocale))) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\r\n warn(`The message format compilation is not supported in this build. ` +\r\n `Because message compiler isn't included. ` +\r\n `You need to pre-compilation all message format. ` +\r\n `So translate function return '${key}'.`);\r\n return key;\r\n }\r\n // setup compile error detecting\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n // compile message format\r\n const msg = !isMessageFunction(format)\r\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector)\r\n : format;\r\n // if occurred compile error, return the message format\r\n if (occurred) {\r\n return format;\r\n }\r\n // evaluate message with context\r\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\r\n const msgContext = createMessageContext(ctxOptions);\r\n const messaged = evaluateMessage(context, msg, msgContext);\r\n // if use post translation option, proceed it with handler\r\n const ret = postTranslation\r\n ? postTranslation(messaged, key)\r\n : messaged;\r\n // NOTE: experimental !!\r\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\r\n // prettier-ignore\r\n const payloads = {\r\n timestamp: Date.now(),\r\n key: isString(key)\r\n ? key\r\n : isMessageFunction(format)\r\n ? format.key\r\n : '',\r\n locale: targetLocale || (isMessageFunction(format)\r\n ? format.locale\r\n : ''),\r\n format: isString(format)\r\n ? format\r\n : isMessageFunction(format)\r\n ? format.source\r\n : '',\r\n message: ret\r\n };\r\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\r\n translateDevTools(payloads);\r\n }\r\n return ret;\r\n}\r\nfunction escapeParams(options) {\r\n if (isArray(options.list)) {\r\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\r\n }\r\n else if (isObject(options.named)) {\r\n Object.keys(options.named).forEach(key => {\r\n if (isString(options.named[key])) {\r\n options.named[key] = escapeHtml(options.named[key]);\r\n }\r\n });\r\n }\r\n}\r\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\r\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\r\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n let message = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'translate';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n message =\r\n messages[targetLocale] || {};\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-resolve-start';\r\n endTag = 'intlify-message-resolve-end';\r\n mark && mark(startTag);\r\n }\r\n if ((format = resolveValue(message, key)) === null) {\r\n // if null, resolve with object key path\r\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start && format) {\r\n emitter.emit(\"message-resolve\" /* MESSAGE_RESOLVE */, {\r\n type: \"message-resolve\" /* MESSAGE_RESOLVE */,\r\n key,\r\n message: format,\r\n time: end - start,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message resolve', startTag, endTag);\r\n }\r\n }\r\n if (isString(format) || isFunction(format))\r\n break;\r\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n key, targetLocale, missingWarn, type);\r\n if (missingRet !== key) {\r\n format = missingRet;\r\n }\r\n from = to;\r\n }\r\n return [format, targetLocale, message];\r\n}\r\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, errorDetector) {\r\n const { messageCompiler, warnHtmlMessage } = context;\r\n if (isMessageFunction(format)) {\r\n const msg = format;\r\n msg.locale = msg.locale || targetLocale;\r\n msg.key = msg.key || key;\r\n return msg;\r\n }\r\n if (messageCompiler == null) {\r\n const msg = (() => format);\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n return msg;\r\n }\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-compilation-start';\r\n endTag = 'intlify-message-compilation-end';\r\n mark && mark(startTag);\r\n }\r\n const msg = messageCompiler(format, getCompileOptions(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, errorDetector));\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-compilation\" /* MESSAGE_COMPILATION */, {\r\n type: \"message-compilation\" /* MESSAGE_COMPILATION */,\r\n message: format,\r\n time: end - start,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message compilation', startTag, endTag);\r\n }\r\n }\r\n msg.locale = targetLocale;\r\n msg.key = key;\r\n msg.source = format;\r\n return msg;\r\n}\r\nfunction evaluateMessage(context, msg, msgCtx) {\r\n // for vue-devtools timeline event\r\n let start = null;\r\n let startTag;\r\n let endTag;\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n start = window.performance.now();\r\n startTag = 'intlify-message-evaluation-start';\r\n endTag = 'intlify-message-evaluation-end';\r\n mark && mark(startTag);\r\n }\r\n const messaged = msg(msgCtx);\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\r\n const end = window.performance.now();\r\n const emitter = context.__v_emitter;\r\n if (emitter && start) {\r\n emitter.emit(\"message-evaluation\" /* MESSAGE_EVALUATION */, {\r\n type: \"message-evaluation\" /* MESSAGE_EVALUATION */,\r\n value: messaged,\r\n time: end - start,\r\n groupId: `${'translate'}:${msg.key}`\r\n });\r\n }\r\n if (startTag && endTag && mark && measure) {\r\n mark(endTag);\r\n measure('intlify message evaluation', startTag, endTag);\r\n }\r\n }\r\n return messaged;\r\n}\r\n/** @internal */\r\nfunction parseTranslateArgs(...args) {\r\n const [arg1, arg2, arg3] = args;\r\n const options = {};\r\n if (!isString(arg1) && !isNumber(arg1) && !isMessageFunction(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n // prettier-ignore\r\n const key = isNumber(arg1)\r\n ? String(arg1)\r\n : isMessageFunction(arg1)\r\n ? arg1\r\n : arg1;\r\n if (isNumber(arg2)) {\r\n options.plural = arg2;\r\n }\r\n else if (isString(arg2)) {\r\n options.default = arg2;\r\n }\r\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\r\n options.named = arg2;\r\n }\r\n else if (isArray(arg2)) {\r\n options.list = arg2;\r\n }\r\n if (isNumber(arg3)) {\r\n options.plural = arg3;\r\n }\r\n else if (isString(arg3)) {\r\n options.default = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n assign(options, arg3);\r\n }\r\n return [key, options];\r\n}\r\nfunction getCompileOptions(context, locale, key, source, warnHtmlMessage, errorDetector) {\r\n return {\r\n warnHtmlMessage,\r\n onError: (err) => {\r\n errorDetector && errorDetector(err);\r\n if ((process.env.NODE_ENV !== 'production')) {\r\n const message = `Message compilation error: ${err.message}`;\r\n const codeFrame = err.location &&\r\n generateCodeFrame(source, err.location.start.offset, err.location.end.offset);\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"compile-error\" /* COMPILE_ERROR */, {\r\n message: source,\r\n error: err.message,\r\n start: err.location && err.location.start.offset,\r\n end: err.location && err.location.end.offset,\r\n groupId: `${'translate'}:${key}`\r\n });\r\n }\r\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\r\n }\r\n else {\r\n throw err;\r\n }\r\n },\r\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\r\n };\r\n}\r\nfunction getMessageContextOptions(context, locale, message, options) {\r\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\r\n const resolveMessage = (key) => {\r\n let val = resolveValue(message, key);\r\n // fallback to root context\r\n if (val == null && fallbackContext) {\r\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\r\n val = resolveValue(message, key);\r\n }\r\n if (isString(val)) {\r\n let occurred = false;\r\n const errorDetector = () => {\r\n occurred = true;\r\n };\r\n const msg = compileMessageFormat(context, key, locale, val, key, errorDetector);\r\n return !occurred\r\n ? msg\r\n : NOOP_MESSAGE_FUNCTION;\r\n }\r\n else if (isMessageFunction(val)) {\r\n return val;\r\n }\r\n else {\r\n // TODO: should be implemented warning message\r\n return NOOP_MESSAGE_FUNCTION;\r\n }\r\n };\r\n const ctxOptions = {\r\n locale,\r\n modifiers,\r\n pluralRules,\r\n messages: resolveMessage\r\n };\r\n if (context.processor) {\r\n ctxOptions.processor = context.processor;\r\n }\r\n if (options.list) {\r\n ctxOptions.list = options.list;\r\n }\r\n if (options.named) {\r\n ctxOptions.named = options.named;\r\n }\r\n if (isNumber(options.plural)) {\r\n ctxOptions.pluralIndex = options.plural;\r\n }\r\n return ctxOptions;\r\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\r\nconst Availabilities = {\r\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\r\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\r\n};\n\n// implementation of `datetime` function\r\nfunction datetime(context, ...args) {\r\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __datetimeFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.DateTimeFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let datetimeFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'datetime format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n datetimeFormat =\r\n datetimeFormats[targetLocale] || {};\r\n format = datetimeFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __datetimeFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\r\n __datetimeFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'weekday',\r\n 'era',\r\n 'year',\r\n 'month',\r\n 'day',\r\n 'hour',\r\n 'minute',\r\n 'second',\r\n 'timeZoneName',\r\n 'formatMatcher',\r\n 'hour12',\r\n 'timeZone',\r\n 'dateStyle',\r\n 'timeStyle',\r\n 'calendar',\r\n 'dayPeriod',\r\n 'numberingSystem',\r\n 'hourCycle',\r\n 'fractionalSecondDigits'\r\n];\r\n/** @internal */\r\nfunction parseDateTimeArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n let value;\r\n if (isString(arg1)) {\r\n // Only allow ISO strings - other date formats are often supported,\r\n // but may cause different results in different browsers.\r\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\r\n if (!matches) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n // Some browsers can not parse the iso datetime separated by space,\r\n // this is a compromise solution by replace the 'T'/' ' with 'T'\r\n const dateTime = matches[3]\r\n ? matches[3].trim().startsWith('T')\r\n ? `${matches[1].trim()}${matches[3].trim()}`\r\n : `${matches[1].trim()}T${matches[3].trim()}`\r\n : matches[1].trim();\r\n value = new Date(dateTime);\r\n try {\r\n // This will fail if the date is not valid\r\n value.toISOString();\r\n }\r\n catch (e) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\r\n }\r\n }\r\n else if (isDate(arg1)) {\r\n if (isNaN(arg1.getTime())) {\r\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\r\n }\r\n value = arg1;\r\n }\r\n else if (isNumber(arg1)) {\r\n value = arg1;\r\n }\r\n else {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearDateTimeFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__datetimeFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__datetimeFormatters.delete(id);\r\n }\r\n}\n\n// implementation of `number` function\r\nfunction number(context, ...args) {\r\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\r\n const { __numberFormatters } = context;\r\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\r\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\r\n return MISSING_RESOLVE_VALUE;\r\n }\r\n const [key, value, options, overrides] = parseNumberArgs(...args);\r\n const missingWarn = isBoolean(options.missingWarn)\r\n ? options.missingWarn\r\n : context.missingWarn;\r\n const fallbackWarn = isBoolean(options.fallbackWarn)\r\n ? options.fallbackWarn\r\n : context.fallbackWarn;\r\n const part = !!options.part;\r\n const locale = isString(options.locale) ? options.locale : context.locale;\r\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\r\n fallbackLocale, locale);\r\n if (!isString(key) || key === '') {\r\n return new Intl.NumberFormat(locale, overrides).format(value);\r\n }\r\n // resolve format\r\n let numberFormat = {};\r\n let targetLocale;\r\n let format = null;\r\n let from = locale;\r\n let to = null;\r\n const type = 'number format';\r\n for (let i = 0; i < locales.length; i++) {\r\n targetLocale = to = locales[i];\r\n if ((process.env.NODE_ENV !== 'production') &&\r\n locale !== targetLocale &&\r\n isTranslateFallbackWarn(fallbackWarn, key)) {\r\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\r\n key,\r\n target: targetLocale\r\n }));\r\n }\r\n // for vue-devtools timeline event\r\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\r\n const emitter = context.__v_emitter;\r\n if (emitter) {\r\n emitter.emit(\"fallback\" /* FALBACK */, {\r\n type,\r\n key,\r\n from,\r\n to,\r\n groupId: `${type}:${key}`\r\n });\r\n }\r\n }\r\n numberFormat =\r\n numberFormats[targetLocale] || {};\r\n format = numberFormat[key];\r\n if (isPlainObject(format))\r\n break;\r\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\r\n from = to;\r\n }\r\n // checking format and target locale\r\n if (!isPlainObject(format) || !isString(targetLocale)) {\r\n return unresolving ? NOT_REOSLVED : key;\r\n }\r\n let id = `${targetLocale}__${key}`;\r\n if (!isEmptyObject(overrides)) {\r\n id = `${id}__${JSON.stringify(overrides)}`;\r\n }\r\n let formatter = __numberFormatters.get(id);\r\n if (!formatter) {\r\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\r\n __numberFormatters.set(id, formatter);\r\n }\r\n return !part ? formatter.format(value) : formatter.formatToParts(value);\r\n}\r\n/** @internal */\r\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\r\n 'localeMatcher',\r\n 'style',\r\n 'currency',\r\n 'currencyDisplay',\r\n 'currencySign',\r\n 'useGrouping',\r\n 'minimumIntegerDigits',\r\n 'minimumFractionDigits',\r\n 'maximumFractionDigits',\r\n 'minimumSignificantDigits',\r\n 'maximumSignificantDigits',\r\n 'compactDisplay',\r\n 'notation',\r\n 'signDisplay',\r\n 'unit',\r\n 'unitDisplay',\r\n 'roundingMode',\r\n 'roundingPriority',\r\n 'roundingIncrement',\r\n 'trailingZeroDisplay'\r\n];\r\n/** @internal */\r\nfunction parseNumberArgs(...args) {\r\n const [arg1, arg2, arg3, arg4] = args;\r\n const options = {};\r\n let overrides = {};\r\n if (!isNumber(arg1)) {\r\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\r\n }\r\n const value = arg1;\r\n if (isString(arg2)) {\r\n options.key = arg2;\r\n }\r\n else if (isPlainObject(arg2)) {\r\n Object.keys(arg2).forEach(key => {\r\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\r\n overrides[key] = arg2[key];\r\n }\r\n else {\r\n options[key] = arg2[key];\r\n }\r\n });\r\n }\r\n if (isString(arg3)) {\r\n options.locale = arg3;\r\n }\r\n else if (isPlainObject(arg3)) {\r\n overrides = arg3;\r\n }\r\n if (isPlainObject(arg4)) {\r\n overrides = arg4;\r\n }\r\n return [options.key || '', value, options, overrides];\r\n}\r\n/** @internal */\r\nfunction clearNumberFormat(ctx, locale, format) {\r\n const context = ctx;\r\n for (const key in format) {\r\n const id = `${locale}__${key}`;\r\n if (!context.__numberFormatters.has(id)) {\r\n continue;\r\n }\r\n context.__numberFormatters.delete(id);\r\n }\r\n}\n\n// TODO: we could not exports for Node native ES Moudles yet...\r\n{\r\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\r\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\r\n }\r\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getWarnMessage, handleMissing, initI18nDevTools, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n"],"names":["pathStateMachine","literalValueRE","isLiteral","exp","stripQuotes","str","a","b","getPathCharType","ch","formatSubPath","path","trimmed","parse","keys","index","mode","subPathDepth","c","key","newChar","type","transition","action","typeMap","actions","maybeUnescapeQuote","nextChar","cache","resolveWithKeyValue","obj","isObject","resolveValue","hit","len","last","i","val","DEFAULT_MODIFIER","DEFAULT_MESSAGE","ctx","DEFAULT_MESSAGE_DATA_TYPE","DEFAULT_NORMALIZE","values","DEFAULT_INTERPOLATE","toDisplayString","pluralDefault","choice","choicesLength","getPluralIndex","options","isNumber","normalizeNamed","pluralIndex","props","createMessageContext","locale","pluralRule","isString","isFunction","orgPluralRule","plural","messages","_list","list","_named","named","message","msg","_modifier","name","normalize","isPlainObject","interpolate","args","arg1","arg2","modifier","isArray","devtools","setDevToolsHook","hook","initI18nDevTools","i18n","version","meta","IntlifyDevToolsHooks","translateDevTools","createDevToolsHook","payloads","CoreWarnCodes","warnMessages","getWarnMessage","code","format","fallbackWithSimple","fallback","start","fallbackWithLocaleChain","startLocale","DEFAULT_LOCALE","context","chain","block","appendBlockToChain","defaults","blocks","follow","isBoolean","appendLocaleToChain","tokens","target","appendItemToChain","VERSION","NOT_REOSLVED","MISSING_RESOLVE_VALUE","capitalize","getDefaultLinkedModifiers","_compiler","registerMessageCompiler","compiler","_resolver","registerMessageResolver","resolver","_fallbacker","registerLocaleFallbacker","fallbacker","_additionalMeta","setAdditionalMeta","getAdditionalMeta","_fallbackContext","setFallbackContext","getFallbackContext","_cid","createCoreContext","fallbackLocale","datetimeFormats","numberFormats","modifiers","assign","pluralRules","missing","missingWarn","isRegExp","fallbackWarn","fallbackFormat","unresolving","postTranslation","processor","warnHtmlMessage","escapeParameter","messageCompiler","messageResolver","localeFallbacker","fallbackContext","onWarn","warn","internalOptions","__datetimeFormatters","__numberFormatters","__meta","isTranslateFallbackWarn","isTranslateMissingWarn","handleMissing","emitter","ret","updateFallbackLocale","RE_HTML_TAG","WARN_MESSAGE","checkHtmlMessage","source","defaultOnCacheKey","compileCache","compileToFunction","cached","occurred","onError","defaultOnError","err","baseCompile","CompileErrorCodes","inc","CoreErrorCodes","createCoreError","createCompileError","errorMessages","NOOP_MESSAGE_FUNCTION","isMessageFunction","translate","parseTranslateArgs","resolvedMessage","defaultMsgOrKey","enableDefaultMsg","escapeParams","formatScope","targetLocale","resolveMessageFormat","cacheBaseKey","errorDetector","compileMessageFormat","ctxOptions","getMessageContextOptions","msgContext","messaged","evaluateMessage","item","escapeHtml","locales","from","to","startTag","endTag","inBrowser","mark","end","measure","missingRet","getCompileOptions","msgCtx","arg3","isEmptyObject","codeFrame","generateCodeFrame","generateFormatCacheKey","intlDefined","Availabilities","datetime","value","overrides","parseDateTimeArgs","part","datetimeFormat","id","formatter","DATETIME_FORMAT_OPTIONS_KEYS","arg4","matches","dateTime","isDate","clearDateTimeFormat","number","parseNumberArgs","numberFormat","NUMBER_FORMAT_OPTIONS_KEYS","clearNumberFormat","getGlobalThis"],"mappings":"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","x_google_ignoreList":[0]}