@panneau/fields 5.0.0-alpha.2 → 5.0.0-alpha.20

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 (408) hide show
  1. package/README.md +186 -20
  2. package/dist/address/AddressField.css +44 -0
  3. package/dist/address/AddressField.d.ts +37 -0
  4. package/dist/address/AddressField.d.ts.map +1 -0
  5. package/dist/address/AddressField.js +411 -0
  6. package/dist/address/AddressField.js.map +1 -0
  7. package/dist/address/AddressField.module.js +22 -0
  8. package/dist/address/AddressField.module.js.map +1 -0
  9. package/dist/address/address.d.ts +23 -0
  10. package/dist/address/address.d.ts.map +1 -0
  11. package/dist/address/address.js +58 -0
  12. package/dist/address/address.js.map +1 -0
  13. package/dist/address/index.d.ts +3 -0
  14. package/dist/address/index.d.ts.map +1 -0
  15. package/dist/address/index.js +3 -0
  16. package/dist/boolean/BooleanField.d.ts +1 -1
  17. package/dist/boolean/BooleanField.js +78 -17
  18. package/dist/boolean/BooleanField.js.map +1 -1
  19. package/dist/boolean/index.d.ts +1 -1
  20. package/dist/color/ColorField.css +9 -0
  21. package/dist/color/ColorField.d.ts +12 -5
  22. package/dist/color/ColorField.d.ts.map +1 -1
  23. package/dist/color/ColorField.js +341 -81
  24. package/dist/color/ColorField.js.map +1 -1
  25. package/dist/color/ColorField.module.js +4 -2
  26. package/dist/color/ColorField.module.js.map +1 -1
  27. package/dist/color/index.d.ts +2 -1
  28. package/dist/color/index.d.ts.map +1 -1
  29. package/dist/color/index.js +3 -1
  30. package/dist/color/palette.d.ts +23 -0
  31. package/dist/color/palette.d.ts.map +1 -0
  32. package/dist/color/palette.js +34 -0
  33. package/dist/color/palette.js.map +1 -0
  34. package/dist/compound/Compound.css +26 -0
  35. package/dist/compound/Compound.module.js +16 -0
  36. package/dist/compound/Compound.module.js.map +1 -0
  37. package/dist/compound/compound.d.ts +56 -0
  38. package/dist/compound/compound.d.ts.map +1 -0
  39. package/dist/compound/compound.js +186 -0
  40. package/dist/compound/compound.js.map +1 -0
  41. package/dist/country/CountryField.css +42 -0
  42. package/dist/country/CountryField.d.ts +32 -0
  43. package/dist/country/CountryField.d.ts.map +1 -0
  44. package/dist/country/CountryField.js +424 -0
  45. package/dist/country/CountryField.js.map +1 -0
  46. package/dist/country/CountryField.module.js +20 -0
  47. package/dist/country/CountryField.module.js.map +1 -0
  48. package/dist/country/codes.d.ts +6 -0
  49. package/dist/country/codes.d.ts.map +1 -0
  50. package/dist/country/codes.js +261 -0
  51. package/dist/country/codes.js.map +1 -0
  52. package/dist/country/countries.d.ts +32 -0
  53. package/dist/country/countries.d.ts.map +1 -0
  54. package/dist/country/countries.js +60 -0
  55. package/dist/country/countries.js.map +1 -0
  56. package/dist/country/index.d.ts +3 -0
  57. package/dist/country/index.d.ts.map +1 -0
  58. package/dist/country/index.js +4 -0
  59. package/dist/credits/CreditsField.d.ts +15 -0
  60. package/dist/credits/CreditsField.d.ts.map +1 -0
  61. package/dist/credits/CreditsField.js +58 -0
  62. package/dist/credits/CreditsField.js.map +1 -0
  63. package/dist/credits/credits.d.ts +18 -0
  64. package/dist/credits/credits.d.ts.map +1 -0
  65. package/dist/credits/credits.js +33 -0
  66. package/dist/credits/credits.js.map +1 -0
  67. package/dist/credits/index.d.ts +5 -0
  68. package/dist/credits/index.d.ts.map +1 -0
  69. package/dist/credits/index.js +3 -0
  70. package/dist/date/DateField.d.ts +1 -1
  71. package/dist/date/DateField.js.map +1 -1
  72. package/dist/date/index.d.ts +1 -1
  73. package/dist/daterange/DateRangeField.css +9 -0
  74. package/dist/daterange/DateRangeField.d.ts +31 -0
  75. package/dist/daterange/DateRangeField.d.ts.map +1 -0
  76. package/dist/daterange/DateRangeField.js +372 -0
  77. package/dist/daterange/DateRangeField.js.map +1 -0
  78. package/dist/daterange/DateRangeField.module.js +12 -0
  79. package/dist/daterange/DateRangeField.module.js.map +1 -0
  80. package/dist/daterange/index.d.ts +3 -0
  81. package/dist/daterange/index.d.ts.map +1 -0
  82. package/dist/daterange/index.js +3 -0
  83. package/dist/daterange/range.d.ts +61 -0
  84. package/dist/daterange/range.d.ts.map +1 -0
  85. package/dist/daterange/range.js +119 -0
  86. package/dist/daterange/range.js.map +1 -0
  87. package/dist/datetime/DateTimeField.d.ts +1 -1
  88. package/dist/datetime/DateTimeField.js +107 -20
  89. package/dist/datetime/DateTimeField.js.map +1 -1
  90. package/dist/datetime/index.d.ts +1 -1
  91. package/dist/duration/DurationField.css +11 -0
  92. package/dist/duration/DurationField.d.ts +67 -0
  93. package/dist/duration/DurationField.d.ts.map +1 -0
  94. package/dist/duration/DurationField.js +260 -0
  95. package/dist/duration/DurationField.js.map +1 -0
  96. package/dist/duration/DurationField.module.js +12 -0
  97. package/dist/duration/DurationField.module.js.map +1 -0
  98. package/dist/duration/index.d.ts +2 -0
  99. package/dist/duration/index.d.ts.map +1 -0
  100. package/dist/duration/index.js +1 -0
  101. package/dist/email/EmailField.d.ts +2 -2
  102. package/dist/email/EmailField.js.map +1 -1
  103. package/dist/email/index.d.ts +1 -1
  104. package/dist/embed/EmbedField.css +60 -0
  105. package/dist/embed/EmbedField.d.ts +29 -0
  106. package/dist/embed/EmbedField.d.ts.map +1 -0
  107. package/dist/embed/EmbedField.js +309 -0
  108. package/dist/embed/EmbedField.js.map +1 -0
  109. package/dist/embed/EmbedField.module.js +22 -0
  110. package/dist/embed/EmbedField.module.js.map +1 -0
  111. package/dist/embed/index.d.ts +3 -0
  112. package/dist/embed/index.d.ts.map +1 -0
  113. package/dist/embed/index.js +3 -0
  114. package/dist/file/FileField.css +54 -0
  115. package/dist/file/FileField.d.ts +50 -0
  116. package/dist/file/FileField.d.ts.map +1 -0
  117. package/dist/file/FileField.js +288 -0
  118. package/dist/file/FileField.js.map +1 -0
  119. package/dist/file/FileField.module.js +22 -0
  120. package/dist/file/FileField.module.js.map +1 -0
  121. package/dist/file/index.d.ts +3 -0
  122. package/dist/file/index.d.ts.map +1 -0
  123. package/dist/file/index.js +1 -0
  124. package/dist/group/GroupField.css +20 -3
  125. package/dist/group/GroupField.d.ts +10 -4
  126. package/dist/group/GroupField.d.ts.map +1 -1
  127. package/dist/group/GroupField.js +71 -66
  128. package/dist/group/GroupField.js.map +1 -1
  129. package/dist/group/GroupField.module.js +10 -2
  130. package/dist/group/GroupField.module.js.map +1 -1
  131. package/dist/group/index.d.ts +1 -1
  132. package/dist/index.d.ts +21 -7
  133. package/dist/index.d.ts.map +1 -1
  134. package/dist/index.js +14 -2
  135. package/dist/json/JsonField.css +7 -0
  136. package/dist/json/JsonField.d.ts +22 -0
  137. package/dist/json/JsonField.d.ts.map +1 -0
  138. package/dist/json/JsonField.js +207 -0
  139. package/dist/json/JsonField.js.map +1 -0
  140. package/dist/json/JsonField.module.js +8 -0
  141. package/dist/json/JsonField.module.js.map +1 -0
  142. package/dist/json/index.d.ts +2 -0
  143. package/dist/json/index.d.ts.map +1 -0
  144. package/dist/json/index.js +1 -0
  145. package/dist/link/LinkField.css +12 -0
  146. package/dist/link/LinkField.d.ts +38 -0
  147. package/dist/link/LinkField.d.ts.map +1 -0
  148. package/dist/link/LinkField.js +742 -0
  149. package/dist/link/LinkField.js.map +1 -0
  150. package/dist/link/LinkField.module.js +8 -0
  151. package/dist/link/LinkField.module.js.map +1 -0
  152. package/dist/link/index.d.ts +3 -0
  153. package/dist/link/index.d.ts.map +1 -0
  154. package/dist/link/index.js +3 -0
  155. package/dist/link/link.d.ts +30 -0
  156. package/dist/link/link.d.ts.map +1 -0
  157. package/dist/link/link.js +63 -0
  158. package/dist/link/link.js.map +1 -0
  159. package/dist/link/pages.d.ts +17 -0
  160. package/dist/link/pages.d.ts.map +1 -0
  161. package/dist/link/pages.js +104 -0
  162. package/dist/link/pages.js.map +1 -0
  163. package/dist/locales/index.js.map +1 -1
  164. package/dist/localized/LocalizedField.css +27 -6
  165. package/dist/localized/LocalizedField.d.ts +19 -8
  166. package/dist/localized/LocalizedField.d.ts.map +1 -1
  167. package/dist/localized/LocalizedField.js +238 -105
  168. package/dist/localized/LocalizedField.js.map +1 -1
  169. package/dist/localized/LocalizedField.module.js +10 -4
  170. package/dist/localized/LocalizedField.module.js.map +1 -1
  171. package/dist/localized/index.d.ts +1 -1
  172. package/dist/location/LocationField.css +54 -0
  173. package/dist/location/LocationField.d.ts +31 -0
  174. package/dist/location/LocationField.d.ts.map +1 -0
  175. package/dist/location/LocationField.js +487 -0
  176. package/dist/location/LocationField.js.map +1 -0
  177. package/dist/location/LocationField.module.js +22 -0
  178. package/dist/location/LocationField.module.js.map +1 -0
  179. package/dist/location/LocationMap.d.ts +25 -0
  180. package/dist/location/LocationMap.d.ts.map +1 -0
  181. package/dist/location/LocationMap.js +205 -0
  182. package/dist/location/LocationMap.js.map +1 -0
  183. package/dist/location/index.d.ts +5 -0
  184. package/dist/location/index.d.ts.map +1 -0
  185. package/dist/location/index.js +4 -0
  186. package/dist/location/leafletCss.d.ts +2 -0
  187. package/dist/location/leafletCss.d.ts.map +1 -0
  188. package/dist/location/leafletCss.js +6 -0
  189. package/dist/location/leafletCss.js.map +1 -0
  190. package/dist/location/nominatim.d.ts +23 -0
  191. package/dist/location/nominatim.d.ts.map +1 -0
  192. package/dist/location/nominatim.js +79 -0
  193. package/dist/location/nominatim.js.map +1 -0
  194. package/dist/location/search.d.ts +10 -0
  195. package/dist/location/search.d.ts.map +1 -0
  196. package/dist/location/search.js +83 -0
  197. package/dist/location/search.js.map +1 -0
  198. package/dist/location/types.d.ts +46 -0
  199. package/dist/location/types.d.ts.map +1 -0
  200. package/dist/missing/MissingField.d.ts +4 -3
  201. package/dist/missing/MissingField.d.ts.map +1 -1
  202. package/dist/missing/MissingField.js +3 -2
  203. package/dist/missing/MissingField.js.map +1 -1
  204. package/dist/money/MoneyField.d.ts +28 -0
  205. package/dist/money/MoneyField.d.ts.map +1 -0
  206. package/dist/money/MoneyField.js +269 -0
  207. package/dist/money/MoneyField.js.map +1 -0
  208. package/dist/money/index.d.ts +3 -0
  209. package/dist/money/index.d.ts.map +1 -0
  210. package/dist/money/index.js +3 -0
  211. package/dist/money/money.d.ts +27 -0
  212. package/dist/money/money.d.ts.map +1 -0
  213. package/dist/money/money.js +56 -0
  214. package/dist/money/money.js.map +1 -0
  215. package/dist/number/NumberField.d.ts +1 -1
  216. package/dist/number/NumberField.js.map +1 -1
  217. package/dist/number/index.d.ts +1 -1
  218. package/dist/range/RangeField.d.ts +22 -0
  219. package/dist/range/RangeField.d.ts.map +1 -0
  220. package/dist/range/RangeField.js +203 -0
  221. package/dist/range/RangeField.js.map +1 -0
  222. package/dist/range/index.d.ts +2 -0
  223. package/dist/range/index.d.ts.map +1 -0
  224. package/dist/range/index.js +1 -0
  225. package/dist/region/RegionField.d.ts +23 -0
  226. package/dist/region/RegionField.d.ts.map +1 -0
  227. package/dist/region/RegionField.js +174 -0
  228. package/dist/region/RegionField.js.map +1 -0
  229. package/dist/region/RegionFlag.css +9 -0
  230. package/dist/region/RegionFlag.d.ts +20 -0
  231. package/dist/region/RegionFlag.d.ts.map +1 -0
  232. package/dist/region/RegionFlag.js +61 -0
  233. package/dist/region/RegionFlag.js.map +1 -0
  234. package/dist/region/RegionFlag.module.js +8 -0
  235. package/dist/region/RegionFlag.module.js.map +1 -0
  236. package/dist/region/data.d.ts +5 -0
  237. package/dist/region/data.d.ts.map +1 -0
  238. package/dist/region/data.js +513 -0
  239. package/dist/region/data.js.map +1 -0
  240. package/dist/region/flags/CA.d.ts +4 -0
  241. package/dist/region/flags/CA.d.ts.map +1 -0
  242. package/dist/region/flags/CA.js +21 -0
  243. package/dist/region/flags/CA.js.map +1 -0
  244. package/dist/region/flags/US.d.ts +4 -0
  245. package/dist/region/flags/US.d.ts.map +1 -0
  246. package/dist/region/flags/US.js +65 -0
  247. package/dist/region/flags/US.js.map +1 -0
  248. package/dist/region/flags.d.ts +17 -0
  249. package/dist/region/flags.d.ts.map +1 -0
  250. package/dist/region/flags.js +84 -0
  251. package/dist/region/flags.js.map +1 -0
  252. package/dist/region/index.d.ts +5 -0
  253. package/dist/region/index.d.ts.map +1 -0
  254. package/dist/region/index.js +5 -0
  255. package/dist/region/regions.d.ts +15 -0
  256. package/dist/region/regions.d.ts.map +1 -0
  257. package/dist/region/regions.js +29 -0
  258. package/dist/region/regions.js.map +1 -0
  259. package/dist/relation/RelationField.d.ts +2 -2
  260. package/dist/relation/RelationField.d.ts.map +1 -1
  261. package/dist/relation/RelationField.js +511 -171
  262. package/dist/relation/RelationField.js.map +1 -1
  263. package/dist/relation/index.d.ts +2 -2
  264. package/dist/repeater/RepeaterField.d.ts +13 -2
  265. package/dist/repeater/RepeaterField.d.ts.map +1 -1
  266. package/dist/repeater/RepeaterField.js +138 -50
  267. package/dist/repeater/RepeaterField.js.map +1 -1
  268. package/dist/repeater/index.d.ts +1 -1
  269. package/dist/select/SelectField.d.ts +1 -1
  270. package/dist/select/SelectField.js.map +1 -1
  271. package/dist/select/index.d.ts +1 -1
  272. package/dist/sessions/SessionsField.d.ts +15 -0
  273. package/dist/sessions/SessionsField.d.ts.map +1 -0
  274. package/dist/sessions/SessionsField.js +49 -0
  275. package/dist/sessions/SessionsField.js.map +1 -0
  276. package/dist/sessions/index.d.ts +4 -0
  277. package/dist/sessions/index.d.ts.map +1 -0
  278. package/dist/sessions/index.js +1 -0
  279. package/dist/shared/CodeComboBox.d.ts +21 -0
  280. package/dist/shared/CodeComboBox.d.ts.map +1 -0
  281. package/dist/shared/CodeComboBox.js +238 -0
  282. package/dist/shared/CodeComboBox.js.map +1 -0
  283. package/dist/shared/DefinitionField.d.ts +9 -4
  284. package/dist/shared/DefinitionField.d.ts.map +1 -1
  285. package/dist/shared/DefinitionField.js +98 -78
  286. package/dist/shared/DefinitionField.js.map +1 -1
  287. package/dist/shared/builtIn.d.ts +7 -3
  288. package/dist/shared/builtIn.d.ts.map +1 -1
  289. package/dist/shared/builtIn.js +39 -7
  290. package/dist/shared/builtIn.js.map +1 -1
  291. package/dist/shared/check.d.ts +27 -0
  292. package/dist/shared/check.d.ts.map +1 -0
  293. package/dist/shared/check.js +18 -0
  294. package/dist/shared/check.js.map +1 -0
  295. package/dist/shared/context.d.ts +33 -5
  296. package/dist/shared/context.d.ts.map +1 -1
  297. package/dist/shared/context.js +36 -20
  298. package/dist/shared/context.js.map +1 -1
  299. package/dist/shared/cx.js.map +1 -1
  300. package/dist/shared/dates.js +2 -2
  301. package/dist/shared/dates.js.map +1 -1
  302. package/dist/shared/embed.d.ts +19 -0
  303. package/dist/shared/embed.d.ts.map +1 -0
  304. package/dist/shared/embed.js +14 -0
  305. package/dist/shared/embed.js.map +1 -0
  306. package/dist/shared/entry.d.ts +13 -4
  307. package/dist/shared/entry.d.ts.map +1 -1
  308. package/dist/shared/entry.js +24 -7
  309. package/dist/shared/entry.js.map +1 -1
  310. package/dist/shared/flow.d.ts +8 -0
  311. package/dist/shared/flow.d.ts.map +1 -0
  312. package/dist/shared/flow.js +38 -0
  313. package/dist/shared/flow.js.map +1 -0
  314. package/dist/shared/part.d.ts +26 -0
  315. package/dist/shared/part.d.ts.map +1 -0
  316. package/dist/shared/part.js +64 -0
  317. package/dist/shared/part.js.map +1 -0
  318. package/dist/shared/relation.js.map +1 -1
  319. package/dist/shared/reveal.d.ts +16 -0
  320. package/dist/shared/reveal.d.ts.map +1 -0
  321. package/dist/shared/reveal.js +46 -0
  322. package/dist/shared/reveal.js.map +1 -0
  323. package/dist/shared/types.d.ts +12 -0
  324. package/dist/shared/types.d.ts.map +1 -1
  325. package/dist/slug/SlugField.css +18 -0
  326. package/dist/slug/SlugField.d.ts +33 -5
  327. package/dist/slug/SlugField.d.ts.map +1 -1
  328. package/dist/slug/SlugField.js +346 -126
  329. package/dist/slug/SlugField.js.map +1 -1
  330. package/dist/slug/SlugField.module.js +14 -0
  331. package/dist/slug/SlugField.module.js.map +1 -0
  332. package/dist/slug/index.d.ts +1 -1
  333. package/dist/slug/index.d.ts.map +1 -1
  334. package/dist/slug/index.js +1 -1
  335. package/dist/tags/TagsField.d.ts +17 -0
  336. package/dist/tags/TagsField.d.ts.map +1 -0
  337. package/dist/tags/TagsField.js +120 -0
  338. package/dist/tags/TagsField.js.map +1 -0
  339. package/dist/tags/index.d.ts +2 -0
  340. package/dist/tags/index.d.ts.map +1 -0
  341. package/dist/tags/index.js +1 -0
  342. package/dist/tel/TelField.css +25 -0
  343. package/dist/tel/TelField.d.ts +34 -0
  344. package/dist/tel/TelField.d.ts.map +1 -0
  345. package/dist/tel/TelField.js +390 -0
  346. package/dist/tel/TelField.js.map +1 -0
  347. package/dist/tel/TelField.module.js +12 -0
  348. package/dist/tel/TelField.module.js.map +1 -0
  349. package/dist/tel/index.d.ts +3 -0
  350. package/dist/tel/index.d.ts.map +1 -0
  351. package/dist/tel/index.js +3 -0
  352. package/dist/tel/phone.d.ts +59 -0
  353. package/dist/tel/phone.d.ts.map +1 -0
  354. package/dist/tel/phone.js +107 -0
  355. package/dist/tel/phone.js.map +1 -0
  356. package/dist/text/TextField.d.ts +12 -4
  357. package/dist/text/TextField.d.ts.map +1 -1
  358. package/dist/text/TextField.js +104 -60
  359. package/dist/text/TextField.js.map +1 -1
  360. package/dist/text/index.d.ts +1 -1
  361. package/dist/textarea/TextAreaField.d.ts +1 -1
  362. package/dist/textarea/TextAreaField.js.map +1 -1
  363. package/dist/textarea/index.d.ts +1 -1
  364. package/dist/time/TimeField.d.ts +1 -1
  365. package/dist/time/TimeField.js +64 -10
  366. package/dist/time/TimeField.js.map +1 -1
  367. package/dist/time/index.d.ts +1 -1
  368. package/dist/upload/FilePicker.css +24 -0
  369. package/dist/upload/FilePicker.d.ts +14 -0
  370. package/dist/upload/FilePicker.d.ts.map +1 -0
  371. package/dist/upload/FilePicker.js +130 -0
  372. package/dist/upload/FilePicker.js.map +1 -0
  373. package/dist/upload/FilePicker.module.js +12 -0
  374. package/dist/upload/FilePicker.module.js.map +1 -0
  375. package/dist/upload/UploadList.css +93 -0
  376. package/dist/upload/UploadList.d.ts +18 -0
  377. package/dist/upload/UploadList.d.ts.map +1 -0
  378. package/dist/upload/UploadList.js +144 -0
  379. package/dist/upload/UploadList.js.map +1 -0
  380. package/dist/upload/UploadList.module.js +32 -0
  381. package/dist/upload/UploadList.module.js.map +1 -0
  382. package/dist/upload/files.d.ts +5 -0
  383. package/dist/upload/files.d.ts.map +1 -0
  384. package/dist/upload/files.js +26 -0
  385. package/dist/upload/files.js.map +1 -0
  386. package/dist/upload/types.d.ts +58 -0
  387. package/dist/upload/types.d.ts.map +1 -0
  388. package/dist/upload/useRejectionMessage.d.ts +4 -0
  389. package/dist/upload/useRejectionMessage.d.ts.map +1 -0
  390. package/dist/upload/useRejectionMessage.js +25 -0
  391. package/dist/upload/useRejectionMessage.js.map +1 -0
  392. package/dist/upload/useUploads.d.ts +30 -0
  393. package/dist/upload/useUploads.d.ts.map +1 -0
  394. package/dist/upload/useUploads.js +115 -0
  395. package/dist/upload/useUploads.js.map +1 -0
  396. package/dist/uppy/index.d.ts +3 -0
  397. package/dist/uppy/index.d.ts.map +1 -0
  398. package/dist/uppy/index.js +1 -0
  399. package/dist/uppy/uploader.d.ts +44 -0
  400. package/dist/uppy/uploader.d.ts.map +1 -0
  401. package/dist/uppy/uploader.js +139 -0
  402. package/dist/uppy/uploader.js.map +1 -0
  403. package/dist/url/UrlField.d.ts +2 -2
  404. package/dist/url/UrlField.d.ts.map +1 -1
  405. package/dist/url/UrlField.js +69 -14
  406. package/dist/url/UrlField.js.map +1 -1
  407. package/dist/url/index.d.ts +1 -1
  408. package/package.json +110 -7
