@datatechsolutions/tympan 0.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (567) hide show
  1. package/LICENSE +105 -0
  2. package/README.md +361 -0
  3. package/THIRD_PARTY_NOTICES.md +180 -0
  4. package/dist/Avatar-BwVXK1gt.d.ts +37 -0
  5. package/dist/Avatar-P14MVkK1.js +2815 -0
  6. package/dist/Avatar-P14MVkK1.js.map +1 -0
  7. package/dist/avatars.d.ts +130 -0
  8. package/dist/avatars.js +531 -0
  9. package/dist/avatars.js.map +1 -0
  10. package/dist/cx-Bn-0YiVq.js +10 -0
  11. package/dist/cx-Bn-0YiVq.js.map +1 -0
  12. package/dist/flags/1x1/ad-BLe4yr61.js +6 -0
  13. package/dist/flags/1x1/ae-DWj10f_-.js +6 -0
  14. package/dist/flags/1x1/af-DavbPdY_.js +6 -0
  15. package/dist/flags/1x1/ag-CQgo5awT.js +6 -0
  16. package/dist/flags/1x1/ai-i1e-tRb-.js +6 -0
  17. package/dist/flags/1x1/al-BUFgcw5S.js +6 -0
  18. package/dist/flags/1x1/am-NU473ju2.js +6 -0
  19. package/dist/flags/1x1/ao-B-pKKU_Z.js +6 -0
  20. package/dist/flags/1x1/aq-BheU24WX.js +6 -0
  21. package/dist/flags/1x1/ar-DNwRSqYh.js +6 -0
  22. package/dist/flags/1x1/arab-88qGIYv0.js +6 -0
  23. package/dist/flags/1x1/as-CGCC07cj.js +6 -0
  24. package/dist/flags/1x1/asean-DdlmT25h.js +6 -0
  25. package/dist/flags/1x1/at-BEu8eDs7.js +6 -0
  26. package/dist/flags/1x1/au-C5Xq8bGD.js +6 -0
  27. package/dist/flags/1x1/aw-CB9G0R84.js +6 -0
  28. package/dist/flags/1x1/ax-Buob1nIg.js +6 -0
  29. package/dist/flags/1x1/az-CcVicXqN.js +6 -0
  30. package/dist/flags/1x1/ba-Cxm2rPWt.js +6 -0
  31. package/dist/flags/1x1/bb-CelcvA2P.js +6 -0
  32. package/dist/flags/1x1/bd-CZOnB2bt.js +6 -0
  33. package/dist/flags/1x1/be-BeSuVKmy.js +6 -0
  34. package/dist/flags/1x1/bf-DCR3ADbo.js +6 -0
  35. package/dist/flags/1x1/bg-DT2du0bc.js +6 -0
  36. package/dist/flags/1x1/bh-C20nQ3k2.js +6 -0
  37. package/dist/flags/1x1/bi-DV69kx68.js +6 -0
  38. package/dist/flags/1x1/bj-Cd_6yaxw.js +6 -0
  39. package/dist/flags/1x1/bl-TaG2WuKM.js +6 -0
  40. package/dist/flags/1x1/bm-Blnd9QyE.js +6 -0
  41. package/dist/flags/1x1/bn-rjF94qbn.js +6 -0
  42. package/dist/flags/1x1/bo-DDdGwBdI.js +6 -0
  43. package/dist/flags/1x1/bq-B5WRxpfU.js +6 -0
  44. package/dist/flags/1x1/br-bpueSDua.js +6 -0
  45. package/dist/flags/1x1/bs-CEEd020S.js +6 -0
  46. package/dist/flags/1x1/bt-JCokd5Ri.js +6 -0
  47. package/dist/flags/1x1/bv-VkQe2kr4.js +6 -0
  48. package/dist/flags/1x1/bw-FyQwptO9.js +6 -0
  49. package/dist/flags/1x1/by-D-0OPUI_.js +6 -0
  50. package/dist/flags/1x1/bz-R83MH-fy.js +6 -0
  51. package/dist/flags/1x1/ca-CmGq-ESK.js +6 -0
  52. package/dist/flags/1x1/cc-BqKVdIBU.js +6 -0
  53. package/dist/flags/1x1/cd-OeN90lUp.js +6 -0
  54. package/dist/flags/1x1/cefta-DoN3C1FP.js +6 -0
  55. package/dist/flags/1x1/cf-c_IWvoMt.js +6 -0
  56. package/dist/flags/1x1/cg-DB6A28kr.js +6 -0
  57. package/dist/flags/1x1/ch-BoUeVhR3.js +6 -0
  58. package/dist/flags/1x1/ci-DO7X3pCD.js +6 -0
  59. package/dist/flags/1x1/ck-DbhiimVc.js +6 -0
  60. package/dist/flags/1x1/cl-D18TvDyU.js +6 -0
  61. package/dist/flags/1x1/cm-BkkRG54s.js +6 -0
  62. package/dist/flags/1x1/cn-DXW0Zc-C.js +6 -0
  63. package/dist/flags/1x1/co-Cy9H7OxQ.js +6 -0
  64. package/dist/flags/1x1/cp-OJP4OSI_.js +6 -0
  65. package/dist/flags/1x1/cr-DjqO_sqT.js +6 -0
  66. package/dist/flags/1x1/cu-DHMTbgXc.js +6 -0
  67. package/dist/flags/1x1/cv-DTvqMV9p.js +6 -0
  68. package/dist/flags/1x1/cw-0DPof2UJ.js +6 -0
  69. package/dist/flags/1x1/cx-PKvWuYvr.js +6 -0
  70. package/dist/flags/1x1/cy-DNqBiZyI.js +6 -0
  71. package/dist/flags/1x1/cz-yXbpq9dW.js +6 -0
  72. package/dist/flags/1x1/de-C8riQ_D-.js +6 -0
  73. package/dist/flags/1x1/dg-Bq-Ud7da.js +6 -0
  74. package/dist/flags/1x1/dj-ND_VVEYo.js +6 -0
  75. package/dist/flags/1x1/dk-Bomd7YHA.js +6 -0
  76. package/dist/flags/1x1/dm-qszJkHRv.js +6 -0
  77. package/dist/flags/1x1/do-Bv0isgHk.js +6 -0
  78. package/dist/flags/1x1/dz-CUA3AvZL.js +6 -0
  79. package/dist/flags/1x1/eac-Ba3w7XxY.js +6 -0
  80. package/dist/flags/1x1/ec-CcdQ1fLf.js +6 -0
  81. package/dist/flags/1x1/ee-B-9UyJkI.js +6 -0
  82. package/dist/flags/1x1/eg-CZg9XtnS.js +6 -0
  83. package/dist/flags/1x1/eh-COr5bQZC.js +6 -0
  84. package/dist/flags/1x1/er-CYCgUEjl.js +6 -0
  85. package/dist/flags/1x1/es-CZgLUvTm.js +6 -0
  86. package/dist/flags/1x1/es-ct-Bx84VtrH.js +6 -0
  87. package/dist/flags/1x1/es-ga-CYZIqZNg.js +6 -0
  88. package/dist/flags/1x1/es-pv-D_xA9FJj.js +6 -0
  89. package/dist/flags/1x1/et-7yKufKNW.js +6 -0
  90. package/dist/flags/1x1/eu-CkGTFKZG.js +6 -0
  91. package/dist/flags/1x1/fi-PhiA7TSZ.js +6 -0
  92. package/dist/flags/1x1/fj-D5HT3L1Q.js +6 -0
  93. package/dist/flags/1x1/fk-D1r8PWRL.js +6 -0
  94. package/dist/flags/1x1/fm-DzWMFpux.js +6 -0
  95. package/dist/flags/1x1/fo-Bu22hwIJ.js +6 -0
  96. package/dist/flags/1x1/fr-DSs3a2MO.js +6 -0
  97. package/dist/flags/1x1/ga-DYufGjqh.js +6 -0
  98. package/dist/flags/1x1/gb-DQrKw26J.js +6 -0
  99. package/dist/flags/1x1/gb-eng-CLG2z7wM.js +6 -0
  100. package/dist/flags/1x1/gb-nir-BBzZa87S.js +6 -0
  101. package/dist/flags/1x1/gb-sct-C0keZmXy.js +6 -0
  102. package/dist/flags/1x1/gb-wls-D2caXmYS.js +6 -0
  103. package/dist/flags/1x1/gd-B-wv-GsF.js +6 -0
  104. package/dist/flags/1x1/ge-CIgkNaAi.js +6 -0
  105. package/dist/flags/1x1/gf-CcFRsGEB.js +6 -0
  106. package/dist/flags/1x1/gg-CRVhi7RS.js +6 -0
  107. package/dist/flags/1x1/gh-ZIIas1gx.js +6 -0
  108. package/dist/flags/1x1/gi-aNP9A0DW.js +6 -0
  109. package/dist/flags/1x1/gl-BzgDzfSn.js +6 -0
  110. package/dist/flags/1x1/gm-D8gqU6yg.js +6 -0
  111. package/dist/flags/1x1/gn-CUq13_pA.js +6 -0
  112. package/dist/flags/1x1/gp-CccqVUWo.js +6 -0
  113. package/dist/flags/1x1/gq-NOK-yjB9.js +6 -0
  114. package/dist/flags/1x1/gr-BuFzOeZR.js +6 -0
  115. package/dist/flags/1x1/gs-BTz9XWE1.js +6 -0
  116. package/dist/flags/1x1/gt-9_0vebb7.js +6 -0
  117. package/dist/flags/1x1/gu-BYwEbw67.js +6 -0
  118. package/dist/flags/1x1/gw-C6MASvA4.js +6 -0
  119. package/dist/flags/1x1/gy-CVJynGMI.js +6 -0
  120. package/dist/flags/1x1/hk-BK85zxRX.js +6 -0
  121. package/dist/flags/1x1/hm-C2DNwCnS.js +6 -0
  122. package/dist/flags/1x1/hn-CovnHmxi.js +6 -0
  123. package/dist/flags/1x1/hr-Xiutii4P.js +6 -0
  124. package/dist/flags/1x1/ht-BW7wprT-.js +6 -0
  125. package/dist/flags/1x1/hu-CYCcM7tq.js +6 -0
  126. package/dist/flags/1x1/ic-D4t41hrd.js +6 -0
  127. package/dist/flags/1x1/id-Ch177K4Q.js +6 -0
  128. package/dist/flags/1x1/ie-jdf-in47.js +6 -0
  129. package/dist/flags/1x1/il-CWEqhQTm.js +6 -0
  130. package/dist/flags/1x1/im-DpubIP14.js +6 -0
  131. package/dist/flags/1x1/in-G0wDC92n.js +6 -0
  132. package/dist/flags/1x1/io-DBkbcbKG.js +6 -0
  133. package/dist/flags/1x1/iq-B0897GsN.js +6 -0
  134. package/dist/flags/1x1/ir-Decsonvj.js +6 -0
  135. package/dist/flags/1x1/is-yn_GGMix.js +6 -0
  136. package/dist/flags/1x1/it-CzpFdgc2.js +6 -0
  137. package/dist/flags/1x1/je-DXwHIhBp.js +6 -0
  138. package/dist/flags/1x1/jm-ByvGfY6R.js +6 -0
  139. package/dist/flags/1x1/jo-Bikg0_s4.js +6 -0
  140. package/dist/flags/1x1/jp-BJaExao-.js +6 -0
  141. package/dist/flags/1x1/ke-KCANUoB9.js +6 -0
  142. package/dist/flags/1x1/kg-DpLGJA_E.js +6 -0
  143. package/dist/flags/1x1/kh-B1cMsgzP.js +6 -0
  144. package/dist/flags/1x1/ki-CyD2gdcT.js +6 -0
  145. package/dist/flags/1x1/km-53bL6Y8i.js +6 -0
  146. package/dist/flags/1x1/kn-BEyi33Ey.js +6 -0
  147. package/dist/flags/1x1/kp-YyqYNIfr.js +6 -0
  148. package/dist/flags/1x1/kr-C6fy0Xrq.js +6 -0
  149. package/dist/flags/1x1/kw-CTe0WExz.js +6 -0
  150. package/dist/flags/1x1/ky-FVDALRC1.js +6 -0
  151. package/dist/flags/1x1/kz-ByrgvZkC.js +6 -0
  152. package/dist/flags/1x1/la-xaxFHwKj.js +6 -0
  153. package/dist/flags/1x1/lb-CVRf8x3C.js +6 -0
  154. package/dist/flags/1x1/lc-DggZ-MAM.js +6 -0
  155. package/dist/flags/1x1/li-BjKARW5X.js +6 -0
  156. package/dist/flags/1x1/lk-DKp1FG25.js +6 -0
  157. package/dist/flags/1x1/lr-CRdeQLZp.js +6 -0
  158. package/dist/flags/1x1/ls-DsmPxnLE.js +6 -0
  159. package/dist/flags/1x1/lt-ppTAzYgZ.js +6 -0
  160. package/dist/flags/1x1/lu-Uh-VRqcJ.js +6 -0
  161. package/dist/flags/1x1/lv-QLDxm2XB.js +6 -0
  162. package/dist/flags/1x1/ly-CALXfGtF.js +6 -0
  163. package/dist/flags/1x1/ma-BUv6slh8.js +6 -0
  164. package/dist/flags/1x1/mc-DbRaSw7Z.js +6 -0
  165. package/dist/flags/1x1/md-BAbGk1u-.js +6 -0
  166. package/dist/flags/1x1/me-Cn9otM5-.js +6 -0
  167. package/dist/flags/1x1/mf-VN2Hxfy5.js +6 -0
  168. package/dist/flags/1x1/mg-DMFg3gWK.js +6 -0
  169. package/dist/flags/1x1/mh-mLFhHPfv.js +6 -0
  170. package/dist/flags/1x1/mk-BYU_KcQn.js +6 -0
  171. package/dist/flags/1x1/ml-CxUloBPA.js +6 -0
  172. package/dist/flags/1x1/mm-B1GvkWeA.js +6 -0
  173. package/dist/flags/1x1/mn-CGxIncf0.js +6 -0
  174. package/dist/flags/1x1/mo-mVFWphva.js +6 -0
  175. package/dist/flags/1x1/mp-n86_oaVp.js +6 -0
  176. package/dist/flags/1x1/mq-BKYfdZ6x.js +6 -0
  177. package/dist/flags/1x1/mr-fpb5SDjH.js +6 -0
  178. package/dist/flags/1x1/ms-DJ2RoBuC.js +6 -0
  179. package/dist/flags/1x1/mt-DRCD8PbR.js +6 -0
  180. package/dist/flags/1x1/mu-DIwBWq5I.js +6 -0
  181. package/dist/flags/1x1/mv-BMA6eE3m.js +6 -0
  182. package/dist/flags/1x1/mw-Ebs1mO8O.js +6 -0
  183. package/dist/flags/1x1/mx-BH8Za6dt.js +6 -0
  184. package/dist/flags/1x1/my-fd4tKRXC.js +6 -0
  185. package/dist/flags/1x1/mz-44mCvMzP.js +6 -0
  186. package/dist/flags/1x1/na-Bc17qIOR.js +6 -0
  187. package/dist/flags/1x1/nc-BEiZyZM6.js +6 -0
  188. package/dist/flags/1x1/ne-3wSQFOSk.js +6 -0
  189. package/dist/flags/1x1/nf-BBG5Bp7Y.js +6 -0
  190. package/dist/flags/1x1/ng-BQyiUScm.js +6 -0
  191. package/dist/flags/1x1/ni-CZP_RJzQ.js +6 -0
  192. package/dist/flags/1x1/nl-Dod3207s.js +6 -0
  193. package/dist/flags/1x1/no-DDekGkfu.js +6 -0
  194. package/dist/flags/1x1/np-DMopwWij.js +6 -0
  195. package/dist/flags/1x1/nr-nDPYj76A.js +6 -0
  196. package/dist/flags/1x1/nu-DEw3csOK.js +6 -0
  197. package/dist/flags/1x1/nz-CxrPsIb1.js +6 -0
  198. package/dist/flags/1x1/om-CyVvqtLi.js +6 -0
  199. package/dist/flags/1x1/pa-BO-gt67V.js +6 -0
  200. package/dist/flags/1x1/pc-CBmqnctk.js +6 -0
  201. package/dist/flags/1x1/pe-B9LhqS9S.js +6 -0
  202. package/dist/flags/1x1/pf-hjhdLHA3.js +6 -0
  203. package/dist/flags/1x1/pg-C-wKaAj0.js +6 -0
  204. package/dist/flags/1x1/ph-C9JTsx92.js +6 -0
  205. package/dist/flags/1x1/pk-DrN39bQT.js +6 -0
  206. package/dist/flags/1x1/pl-CrEpBNNE.js +6 -0
  207. package/dist/flags/1x1/pm-Btdxx1lW.js +6 -0
  208. package/dist/flags/1x1/pn-DzqRGCQA.js +6 -0
  209. package/dist/flags/1x1/pr-U6tnqx1t.js +6 -0
  210. package/dist/flags/1x1/ps-DHIlPg16.js +6 -0
  211. package/dist/flags/1x1/pt-Cj6X3TbL.js +6 -0
  212. package/dist/flags/1x1/pw-UpjwxQ0z.js +6 -0
  213. package/dist/flags/1x1/py-Cn2qwuG7.js +6 -0
  214. package/dist/flags/1x1/qa-Biuy4UWu.js +6 -0
  215. package/dist/flags/1x1/re-B25_JOkL.js +6 -0
  216. package/dist/flags/1x1/ro-B9VO8uV5.js +6 -0
  217. package/dist/flags/1x1/rs-CS2zrjg3.js +6 -0
  218. package/dist/flags/1x1/ru-7-OkapKW.js +6 -0
  219. package/dist/flags/1x1/rw-COm3RNUj.js +6 -0
  220. package/dist/flags/1x1/sa-DhosoqBh.js +6 -0
  221. package/dist/flags/1x1/sb-dEOdp0-U.js +6 -0
  222. package/dist/flags/1x1/sc-DH5lZ-X1.js +6 -0
  223. package/dist/flags/1x1/sd-CjLepWrS.js +6 -0
  224. package/dist/flags/1x1/se-fjKCg3uq.js +6 -0
  225. package/dist/flags/1x1/sg-CvvPJuek.js +6 -0
  226. package/dist/flags/1x1/sh-BACbCuQV.js +6 -0
  227. package/dist/flags/1x1/sh-ac-B8mGy82J.js +6 -0
  228. package/dist/flags/1x1/sh-hl-CdNllvu3.js +6 -0
  229. package/dist/flags/1x1/sh-ta-BpzAidVW.js +6 -0
  230. package/dist/flags/1x1/si-C9wDaOie.js +6 -0
  231. package/dist/flags/1x1/sj-DmQ-l-GG.js +6 -0
  232. package/dist/flags/1x1/sk-csj-UEpd.js +6 -0
  233. package/dist/flags/1x1/sl-66khImvm.js +6 -0
  234. package/dist/flags/1x1/sm-Dw-fwny-.js +6 -0
  235. package/dist/flags/1x1/sn-DFOPTJuS.js +6 -0
  236. package/dist/flags/1x1/so-NmeQT-wa.js +6 -0
  237. package/dist/flags/1x1/sr-DY7R8R1H.js +6 -0
  238. package/dist/flags/1x1/ss-BRaIhTBI.js +6 -0
  239. package/dist/flags/1x1/st-DbWpIgL_.js +6 -0
  240. package/dist/flags/1x1/sv-CCR1P023.js +6 -0
  241. package/dist/flags/1x1/sx-Dqve8sOF.js +6 -0
  242. package/dist/flags/1x1/sy-uUGakD8a.js +6 -0
  243. package/dist/flags/1x1/sz-DnPvNXRi.js +6 -0
  244. package/dist/flags/1x1/tc-sWa0Hka-.js +6 -0
  245. package/dist/flags/1x1/td-BH8NEKMZ.js +6 -0
  246. package/dist/flags/1x1/tf-DGr1cSmp.js +6 -0
  247. package/dist/flags/1x1/tg-CzXZhjV5.js +6 -0
  248. package/dist/flags/1x1/th-Bd7yXeo8.js +6 -0
  249. package/dist/flags/1x1/tj-BXE2hU6d.js +6 -0
  250. package/dist/flags/1x1/tk-BvAJwB5n.js +6 -0
  251. package/dist/flags/1x1/tl-Cf7eXtjJ.js +6 -0
  252. package/dist/flags/1x1/tm-C8XHem7_.js +6 -0
  253. package/dist/flags/1x1/tn-A574RUnc.js +6 -0
  254. package/dist/flags/1x1/to-rZfgCO86.js +6 -0
  255. package/dist/flags/1x1/tr-DRqxGnLc.js +6 -0
  256. package/dist/flags/1x1/tt-BciLQvVK.js +6 -0
  257. package/dist/flags/1x1/tv-DLgi8rdd.js +6 -0
  258. package/dist/flags/1x1/tw-BcCRKYqW.js +6 -0
  259. package/dist/flags/1x1/tz-BjDpP6SA.js +6 -0
  260. package/dist/flags/1x1/ua-DPOXiMzw.js +6 -0
  261. package/dist/flags/1x1/ug-C0vrxL4F.js +6 -0
  262. package/dist/flags/1x1/um-DqpOJgNl.js +6 -0
  263. package/dist/flags/1x1/un-Bk0wLUvy.js +6 -0
  264. package/dist/flags/1x1/us-f-Xdfkne.js +6 -0
  265. package/dist/flags/1x1/uy-BrUGNLWK.js +6 -0
  266. package/dist/flags/1x1/uz-BKDQBNxr.js +6 -0
  267. package/dist/flags/1x1/va-BderRROs.js +6 -0
  268. package/dist/flags/1x1/vc-DPo9h-3V.js +6 -0
  269. package/dist/flags/1x1/ve-DrDTrDyq.js +6 -0
  270. package/dist/flags/1x1/vg-DxocsseP.js +6 -0
  271. package/dist/flags/1x1/vi-DsQ40wwi.js +6 -0
  272. package/dist/flags/1x1/vn-YEvgXi4o.js +6 -0
  273. package/dist/flags/1x1/vu-Dy0sZ3Ly.js +6 -0
  274. package/dist/flags/1x1/wf-BZfYe7wF.js +6 -0
  275. package/dist/flags/1x1/ws-C4FYzmn6.js +6 -0
  276. package/dist/flags/1x1/xk-DZFilPCh.js +6 -0
  277. package/dist/flags/1x1/xx-0UytpHfL.js +6 -0
  278. package/dist/flags/1x1/ye-CZMZu1ZB.js +6 -0
  279. package/dist/flags/1x1/yt-DBYDbgIm.js +6 -0
  280. package/dist/flags/1x1/za-ClvA8Dny.js +6 -0
  281. package/dist/flags/1x1/zm-D7L0dPCl.js +6 -0
  282. package/dist/flags/1x1/zw-DpCNoBk-.js +6 -0
  283. package/dist/flags/4x3/ad-BwDf_AgT.js +6 -0
  284. package/dist/flags/4x3/ae-KPB0rRvk.js +6 -0
  285. package/dist/flags/4x3/af-CPngQm7Z.js +6 -0
  286. package/dist/flags/4x3/ag-Cvrhc-BK.js +6 -0
  287. package/dist/flags/4x3/ai-Dex-oYnB.js +6 -0
  288. package/dist/flags/4x3/al-C2rnSjJ-.js +6 -0
  289. package/dist/flags/4x3/am-u91DPBsf.js +6 -0
  290. package/dist/flags/4x3/ao-B0AdkYiM.js +6 -0
  291. package/dist/flags/4x3/aq-5iFhwg5i.js +6 -0
  292. package/dist/flags/4x3/ar-BLK5U8Sr.js +6 -0
  293. package/dist/flags/4x3/arab-zVkSqGyE.js +6 -0
  294. package/dist/flags/4x3/as-CgVHGYml.js +6 -0
  295. package/dist/flags/4x3/asean-D0zehsSg.js +6 -0
  296. package/dist/flags/4x3/at-Cge2pfYH.js +6 -0
  297. package/dist/flags/4x3/au-BUHitxZ7.js +6 -0
  298. package/dist/flags/4x3/aw-9FVkX8eg.js +6 -0
  299. package/dist/flags/4x3/ax-BhOsTuXD.js +6 -0
  300. package/dist/flags/4x3/az-_xXDkPBy.js +6 -0
  301. package/dist/flags/4x3/ba-czeMkj9F.js +6 -0
  302. package/dist/flags/4x3/bb-CLWVnfR9.js +6 -0
  303. package/dist/flags/4x3/bd-B-3DhjKL.js +6 -0
  304. package/dist/flags/4x3/be-Bpxb3n8W.js +6 -0
  305. package/dist/flags/4x3/bf-DJ8HJgOv.js +6 -0
  306. package/dist/flags/4x3/bg-CcHaZEiP.js +6 -0
  307. package/dist/flags/4x3/bh-CgYuyQai.js +6 -0
  308. package/dist/flags/4x3/bi-DFDeFqbN.js +6 -0
  309. package/dist/flags/4x3/bj-BJ2Mv3Qn.js +6 -0
  310. package/dist/flags/4x3/bl-49c6xkK_.js +6 -0
  311. package/dist/flags/4x3/bm-DUnGX933.js +6 -0
  312. package/dist/flags/4x3/bn-D5OzuSfC.js +6 -0
  313. package/dist/flags/4x3/bo-h7n1xblU.js +6 -0
  314. package/dist/flags/4x3/bq-kCIKVZCB.js +6 -0
  315. package/dist/flags/4x3/br-CeKOfZ4p.js +6 -0
  316. package/dist/flags/4x3/bs-D-dpb2Wt.js +6 -0
  317. package/dist/flags/4x3/bt-DYguJJqP.js +6 -0
  318. package/dist/flags/4x3/bv-CxfcHUGg.js +6 -0
  319. package/dist/flags/4x3/bw-Dmlo2Xrl.js +6 -0
  320. package/dist/flags/4x3/by-DpJ2tbSJ.js +6 -0
  321. package/dist/flags/4x3/bz-C8KkVEct.js +6 -0
  322. package/dist/flags/4x3/ca-B0vqIN4C.js +6 -0
  323. package/dist/flags/4x3/cc-1AhJzny1.js +6 -0
  324. package/dist/flags/4x3/cd-C15eWPm0.js +6 -0
  325. package/dist/flags/4x3/cefta-T0n99-tg.js +6 -0
  326. package/dist/flags/4x3/cf-B-N0dXk3.js +6 -0
  327. package/dist/flags/4x3/cg-RBObVHlS.js +6 -0
  328. package/dist/flags/4x3/ch-BAwraSMD.js +6 -0
  329. package/dist/flags/4x3/ci-LZ8Apa_f.js +6 -0
  330. package/dist/flags/4x3/ck-DxgfUgaV.js +6 -0
  331. package/dist/flags/4x3/cl-Dn5PmBH_.js +6 -0
  332. package/dist/flags/4x3/cm-DT7ZRDLD.js +6 -0
  333. package/dist/flags/4x3/cn-Uxu_n0TL.js +6 -0
  334. package/dist/flags/4x3/co-DUXgiBfK.js +6 -0
  335. package/dist/flags/4x3/cp-DBFQpzcn.js +6 -0
  336. package/dist/flags/4x3/cr-B3r-jfDb.js +6 -0
  337. package/dist/flags/4x3/cu-C2AkPSKm.js +6 -0
  338. package/dist/flags/4x3/cv-BSCHMcjA.js +6 -0
  339. package/dist/flags/4x3/cw-CTl-jMEj.js +6 -0
  340. package/dist/flags/4x3/cx-Blx2-PJu.js +6 -0
  341. package/dist/flags/4x3/cy-CmfldoYM.js +6 -0
  342. package/dist/flags/4x3/cz-Bc4FVt_z.js +6 -0
  343. package/dist/flags/4x3/de-CwT-mfsC.js +6 -0
  344. package/dist/flags/4x3/dg-CMYWTwG_.js +6 -0
  345. package/dist/flags/4x3/dj-Bog9QII6.js +6 -0
  346. package/dist/flags/4x3/dk-CEB1aRPZ.js +6 -0
  347. package/dist/flags/4x3/dm-idTEOH5b.js +6 -0
  348. package/dist/flags/4x3/do-C-xUzrhA.js +6 -0
  349. package/dist/flags/4x3/dz-B0XT3h3L.js +6 -0
  350. package/dist/flags/4x3/eac-BYyC7gTx.js +6 -0
  351. package/dist/flags/4x3/ec-DHPDQJB4.js +6 -0
  352. package/dist/flags/4x3/ee-YEP7-YiI.js +6 -0
  353. package/dist/flags/4x3/eg-DphZyJ3R.js +6 -0
  354. package/dist/flags/4x3/eh-BMMUn6kT.js +6 -0
  355. package/dist/flags/4x3/er-02p7NzRX.js +6 -0
  356. package/dist/flags/4x3/es-CxCY_HyC.js +6 -0
  357. package/dist/flags/4x3/es-ct-COxgK6gN.js +6 -0
  358. package/dist/flags/4x3/es-ga-YtOQPf2W.js +6 -0
  359. package/dist/flags/4x3/es-pv-BJWGTixJ.js +6 -0
  360. package/dist/flags/4x3/et-C9te-XyE.js +6 -0
  361. package/dist/flags/4x3/eu-D3pBiamG.js +6 -0
  362. package/dist/flags/4x3/fi-p8gKOqu5.js +6 -0
  363. package/dist/flags/4x3/fj-WA6Sj14C.js +6 -0
  364. package/dist/flags/4x3/fk-C3YQpfie.js +6 -0
  365. package/dist/flags/4x3/fm-WlAfSSOy.js +6 -0
  366. package/dist/flags/4x3/fo-CnipJFZB.js +6 -0
  367. package/dist/flags/4x3/fr-wcxjBEM6.js +6 -0
  368. package/dist/flags/4x3/ga-D4QkmEbT.js +6 -0
  369. package/dist/flags/4x3/gb-Iu59IqG4.js +6 -0
  370. package/dist/flags/4x3/gb-eng-J2KeRbF6.js +6 -0
  371. package/dist/flags/4x3/gb-nir-D8v4gixn.js +6 -0
  372. package/dist/flags/4x3/gb-sct-eUMUOmec.js +6 -0
  373. package/dist/flags/4x3/gb-wls-DNa6cGuk.js +6 -0
  374. package/dist/flags/4x3/gd-CcutC5Jv.js +6 -0
  375. package/dist/flags/4x3/ge-BT79hKsn.js +6 -0
  376. package/dist/flags/4x3/gf-C6HTKVwe.js +6 -0
  377. package/dist/flags/4x3/gg-CBz1K2KV.js +6 -0
  378. package/dist/flags/4x3/gh-C_hnux9x.js +6 -0
  379. package/dist/flags/4x3/gi-DwDUY2CR.js +6 -0
  380. package/dist/flags/4x3/gl-ul6S0drK.js +6 -0
  381. package/dist/flags/4x3/gm-C8-_GrOJ.js +6 -0
  382. package/dist/flags/4x3/gn-DpAS4Emu.js +6 -0
  383. package/dist/flags/4x3/gp-v6jMGkOl.js +6 -0
  384. package/dist/flags/4x3/gq-BHcHFt2R.js +6 -0
  385. package/dist/flags/4x3/gr-oAWzdDL5.js +6 -0
  386. package/dist/flags/4x3/gs-Bv3j5ihx.js +6 -0
  387. package/dist/flags/4x3/gt-D58m-PIf.js +6 -0
  388. package/dist/flags/4x3/gu-DA1wyGyA.js +6 -0
  389. package/dist/flags/4x3/gw-C4R5CLxA.js +6 -0
  390. package/dist/flags/4x3/gy-B03XmJhj.js +6 -0
  391. package/dist/flags/4x3/hk-DR5PFCoc.js +6 -0
  392. package/dist/flags/4x3/hm-a3gZlVMF.js +6 -0
  393. package/dist/flags/4x3/hn-DxaVMgH9.js +6 -0
  394. package/dist/flags/4x3/hr-BDsdEZ9G.js +6 -0
  395. package/dist/flags/4x3/ht-DgQNMO2Q.js +6 -0
  396. package/dist/flags/4x3/hu-C2qm-xRb.js +6 -0
  397. package/dist/flags/4x3/ic-D9RMzjWn.js +6 -0
  398. package/dist/flags/4x3/id-DEj8jtC8.js +6 -0
  399. package/dist/flags/4x3/ie-6bydCA7G.js +6 -0
  400. package/dist/flags/4x3/il-D0CMPynd.js +6 -0
  401. package/dist/flags/4x3/im-Bk7Igczt.js +6 -0
  402. package/dist/flags/4x3/in-CSwUkXPH.js +6 -0
  403. package/dist/flags/4x3/io-Dr_xhh5f.js +6 -0
  404. package/dist/flags/4x3/iq-C0Met1sv.js +6 -0
  405. package/dist/flags/4x3/ir-CLPSHIql.js +6 -0
  406. package/dist/flags/4x3/is-D5nGt-6k.js +6 -0
  407. package/dist/flags/4x3/it-B2NNW4yZ.js +6 -0
  408. package/dist/flags/4x3/je-BPuVMtBX.js +6 -0
  409. package/dist/flags/4x3/jm-DFjIgq_Z.js +6 -0
  410. package/dist/flags/4x3/jo-DnWyEAoq.js +6 -0
  411. package/dist/flags/4x3/jp-DaC3ftqV.js +6 -0
  412. package/dist/flags/4x3/ke-DQltk3Nm.js +6 -0
  413. package/dist/flags/4x3/kg-B9wByXjn.js +6 -0
  414. package/dist/flags/4x3/kh-DsD475kI.js +6 -0
  415. package/dist/flags/4x3/ki-BYmKP6AJ.js +6 -0
  416. package/dist/flags/4x3/km-Dj1BRPW5.js +6 -0
  417. package/dist/flags/4x3/kn-DFhgS6Sx.js +6 -0
  418. package/dist/flags/4x3/kp-CeyDf8wh.js +6 -0
  419. package/dist/flags/4x3/kr-DruUFoV6.js +6 -0
  420. package/dist/flags/4x3/kw-xFITUXkK.js +6 -0
  421. package/dist/flags/4x3/ky-CDzTcYQP.js +6 -0
  422. package/dist/flags/4x3/kz-CA-J-BrJ.js +6 -0
  423. package/dist/flags/4x3/la-DFsAJIHb.js +6 -0
  424. package/dist/flags/4x3/lb-Bmhu7qDU.js +6 -0
  425. package/dist/flags/4x3/lc-c1kA4IQi.js +6 -0
  426. package/dist/flags/4x3/li-D7EkWWIr.js +6 -0
  427. package/dist/flags/4x3/lk-DjV8GlBc.js +6 -0
  428. package/dist/flags/4x3/lr-D_nRBy7g.js +6 -0
  429. package/dist/flags/4x3/ls-BQtizfhz.js +6 -0
  430. package/dist/flags/4x3/lt-BtwRhwiF.js +6 -0
  431. package/dist/flags/4x3/lu-BuGEmjGI.js +6 -0
  432. package/dist/flags/4x3/lv-BzSskWH0.js +6 -0
  433. package/dist/flags/4x3/ly-BQOllMQt.js +6 -0
  434. package/dist/flags/4x3/ma-Sdg_SxjA.js +6 -0
  435. package/dist/flags/4x3/mc-EjXwAk3n.js +6 -0
  436. package/dist/flags/4x3/md-Dq3fri60.js +6 -0
  437. package/dist/flags/4x3/me-Czx-10De.js +6 -0
  438. package/dist/flags/4x3/mf-Do15dk7j.js +6 -0
  439. package/dist/flags/4x3/mg-CXajwe-a.js +6 -0
  440. package/dist/flags/4x3/mh-DnobhgT4.js +6 -0
  441. package/dist/flags/4x3/mk-BRiJw8Tt.js +6 -0
  442. package/dist/flags/4x3/ml-aAwTONwn.js +6 -0
  443. package/dist/flags/4x3/mm-C1m5tOBJ.js +6 -0
  444. package/dist/flags/4x3/mn-C9ULzcTg.js +6 -0
  445. package/dist/flags/4x3/mo-DeMiFKJD.js +6 -0
  446. package/dist/flags/4x3/mp-BWLTjTll.js +6 -0
  447. package/dist/flags/4x3/mq-DVS4CJ07.js +6 -0
  448. package/dist/flags/4x3/mr-DGqyf4qY.js +6 -0
  449. package/dist/flags/4x3/ms-rAHNRTea.js +6 -0
  450. package/dist/flags/4x3/mt-Bm7FiwOE.js +6 -0
  451. package/dist/flags/4x3/mu-JFEJCkzB.js +6 -0
  452. package/dist/flags/4x3/mv-BTeEwa1J.js +6 -0
  453. package/dist/flags/4x3/mw-D0tRc77D.js +6 -0
  454. package/dist/flags/4x3/mx-CUaww8P5.js +6 -0
  455. package/dist/flags/4x3/my-DAanXl_d.js +6 -0
  456. package/dist/flags/4x3/mz-BIGM9L2m.js +6 -0
  457. package/dist/flags/4x3/na-B0qW9JE2.js +6 -0
  458. package/dist/flags/4x3/nc-WNgLHyf6.js +6 -0
  459. package/dist/flags/4x3/ne-DidYQTz7.js +6 -0
  460. package/dist/flags/4x3/nf-B72F6aJy.js +6 -0
  461. package/dist/flags/4x3/ng-DvIbB1xq.js +6 -0
  462. package/dist/flags/4x3/ni-BH4HRye2.js +6 -0
  463. package/dist/flags/4x3/nl-B43Plb7G.js +6 -0
  464. package/dist/flags/4x3/no-DcP-jaEB.js +6 -0
  465. package/dist/flags/4x3/np-zDFTSsAD.js +6 -0
  466. package/dist/flags/4x3/nr-Dne6n-U4.js +6 -0
  467. package/dist/flags/4x3/nu-BcXVN0pM.js +6 -0
  468. package/dist/flags/4x3/nz-BXB8x6bx.js +6 -0
  469. package/dist/flags/4x3/om-Dv3qsB7p.js +6 -0
  470. package/dist/flags/4x3/pa-CHIJ1Gj2.js +6 -0
  471. package/dist/flags/4x3/pc-VmqK_LID.js +6 -0
  472. package/dist/flags/4x3/pe-RvGqR0R-.js +6 -0
  473. package/dist/flags/4x3/pf-DRmCnqA_.js +6 -0
  474. package/dist/flags/4x3/pg-Df7s4vFf.js +6 -0
  475. package/dist/flags/4x3/ph-B3B1UTrp.js +6 -0
  476. package/dist/flags/4x3/pk-Dk1ksVx0.js +6 -0
  477. package/dist/flags/4x3/pl-D3tYaKmt.js +6 -0
  478. package/dist/flags/4x3/pm-SV9tklTs.js +6 -0
  479. package/dist/flags/4x3/pn-DQGkKgDr.js +6 -0
  480. package/dist/flags/4x3/pr-BPSfxHTy.js +6 -0
  481. package/dist/flags/4x3/ps-mnWMreGY.js +6 -0
  482. package/dist/flags/4x3/pt-VcneVeGg.js +6 -0
  483. package/dist/flags/4x3/pw-KY-EGmiX.js +6 -0
  484. package/dist/flags/4x3/py-CUyHPIqw.js +6 -0
  485. package/dist/flags/4x3/qa-BoCDaZ5y.js +6 -0
  486. package/dist/flags/4x3/re-DZBesO0V.js +6 -0
  487. package/dist/flags/4x3/ro-B7sesSSL.js +6 -0
  488. package/dist/flags/4x3/rs-B7-UORMV.js +6 -0
  489. package/dist/flags/4x3/ru-CdydeEda.js +6 -0
  490. package/dist/flags/4x3/rw-BITmNEbj.js +6 -0
  491. package/dist/flags/4x3/sa-CEgkBKZZ.js +6 -0
  492. package/dist/flags/4x3/sb-23uLUQKM.js +6 -0
  493. package/dist/flags/4x3/sc-DErwXRuR.js +6 -0
  494. package/dist/flags/4x3/sd-CjpBOzMD.js +6 -0
  495. package/dist/flags/4x3/se-XCNX4vGY.js +6 -0
  496. package/dist/flags/4x3/sg-BtnYiuwt.js +6 -0
  497. package/dist/flags/4x3/sh-6GY_cF-o.js +6 -0
  498. package/dist/flags/4x3/sh-ac-CTk21Nif.js +6 -0
  499. package/dist/flags/4x3/sh-hl-8dH1yqR1.js +6 -0
  500. package/dist/flags/4x3/sh-ta-Cdv7EnHK.js +6 -0
  501. package/dist/flags/4x3/si-Cw1Vyq_K.js +6 -0
  502. package/dist/flags/4x3/sj-CL2an3Th.js +6 -0
  503. package/dist/flags/4x3/sk-C4liHPFg.js +6 -0
  504. package/dist/flags/4x3/sl-BEPk-LAG.js +6 -0
  505. package/dist/flags/4x3/sm-C1vEPLxP.js +6 -0
  506. package/dist/flags/4x3/sn-Covr6Xmh.js +6 -0
  507. package/dist/flags/4x3/so-DDPk0fUE.js +6 -0
  508. package/dist/flags/4x3/sr-MDcgyROR.js +6 -0
  509. package/dist/flags/4x3/ss-Dy5O7Lgr.js +6 -0
  510. package/dist/flags/4x3/st-EMIr_lQj.js +6 -0
  511. package/dist/flags/4x3/sv-uTqJibDY.js +6 -0
  512. package/dist/flags/4x3/sx-CgbBHNON.js +6 -0
  513. package/dist/flags/4x3/sy-C4aYR08W.js +6 -0
  514. package/dist/flags/4x3/sz-BAgMx7HS.js +6 -0
  515. package/dist/flags/4x3/tc-DMg2Jb3V.js +6 -0
  516. package/dist/flags/4x3/td-BrA1SxCq.js +6 -0
  517. package/dist/flags/4x3/tf-DoYbh5AE.js +6 -0
  518. package/dist/flags/4x3/tg-CMdw-T1t.js +6 -0
  519. package/dist/flags/4x3/th-B8VvXk2o.js +6 -0
  520. package/dist/flags/4x3/tj-9RifD4z9.js +6 -0
  521. package/dist/flags/4x3/tk-D332FDkf.js +6 -0
  522. package/dist/flags/4x3/tl-DepW4rFc.js +6 -0
  523. package/dist/flags/4x3/tm-DlPsOPJl.js +6 -0
  524. package/dist/flags/4x3/tn-_n6aSOVC.js +6 -0
  525. package/dist/flags/4x3/to-BjHOduFR.js +6 -0
  526. package/dist/flags/4x3/tr-D8FSsqzD.js +6 -0
  527. package/dist/flags/4x3/tt-DF_MyPwW.js +6 -0
  528. package/dist/flags/4x3/tv-CaZzLQ4T.js +6 -0
  529. package/dist/flags/4x3/tw-DwoJdato.js +6 -0
  530. package/dist/flags/4x3/tz-Cwgfqcan.js +6 -0
  531. package/dist/flags/4x3/ua-DczPl-DK.js +6 -0
  532. package/dist/flags/4x3/ug-Bhd5tzWZ.js +6 -0
  533. package/dist/flags/4x3/um-xZ3EHJTJ.js +6 -0
  534. package/dist/flags/4x3/un-DW3M9Rfg.js +6 -0
  535. package/dist/flags/4x3/us-BZHTCCSU.js +6 -0
  536. package/dist/flags/4x3/uy-DkzWeMZ_.js +6 -0
  537. package/dist/flags/4x3/uz-CO7BpRjt.js +6 -0
  538. package/dist/flags/4x3/va-CuzPfqQ5.js +6 -0
  539. package/dist/flags/4x3/vc-Dvt-xnVp.js +6 -0
  540. package/dist/flags/4x3/ve-DUN0cG2f.js +6 -0
  541. package/dist/flags/4x3/vg-BnMCm3Lp.js +6 -0
  542. package/dist/flags/4x3/vi-a5qpfbwf.js +6 -0
  543. package/dist/flags/4x3/vn-Mfo0Etd-.js +6 -0
  544. package/dist/flags/4x3/vu-CMXE67-m.js +6 -0
  545. package/dist/flags/4x3/wf-C2pOdB7O.js +6 -0
  546. package/dist/flags/4x3/ws-UNuo3E3p.js +6 -0
  547. package/dist/flags/4x3/xk-CyeCbLw7.js +6 -0
  548. package/dist/flags/4x3/xx-X7wcWWS4.js +6 -0
  549. package/dist/flags/4x3/ye-BGZWYDat.js +6 -0
  550. package/dist/flags/4x3/yt-zZ_nlbyQ.js +6 -0
  551. package/dist/flags/4x3/za-T6vuGNwj.js +6 -0
  552. package/dist/flags/4x3/zm-BbWQxaas.js +6 -0
  553. package/dist/flags/4x3/zw-CJUOj-vi.js +6 -0
  554. package/dist/flags.d.ts +50 -0
  555. package/dist/flags.js +999 -0
  556. package/dist/flags.js.map +1 -0
  557. package/dist/flow.css +8648 -0
  558. package/dist/flow.d.ts +6452 -0
  559. package/dist/flow.js +29982 -0
  560. package/dist/flow.js.map +1 -0
  561. package/dist/index-C3WAwKdm.d.ts +6363 -0
  562. package/dist/index.d.ts +4 -0
  563. package/dist/index.js +4 -0
  564. package/dist/src-Ds9ArSaP.js +20940 -0
  565. package/dist/src-Ds9ArSaP.js.map +1 -0
  566. package/dist/styles.css +23945 -0
  567. package/package.json +191 -0
