@simsustech/quasar-components 0.10.6 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (270) hide show
  1. package/CHANGELOG.md +10 -0
  2. package/dist/flags.js +252 -4
  3. package/dist/form.js +50 -61
  4. package/dist/general.js +53 -82
  5. package/dist/index-CkV53iOe.js +7921 -0
  6. package/dist/nl-CYbwXc14.js +383 -0
  7. package/dist/types/ui/flags/index.d.ts +250 -2
  8. package/dist/types/ui/flags/lang/index.d.ts +747 -0
  9. package/dist/types/ui/form/LocaleSelect.vue.d.ts +2 -0
  10. package/dist/types/ui/general/QLanguageSelect.vue.d.ts +2 -0
  11. package/package.json +1 -1
  12. package/src/ui/flags/index.ts +504 -4
  13. package/src/ui/flags/lang/en-US.ts +250 -1
  14. package/src/ui/flags/lang/index.ts +249 -0
  15. package/src/ui/flags/lang/nl.ts +250 -1
  16. package/src/ui/form/DateInput.vue +15 -3
  17. package/src/ui/form/LocaleSelect.vue +40 -29
  18. package/src/ui/general/QLanguageSelect.vue +71 -38
  19. package/dist/en-US-BQLrPvIP.js +0 -224
  20. package/dist/nl-iCAs4ELa.js +0 -134
  21. /package/src/ui/flags/{vue-flags → assets}/ad.svg +0 -0
  22. /package/src/ui/flags/{vue-flags → assets}/ae.svg +0 -0
  23. /package/src/ui/flags/{vue-flags → assets}/af.svg +0 -0
  24. /package/src/ui/flags/{vue-flags → assets}/ag.svg +0 -0
  25. /package/src/ui/flags/{vue-flags → assets}/ai.svg +0 -0
  26. /package/src/ui/flags/{vue-flags → assets}/al.svg +0 -0
  27. /package/src/ui/flags/{vue-flags → assets}/am.svg +0 -0
  28. /package/src/ui/flags/{vue-flags → assets}/ao.svg +0 -0
  29. /package/src/ui/flags/{vue-flags → assets}/aq.svg +0 -0
  30. /package/src/ui/flags/{vue-flags → assets}/ar.svg +0 -0
  31. /package/src/ui/flags/{vue-flags → assets}/as.svg +0 -0
  32. /package/src/ui/flags/{vue-flags → assets}/at.svg +0 -0
  33. /package/src/ui/flags/{vue-flags → assets}/au.svg +0 -0
  34. /package/src/ui/flags/{vue-flags → assets}/aw.svg +0 -0
  35. /package/src/ui/flags/{vue-flags → assets}/ax.svg +0 -0
  36. /package/src/ui/flags/{vue-flags → assets}/az.svg +0 -0
  37. /package/src/ui/flags/{vue-flags → assets}/ba.svg +0 -0
  38. /package/src/ui/flags/{vue-flags → assets}/bb.svg +0 -0
  39. /package/src/ui/flags/{vue-flags → assets}/bd.svg +0 -0
  40. /package/src/ui/flags/{vue-flags → assets}/be.svg +0 -0
  41. /package/src/ui/flags/{vue-flags → assets}/bf.svg +0 -0
  42. /package/src/ui/flags/{vue-flags → assets}/bg.svg +0 -0
  43. /package/src/ui/flags/{vue-flags → assets}/bh.svg +0 -0
  44. /package/src/ui/flags/{vue-flags → assets}/bi.svg +0 -0
  45. /package/src/ui/flags/{vue-flags → assets}/bj.svg +0 -0
  46. /package/src/ui/flags/{vue-flags → assets}/bl.svg +0 -0
  47. /package/src/ui/flags/{vue-flags → assets}/bm.svg +0 -0
  48. /package/src/ui/flags/{vue-flags → assets}/bn.svg +0 -0
  49. /package/src/ui/flags/{vue-flags → assets}/bo.svg +0 -0
  50. /package/src/ui/flags/{vue-flags → assets}/bq.svg +0 -0
  51. /package/src/ui/flags/{vue-flags → assets}/br.svg +0 -0
  52. /package/src/ui/flags/{vue-flags → assets}/bs.svg +0 -0
  53. /package/src/ui/flags/{vue-flags → assets}/bt.svg +0 -0
  54. /package/src/ui/flags/{vue-flags → assets}/bv.svg +0 -0
  55. /package/src/ui/flags/{vue-flags → assets}/bw.svg +0 -0
  56. /package/src/ui/flags/{vue-flags → assets}/by.svg +0 -0
  57. /package/src/ui/flags/{vue-flags → assets}/bz.svg +0 -0
  58. /package/src/ui/flags/{vue-flags → assets}/ca.svg +0 -0
  59. /package/src/ui/flags/{vue-flags → assets}/cc.svg +0 -0
  60. /package/src/ui/flags/{vue-flags → assets}/cd.svg +0 -0
  61. /package/src/ui/flags/{vue-flags → assets}/cf.svg +0 -0
  62. /package/src/ui/flags/{vue-flags → assets}/cg.svg +0 -0
  63. /package/src/ui/flags/{vue-flags → assets}/ch.svg +0 -0
  64. /package/src/ui/flags/{vue-flags → assets}/ci.svg +0 -0
  65. /package/src/ui/flags/{vue-flags → assets}/ck.svg +0 -0
  66. /package/src/ui/flags/{vue-flags → assets}/cl.svg +0 -0
  67. /package/src/ui/flags/{vue-flags → assets}/cm.svg +0 -0
  68. /package/src/ui/flags/{vue-flags → assets}/cn.svg +0 -0
  69. /package/src/ui/flags/{vue-flags → assets}/co.svg +0 -0
  70. /package/src/ui/flags/{vue-flags → assets}/cr.svg +0 -0
  71. /package/src/ui/flags/{vue-flags → assets}/cu.svg +0 -0
  72. /package/src/ui/flags/{vue-flags → assets}/cv.svg +0 -0
  73. /package/src/ui/flags/{vue-flags → assets}/cw.svg +0 -0
  74. /package/src/ui/flags/{vue-flags → assets}/cx.svg +0 -0
  75. /package/src/ui/flags/{vue-flags → assets}/cy.svg +0 -0
  76. /package/src/ui/flags/{vue-flags → assets}/cz.svg +0 -0
  77. /package/src/ui/flags/{vue-flags → assets}/de.svg +0 -0
  78. /package/src/ui/flags/{vue-flags → assets}/dj.svg +0 -0
  79. /package/src/ui/flags/{vue-flags → assets}/dk.svg +0 -0
  80. /package/src/ui/flags/{vue-flags → assets}/dm.svg +0 -0
  81. /package/src/ui/flags/{vue-flags → assets}/do.svg +0 -0
  82. /package/src/ui/flags/{vue-flags → assets}/dz.svg +0 -0
  83. /package/src/ui/flags/{vue-flags → assets}/ec.svg +0 -0
  84. /package/src/ui/flags/{vue-flags → assets}/ee.svg +0 -0
  85. /package/src/ui/flags/{vue-flags → assets}/eg.svg +0 -0
  86. /package/src/ui/flags/{vue-flags → assets}/eh.svg +0 -0
  87. /package/src/ui/flags/{vue-flags → assets}/er.svg +0 -0
  88. /package/src/ui/flags/{vue-flags → assets}/es.svg +0 -0
  89. /package/src/ui/flags/{vue-flags → assets}/et.svg +0 -0
  90. /package/src/ui/flags/{vue-flags → assets}/fi.svg +0 -0
  91. /package/src/ui/flags/{vue-flags → assets}/fj.svg +0 -0
  92. /package/src/ui/flags/{vue-flags → assets}/fk.svg +0 -0
  93. /package/src/ui/flags/{vue-flags → assets}/fm.svg +0 -0
  94. /package/src/ui/flags/{vue-flags → assets}/fo.svg +0 -0
  95. /package/src/ui/flags/{vue-flags → assets}/fr.svg +0 -0
  96. /package/src/ui/flags/{vue-flags → assets}/ga.svg +0 -0
  97. /package/src/ui/flags/{vue-flags → assets}/gb.svg +0 -0
  98. /package/src/ui/flags/{vue-flags → assets}/gd.svg +0 -0
  99. /package/src/ui/flags/{vue-flags → assets}/ge.svg +0 -0
  100. /package/src/ui/flags/{vue-flags → assets}/gf.svg +0 -0
  101. /package/src/ui/flags/{vue-flags → assets}/gg.svg +0 -0
  102. /package/src/ui/flags/{vue-flags → assets}/gh.svg +0 -0
  103. /package/src/ui/flags/{vue-flags → assets}/gi.svg +0 -0
  104. /package/src/ui/flags/{vue-flags → assets}/gl.svg +0 -0
  105. /package/src/ui/flags/{vue-flags → assets}/gm.svg +0 -0
  106. /package/src/ui/flags/{vue-flags → assets}/gn.svg +0 -0
  107. /package/src/ui/flags/{vue-flags → assets}/gp.svg +0 -0
  108. /package/src/ui/flags/{vue-flags → assets}/gq.svg +0 -0
  109. /package/src/ui/flags/{vue-flags → assets}/gr.svg +0 -0
  110. /package/src/ui/flags/{vue-flags → assets}/gs.svg +0 -0
  111. /package/src/ui/flags/{vue-flags → assets}/gt.svg +0 -0
  112. /package/src/ui/flags/{vue-flags → assets}/gu.svg +0 -0
  113. /package/src/ui/flags/{vue-flags → assets}/gw.svg +0 -0
  114. /package/src/ui/flags/{vue-flags → assets}/gy.svg +0 -0
  115. /package/src/ui/flags/{vue-flags → assets}/hk.svg +0 -0
  116. /package/src/ui/flags/{vue-flags → assets}/hm.svg +0 -0
  117. /package/src/ui/flags/{vue-flags → assets}/hn.svg +0 -0
  118. /package/src/ui/flags/{vue-flags → assets}/hr.svg +0 -0
  119. /package/src/ui/flags/{vue-flags → assets}/ht.svg +0 -0
  120. /package/src/ui/flags/{vue-flags → assets}/hu.svg +0 -0
  121. /package/src/ui/flags/{vue-flags → assets}/id.svg +0 -0
  122. /package/src/ui/flags/{vue-flags → assets}/ie.svg +0 -0
  123. /package/src/ui/flags/{vue-flags → assets}/il.svg +0 -0
  124. /package/src/ui/flags/{vue-flags → assets}/im.svg +0 -0
  125. /package/src/ui/flags/{vue-flags → assets}/in.svg +0 -0
  126. /package/src/ui/flags/{vue-flags → assets}/io.svg +0 -0
  127. /package/src/ui/flags/{vue-flags → assets}/iq.svg +0 -0
  128. /package/src/ui/flags/{vue-flags → assets}/ir.svg +0 -0
  129. /package/src/ui/flags/{vue-flags → assets}/is.svg +0 -0
  130. /package/src/ui/flags/{vue-flags → assets}/it.svg +0 -0
  131. /package/src/ui/flags/{vue-flags → assets}/je.svg +0 -0
  132. /package/src/ui/flags/{vue-flags → assets}/jm.svg +0 -0
  133. /package/src/ui/flags/{vue-flags → assets}/jo.svg +0 -0
  134. /package/src/ui/flags/{vue-flags → assets}/jp.svg +0 -0
  135. /package/src/ui/flags/{vue-flags → assets}/ke.svg +0 -0
  136. /package/src/ui/flags/{vue-flags → assets}/kg.svg +0 -0
  137. /package/src/ui/flags/{vue-flags → assets}/kh.svg +0 -0
  138. /package/src/ui/flags/{vue-flags → assets}/ki.svg +0 -0
  139. /package/src/ui/flags/{vue-flags → assets}/km.svg +0 -0
  140. /package/src/ui/flags/{vue-flags → assets}/kn.svg +0 -0
  141. /package/src/ui/flags/{vue-flags → assets}/kp.svg +0 -0
  142. /package/src/ui/flags/{vue-flags → assets}/kr.svg +0 -0
  143. /package/src/ui/flags/{vue-flags → assets}/kw.svg +0 -0
  144. /package/src/ui/flags/{vue-flags → assets}/ky.svg +0 -0
  145. /package/src/ui/flags/{vue-flags → assets}/kz.svg +0 -0
  146. /package/src/ui/flags/{vue-flags → assets}/la.svg +0 -0
  147. /package/src/ui/flags/{vue-flags → assets}/lb.svg +0 -0
  148. /package/src/ui/flags/{vue-flags → assets}/lc.svg +0 -0
  149. /package/src/ui/flags/{vue-flags → assets}/li.svg +0 -0
  150. /package/src/ui/flags/{vue-flags → assets}/lk.svg +0 -0
  151. /package/src/ui/flags/{vue-flags → assets}/lr.svg +0 -0
  152. /package/src/ui/flags/{vue-flags → assets}/ls.svg +0 -0
  153. /package/src/ui/flags/{vue-flags → assets}/lt.svg +0 -0
  154. /package/src/ui/flags/{vue-flags → assets}/lu.svg +0 -0
  155. /package/src/ui/flags/{vue-flags → assets}/lv.svg +0 -0
  156. /package/src/ui/flags/{vue-flags → assets}/ly.svg +0 -0
  157. /package/src/ui/flags/{vue-flags → assets}/ma.svg +0 -0
  158. /package/src/ui/flags/{vue-flags → assets}/mc.svg +0 -0
  159. /package/src/ui/flags/{vue-flags → assets}/md.svg +0 -0
  160. /package/src/ui/flags/{vue-flags → assets}/me.svg +0 -0
  161. /package/src/ui/flags/{vue-flags → assets}/mf.svg +0 -0
  162. /package/src/ui/flags/{vue-flags → assets}/mg.svg +0 -0
  163. /package/src/ui/flags/{vue-flags → assets}/mh.svg +0 -0
  164. /package/src/ui/flags/{vue-flags → assets}/mk.svg +0 -0
  165. /package/src/ui/flags/{vue-flags → assets}/ml.svg +0 -0
  166. /package/src/ui/flags/{vue-flags → assets}/mm.svg +0 -0
  167. /package/src/ui/flags/{vue-flags → assets}/mn.svg +0 -0
  168. /package/src/ui/flags/{vue-flags → assets}/mo.svg +0 -0
  169. /package/src/ui/flags/{vue-flags → assets}/mp.svg +0 -0
  170. /package/src/ui/flags/{vue-flags → assets}/mq.svg +0 -0
  171. /package/src/ui/flags/{vue-flags → assets}/mr.svg +0 -0
  172. /package/src/ui/flags/{vue-flags → assets}/ms.svg +0 -0
  173. /package/src/ui/flags/{vue-flags → assets}/mt.svg +0 -0
  174. /package/src/ui/flags/{vue-flags → assets}/mu.svg +0 -0
  175. /package/src/ui/flags/{vue-flags → assets}/mv.svg +0 -0
  176. /package/src/ui/flags/{vue-flags → assets}/mw.svg +0 -0
  177. /package/src/ui/flags/{vue-flags → assets}/mx.svg +0 -0
  178. /package/src/ui/flags/{vue-flags → assets}/my.svg +0 -0
  179. /package/src/ui/flags/{vue-flags → assets}/mz.svg +0 -0
  180. /package/src/ui/flags/{vue-flags → assets}/na.svg +0 -0
  181. /package/src/ui/flags/{vue-flags → assets}/nc.svg +0 -0
  182. /package/src/ui/flags/{vue-flags → assets}/ne.svg +0 -0
  183. /package/src/ui/flags/{vue-flags → assets}/nf.svg +0 -0
  184. /package/src/ui/flags/{vue-flags → assets}/ng.svg +0 -0
  185. /package/src/ui/flags/{vue-flags → assets}/ni.svg +0 -0
  186. /package/src/ui/flags/{vue-flags/nl.svg → assets/nl copy.svg} +0 -0
  187. /package/src/ui/flags/{vue-flags → assets}/no.svg +0 -0
  188. /package/src/ui/flags/{vue-flags → assets}/np.svg +0 -0
  189. /package/src/ui/flags/{vue-flags → assets}/nr.svg +0 -0
  190. /package/src/ui/flags/{vue-flags → assets}/nu.svg +0 -0
  191. /package/src/ui/flags/{vue-flags → assets}/nz.svg +0 -0
  192. /package/src/ui/flags/{vue-flags → assets}/om.svg +0 -0
  193. /package/src/ui/flags/{vue-flags → assets}/pa.svg +0 -0
  194. /package/src/ui/flags/{vue-flags → assets}/pe.svg +0 -0
  195. /package/src/ui/flags/{vue-flags → assets}/pf.svg +0 -0
  196. /package/src/ui/flags/{vue-flags → assets}/pg.svg +0 -0
  197. /package/src/ui/flags/{vue-flags → assets}/ph.svg +0 -0
  198. /package/src/ui/flags/{vue-flags → assets}/pk.svg +0 -0
  199. /package/src/ui/flags/{vue-flags → assets}/pl.svg +0 -0
  200. /package/src/ui/flags/{vue-flags → assets}/pm.svg +0 -0
  201. /package/src/ui/flags/{vue-flags → assets}/pn.svg +0 -0
  202. /package/src/ui/flags/{vue-flags → assets}/pr.svg +0 -0
  203. /package/src/ui/flags/{vue-flags → assets}/ps.svg +0 -0
  204. /package/src/ui/flags/{vue-flags → assets}/pt.svg +0 -0
  205. /package/src/ui/flags/{vue-flags → assets}/pw.svg +0 -0
  206. /package/src/ui/flags/{vue-flags → assets}/py.svg +0 -0
  207. /package/src/ui/flags/{vue-flags → assets}/qa.svg +0 -0
  208. /package/src/ui/flags/{vue-flags → assets}/re.svg +0 -0
  209. /package/src/ui/flags/{vue-flags → assets}/ro.svg +0 -0
  210. /package/src/ui/flags/{vue-flags → assets}/rs.svg +0 -0
  211. /package/src/ui/flags/{vue-flags → assets}/ru.svg +0 -0
  212. /package/src/ui/flags/{vue-flags → assets}/rw.svg +0 -0
  213. /package/src/ui/flags/{vue-flags → assets}/sa.svg +0 -0
  214. /package/src/ui/flags/{vue-flags → assets}/sb.svg +0 -0
  215. /package/src/ui/flags/{vue-flags → assets}/sc.svg +0 -0
  216. /package/src/ui/flags/{vue-flags → assets}/sd.svg +0 -0
  217. /package/src/ui/flags/{vue-flags → assets}/se.svg +0 -0
  218. /package/src/ui/flags/{vue-flags → assets}/sg.svg +0 -0
  219. /package/src/ui/flags/{vue-flags → assets}/sh.svg +0 -0
  220. /package/src/ui/flags/{vue-flags → assets}/si.svg +0 -0
  221. /package/src/ui/flags/{vue-flags → assets}/sj.svg +0 -0
  222. /package/src/ui/flags/{vue-flags → assets}/sk.svg +0 -0
  223. /package/src/ui/flags/{vue-flags → assets}/sl.svg +0 -0
  224. /package/src/ui/flags/{vue-flags → assets}/sm.svg +0 -0
  225. /package/src/ui/flags/{vue-flags → assets}/sn.svg +0 -0
  226. /package/src/ui/flags/{vue-flags → assets}/so.svg +0 -0
  227. /package/src/ui/flags/{vue-flags → assets}/sr.svg +0 -0
  228. /package/src/ui/flags/{vue-flags → assets}/ss.svg +0 -0
  229. /package/src/ui/flags/{vue-flags → assets}/st.svg +0 -0
  230. /package/src/ui/flags/{vue-flags → assets}/sv.svg +0 -0
  231. /package/src/ui/flags/{vue-flags → assets}/sx.svg +0 -0
  232. /package/src/ui/flags/{vue-flags → assets}/sy.svg +0 -0
  233. /package/src/ui/flags/{vue-flags → assets}/sz.svg +0 -0
  234. /package/src/ui/flags/{vue-flags → assets}/tc.svg +0 -0
  235. /package/src/ui/flags/{vue-flags → assets}/td.svg +0 -0
  236. /package/src/ui/flags/{vue-flags → assets}/tf.svg +0 -0
  237. /package/src/ui/flags/{vue-flags → assets}/tg.svg +0 -0
  238. /package/src/ui/flags/{vue-flags → assets}/th.svg +0 -0
  239. /package/src/ui/flags/{vue-flags → assets}/tj.svg +0 -0
  240. /package/src/ui/flags/{vue-flags → assets}/tk.svg +0 -0
  241. /package/src/ui/flags/{vue-flags → assets}/tl.svg +0 -0
  242. /package/src/ui/flags/{vue-flags → assets}/tm.svg +0 -0
  243. /package/src/ui/flags/{vue-flags → assets}/tn.svg +0 -0
  244. /package/src/ui/flags/{vue-flags → assets}/to.svg +0 -0
  245. /package/src/ui/flags/{vue-flags → assets}/tr.svg +0 -0
  246. /package/src/ui/flags/{vue-flags → assets}/tt.svg +0 -0
  247. /package/src/ui/flags/{vue-flags → assets}/tv.svg +0 -0
  248. /package/src/ui/flags/{vue-flags → assets}/tw.svg +0 -0
  249. /package/src/ui/flags/{vue-flags → assets}/tz.svg +0 -0
  250. /package/src/ui/flags/{vue-flags → assets}/ua.svg +0 -0
  251. /package/src/ui/flags/{vue-flags → assets}/ug.svg +0 -0
  252. /package/src/ui/flags/{vue-flags → assets}/um.svg +0 -0
  253. /package/src/ui/flags/{vue-flags → assets}/unknown.svg +0 -0
  254. /package/src/ui/flags/{vue-flags → assets}/us.svg +0 -0
  255. /package/src/ui/flags/{vue-flags → assets}/uy.svg +0 -0
  256. /package/src/ui/flags/{vue-flags → assets}/uz.svg +0 -0
  257. /package/src/ui/flags/{vue-flags → assets}/va.svg +0 -0
  258. /package/src/ui/flags/{vue-flags → assets}/vc.svg +0 -0
  259. /package/src/ui/flags/{vue-flags → assets}/ve.svg +0 -0
  260. /package/src/ui/flags/{vue-flags → assets}/vg.svg +0 -0
  261. /package/src/ui/flags/{vue-flags → assets}/vi.svg +0 -0
  262. /package/src/ui/flags/{vue-flags → assets}/vn.svg +0 -0
  263. /package/src/ui/flags/{vue-flags → assets}/vu.svg +0 -0
  264. /package/src/ui/flags/{vue-flags → assets}/wf.svg +0 -0
  265. /package/src/ui/flags/{vue-flags → assets}/ws.svg +0 -0
  266. /package/src/ui/flags/{vue-flags → assets}/ye.svg +0 -0
  267. /package/src/ui/flags/{vue-flags → assets}/yt.svg +0 -0
  268. /package/src/ui/flags/{vue-flags → assets}/za.svg +0 -0
  269. /package/src/ui/flags/{vue-flags → assets}/zm.svg +0 -0
  270. /package/src/ui/flags/{vue-flags → assets}/zw.svg +0 -0