@@ -0,0 +1,424 @@
1
+ import { getFieldProps, getSetting, isString } from "../shared/entry.js";
2
+ import { messages } from "../shared/messages.js";
3
+ import { CodeComboBox } from "../shared/CodeComboBox.js";
4
+ import CountryField_module_default from "./CountryField.module.js";
5
+ import { getCountryChoices, getCountryFlag, getCountryName, isCountryCode } from "./countries.js";
6
+ import { c } from "react/compiler-runtime";
7
+ import { Fieldset, IconButton, usePanneauIntl } from "@panneau/ui";
8
+ import { jsx, jsxs } from "react/jsx-runtime";
9
+ import { X } from "lucide-react";
10
+ //#region src/country/CountryField.tsx
11
+ /**
12
+ * A country, as its ISO 3166-1 alpha-2 code (`CA`): a combo box of the countries with their flags
13
+ * and their names in the user's locale. Typing filters them by name or by code. With `multiple`,
14
+ * several countries, each removable, in the order they were chosen, and the combo box adds one.
15
+ */
16
+ function CountryField(props) {
17
+ const $ = c(91);
18
+ const intl = usePanneauIntl();
19
+ const { countries, preferred } = props;
20
+ let T0;
21
+ let T1;
22
+ let codes;
23
+ let emptyMessage;
24
+ let set;
25
+ let t0;
26
+ let t1;
27
+ let t10;
28
+ let t11;
29
+ let t12;
30
+ let t13;
31
+ let t14;
32
+ let t15;
33
+ let t16;
34
+ let t17;
35
+ let t18;
36
+ let t19;
37
+ let t2;
38
+ let t20;
39
+ let t3;
40
+ let t4;
41
+ let t5;
42
+ let t6;
43
+ let t7;
44
+ let t8;
45
+ let t9;
46
+ if ($[0] !== countries || $[1] !== intl || $[2] !== preferred || $[3] !== props) {
47
+ t20 = Symbol.for("react.early_return_sentinel");
48
+ bb0: {
49
+ const choices = getCountryChoices(intl.locale, {
50
+ countries,
51
+ preferred
52
+ });
53
+ const all = [...choices.preferred, ...choices.others].map(_temp);
54
+ let t21;
55
+ if ($[30] !== intl) {
56
+ t21 = intl.formatMessage(messages.noCountries);
57
+ $[30] = intl;
58
+ $[31] = t21;
59
+ } else t21 = $[31];
60
+ emptyMessage = t21;
61
+ if (props.multiple !== true) {
62
+ let rest;
63
+ if ($[32] !== props) {
64
+ const { multiple: _multiple, countries: _countries, preferred: _preferred, ...t22 } = props;
65
+ rest = t22;
66
+ $[32] = props;
67
+ $[33] = rest;
68
+ } else rest = $[33];
69
+ let t22;
70
+ if ($[34] !== intl || $[35] !== props.placeholder) {
71
+ t22 = props.placeholder ?? intl.formatMessage(messages.countryPlaceholder);
72
+ $[34] = intl;
73
+ $[35] = props.placeholder;
74
+ $[36] = t22;
75
+ } else t22 = $[36];
76
+ t20 = /* @__PURE__ */ jsx(CodeComboBox, {
77
+ ...rest,
78
+ choices: all,
79
+ placeholder: t22,
80
+ emptyMessage
81
+ });
82
+ break bb0;
83
+ }
84
+ const { value, onChange, onBlur, label, description, errors, disabled, readOnly, required, name, id, autoFocus, className, labelClassName, descriptionClassName, errorsClassName, controlClassName } = props;
85
+ codes = (value ?? []).filter(_temp2);
86
+ const editable = disabled !== true && readOnly !== true;
87
+ let t22;
88
+ if ($[37] !== onChange) {
89
+ t22 = (next) => onChange?.(next.length > 0 ? next : null);
90
+ $[37] = onChange;
91
+ $[38] = t22;
92
+ } else t22 = $[38];
93
+ set = t22;
94
+ let t23;
95
+ if ($[39] !== intl.locale) {
96
+ t23 = (code_0) => isCountryCode(code_0) ? getCountryName(code_0, intl.locale) : code_0;
97
+ $[39] = intl.locale;
98
+ $[40] = t23;
99
+ } else t23 = $[40];
100
+ const nameOf = t23;
101
+ const comboLabel = typeof label === "string" ? label : props["aria-label"];
102
+ T1 = Fieldset;
103
+ t11 = label;
104
+ t12 = description;
105
+ if ($[41] !== errors) {
106
+ t13 = errors ?? [];
107
+ $[41] = errors;
108
+ $[42] = t13;
109
+ } else t13 = $[42];
110
+ t14 = required;
111
+ t15 = disabled;
112
+ t16 = className;
113
+ t17 = labelClassName;
114
+ t18 = descriptionClassName;
115
+ t19 = errorsClassName;
116
+ t9 = CountryField_module_default.multiple;
117
+ t10 = codes.length > 0 ? /* @__PURE__ */ jsx("ul", {
118
+ className: CountryField_module_default.countries,
119
+ children: codes.map((code_1) => /* @__PURE__ */ jsxs("li", {
120
+ className: editable ? CountryField_module_default.country : CountryField_module_default.fixedCountry,
121
+ children: [
122
+ isCountryCode(code_1) ? /* @__PURE__ */ jsx("span", {
123
+ className: CountryField_module_default.flag,
124
+ "aria-hidden": "true",
125
+ children: getCountryFlag(code_1)
126
+ }) : null,
127
+ /* @__PURE__ */ jsx("span", {
128
+ className: CountryField_module_default.name,
129
+ children: nameOf(code_1)
130
+ }),
131
+ editable ? /* @__PURE__ */ jsx(IconButton, {
132
+ icon: X,
133
+ size: "sm",
134
+ label: `${intl.formatMessage(messages.remove)} ${nameOf(code_1)}`,
135
+ showTooltip: false,
136
+ onPress: () => set(codes.filter((entry) => entry !== code_1))
137
+ }) : null
138
+ ]
139
+ }, code_1))
140
+ }) : null;
141
+ T0 = CodeComboBox;
142
+ if ($[43] !== comboLabel) {
143
+ t0 = comboLabel !== void 0 ? { "aria-label": comboLabel } : {};
144
+ $[43] = comboLabel;
145
+ $[44] = t0;
146
+ } else t0 = $[44];
147
+ if ($[45] !== name) {
148
+ t1 = name !== void 0 ? { name } : {};
149
+ $[45] = name;
150
+ $[46] = t1;
151
+ } else t1 = $[46];
152
+ if ($[47] !== id) {
153
+ t2 = id !== void 0 ? { id } : {};
154
+ $[47] = id;
155
+ $[48] = t2;
156
+ } else t2 = $[48];
157
+ if ($[49] !== autoFocus) {
158
+ t3 = autoFocus !== void 0 ? { autoFocus } : {};
159
+ $[49] = autoFocus;
160
+ $[50] = t3;
161
+ } else t3 = $[50];
162
+ if ($[51] !== onBlur) {
163
+ t4 = onBlur !== void 0 ? { onBlur } : {};
164
+ $[51] = onBlur;
165
+ $[52] = t4;
166
+ } else t4 = $[52];
167
+ if ($[53] !== controlClassName) {
168
+ t5 = controlClassName !== void 0 ? { controlClassName } : {};
169
+ $[53] = controlClassName;
170
+ $[54] = t5;
171
+ } else t5 = $[54];
172
+ t6 = disabled;
173
+ t7 = readOnly;
174
+ t8 = all.filter((choice) => !codes.includes(choice.code));
175
+ }
176
+ $[0] = countries;
177
+ $[1] = intl;
178
+ $[2] = preferred;
179
+ $[3] = props;
180
+ $[4] = T0;
181
+ $[5] = T1;
182
+ $[6] = codes;
183
+ $[7] = emptyMessage;
184
+ $[8] = set;
185
+ $[9] = t0;
186
+ $[10] = t1;
187
+ $[11] = t10;
188
+ $[12] = t11;
189
+ $[13] = t12;
190
+ $[14] = t13;
191
+ $[15] = t14;
192
+ $[16] = t15;
193
+ $[17] = t16;
194
+ $[18] = t17;
195
+ $[19] = t18;
196
+ $[20] = t19;
197
+ $[21] = t2;
198
+ $[22] = t20;
199
+ $[23] = t3;
200
+ $[24] = t4;
201
+ $[25] = t5;
202
+ $[26] = t6;
203
+ $[27] = t7;
204
+ $[28] = t8;
205
+ $[29] = t9;
206
+ } else {
207
+ T0 = $[4];
208
+ T1 = $[5];
209
+ codes = $[6];
210
+ emptyMessage = $[7];
211
+ set = $[8];
212
+ t0 = $[9];
213
+ t1 = $[10];
214
+ t10 = $[11];
215
+ t11 = $[12];
216
+ t12 = $[13];
217
+ t13 = $[14];
218
+ t14 = $[15];
219
+ t15 = $[16];
220
+ t16 = $[17];
221
+ t17 = $[18];
222
+ t18 = $[19];
223
+ t19 = $[20];
224
+ t2 = $[21];
225
+ t20 = $[22];
226
+ t3 = $[23];
227
+ t4 = $[24];
228
+ t5 = $[25];
229
+ t6 = $[26];
230
+ t7 = $[27];
231
+ t8 = $[28];
232
+ t9 = $[29];
233
+ }
234
+ if (t20 !== Symbol.for("react.early_return_sentinel")) return t20;
235
+ let t21;
236
+ if ($[55] !== codes || $[56] !== set) {
237
+ t21 = (code_2) => {
238
+ if (code_2 !== null && !codes.includes(code_2)) set([...codes, code_2]);
239
+ };
240
+ $[55] = codes;
241
+ $[56] = set;
242
+ $[57] = t21;
243
+ } else t21 = $[57];
244
+ let t22;
245
+ if ($[58] !== intl || $[59] !== props.placeholder) {
246
+ t22 = props.placeholder ?? intl.formatMessage(messages.addCountry);
247
+ $[58] = intl;
248
+ $[59] = props.placeholder;
249
+ $[60] = t22;
250
+ } else t22 = $[60];
251
+ let t23;
252
+ if ($[61] !== T0 || $[62] !== emptyMessage || $[63] !== t0 || $[64] !== t1 || $[65] !== t2 || $[66] !== t21 || $[67] !== t22 || $[68] !== t3 || $[69] !== t4 || $[70] !== t5 || $[71] !== t6 || $[72] !== t7 || $[73] !== t8) {
253
+ t23 = /* @__PURE__ */ jsx(T0, {
254
+ ...t0,
255
+ ...t1,
256
+ ...t2,
257
+ ...t3,
258
+ ...t4,
259
+ ...t5,
260
+ disabled: t6,
261
+ readOnly: t7,
262
+ choices: t8,
263
+ value: null,
264
+ onChange: t21,
265
+ placeholder: t22,
266
+ emptyMessage
267
+ });
268
+ $[61] = T0;
269
+ $[62] = emptyMessage;
270
+ $[63] = t0;
271
+ $[64] = t1;
272
+ $[65] = t2;
273
+ $[66] = t21;
274
+ $[67] = t22;
275
+ $[68] = t3;
276
+ $[69] = t4;
277
+ $[70] = t5;
278
+ $[71] = t6;
279
+ $[72] = t7;
280
+ $[73] = t8;
281
+ $[74] = t23;
282
+ } else t23 = $[74];
283
+ let t24;
284
+ if ($[75] !== t10 || $[76] !== t23 || $[77] !== t9) {
285
+ t24 = /* @__PURE__ */ jsxs("div", {
286
+ className: t9,
287
+ children: [t10, t23]
288
+ });
289
+ $[75] = t10;
290
+ $[76] = t23;
291
+ $[77] = t9;
292
+ $[78] = t24;
293
+ } else t24 = $[78];
294
+ let t25;
295
+ if ($[79] !== T1 || $[80] !== t11 || $[81] !== t12 || $[82] !== t13 || $[83] !== t14 || $[84] !== t15 || $[85] !== t16 || $[86] !== t17 || $[87] !== t18 || $[88] !== t19 || $[89] !== t24) {
296
+ t25 = /* @__PURE__ */ jsx(T1, {
297
+ legend: t11,
298
+ description: t12,
299
+ errors: t13,
300
+ isRequired: t14,
301
+ isDisabled: t15,
302
+ className: t16,
303
+ legendClassName: t17,
304
+ descriptionClassName: t18,
305
+ errorsClassName: t19,
306
+ children: t24
307
+ });
308
+ $[79] = T1;
309
+ $[80] = t11;
310
+ $[81] = t12;
311
+ $[82] = t13;
312
+ $[83] = t14;
313
+ $[84] = t15;
314
+ $[85] = t16;
315
+ $[86] = t17;
316
+ $[87] = t18;
317
+ $[88] = t19;
318
+ $[89] = t24;
319
+ $[90] = t25;
320
+ } else t25 = $[90];
321
+ return t25;
322
+ }
323
+ function _temp2(code, index, list) {
324
+ return code !== "" && list.indexOf(code) === index;
325
+ }
326
+ function _temp(country) {
327
+ return {
328
+ code: country.code,
329
+ name: country.name,
330
+ prefix: country.flag
331
+ };
332
+ }
333
+ var isCodes = (value) => Array.isArray(value) && value.every(isString);
334
+ /** The `country` type: `multiple`, `settings.countries` and `settings.preferred`. */
335
+ function CountryFieldEntry(props) {
336
+ const $ = c(24);
337
+ let t0;
338
+ if ($[0] !== props.field) {
339
+ t0 = getSetting(props.field, "countries", isCodes);
340
+ $[0] = props.field;
341
+ $[1] = t0;
342
+ } else t0 = $[1];
343
+ const countries = t0;
344
+ let t1;
345
+ if ($[2] !== props.field) {
346
+ t1 = getSetting(props.field, "preferred", isCodes);
347
+ $[2] = props.field;
348
+ $[3] = t1;
349
+ } else t1 = $[3];
350
+ const preferred = t1;
351
+ let t2;
352
+ if ($[4] !== props) {
353
+ t2 = getFieldProps(props);
354
+ $[4] = props;
355
+ $[5] = t2;
356
+ } else t2 = $[5];
357
+ let t3;
358
+ if ($[6] !== countries) {
359
+ t3 = countries !== void 0 ? { countries } : {};
360
+ $[6] = countries;
361
+ $[7] = t3;
362
+ } else t3 = $[7];
363
+ let t4;
364
+ if ($[8] !== preferred) {
365
+ t4 = preferred !== void 0 ? { preferred } : {};
366
+ $[8] = preferred;
367
+ $[9] = t4;
368
+ } else t4 = $[9];
369
+ let t5;
370
+ if ($[10] !== t2 || $[11] !== t3 || $[12] !== t4) {
371
+ t5 = {
372
+ ...t2,
373
+ ...t3,
374
+ ...t4
375
+ };
376
+ $[10] = t2;
377
+ $[11] = t3;
378
+ $[12] = t4;
379
+ $[13] = t5;
380
+ } else t5 = $[13];
381
+ const shared = t5;
382
+ if (props.field.multiple === true) {
383
+ let t6;
384
+ if ($[14] !== props.value) {
385
+ t6 = Array.isArray(props.value) ? props.value.filter(isString) : [];
386
+ $[14] = props.value;
387
+ $[15] = t6;
388
+ } else t6 = $[15];
389
+ const codes = t6;
390
+ const t7 = codes.length > 0 ? codes : null;
391
+ let t8;
392
+ if ($[16] !== props.onChange || $[17] !== shared || $[18] !== t7) {
393
+ t8 = /* @__PURE__ */ jsx(CountryField, {
394
+ ...shared,
395
+ multiple: true,
396
+ value: t7,
397
+ onChange: props.onChange
398
+ });
399
+ $[16] = props.onChange;
400
+ $[17] = shared;
401
+ $[18] = t7;
402
+ $[19] = t8;
403
+ } else t8 = $[19];
404
+ return t8;
405
+ }
406
+ const t6 = isString(props.value) ? props.value : null;
407
+ let t7;
408
+ if ($[20] !== props.onChange || $[21] !== shared || $[22] !== t6) {
409
+ t7 = /* @__PURE__ */ jsx(CountryField, {
410
+ ...shared,
411
+ value: t6,
412
+ onChange: props.onChange
413
+ });
414
+ $[20] = props.onChange;
415
+ $[21] = shared;
416
+ $[22] = t6;
417
+ $[23] = t7;
418
+ } else t7 = $[23];
419
+ return t7;
420
+ }
421
+ //#endregion
422
+ export { CountryField, CountryFieldEntry };
423
+
424
+ //# sourceMappingURL=CountryField.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountryField.js","names":["X","Fieldset","IconButton","usePanneauIntl","CodeComboBox","getFieldProps","getSetting","isString","messages","FieldEntryProps","FieldProps","styles","getCountryChoices","getCountryFlag","getCountryName","isCountryCode","CountryFieldBaseProps","Omit","countries","preferred","placeholder","controlClassName","SingleCountryFieldProps","multiple","value","onChange","MultipleCountryFieldProps","CountryFieldProps","CountryField","props","$","_c","intl","T0","T1","codes","emptyMessage","set","t0","t1","t10","t11","t12","t13","t14","t15","t16","t17","t18","t19","t2","t20","t3","t4","t5","t6","t7","t8","t9","Symbol","for","bb0","choices","locale","all","others","map","_temp","t21","formatMessage","noCountries","rest","_multiple","_countries","_preferred","t22","countryPlaceholder","onBlur","label","description","errors","disabled","readOnly","required","name","id","autoFocus","className","labelClassName","descriptionClassName","errorsClassName","filter","_temp2","editable","next","length","t23","code_0","code","nameOf","comboLabel","code_1","country","fixedCountry","flag","remove","entry","undefined","choice","includes","code_2","addCountry","t24","t25","index","list","indexOf","prefix","isCodes","Array","isArray","every","CountryFieldEntry","field","shared","_c","styles"],"sources":["../../src/country/CountryField.tsx"],"sourcesContent":["import { X } from 'lucide-react';\n\nimport { Fieldset, IconButton, usePanneauIntl } from '@panneau/ui';\n\nimport { CodeComboBox } from '../shared/CodeComboBox';\nimport { getFieldProps, getSetting, isString } from '../shared/entry';\nimport { messages } from '../shared/messages';\nimport type { FieldEntryProps, FieldProps } from '../shared/types';\nimport styles from './CountryField.module.css';\nimport { getCountryChoices, getCountryFlag, getCountryName, isCountryCode } from './countries';\n\n/** Props of both single and multiple country fields. */\nexport interface CountryFieldBaseProps extends Omit<FieldProps<never>, 'value' | 'onChange'> {\n /** The codes to offer. All countries without it. */\n countries?: readonly string[];\n /** Codes shown first, in their order, above the others: `['CA', 'US']`. */\n preferred?: readonly string[];\n placeholder?: string;\n controlClassName?: string;\n}\n\nexport interface SingleCountryFieldProps extends CountryFieldBaseProps {\n multiple?: false;\n value?: string | null;\n onChange?: (value: string | null) => void;\n}\n\nexport interface MultipleCountryFieldProps extends CountryFieldBaseProps {\n /** Several countries, in the order they were chosen (decision 0058). */\n multiple: true;\n value?: readonly string[] | null;\n /** Called with the codes. An empty list is `null`. */\n onChange?: (value: string[] | null) => void;\n}\n\nexport type CountryFieldProps = SingleCountryFieldProps | MultipleCountryFieldProps;\n\n/**\n * A country, as its ISO 3166-1 alpha-2 code (`CA`): a combo box of the countries with their flags\n * and their names in the user's locale. Typing filters them by name or by code. With `multiple`,\n * several countries, each removable, in the order they were chosen, and the combo box adds one.\n */\nexport function CountryField(props: CountryFieldProps) {\n const intl = usePanneauIntl();\n const { countries, preferred } = props;\n const choices = getCountryChoices(intl.locale, { countries, preferred });\n const all = [...choices.preferred, ...choices.others].map((country) => ({\n code: country.code,\n name: country.name,\n prefix: country.flag,\n }));\n const emptyMessage = intl.formatMessage(messages.noCountries);\n\n if (props.multiple !== true) {\n const {\n multiple: _multiple,\n countries: _countries,\n preferred: _preferred,\n ...rest\n } = props;\n return (\n <CodeComboBox\n {...rest}\n choices={all}\n placeholder={props.placeholder ?? intl.formatMessage(messages.countryPlaceholder)}\n emptyMessage={emptyMessage}\n />\n );\n }\n\n const {\n value,\n onChange,\n onBlur,\n label,\n description,\n errors,\n disabled,\n readOnly,\n required,\n name,\n id,\n autoFocus,\n className,\n labelClassName,\n descriptionClassName,\n errorsClassName,\n controlClassName,\n } = props;\n const codes = (value ?? []).filter(\n (code, index, list) => code !== '' && list.indexOf(code) === index,\n );\n const editable = disabled !== true && readOnly !== true;\n const set = (next: string[]) => onChange?.(next.length > 0 ? next : null);\n const nameOf = (code: string) =>\n isCountryCode(code) ? getCountryName(code, intl.locale) : code;\n const comboLabel = typeof label === 'string' ? label : props['aria-label'];\n return (\n <Fieldset\n legend={label}\n description={description}\n errors={errors ?? []}\n isRequired={required}\n isDisabled={disabled}\n className={className}\n legendClassName={labelClassName}\n descriptionClassName={descriptionClassName}\n errorsClassName={errorsClassName}\n >\n <div className={styles.multiple}>\n {codes.length > 0 ? (\n <ul className={styles.countries}>\n {codes.map((code) => (\n <li\n key={code}\n className={editable ? styles.country : styles.fixedCountry}\n >\n {isCountryCode(code) ? (\n <span className={styles.flag} aria-hidden=\"true\">\n {getCountryFlag(code)}\n </span>\n ) : null}\n <span className={styles.name}>{nameOf(code)}</span>\n {editable ? (\n <IconButton\n icon={X}\n size=\"sm\"\n label={`${intl.formatMessage(messages.remove)} ${nameOf(code)}`}\n showTooltip={false}\n onPress={() => set(codes.filter((entry) => entry !== code))}\n />\n ) : null}\n </li>\n ))}\n </ul>\n ) : null}\n <CodeComboBox\n {...(comboLabel !== undefined ? { 'aria-label': comboLabel } : {})}\n {...(name !== undefined ? { name } : {})}\n {...(id !== undefined ? { id } : {})}\n {...(autoFocus !== undefined ? { autoFocus } : {})}\n {...(onBlur !== undefined ? { onBlur } : {})}\n {...(controlClassName !== undefined ? { controlClassName } : {})}\n disabled={disabled}\n readOnly={readOnly}\n choices={all.filter((choice) => !codes.includes(choice.code))}\n value={null}\n onChange={(code) => {\n if (code !== null && !codes.includes(code)) {\n set([...codes, code]);\n }\n }}\n placeholder={props.placeholder ?? intl.formatMessage(messages.addCountry)}\n emptyMessage={emptyMessage}\n />\n </div>\n </Fieldset>\n );\n}\n\nconst isCodes = (value: unknown): value is string[] =>\n Array.isArray(value) && value.every(isString);\n\n/** The `country` type: `multiple`, `settings.countries` and `settings.preferred`. */\nexport function CountryFieldEntry(props: FieldEntryProps) {\n const countries = getSetting(props.field, 'countries', isCodes);\n const preferred = getSetting(props.field, 'preferred', isCodes);\n const shared = {\n ...getFieldProps(props),\n ...(countries !== undefined ? { countries } : {}),\n ...(preferred !== undefined ? { preferred } : {}),\n };\n if (props.field.multiple === true) {\n const codes = Array.isArray(props.value) ? props.value.filter(isString) : [];\n return (\n <CountryField\n {...shared}\n multiple\n value={codes.length > 0 ? codes : null}\n onChange={props.onChange}\n />\n );\n }\n return (\n <CountryField\n {...shared}\n value={isString(props.value) ? props.value : null}\n onChange={props.onChange}\n />\n );\n}\n"],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import "./CountryField.css";
2
+ //#region src/country/CountryField.module.css
3
+ var multiple = "panneau-country-field-multiple";
4
+ var countries = "panneau-country-field-countries";
5
+ var country = "panneau-country-field-country";
6
+ var fixedCountry = "panneau-country-field-fixed-country";
7
+ var flag = "panneau-country-field-flag";
8
+ var name = "panneau-country-field-name";
9
+ var CountryField_module_default = {
10
+ multiple,
11
+ countries,
12
+ country,
13
+ fixedCountry,
14
+ flag,
15
+ name
16
+ };
17
+ //#endregion
18
+ export { countries, country, CountryField_module_default as default, fixedCountry, flag, multiple, name };
19
+
20
+ //# sourceMappingURL=CountryField.module.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CountryField.module.js","names":[],"sources":["../../src/country/CountryField.module.css"],"sourcesContent":[".multiple {\n display: flex;\n flex-direction: column;\n gap: var(--panneau-space-2);\n}\n\n.countries {\n display: flex;\n flex-wrap: wrap;\n gap: var(--panneau-space-1) var(--panneau-space-2);\n margin: 0;\n padding: 0;\n list-style: none;\n}\n\n.country,\n.fixedCountry {\n display: inline-flex;\n align-items: center;\n gap: var(--panneau-space-1);\n min-height: var(--panneau-control-height-sm);\n max-width: 100%;\n padding-inline: var(--panneau-space-3) var(--panneau-space-1);\n font-size: var(--panneau-font-size-sm);\n background-color: var(--panneau-color-surface-sunken);\n border: var(--panneau-border-width) solid var(--panneau-color-border);\n border-radius: var(--panneau-radius-full);\n}\n\n.fixedCountry {\n padding-inline-end: var(--panneau-space-3);\n}\n\n.flag {\n flex: none;\n}\n\n.name {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n"],"mappings":""}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * The ISO 3166-1 alpha-2 codes of the countries and territories, and `XK` (Kosovo), which is
3
+ * widely used for it though not assigned.
4
+ */
5
+ export declare const COUNTRY_CODES: readonly string[];
6
+ //# sourceMappingURL=codes.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codes.d.ts","sourceRoot":"","sources":["../../src/country/codes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,eAAO,MAAM,aAAa,EAAE,SAAS,MAAM,EA2P1C,CAAC"}