package/LICENSE ADDED
@@ -0,0 +1,105 @@
1
+ # Functional Source License, Version 1.1, ALv2 Future License
2
+
3
+ ## Abbreviation
4
+
5
+ FSL-1.1-ALv2
6
+
7
+ ## Notice
8
+
9
+ Copyright 2026 Natalia Mesquita
10
+
11
+ ## Terms and Conditions
12
+
13
+ ### Licensor ("We")
14
+
15
+ The party offering the Software under these Terms and Conditions.
16
+
17
+ ### The Software
18
+
19
+ The "Software" is each version of the software that we make available under
20
+ these Terms and Conditions, as indicated by our inclusion of these Terms and
21
+ Conditions with the Software.
22
+
23
+ ### License Grant
24
+
25
+ Subject to your compliance with this License Grant and the Patents,
26
+ Redistribution and Trademark clauses below, we hereby grant you the right to
27
+ use, copy, modify, create derivative works, publicly perform, publicly display
28
+ and redistribute the Software for any Permitted Purpose identified below.
29
+
30
+ ### Permitted Purpose
31
+
32
+ A Permitted Purpose is any purpose other than a Competing Use. A Competing Use
33
+ means making the Software available to others in a commercial product or
34
+ service that:
35
+
36
+ 1. substitutes for the Software;
37
+
38
+ 2. substitutes for any other product or service we offer using the Software
39
+ that exists as of the date we make the Software available; or
40
+
41
+ 3. offers the same or substantially similar functionality as the Software.
42
+
43
+ Permitted Purposes specifically include using the Software:
44
+
45
+ 1. for your internal use and access;
46
+
47
+ 2. for non-commercial education;
48
+
49
+ 3. for non-commercial research; and
50
+
51
+ 4. in connection with professional services that you provide to a licensee
52
+ using the Software in accordance with these Terms and Conditions.
53
+
54
+ ### Patents
55
+
56
+ To the extent your use for a Permitted Purpose would necessarily infringe our
57
+ patents, the license grant above includes a license under our patents. If you
58
+ make a claim against any party that the Software infringes or contributes to
59
+ the infringement of any patent, then your patent license to the Software ends
60
+ immediately.
61
+
62
+ ### Redistribution
63
+
64
+ The Terms and Conditions apply to all copies, modifications and derivatives of
65
+ the Software.
66
+
67
+ If you redistribute any copies, modifications or derivatives of the Software,
68
+ you must include a copy of or a link to these Terms and Conditions and not
69
+ remove any copyright notices provided in or with the Software.
70
+
71
+ ### Disclaimer
72
+
73
+ THE SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTIES OF ANY KIND, EXPRESS OR
74
+ IMPLIED, INCLUDING WITHOUT LIMITATION WARRANTIES OF FITNESS FOR A PARTICULAR
75
+ PURPOSE, MERCHANTABILITY, TITLE OR NON-INFRINGEMENT.
76
+
77
+ IN NO EVENT WILL WE HAVE ANY LIABILITY TO YOU ARISING OUT OF OR RELATED TO THE
78
+ SOFTWARE, INCLUDING INDIRECT, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES,
79
+ EVEN IF WE HAVE BEEN INFORMED OF THEIR POSSIBILITY IN ADVANCE.
80
+
81
+ ### Trademarks
82
+
83
+ Except for displaying the License Details and identifying us as the origin of
84
+ the Software, you have no right under these Terms and Conditions to use our
85
+ trademarks, trade names, service marks or product names.
86
+
87
+ ## Grant of Future License
88
+
89
+ We hereby irrevocably grant you an additional license to use the Software under
90
+ the Apache License, Version 2.0 that is effective on the second anniversary of
91
+ the date we make the Software available. On or after that date, you may use the
92
+ Software under the Apache License, Version 2.0, in which case the following
93
+ will apply:
94
+
95
+ Licensed under the Apache License, Version 2.0 (the "License"); you may not use
96
+ this file except in compliance with the License.
97
+
98
+ You may obtain a copy of the License at
99
+
100
+ http://www.apache.org/licenses/LICENSE-2.0
101
+
102
+ Unless required by applicable law or agreed to in writing, software distributed
103
+ under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
104
+ CONDITIONS OF ANY KIND, either express or implied. See the License for the
105
+ specific language governing permissions and limitations under the License.
package/README.md ADDED
@@ -0,0 +1,361 @@
1
+ # @datatechsolutions/tympan
2
+
3
+ Tympan: accessible React components (React 18.3 or 19), built on
4
+ [React Aria Components](https://react-spectrum.adobe.com/react-aria/) and
5
+ styled with plain CSS custom properties (`--ty-*`) in `@layer tympan`.
6
+ Tympan is an Astrlabe-family component published by Datatech. Licence: FSL-1.1-ALv2 (Functional Source License, Version 1.1,
7
+ Apache 2.0 Future License); see `LICENSE`.
8
+
9
+ ```sh
10
+ npm run build -w @datatechsolutions/tympan # dist/index.js, flow.js, avatars.js, flags.js (+ dist/flags/*), styles.css, flow.css and types (builds @datatechsolutions/tympan-tokens and the flag modules first)
11
+ npm run typecheck -w @datatechsolutions/tympan
12
+ npm test -w @datatechsolutions/tympan # vitest + Testing Library + axe-core
13
+ npm run gallery -w @datatechsolutions/tympan # http://localhost:3310 (components, theme customizer, flow canvas at #/flow/...)
14
+ npm run gallery:build -w @datatechsolutions/tympan # static gallery in dist-gallery/
15
+ ```
16
+
17
+ ## Ready-made components and a ready theme system
18
+
19
+ Install (workspace or package registry), then import one stylesheet. It
20
+ already contains the `@datatechsolutions/tympan-tokens` stylesheet (every `--ty-*` custom
21
+ property for the `tympan`, `fakhir`, `neutral` and `high-contrast` presets, light and
22
+ dark), so no other CSS is needed:
23
+
24
+ ```sh
25
+ npm install @datatechsolutions/tympan @datatechsolutions/tympan-tokens react react-dom
26
+ ```
27
+
28
+ ```tsx
29
+ import '@datatechsolutions/tympan/styles.css' // components + tokens, in @layer tympan.*
30
+ ```
31
+
32
+ For a tailored theme, generate its CSS with `@datatechsolutions/tympan-tokens`
33
+ (`generateThemeCss(resolveTheme(config))`, see its README or the gallery's
34
+ theme customizer, which exports DTCG and CSS) and load it after the
35
+ stylesheet; then select it with `ThemeProvider theme="<name>"`. Hosts that use
36
+ the tokens without components can import `@datatechsolutions/tympan-tokens/tokens.css` alone.
37
+
38
+ **Print styles as themes (opt-in).** Every book style of
39
+ `@datatechsolutions/tympan-print` is also a UI theme named `print-<style>`
40
+ (palette, typography, radius and surface treatment of the style, light and
41
+ dark, WCAG AA). They are not in `styles.css`; load them after it and pass the
42
+ font map so the style's families load with the theme:
43
+
44
+ ```tsx
45
+ import '@datatechsolutions/tympan/styles.css'
46
+ import '@datatechsolutions/tympan-tokens/print-themes.css' // or print-themes/print-<style>.css for one
47
+ import { printThemeFontUrls } from '@datatechsolutions/tympan-tokens'
48
+
49
+ <ThemeProvider theme="print-minimo-de-tinta" fonts={printThemeFontUrls}>…</ThemeProvider>
50
+ ```
51
+
52
+ Print styles renamed to neutral ids keep their old theme names as deprecated
53
+ aliases: `ThemeProvider` and `themeInitScript` read a stored or passed
54
+ `print-<old id>` (for example `print-tufte`) as the renamed theme
55
+ (`print-minimo-de-tinta`), store the new name and warn once in development.
56
+ See `PRINT_THEME_ALIASES` in the tokens README; the aliases go away in the
57
+ next major version.
58
+
59
+ ### The research shell (no top bar)
60
+
61
+ ```tsx
62
+ import '@datatechsolutions/tympan/styles.css'
63
+ import {
64
+ AppFrame, TympanProvider, FloatingActionBar, PageHeader, RailContextButton,
65
+ RailNavItem, RailNavSection, StatStrip, ThemeProvider, ToastProvider, messagesPtBR,
66
+ } from '@datatechsolutions/tympan'
67
+ import { CheckSquare, FileStack, Home } from 'lucide-react'
68
+
69
+ export function App() {
70
+ const [navOpen, setNavOpen] = useState(false)
71
+ return (
72
+ <TympanProvider baseMessages={messagesPtBR} locale="pt-BR" navigate={router.navigate} useHref={useHref}>
73
+ <ThemeProvider storageKey="ty-theme">
74
+ <ToastProvider>
75
+ <AppFrame
76
+ layout="rail"
77
+ ambient
78
+ navOpen={navOpen}
79
+ onNavOpenChange={setNavOpen}
80
+ brand="Laboratório Exemplo"
81
+ context={<RailContextButton scope="Laboratório Exemplo" name="Ar de Vila Aurora" />}
82
+ navigation={
83
+ <>
84
+ <RailNavSection>
85
+ <RailNavItem label="Visão geral" icon={Home} href="/overview" current />
86
+ </RailNavSection>
87
+ <RailNavSection label="Coletar">
88
+ <RailNavItem label="Verificação" icon={CheckSquare} href="/verify" count={12} />
89
+ </RailNavSection>
90
+ </>
91
+ }
92
+ account={<AccountMenu />}
93
+ dock={
94
+ <FloatingActionBar
95
+ anchor="container"
96
+ edge="bottom"
97
+ narrowVariant="tabbar"
98
+ destinations={[
99
+ { id: 'overview', label: 'Visão geral', icon: Home, href: '/overview', active: true },
100
+ { id: 'base', label: 'Base', icon: FileStack, href: '/base' },
101
+ ]}
102
+ />
103
+ }
104
+ >
105
+ <PageHeader variant="editorial" title="Visão geral" trail={[{ label: 'Laboratório Exemplo', href: '/org' }, { label: 'Visão geral' }]} lead="…" />
106
+ <StatStrip label="Estado da pesquisa" items={[{ id: 'r', value: 1460, label: 'leituras', href: '/base' }]} />
107
+ </AppFrame>
108
+ </ToastProvider>
109
+ </ThemeProvider>
110
+ </TympanProvider>
111
+ )
112
+ }
113
+ ```
114
+
115
+ - **`AppFrame layout="rail"`** (the default when no `topBar` is given): a
116
+ 248 px rail (brand, context switcher, grouped sections, account at the
117
+ bottom; active item = accent-soft fill + 3 px inset bar), the page on one
118
+ glass sheet (radius 24, 12 px margin, own scroll) and the dock floating at
119
+ the bottom of the sheet. Below 768 px the rail becomes a drawer and the dock
120
+ a bottom tab bar (five items + "Mais", safe-area aware; "Mais" also opens
121
+ the rail). `layout="topbar"` keeps the wave-1 frame.
122
+ - **`FloatingActionBar`**: toolbar with roving focus (arrows, Home/End), item
123
+ menus (Down Arrow, Shift+F10, right click, long press), overflow into
124
+ "more", tooltips, counts, auto-hide, and a focus chord (`Alt+Shift+D` by
125
+ default, `focusShortcut` to change or `null` to disable). It publishes
126
+ `--ty-action-bar-inset-<edge>` so the sheet never hides content under it.
127
+ - **Research pieces**: `PageHeader variant="editorial"` (mono trail, serif
128
+ title, 68ch lead, actions, divider), `StatStrip`, `StageStrip`,
129
+ `AttentionList`, `PhaseBar`, `ActivityFeed`, `EvidencePanel` (docked 340–420
130
+ px ≥ 1280, drawer 1024–1279, bottom sheet below) and `ResizableSplit`.
131
+
132
+ ### Providers
133
+
134
+ - **`TympanProvider`**: copy (`messages` overrides on top of `baseMessages`,
135
+ English by default, `messagesPtBR` included) and the router adapter
136
+ (`navigate`, `useHref`) used by every link-like component. Components hold no
137
+ hard-coded copy. `I18nAdapterProvider` and `RoutingProvider` (wave 2)
138
+ plug a host i18n library or router in without TympanProvider.
139
+ - **`ThemeProvider` / `useTheme`**: sets `data-ty-theme` (`tympan` by default,
140
+ `fakhir`, `neutral`, `high-contrast`, an opt-in `print-*` theme or a generated theme), `data-ty-mode` (`system`, `light`,
141
+ `dark`) and `data-ty-density` (`compact`, `default`, `comfortable`) on
142
+ `<html>` (or on a wrapper with `target="scope"`). Persistence belongs to the
143
+ host: pass controlled values and callbacks, or `storageKey` for localStorage.
144
+ `fonts` (theme name to stylesheet URL, e.g. `printThemeFontUrls`) adds the
145
+ font link of the current theme.
146
+ - **No flash of the wrong theme (SPA)**: put the output of
147
+ `themeInitScript('ty-theme')` in an inline `<script>` in `<head>`, before the
148
+ stylesheet; it sets the three attributes from storage before first paint
149
+ (`themeInitScript(key, defaults, { fonts })` also adds the theme's font link).
150
+ The gallery's `vite.config.ts` shows it with a `transformIndexHtml` hook.
151
+ - **`ThemeScope`**: applies a theme/mode/density to a subtree (previews).
152
+ - **`variants()`**: variants declared as data; returns `data-*` attributes the
153
+ component CSS selects on.
154
+
155
+ ## Components
156
+
157
+ Wave 1 (36 specs): ActionMenu, AppFrame, Avatar, Breadcrumbs, Button,
158
+ Checkbox/CheckboxGroup, DataTable, Drawer, EmptyState, ErrorState,
159
+ Field/Fieldset/FieldStack, Heading/Subheading, InlineNotice, Link,
160
+ ListboxSelect, ModalDialog, NativeSelect, PageHeader, Pagination, Popover,
161
+ ProgressBar, SectionHeading, SegmentedControl, Separator,
162
+ Skeleton/PageLoadingState, SkipLink, Spinner, StatusPill, Surface,
163
+ Switch/SwitchGroup, Tabs, Tag/TagList, TextArea, TextField, Text/Strong/Code,
164
+ Toast (ToastProvider/useToast). Plus ProofBadge and ActorChip (design
165
+ direction §2.11).
166
+
167
+ Wave 2 (89 specs) and wave 4 (20 non-canvas specs plus 9 research-shell
168
+ specs), grouped as in the gallery:
169
+
170
+ - **Shell and research**: AppFrame rail layout (RailNavSection, RailNavItem,
171
+ RailContextButton), FloatingActionBar, PageHeader editorial, EvidencePanel,
172
+ ResizableSplit, StatStrip, StageStrip, AttentionList, PhaseBar, ActivityFeed.
173
+ - **Choices and filters**: ThemeSwitcher, StateSwitch, OneTimeCodeField,
174
+ PasswordStrength, SearchBar, FilterField, FilterChips, FilterTile,
175
+ ChoiceCard, ChoiceTile, ChoiceGrid, ChipGroup, FlagSetPicker.
176
+ - **Pickers and forms**: CategoryTabs, TagField, CurrencyField, DateField,
177
+ TimeField, MonthField, WheelPicker, LocalePicker, ImagePicker,
178
+ SchemaRequestForm, FormLayout parts, FormActions.
179
+ - **Overlays and navigation**: SectionedModal, SettingsDialog and
180
+ PreferenceGroup, ConfirmProvider/useConfirm, CompactConfirm, DetailsPopover,
181
+ NavigationFlyout, ToolbarTrigger, AppNavigation (and its builders),
182
+ AppLauncherGrid, CommandPalette, LongPressMenu, FloatingActionButton,
183
+ StepList, PageDots, WizardPage.
184
+ - **Lists and records**: SectionPanel, ListPanel, ListRow, SummaryRow,
185
+ CountBadge, NotificationCenter, ProfileAvatar, CopyIdentifier, HistoryList,
186
+ GroupedDisclosureList, RecoveryCodeList, MarkdownView.
187
+ - **Metrics and cards**: StatTile, MetricTile, TweenedNumber, DeltaIndicator,
188
+ AgentOutputCard, RecordCard, ProfileSummary, ContactCard parts, InsightCard,
189
+ TickerCard.
190
+ - **Charts and regions**: Chart, ReportView, LiveReportView, RegionMap,
191
+ ToneTint, RegionThemeRegistry, RegionThemeData (BR), CountryProfileData (BR).
192
+ - **Auth, brand and pages**: FederatedSignIn, AuthFrame, BrandPanel,
193
+ BrandMark, BrandLoader and LoaderPresets, UpgradeGate, HttpErrorPage,
194
+ RouteProgress, ConsentBanner, EnvironmentBanner, AmbientBackdrop,
195
+ LegalDocumentFrame, SkeletonFill, ThirdPartyMarkSlot/ProviderMark.
196
+ - **Touch and utilities**: SwipeRow, PullToRefresh, EdgeSwipeBack,
197
+ SafeAreaInset, Haptics, animateChange (view transitions), EntityListLoader, Routing (router adapter),
198
+ I18nAdapter, MotionFoundation, Formatters, ApiErrorModel, GlassCheckToggle
199
+ (developer only), CascadeGrid (off unless `decorativeMotion`), and the
200
+ LegacyAliasMap decision record (no aliases exported).
201
+ - **Public pages**: ShowcaseHeading (Kicker, Lead), RevealNumber,
202
+ ShowcaseBackdrop and AccentBand, FeatureShowcaseCard, RuledGrid,
203
+ HighlightStat, FeatureTile.
204
+
205
+ The canvas specs (wave 3 and the five canvas items of wave 4) are the flow
206
+ canvas, a separate entry point of this package (below).
207
+
208
+ ## Flow and provenance canvas (`@datatechsolutions/tympan/flow`)
209
+
210
+ A W3C PROV provenance graph viewer, a DAG workflow editor, run inspection and
211
+ the forms and dialogs around them ship as the `/flow` subpath, with their own
212
+ stylesheet. The main entry does not re-export them, so hosts that only use
213
+ the components never load the canvas. The canvas lays graphs out with
214
+ `@dagrejs/dagre`, an optional peer dependency: install it when you import
215
+ `/flow`.
216
+
217
+ ```sh
218
+ npm install @datatechsolutions/tympan @dagrejs/dagre
219
+ ```
220
+
221
+ ```tsx
222
+ import '@datatechsolutions/tympan/styles.css'
223
+ import '@datatechsolutions/tympan/flow.css' // after styles.css
224
+ import { TympanProvider } from '@datatechsolutions/tympan'
225
+ import { ProvenanceGraph, FlowEditor } from '@datatechsolutions/tympan/flow'
226
+ ```
227
+
228
+ What is inside, canvas tools, languages and accessibility: `src/flow/README.md`;
229
+ records: `src/flow/CLEAN-ROOM.md` and `src/flow/PROVENANCE.md`.
230
+
231
+ **Migrating from `@datatechsolutions/tympan-flow`.** The separate package is
232
+ gone; its exports are unchanged under the subpath:
233
+
234
+ | Before | After |
235
+ |---|---|
236
+ | `npm install @datatechsolutions/tympan-flow` | `npm install @dagrejs/dagre` (next to `@datatechsolutions/tympan`) |
237
+ | `from '@datatechsolutions/tympan-flow'` | `from '@datatechsolutions/tympan/flow'` |
238
+ | `import '@datatechsolutions/tympan-flow/styles.css'` | `import '@datatechsolutions/tympan/flow.css'` |
239
+
240
+ ## Generated avatars (`@datatechsolutions/tympan/avatars`)
241
+
242
+ Deterministic avatars drawn by [DiceBear](https://www.dicebear.com) 9 from a
243
+ seed, in the colours of the active theme. `@dicebear/core` and the style
244
+ packages are optional peer dependencies: install core and only the styles you
245
+ use.
246
+
247
+ ```sh
248
+ npm install @dicebear/core@^9 @dicebear/shapes@^9 @dicebear/notionists@^9
249
+ ```
250
+
251
+ ```tsx
252
+ import * as shapes from '@dicebear/shapes'
253
+ import { GeneratedAvatar, avatarSvg, avatarPalette } from '@datatechsolutions/tympan/avatars'
254
+
255
+ <GeneratedAvatar seed={user.id} avatarStyle={shapes} name={user.name} fallbackText="IC" />
256
+ <GeneratedAvatar seed={agent.key} avatarStyle={shapes} name={agent.name} actorKind="agent" />
257
+
258
+ avatarSvg({ seed: 'user-42', style: shapes }) // SVG string, colours as --ty-* custom properties
259
+ avatarSvg({ seed: 'user-42', style: shapes, size: 64, theme: avatarPalette('tympan', 'dark') }) // fixed hex colours
260
+ ```
261
+
262
+ - **Licence gate.** Only styles whose artwork is CC0 1.0 or MIT are accepted:
263
+ glass, icons (Bootstrap Icons, MIT), identicon, initials, lorelei,
264
+ lorelei-neutral, notionists, notionists-neutral, open-peeps, pixel-art,
265
+ pixel-art-neutral, rings, shapes and thumbs. Any other style throws
266
+ `AvatarStyleError` (the component shows its fallback), `check:provenance`
267
+ fails on an import of an excluded style, and a test compares the allow-list
268
+ with the installed LICENSE files. The CC BY 4.0 styles (adventurer,
269
+ big-ears, big-smile, croodles, dylan, fun-emoji, micah, miniavs, personas,
270
+ toon-head) and the custom-licensed ones (avataaars, bottts) are left out;
271
+ so is `@dicebear/collection`, which re-exports all of them. Details:
272
+ `ALLOWED_AVATAR_STYLES`, `EXCLUDED_AVATAR_STYLES`, THIRD_PARTY_NOTICES.md.
273
+ - **Theme colours.** By default every colour is
274
+ `var(--ty-avatar-<slot>, <theme expression>)`: soft backgrounds mixed from
275
+ `--ty-brand` and `--ty-bg`, ink shapes from `--ty-brand`/`--ty-brand-strong`,
276
+ solid fills from the brand ramp, light paper (brand 100/200) behind the
277
+ black line art of figure styles. The inline SVG follows all themes and
278
+ both modes without re-rendering; set a `--ty-avatar-*` property to repaint a
279
+ slot. Figure styles keep the artist's skin, hair and eye colours.
280
+ `avatarPalette(theme, mode)` resolves the same recipe to hex for images,
281
+ e-mail or files.
282
+ - **People and agents.** `actorKind="agent"` keeps Avatar's rounded, dashed
283
+ frame, draws from the neutral ink instead of the brand, and accepts only the
284
+ abstract styles (glass, icons, identicon, rings, shapes): an agent never gets
285
+ a face or initials.
286
+ - **Avatar behaviour kept.** GeneratedAvatar is Avatar with generated
287
+ `artwork`: a loaded `src` wins, the frame is `role="img"` named by `name` (or
288
+ `aria-hidden` with `decorative` next to a visible name), `onPress`/`href`
289
+ make it a control, and when the artwork cannot be drawn the initials (or
290
+ the agent bot icon) show. Avatars do not mirror in right-to-left layouts.
291
+ - **Determinism.** Same seed, style, kind and palette give the same SVG;
292
+ internal ids are prefixed per instance so avatars never share a mask.
293
+ - DiceBear 10 (`@dicebear/core` 10 with `@dicebear/styles`) packs styles
294
+ differently; this subpath targets the 9.x core and per-style packages,
295
+ whose majors match.
296
+
297
+ ## Flags (`@datatechsolutions/tympan/flags`)
298
+
299
+ ```tsx
300
+ import { Flag, flagName } from '@datatechsolutions/tympan/flags'
301
+
302
+ <Flag code="JP" /> // role="img", named "Japan" / "Japão" / "日本" by locale
303
+ <Flag code="gb-sct" aspect="1x1" size="small" />
304
+ <Flag code="eu" aspect="circle" />
305
+ <Flag code="ke" decorative /> {flagName('ke', locale)}
306
+ ```
307
+
308
+ - Artwork: [flag-icons](https://github.com/lipis/flag-icons) 7.5.0 (MIT), 271
309
+ flags (ISO 3166-1 alpha-2, England, Scotland, Wales, Northern Ireland,
310
+ Catalonia, Galicia, Basque Country, Ascension, Saint Helena, Tristan da
311
+ Cunha, the EU, the UN, ASEAN, the Arab League, CEFTA, the EAC, the Pacific
312
+ Community and an "unknown" flag) in 4:3 and 1:1. `aspect="circle"` clips
313
+ the square art.
314
+ - Each flag is its own lazily loaded chunk (`dist/flags/<aspect>/<code>-*.js`),
315
+ generated at build time from the flag-icons SVGs; importing `Flag` does not
316
+ bundle 271 flags, and hosts need no bundler setup for SVG files. The flag
317
+ appears once its chunk has loaded; the named frame is there from the first
318
+ render.
319
+ - Accessible name: `Intl.DisplayNames` in the active locale (from
320
+ `TympanProvider`/`I18nProvider`), own names in English, Portuguese and
321
+ Spanish for the flags CLDR has no region for, the code otherwise; `label`
322
+ overrides it, `decorative` hides the flag next to a visible name. Unknown
323
+ codes draw the "unknown" flag and keep the code as the name.
324
+ - **Flags stand for countries and regions, never for languages.** Spanish,
325
+ Arabic, English or Portuguese are spoken in many countries, and many
326
+ countries have several languages. A language picker lists each language by
327
+ its own name (English, Español, العربية, 日本語), as the gallery's language
328
+ menu does; use a flag only where the place itself is meant (an office, a
329
+ shipping destination, a phone country code).
330
+ - Flags never mirror in right-to-left layouts.
331
+
332
+ ## Styling rules
333
+
334
+ - Class names are `ty-` prefixed (BEM-ish); state comes from React Aria data
335
+ attributes (`[data-hovered]`, `[data-focus-visible]`, …) or `data-*` variants.
336
+ - Layers: `tympan.tokens`, `tympan.base`, `tympan.components`. Host styles
337
+ outside the layers win without `!important`.
338
+ - Every interactive control keeps a 44 × 44 px hit area; visible controls are
339
+ 40 px on desktop and 44 px below 1024 px.
340
+ - `prefers-reduced-motion`, `prefers-reduced-transparency`,
341
+ `prefers-contrast`, and `forced-colors` are handled by the tokens and by each
342
+ component stylesheet.
343
+
344
+ ## Languages and scripts
345
+
346
+ Copy ships in English, Brazilian Portuguese and Spanish; any other locale gets
347
+ English copy with locale-correct numbers, dates, lists and plurals (`Intl.*`
348
+ with the provider's `locale`). Override any string with `messages` or with ICU
349
+ MessageFormat strings through `icuMessages`; `pseudo` turns on
350
+ pseudo-localization. Layout CSS is logical only, so `dir="rtl"` mirrors the
351
+ whole library; the token stylesheet adapts fonts, line heights and line
352
+ breaking per script with `:lang()` (Noto fallbacks for Arabic, Hebrew,
353
+ Devanagari and other Indic scripts, Thai, Ethiopic, CJK and more). Set `lang`
354
+ and `dir` on `<html>` (or on a subtree).
355
+
356
+ ## Records
357
+
358
+ `CLEAN-ROOM.md` (process and inputs), `PROVENANCE.md` (per component),
359
+ `THIRD_PARTY_NOTICES.md` (including the avatar style and flag artwork
360
+ licences), `LICENSE`; for the flow canvas, `src/flow/CLEAN-ROOM.md` and
361
+ `src/flow/PROVENANCE.md`.
@@ -0,0 +1,180 @@
1
+ # Third-party notices
2
+
3
+ `@datatechsolutions/tympan` (including its flow canvas entry,
4
+ `@datatechsolutions/tympan/flow`, formerly `@datatechsolutions/tympan-flow`,
5
+ and its `/avatars` and `/flags` entries)
6
+ and `@datatechsolutions/tympan-tokens` are licensed under FSL-1.1-ALv2
7
+ (Copyright 2026 Natalia Mesquita). They depend on, but do not copy, the packages
8
+ below, except the flag artwork of flag-icons, which is bundled (see
9
+ "Bundled artwork"). Versions are those resolved on 2026-09-26.
10
+
11
+ ## Runtime dependencies
12
+
13
+ | Package | Version | Licence | Use |
14
+ |---|---|---|---|
15
+ | react-aria-components (and its react-aria / react-stately / @internationalized dependencies) | 1.21.1 | Apache-2.0 | accessible primitives (Button, Link, Menu, Popover, Dialog, Modal, Select, ListBox, Table, Tabs, TagGroup, TextField, SearchField, Checkbox, Switch, RadioGroup, ProgressBar, Disclosure, Tooltip, Breadcrumbs, RouterProvider, I18nProvider; in the flow canvas also ToggleButton, Toolbar, Tree, GridList, Autocomplete, ComboBox, Slider, NumberField, DropZone, FileTrigger) |
16
+ | lucide-react | 1.48.0 | ISC | icons (design direction §4.4) |
17
+ | react-aria (hooks: useLink, useButton, useLongPress, mergeProps) | 3.52.1 | Apache-2.0 | roving-focus items of FloatingActionBar |
18
+ | @internationalized/date | 3.12 | Apache-2.0 | calendar dates in DateField (external) |
19
+ | d3-geo | 3.1.1 | ISC | projection and path generation in RegionMap (external, not bundled) |
20
+ | @dagrejs/dagre (optional peer, flow canvas only) | 3.1.1 | MIT | ranked (Sugiyama-style) layout behind `autoLayout` |
21
+ | @dagrejs/graphlib (dependency of dagre) | 4.0.5 | MIT | graph structure used by dagre |
22
+ | @dicebear/core (optional peer, `/avatars` only) | 9.4.3 | MIT | seeded avatar generation behind `avatarSvg` and `GeneratedAvatar` |
23
+ | @dicebear/* avatar styles (optional peers, `/avatars` only) | 9.4.3 | code MIT; artwork CC0 1.0 or MIT (table below) | avatar artwork |
24
+ | react, react-dom (peer) | 19.x | MIT | rendering |
25
+
26
+ Apache License 2.0: https://www.apache.org/licenses/LICENSE-2.0. Copyright
27
+ Adobe for React Aria. The Apache-2.0 NOTICE obligations apply to
28
+ redistribution of React Aria itself; this package declares it as a dependency
29
+ and ships none of its code in `dist/` (it is marked external).
30
+
31
+ ISC licence (lucide): Copyright (c) for portions of Lucide are held by Cole
32
+ Bemis 2013-2022 as part of Feather (MIT); all other copyright for Lucide is
33
+ held by Lucide Contributors 2022. Icons are imported as components and not
34
+ bundled into `dist/`.
35
+
36
+ MIT licence (dagre, graphlib): Copyright (c) 2012-2014 Chris Pettitt and the
37
+ dagrejs contributors. The full text ships with each package in
38
+ `node_modules/@dagrejs/*/LICENSE`. Neither is bundled into `dist/` (both are
39
+ marked external); hosts install dagre only when they use the flow entry.
40
+
41
+ ISC licence (d3-geo): Copyright 2010-2024 Mike Bostock. Declared as a
42
+ dependency and marked external; no d3 code is copied into `dist/`.
43
+
44
+ MIT licence (DiceBear): Copyright (c) 2024 Florian Körner. `@dicebear/core`
45
+ and the style packages are optional peers, marked external and not bundled
46
+ into `dist/`; hosts install core and the styles they use. Each generated SVG
47
+ carries DiceBear's Dublin Core metadata (title, creator, source, licence) of
48
+ its style.
49
+
50
+ ### Avatar styles: artwork licences
51
+
52
+ Read from each package's `LICENSE` file and `meta` export on 2026-09-26
53
+ (version 9.4.3). The package code is MIT (Copyright (c) 2024 Florian Körner)
54
+ in every case; the artwork licence decides. Only CC0 1.0 and MIT artwork is
55
+ accepted (`src/avatars/styles.ts`, enforced at runtime, by a test against the
56
+ installed LICENSE files, and by `check:provenance` on imports).
57
+
58
+ Included:
59
+
60
+ | Package | Artwork | Designer | Artwork licence |
61
+ |---|---|---|---|
62
+ | @dicebear/glass | Glass | DiceBear | CC0 1.0 |
63
+ | @dicebear/icons | Bootstrap Icons | The Bootstrap Authors (Copyright (c) 2019-2024) | MIT |
64
+ | @dicebear/identicon | Identicon | DiceBear | CC0 1.0 |
65
+ | @dicebear/initials | Initials (text only) | DiceBear | CC0 1.0 per `meta`; package LICENSE MIT |
66
+ | @dicebear/lorelei | Lorelei | Lisa Wischofsky | CC0 1.0 |
67
+ | @dicebear/lorelei-neutral | Lorelei Neutral | Lisa Wischofsky | CC0 1.0 |
68
+ | @dicebear/notionists | Notionists | Zoish | CC0 1.0 |
69
+ | @dicebear/notionists-neutral | Notionists | Zoish | CC0 1.0 |
70
+ | @dicebear/open-peeps | Open Peeps | Pablo Stanley | CC0 1.0 |
71
+ | @dicebear/pixel-art | Pixel Art | DiceBear | CC0 1.0 |
72
+ | @dicebear/pixel-art-neutral | Pixel Art Neutral | DiceBear | CC0 1.0 |
73
+ | @dicebear/rings | Rings | DiceBear | CC0 1.0 |
74
+ | @dicebear/shapes | Shapes | DiceBear | CC0 1.0 |
75
+ | @dicebear/thumbs | Thumbs | DiceBear | CC0 1.0 |
76
+
77
+ MIT licence (Bootstrap Icons, through @dicebear/icons): Copyright (c) 2019-2024
78
+ The Bootstrap Authors; the full text ships in
79
+ `node_modules/@dicebear/icons/LICENSE`.
80
+
81
+ Excluded:
82
+
83
+ | Package | Designer | Artwork licence | Why |
84
+ |---|---|---|---|
85
+ | @dicebear/adventurer, adventurer-neutral | Lisa Wischofsky | CC BY 4.0 | attribution required wherever shown |
86
+ | @dicebear/big-ears, big-ears-neutral | The Visual Team | CC BY 4.0 | attribution required |
87
+ | @dicebear/big-smile | Ashley Seo | CC BY 4.0 | attribution required |
88
+ | @dicebear/croodles, croodles-neutral | vijay verma | CC BY 4.0 | attribution required |
89
+ | @dicebear/dylan | Natalia Spivak | CC BY 4.0 | attribution required |
90
+ | @dicebear/fun-emoji | Davis Uche | CC BY 4.0 | attribution required |
91
+ | @dicebear/micah | Micah Lanier | CC BY 4.0 | attribution required |
92
+ | @dicebear/miniavs | Webpixels | CC BY 4.0 | attribution required |
93
+ | @dicebear/personas | Draftbit | CC BY 4.0 | attribution required |
94
+ | @dicebear/toon-head | Johan Melin | CC BY 4.0 | attribution required |
95
+ | @dicebear/avataaars, avataaars-neutral | Pablo Stanley | "Free for personal and commercial use" | custom terms, not an open licence |
96
+ | @dicebear/bottts, bottts-neutral | Pablo Stanley | "Free for personal and commercial use" | custom terms, not an open licence |
97
+ | @dicebear/collection | (all) | mixed | re-exports every style, excluded ones included |
98
+
99
+ ## Bundled artwork
100
+
101
+ | Package | Version | Licence | Use |
102
+ |---|---|---|---|
103
+ | flag-icons (dev dependency; artwork bundled into `dist/flags/`) | 7.5.0 | MIT | the 271 flags of `/flags`, 4:3 and 1:1 |
104
+
105
+ `scripts/build-flags.mjs` copies each flag SVG into its own module: it drops
106
+ whitespace between tags and the root id and prefixes internal ids; the
107
+ drawings are unchanged.
108
+
109
+ The MIT License (MIT)
110
+
111
+ Copyright (c) 2013 Panayiotis Lipiridis
112
+
113
+ Permission is hereby granted, free of charge, to any person obtaining a copy of
114
+ this software and associated documentation files (the "Software"), to deal in
115
+ the Software without restriction, including without limitation the rights to
116
+ use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies
117
+ of the Software, and to permit persons to whom the Software is furnished to do
118
+ so, subject to the following conditions:
119
+
120
+ The above copyright notice and this permission notice shall be included in all
121
+ copies or substantial portions of the Software.
122
+
123
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
124
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
125
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
126
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
127
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
128
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
129
+ SOFTWARE.
130
+
131
+ ## Considered and not used
132
+
133
+ - **country-flag-icons** (MIT, catamphetamine) for the flags. It ships per-flag
134
+ ES modules, but in 3:2 and 1:1 rather than 4:3, without the UN, Galicia,
135
+ Basque Country or Saint Helena subdivision flags; flag-icons covers those.
136
+ - **SVGRepo flag collections.** Licences vary per collection (several need
137
+ attribution or forbid redistribution in packs); no SVGRepo artwork is used.
138
+ - **DiceBear 10** (`@dicebear/core` 10 with `@dicebear/styles`). Different
139
+ packaging with no per-style packages; the 9.x core and per-style packages
140
+ have matching majors and let hosts install only allowed styles.
141
+
142
+ - **elkjs** (for the flow canvas layout). Its licence is EPL-2.0 (or
143
+ GPL-3.0), not MIT, and its layout runs asynchronously (worker); dagre is
144
+ MIT, synchronous (so `autoLayout` stays a pure function) and deterministic.
145
+
146
+ ## Build and test tools (not shipped)
147
+
148
+ | Package | Licence |
149
+ |---|---|
150
+ | style-dictionary 5.5.5 | Apache-2.0 |
151
+ | tsdown, vite, @vitejs/plugin-react, vitest | MIT |
152
+ | typescript | Apache-2.0 |
153
+ | axe-core 4.13 | MPL-2.0 (used unmodified as a test dependency) |
154
+ | @types/d3-geo | MIT |
155
+ | @testing-library/react, user-event, jest-dom, jsdom | MIT |
156
+
157
+ ## Methods implemented from public descriptions
158
+
159
+ - OKLab / OKLCH conversion: formulas and matrices published by Björn Ottosson
160
+ (public domain / MIT description), implemented in `@datatechsolutions/tympan-tokens/src/color.ts`.
161
+ - WCAG 2.x relative luminance and contrast ratio (W3C).
162
+ - APCA lightness contrast: implemented from the public description of the
163
+ APCA-W3 0.0.98G constants, used only for an informational report, never as a
164
+ conformance gate. APCA is a method by Myndex Research; no APCA code is included.
165
+ - Cubic Bézier midpoint and tangent (Bernstein polynomials) for connector
166
+ paths and label placement (flow canvas).
167
+ - Ray and axis-aligned box intersection for border-attached connectors.
168
+ - Kahn topological ordering and longest-path layering for reading order.
169
+ - A subset of ICU MessageFormat (arguments, `number`, `plural` with `=n`
170
+ and CLDR categories through `Intl.PluralRules`, `select`), written from the
171
+ public ICU syntax description (flow canvas labels).
172
+
173
+ ## Fonts converted to outlines
174
+
175
+ | Font | Licence | Use |
176
+ |---|---|---|
177
+ | Archivo (Omnibus-Type) | SIL Open Font License 1.1 | the wordmarks of `ProductMark` (horizontal variant), converted to outlined paths; no font file is shipped |
178
+
179
+ SIL OFL 1.1: https://openfontlicense.org. Outlined glyphs in a logo are artwork,
180
+ not a font software redistribution; the notice is kept for attribution.