@@ -64,7 +64,256 @@ const lang: Language = {
64
64
  'uz-Latn': "O'zbekcha (Lotin)",
65
65
  vi: 'Vietnam',
66
66
  'zh-CN': '中文(简体)',
67
- 'zh-TW': '中文(繁體)'
67
+ 'zh-TW': '中文(繁體)',
68
+ AF: 'Afghanistan',
69
+ AX: 'Åland',
70
+ AL: 'Albanië',
71
+ DZ: 'Algerije',
72
+ VI: 'Amerikaanse Maagdeneilanden',
73
+ AS: 'Amerikaans-Samoa',
74
+ AD: 'Andorra',
75
+ AO: 'Angola',
76
+ AI: 'Anguilla',
77
+ AQ: 'Antarctica',
78
+ AG: 'Antigua en Barbuda',
79
+ AR: 'Argentinië',
80
+ AM: 'Armenië',
81
+ AW: 'Aruba',
82
+ AU: 'Australië',
83
+ AZ: 'Azerbeidzjan',
84
+ BS: "Bahama's",
85
+ BH: 'Bahrein',
86
+ BD: 'Bangladesh',
87
+ BB: 'Barbados',
88
+ BE: 'België',
89
+ BZ: 'Belize',
90
+ BJ: 'Benin',
91
+ BM: 'Bermuda',
92
+ BT: 'Bhutan',
93
+ BO: 'Bolivia',
94
+ BA: 'Bosnië en Herzegovina',
95
+ BW: 'Botswana',
96
+ BV: 'Bouvet',
97
+ BR: 'Brazilië',
98
+ VG: 'Britse Maagdeneilanden',
99
+ IO: 'Brits Indische Oceaanterritorium',
100
+ BN: 'Brunei',
101
+ BG: 'Bulgarije',
102
+ BF: 'Burkina Faso',
103
+ BI: 'Burundi',
104
+ KH: 'Cambodja',
105
+ CA: 'Canada',
106
+ BQ: 'Caribisch Nederland',
107
+ CF: 'Centraal-Afrikaanse Republiek',
108
+ CL: 'Chili',
109
+ CN: 'China',
110
+ CX: 'Christmaseiland',
111
+ CC: 'Cocoseilanden',
112
+ CO: 'Colombia',
113
+ KM: 'Comoren',
114
+ CG: 'Congo-Brazzaville',
115
+ CD: 'Congo-Kinshasa',
116
+ CK: 'Cookeilanden',
117
+ CR: 'Costa Rica',
118
+ CU: 'Cuba',
119
+ CW: 'Curaçao',
120
+ CY: 'Cyprus',
121
+ DK: 'Denemarken',
122
+ DJ: 'Djibouti',
123
+ DM: 'Dominica',
124
+ DO: 'Dominicaanse Republiek',
125
+ DE: 'Duitsland',
126
+ EC: 'Ecuador',
127
+ EG: 'Egypte',
128
+ SV: 'El Salvador',
129
+ GQ: 'Equatoriaal-Guinea',
130
+ ER: 'Eritrea',
131
+ EE: 'Estland',
132
+ ET: 'Ethiopië',
133
+ FO: 'Faeröer',
134
+ FK: 'Falklandeilanden',
135
+ FJ: 'Fiji',
136
+ PH: 'Filipijnen',
137
+ FI: 'Finland',
138
+ FR: 'Frankrijk',
139
+ TF: 'Franse Zuidelijke Gebieden',
140
+ GF: 'Frans-Guyana',
141
+ PF: 'Frans-Polynesië',
142
+ GA: 'Gabon',
143
+ GM: 'Gambia',
144
+ GE: 'Georgië',
145
+ GH: 'Ghana',
146
+ GI: 'Gibraltar',
147
+ GD: 'Grenada',
148
+ GR: 'Griekenland',
149
+ GL: 'Groenland',
150
+ GP: 'Guadeloupe',
151
+ GU: 'Guam',
152
+ GT: 'Guatemala',
153
+ GG: 'Guernsey',
154
+ GN: 'Guinee',
155
+ GW: 'Guinee-Bissau',
156
+ GY: 'Guyana',
157
+ HT: 'Haïti',
158
+ HM: 'Heard en McDonaldeilanden',
159
+ HN: 'Honduras',
160
+ HU: 'Hongarije',
161
+ HK: 'Hongkong',
162
+ IE: 'Ierland',
163
+ IS: 'IJsland',
164
+ IN: 'India',
165
+ ID: 'Indonesië',
166
+ IQ: 'Irak',
167
+ IR: 'Iran',
168
+ IL: 'Israël',
169
+ IT: 'Italië',
170
+ CI: 'Ivoorkust',
171
+ JM: 'Jamaica',
172
+ JP: 'Japan',
173
+ YE: 'Jemen',
174
+ JE: 'Jersey',
175
+ JO: 'Jordanië',
176
+ KY: 'Kaaimaneilanden',
177
+ CV: 'Kaapverdië',
178
+ CM: 'Kameroen',
179
+ KZ: 'Kazachstan',
180
+ KE: 'Kenia',
181
+ KG: 'Kirgizië',
182
+ KI: 'Kiribati',
183
+ UM: 'Kleine afgelegen eilanden van de Verenigde Staten',
184
+ KW: 'Koeweit',
185
+ HR: 'Kroatië',
186
+ LA: 'Laos',
187
+ LS: 'Lesotho',
188
+ LV: 'Letland',
189
+ LB: 'Libanon',
190
+ LR: 'Liberia',
191
+ LY: 'Libië',
192
+ LI: 'Liechtenstein',
193
+ LT: 'Litouwen',
194
+ LU: 'Luxemburg',
195
+ MO: 'Macau',
196
+ MG: 'Madagaskar',
197
+ MW: 'Malawi',
198
+ MV: 'Malediven',
199
+ MY: 'Maleisië',
200
+ ML: 'Mali',
201
+ MT: 'Malta',
202
+ IM: 'Man',
203
+ MA: 'Marokko',
204
+ MH: 'Marshalleilanden',
205
+ MQ: 'Martinique',
206
+ MR: 'Mauritanië',
207
+ MU: 'Mauritius',
208
+ YT: 'Mayotte',
209
+ MX: 'Mexico',
210
+ FM: 'Micronesië',
211
+ MD: 'Moldavië',
212
+ MC: 'Monaco',
213
+ MN: 'Mongolië',
214
+ ME: 'Montenegro',
215
+ MS: 'Montserrat',
216
+ MZ: 'Mozambique',
217
+ MM: 'Myanmar',
218
+ NA: 'Namibië',
219
+ NR: 'Nauru',
220
+ NL: 'Nederland',
221
+ NP: 'Nepal',
222
+ NI: 'Nicaragua',
223
+ NC: 'Nieuw-Caledonië',
224
+ NZ: 'Nieuw-Zeeland',
225
+ NE: 'Niger',
226
+ NG: 'Nigeria',
227
+ NU: 'Niue',
228
+ MP: 'Noordelijke Marianen',
229
+ KP: 'Noord-Korea',
230
+ MK: 'Noord-Macedonië',
231
+ NO: 'Noorwegen',
232
+ NF: 'Norfolk',
233
+ UG: 'Oeganda',
234
+ UA: 'Oekraïne',
235
+ UZ: 'Oezbekistan',
236
+ OM: 'Oman',
237
+ AT: 'Oostenrijk',
238
+ TL: 'Oost-Timor',
239
+ PK: 'Pakistan',
240
+ PW: 'Palau',
241
+ PS: 'Palestina',
242
+ PA: 'Panama',
243
+ PG: 'Papoea-Nieuw-Guinea',
244
+ PY: 'Paraguay',
245
+ PE: 'Peru',
246
+ PN: 'Pitcairneilanden',
247
+ PL: 'Polen',
248
+ PT: 'Portugal',
249
+ PR: 'Puerto Rico',
250
+ QA: 'Qatar',
251
+ RE: 'Réunion',
252
+ RO: 'Roemenië',
253
+ RU: 'Rusland',
254
+ RW: 'Rwanda',
255
+ BL: 'Saint-Barthélemy',
256
+ KN: 'Saint Kitts en Nevis',
257
+ LC: 'Saint Lucia',
258
+ PM: 'Saint-Pierre en Miquelon',
259
+ VC: 'Saint Vincent en de Grenadines',
260
+ SB: 'Salomonseilanden',
261
+ WS: 'Samoa',
262
+ SM: 'San Marino',
263
+ SA: 'Saoedi-Arabië',
264
+ ST: 'Sao Tomé en Principe',
265
+ SN: 'Senegal',
266
+ RS: 'Servië',
267
+ SC: 'Seychellen',
268
+ SL: 'Sierra Leone',
269
+ SG: 'Singapore',
270
+ SH: 'Sint-Helena, Ascension en Tristan da Cunha',
271
+ MF: 'Saint-Martin',
272
+ SX: 'Sint Maarten',
273
+ SI: 'Slovenië',
274
+ SK: 'Slowakije',
275
+ SD: 'Soedan',
276
+ SO: 'Somalië',
277
+ ES: 'Spanje',
278
+ SJ: 'Spitsbergen en Jan Mayen',
279
+ LK: 'Sri Lanka',
280
+ SR: 'Suriname',
281
+ SZ: 'Swaziland',
282
+ SY: 'Syrië',
283
+ TJ: 'Tadzjikistan',
284
+ TW: 'Taiwan',
285
+ TZ: 'Tanzania',
286
+ TH: 'Thailand',
287
+ TG: 'Togo',
288
+ TK: 'Tokelau',
289
+ TO: 'Tonga',
290
+ TT: 'Trinidad en Tobago',
291
+ TD: 'Tsjaad',
292
+ CZ: 'Tsjechië',
293
+ TN: 'Tunesië',
294
+ TR: 'Turkije',
295
+ TM: 'Turkmenistan',
296
+ TC: 'Turks- en Caicoseilanden',
297
+ TV: 'Tuvalu',
298
+ UY: 'Uruguay',
299
+ VU: 'Vanuatu',
300
+ VA: 'Vaticaanstad',
301
+ VE: 'Venezuela',
302
+ AE: 'Verenigde Arabische Emiraten',
303
+ US: 'Verenigde Staten',
304
+ GB: 'Verenigd Koninkrijk',
305
+ VN: 'Vietnam',
306
+ WF: 'Wallis en Futuna',
307
+ EH: 'Westelijke Sahara/SADR',
308
+ BY: 'Wit-Rusland',
309
+ ZM: 'Zambia',
310
+ ZW: 'Zimbabwe',
311
+ ZA: 'Zuid-Afrika',
312
+ GS: 'Zuid-Georgia en de Zuidelijke Sandwicheilanden',
313
+ KR: 'Zuid-Korea',
314
+ SS: 'Zuid-Soedan',
315
+ SE: 'Zweden',
316
+ CH: 'Zwitserland'
68
317
  },
69
318
  languages: {
70
319
  'ar-TN': 'العربية (تونس)',
@@ -185,7 +185,11 @@ const dateProps = computed<Record<string, QInputProps>>(() => ({
185
185
  YYYY: {
186
186
  modelValue: year.value,
187
187
  placeholder: lang.value.datePicker.YYYY,
188
- style: 'width: 7ch; margin-top: -2em; margin-bottom: -0.5em',
188
+ style: {
189
+ width: format.value === 'YYYY-MM-DD' ? '8ch' : '6ch',
190
+ 'margin-top': '-2em',
191
+ 'margin-bottom': '-0.5em'
192
+ },
189
193
  // suffix: format.value === 'YYYY-MM-DD' ? '-' : undefined,
190
194
  class: format.value !== 'YYYY-MM-DD' ? 'q-mb-none q-ml-none' : undefined,
191
195
  'onUpdate:modelValue': setYear,
@@ -194,7 +198,11 @@ const dateProps = computed<Record<string, QInputProps>>(() => ({
194
198
  MM: {
195
199
  modelValue: month.value ? String(month.value).padStart(2, '0') : '',
196
200
  placeholder: lang.value.datePicker.MM,
197
- style: 'width: 6ch; margin-top: -2em; margin-bottom: -0.5em',
201
+ style: {
202
+ width: '6ch',
203
+ 'margin-top': '-2em',
204
+ 'margin-bottom': '-0.5em'
205
+ },
198
206
  // suffix: '-',
199
207
  class: 'q-ml-none',
200
208
  'onUpdate:modelValue': setMonth,
@@ -203,7 +211,11 @@ const dateProps = computed<Record<string, QInputProps>>(() => ({
203
211
  DD: {
204
212
  modelValue: day.value ? String(day.value).padStart(2, '0') : '',
205
213
  placeholder: lang.value.datePicker.DD,
206
- style: 'width: 6ch; margin-top: -2em; margin-bottom: -0.5em',
214
+ style: {
215
+ width: format.value === 'DD-MM-YYYY' ? '6ch' : '4ch',
216
+ 'margin-top': '-2em',
217
+ 'margin-bottom': '-0.5em'
218
+ },
207
219
  // suffix: format.value === 'DD-MM-YYYY' ? '-' : undefined,
208
220
  class: format.value === 'YYYY-MM-DD' ? 'q-ml-none' : undefined,
209
221
  'onUpdate:modelValue': setDay,
@@ -8,29 +8,31 @@
8
8
  map-options
9
9
  >
10
10
  <template #selected>
11
- <div v-if="modelValue === 'en-US'">
12
- <en-us /> {{ flagsLang.languages['en-US'] }}
11
+ <div v-if="modelValue">
12
+ <component
13
+ :is="flags[modelValue.slice(-2).toLowerCase() as keyof typeof flags]"
14
+ />
15
+ {{
16
+ flagsLang.languages[
17
+ modelValue as keyof (typeof flagsLang)['languages']
18
+ ]
19
+ }}
13
20
  </div>
14
- <div v-if="modelValue === 'nl'"><nl /> {{ flagsLang.languages.nl }}</div>
15
21
  </template>
16
22
  <template #option="scope">
17
- <q-item v-if="scope.opt.value === 'en-US'" v-bind="scope.itemProps">
23
+ <q-item v-bind="scope.itemProps">
18
24
  <q-item-section avatar>
19
- <en-us />
25
+ <component
26
+ :is="
27
+ flags[
28
+ scope.opt.value.slice(-2).toLowerCase() as keyof typeof flags
29
+ ]
30
+ "
31
+ />
20
32
  </q-item-section>
21
33
  <q-item-section>
22
34
  <q-item-label>
23
- {{ flagsLang.languages['en-US'] }}
24
- </q-item-label>
25
- </q-item-section>
26
- </q-item>
27
- <q-item v-if="scope.opt.value === 'nl'" v-bind="scope.itemProps">
28
- <q-item-section avatar>
29
- <nl />
30
- </q-item-section>
31
- <q-item-section>
32
- <q-item-label>
33
- {{ flagsLang.languages.nl }}
35
+ {{ scope.opt.label }}
34
36
  </q-item-label>
35
37
  </q-item-section>
36
38
  </q-item>
@@ -39,30 +41,39 @@
39
41
  </template>
40
42
 
41
43
  <script setup lang="ts">
42
- import { useAttrs, toRefs } from 'vue'
44
+ import { useAttrs, computed } from 'vue'
43
45
  import { QSelect } from 'quasar'
44
- import { nl, enUs } from '../flags/index.js'
46
+ import * as flags from '../flags/index.js'
45
47
  import { useLang as useFlagsLang } from '../flags/lang/index.js'
46
48
  import { useLang } from './lang/index.js'
47
49
 
48
50
  export interface Props {
49
51
  modelValue?: string | null
50
52
  required?: boolean
53
+ allowedCodes?: [keyof ReturnType<typeof useFlagsLang>['value']['languages']]
51
54
  }
52
- const props = defineProps<Props>()
53
- const { modelValue } = toRefs(props)
55
+ const {
56
+ modelValue,
57
+ required,
58
+ allowedCodes = ['en-US', 'nl']
59
+ } = defineProps<Props>()
54
60
  const attrs = useAttrs()
55
61
 
56
62
  const lang = useLang()
57
63
  const flagsLang = useFlagsLang()
58
- const languageOptions = [
59
- {
60
- label: flagsLang.value.languages['en-US'],
61
- value: 'en-US'
62
- },
63
- {
64
- label: flagsLang.value.languages.nl,
65
- value: 'nl'
64
+
65
+ const languageOptions = computed(() => {
66
+ const options = []
67
+ for (let lang of Object.keys(flagsLang.value.languages) as Array<
68
+ keyof (typeof flagsLang.value)['languages']
69
+ >) {
70
+ if (!allowedCodes?.length || allowedCodes.includes(lang)) {
71
+ options.push({
72
+ label: flagsLang.value.languages[lang],
73
+ value: lang
74
+ })
75
+ }
66
76
  }
67
- ]
77
+ return options
78
+ })
68
79
  </script>
@@ -7,11 +7,30 @@
7
7
  map-options
8
8
  >
9
9
  <template #selected>
10
- <en-us v-if="modelValue === 'en-US'" />
11
- <nl v-if="modelValue === 'nl'" />
10
+ <div v-if="modelValue">
11
+ <component
12
+ :is="flags[modelValue.slice(-2).toLowerCase() as keyof typeof flags]"
13
+ />
14
+ </div>
12
15
  </template>
13
16
  <template #option="scope">
14
- <q-item v-if="scope.opt.value === 'en-US'" v-bind="scope.itemProps">
17
+ <q-item v-bind="scope.itemProps">
18
+ <q-item-section avatar>
19
+ <component
20
+ :is="
21
+ flags[
22
+ scope.opt.value.slice(-2).toLowerCase() as keyof typeof flags
23
+ ]
24
+ "
25
+ />
26
+ </q-item-section>
27
+ <q-item-section>
28
+ <q-item-label>
29
+ {{ scope.opt.label }}
30
+ </q-item-label>
31
+ </q-item-section>
32
+ </q-item>
33
+ <!-- <q-item v-if="scope.opt.value === 'en-US'" v-bind="scope.itemProps">
15
34
  <q-item-section avatar>
16
35
  <en-us ref="enUsRef" />
17
36
  </q-item-section>
@@ -30,56 +49,70 @@
30
49
  {{ nlLanguage }}
31
50
  </q-item-label>
32
51
  </q-item-section>
33
- </q-item>
52
+ </q-item> -->
34
53
  </template>
35
54
  </q-select>
36
55
  </template>
37
56
 
38
57
  <script setup lang="ts">
39
- import { ref, useAttrs, computed, toRefs, watch } from 'vue'
58
+ import { useAttrs, computed, watch } from 'vue'
40
59
  import { useQuasar, QSelect, QuasarLanguage } from 'quasar'
41
- import { nl, enUs } from '../flags/index.js'
60
+ import * as flags from '../flags/index.js'
61
+ import { useLang as useFlagsLang } from '../flags/lang/index.js'
42
62
 
43
63
  export interface Props {
44
64
  modelValue: string
45
65
  languageImports: Record<string, () => Promise<{ default: QuasarLanguage }>>
66
+ allowedCodes?: [keyof ReturnType<typeof useFlagsLang>['value']['languages']]
46
67
  }
47
- const props = defineProps<Props>()
68
+ const {
69
+ modelValue,
70
+ allowedCodes = ['en-US', 'nl'],
71
+ languageImports
72
+ } = defineProps<Props>()
48
73
  const $q = useQuasar()
49
- const { modelValue } = toRefs(props)
50
74
  const attrs = useAttrs()
75
+ const flagsLang = useFlagsLang()
51
76
 
52
- // const langList = import.meta.glob('../../../node_modules/quasar/lang/*.mjs')
53
-
54
- const nlRef = ref<typeof nl>()
55
- // const nlCountry = computed(() => nlRef.value?.variables.country)
56
- const nlLanguage = computed(() => nlRef.value?.variables.language)
57
-
58
- const enUsRef = ref<typeof enUs>()
59
- // const enUsCountry = computed(() => enUsRef.value?.variables.country)
60
- const enUsLanguage = computed(() => enUsRef.value?.variables.language)
61
-
62
- const languageOptions = [
63
- {
64
- label: enUsLanguage.value,
65
- value: 'en-US'
66
- },
67
- {
68
- label: nlLanguage.value,
69
- value: 'nl'
77
+ const languageOptions = computed(() => {
78
+ const options = []
79
+ for (let lang of Object.keys(flagsLang.value.languages) as Array<
80
+ keyof (typeof flagsLang.value)['languages']
81
+ >) {
82
+ if (!allowedCodes.length || allowedCodes.includes(lang)) {
83
+ options.push({
84
+ label: flagsLang.value.languages[lang],
85
+ value: lang
86
+ })
87
+ }
70
88
  }
71
- ]
89
+ return options
90
+ })
91
+
92
+ // const languageOptions = [
93
+ // {
94
+ // label: enUsLanguage.value,
95
+ // value: 'en-US'
96
+ // },
97
+ // {
98
+ // label: nlLanguage.value,
99
+ // value: 'nl'
100
+ // }
101
+ // ]
72
102
 
73
- watch(modelValue, (langIso: string) => {
74
- try {
75
- props.languageImports[langIso]().then(
76
- // langList[`../../../node_modules/quasar/lang/${langIso}.mjs`]().then(
77
- (lang) => {
78
- $q.lang.set(lang.default)
79
- }
80
- )
81
- } catch (e) {
82
- console.error(e)
103
+ watch(
104
+ () => modelValue,
105
+ (langIso: string) => {
106
+ try {
107
+ languageImports[langIso]().then(
108
+ // langList[`../../../node_modules/quasar/lang/${langIso}.mjs`]().then(
109
+ (lang) => {
110
+ $q.lang.set(lang.default)
111
+ }
112
+ )
113
+ } catch (e) {
114
+ console.error(e)
115
+ }
83
116
  }
84
- })
117
+ )
85
118
  </script>