@singi-labs/sifa-sdk 0.19.44 → 0.19.46

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 (582) hide show
  1. package/dist/atproto/index.js +9 -3
  2. package/dist/atproto/index.js.map +1 -1
  3. package/dist/badge/index.cjs.map +1 -1
  4. package/dist/badge/index.js +5 -141
  5. package/dist/badge/index.js.map +1 -1
  6. package/dist/cards/adult-content.js +14 -0
  7. package/dist/cards/adult-content.js.map +1 -0
  8. package/dist/cards/app-url-patterns.js +369 -0
  9. package/dist/cards/app-url-patterns.js.map +1 -0
  10. package/dist/cards/index.js +24 -0
  11. package/dist/cards/index.js.map +1 -0
  12. package/dist/cards/resolve-card-url.js +198 -0
  13. package/dist/cards/resolve-card-url.js.map +1 -0
  14. package/dist/cards/visibility.js +45 -0
  15. package/dist/cards/visibility.js.map +1 -0
  16. package/dist/flags/index.js +4 -3
  17. package/dist/flags/index.js.map +1 -1
  18. package/dist/format/collapse-contributors.js +19 -0
  19. package/dist/format/collapse-contributors.js.map +1 -0
  20. package/dist/format/company-name.js +61 -0
  21. package/dist/format/company-name.js.map +1 -0
  22. package/dist/format/compare-text.js +9 -0
  23. package/dist/format/compare-text.js.map +1 -0
  24. package/dist/format/doi.js +8 -0
  25. package/dist/format/doi.js.map +1 -0
  26. package/dist/format/embed.js +131 -0
  27. package/dist/format/embed.js.map +1 -0
  28. package/dist/format/endorsement-context.js +35 -0
  29. package/dist/format/endorsement-context.js.map +1 -0
  30. package/dist/format/format-display-url.js +42 -0
  31. package/dist/format/format-display-url.js.map +1 -0
  32. package/dist/format/format-duration.js +13 -0
  33. package/dist/format/format-duration.js.map +1 -0
  34. package/dist/format/format-time.js +30 -0
  35. package/dist/format/format-time.js.map +1 -0
  36. package/dist/format/handle-utils.js +19 -0
  37. package/dist/format/handle-utils.js.map +1 -0
  38. package/dist/format/index.js +106 -0
  39. package/dist/format/index.js.map +1 -0
  40. package/dist/format/location-segments.js +29 -0
  41. package/dist/format/location-segments.js.map +1 -0
  42. package/dist/format/location-utils.js +42 -0
  43. package/dist/format/location-utils.js.map +1 -0
  44. package/dist/format/meta-description.js +35 -0
  45. package/dist/format/meta-description.js.map +1 -0
  46. package/dist/format/normalize-company-key.js +12 -0
  47. package/dist/format/normalize-company-key.js.map +1 -0
  48. package/dist/format/normalize-legal-form.js +71 -0
  49. package/dist/format/normalize-legal-form.js.map +1 -0
  50. package/dist/format/pds-utils.js +73 -0
  51. package/dist/format/pds-utils.js.map +1 -0
  52. package/dist/format/sort-by-date.js +39 -0
  53. package/dist/format/sort-by-date.js.map +1 -0
  54. package/dist/format/summarize-deliveries.js +37 -0
  55. package/dist/format/summarize-deliveries.js.map +1 -0
  56. package/dist/format/talk-slug.js +21 -0
  57. package/dist/format/talk-slug.js.map +1 -0
  58. package/dist/format/text-sanitize.js +29 -0
  59. package/dist/format/text-sanitize.js.map +1 -0
  60. package/dist/format/text-truncate.js +14 -0
  61. package/dist/format/text-truncate.js.map +1 -0
  62. package/dist/format/time-utils.js +19 -0
  63. package/dist/format/time-utils.js.map +1 -0
  64. package/dist/format/timeline.js +33 -0
  65. package/dist/format/timeline.js.map +1 -0
  66. package/dist/format/wcag-contrast.js +34 -0
  67. package/dist/format/wcag-contrast.js.map +1 -0
  68. package/dist/import/index.js +22 -0
  69. package/dist/import/index.js.map +1 -0
  70. package/dist/import/presentation-csv.js +116 -0
  71. package/dist/import/presentation-csv.js.map +1 -0
  72. package/dist/index.cjs +7 -1
  73. package/dist/index.cjs.map +1 -1
  74. package/dist/index.d.cts +8 -1
  75. package/dist/index.d.ts +8 -1
  76. package/dist/index.js +677 -7086
  77. package/dist/index.js.map +1 -1
  78. package/dist/jev/index.js +18 -5
  79. package/dist/jev/index.js.map +1 -1
  80. package/dist/jsonld/index.cjs.map +1 -1
  81. package/dist/jsonld/index.js +30 -987
  82. package/dist/jsonld/index.js.map +1 -1
  83. package/dist/jsonld/profile.js +222 -0
  84. package/dist/jsonld/profile.js.map +1 -0
  85. package/dist/jsonld/terms.js +496 -0
  86. package/dist/jsonld/terms.js.map +1 -0
  87. package/dist/jsonld/url.js +17 -0
  88. package/dist/jsonld/url.js.map +1 -0
  89. package/dist/jsonld/works-graph.js +41 -0
  90. package/dist/jsonld/works-graph.js.map +1 -0
  91. package/dist/jsonld/works.js +178 -0
  92. package/dist/jsonld/works.js.map +1 -0
  93. package/dist/logic/actor-identity.js +8 -0
  94. package/dist/logic/actor-identity.js.map +1 -0
  95. package/dist/logic/agent-ref.js +24 -0
  96. package/dist/logic/agent-ref.js.map +1 -0
  97. package/dist/logic/company-page-indexable.js +23 -0
  98. package/dist/logic/company-page-indexable.js.map +1 -0
  99. package/dist/logic/date-lookahead.js +33 -0
  100. package/dist/logic/date-lookahead.js.map +1 -0
  101. package/dist/logic/domain-detect.js +43 -0
  102. package/dist/logic/domain-detect.js.map +1 -0
  103. package/dist/logic/entity-disambiguation.js +24 -0
  104. package/dist/logic/entity-disambiguation.js.map +1 -0
  105. package/dist/logic/entity-ref-anchor.js +33 -0
  106. package/dist/logic/entity-ref-anchor.js.map +1 -0
  107. package/dist/logic/index.js +91 -0
  108. package/dist/logic/index.js.map +1 -0
  109. package/dist/logic/org-floor.js +66 -0
  110. package/dist/logic/org-floor.js.map +1 -0
  111. package/dist/logic/primary-item.js +9 -0
  112. package/dist/logic/primary-item.js.map +1 -0
  113. package/dist/logic/primary-position.js +16 -0
  114. package/dist/logic/primary-position.js.map +1 -0
  115. package/dist/logic/profile-completeness.js +21 -0
  116. package/dist/logic/profile-completeness.js.map +1 -0
  117. package/dist/logic/profile-dimensions.js +50 -0
  118. package/dist/logic/profile-dimensions.js.map +1 -0
  119. package/dist/logic/profile-summary.js +23 -0
  120. package/dist/logic/profile-summary.js.map +1 -0
  121. package/dist/logic/pseudo-employer.js +34 -0
  122. package/dist/logic/pseudo-employer.js.map +1 -0
  123. package/dist/logic/recent-activity.js +10 -0
  124. package/dist/logic/recent-activity.js.map +1 -0
  125. package/dist/logic/self-app.js +10 -0
  126. package/dist/logic/self-app.js.map +1 -0
  127. package/dist/{org-BCrvebcf.d.ts → org-CxTEjjrm.d.ts} +1 -1
  128. package/dist/{org-settings-C73Sin5E.d.ts → org-settings-BShvhyFp.d.ts} +1 -1
  129. package/dist/profile/headline-role-dedupe.js +12 -0
  130. package/dist/profile/headline-role-dedupe.js.map +1 -0
  131. package/dist/profile/highlights.js +200 -0
  132. package/dist/profile/highlights.js.map +1 -0
  133. package/dist/profile/index.js +66 -0
  134. package/dist/profile/index.js.map +1 -0
  135. package/dist/profile/involvement-grouping.js +31 -0
  136. package/dist/profile/involvement-grouping.js.map +1 -0
  137. package/dist/profile/language-sort.js +24 -0
  138. package/dist/profile/language-sort.js.map +1 -0
  139. package/dist/profile/publication-versions.js +98 -0
  140. package/dist/profile/publication-versions.js.map +1 -0
  141. package/dist/profile/range-sort.js +14 -0
  142. package/dist/profile/range-sort.js.map +1 -0
  143. package/dist/profile/section-model.js +122 -0
  144. package/dist/profile/section-model.js.map +1 -0
  145. package/dist/profile/section-sorts.js +33 -0
  146. package/dist/profile/section-sorts.js.map +1 -0
  147. package/dist/publishers/index.js +16 -0
  148. package/dist/publishers/index.js.map +1 -0
  149. package/dist/publishers/registry.js +87 -0
  150. package/dist/publishers/registry.js.map +1 -0
  151. package/dist/publishing/index.js +46 -184
  152. package/dist/publishing/index.js.map +1 -1
  153. package/dist/publishing/linkblog.js +42 -0
  154. package/dist/publishing/linkblog.js.map +1 -0
  155. package/dist/publishing/registry.js +32 -0
  156. package/dist/publishing/registry.js.map +1 -0
  157. package/dist/publishing/schemas.js +74 -0
  158. package/dist/publishing/schemas.js.map +1 -0
  159. package/dist/publishing/types.js +32 -0
  160. package/dist/publishing/types.js.map +1 -0
  161. package/dist/query/client.js +119 -0
  162. package/dist/query/client.js.map +1 -0
  163. package/dist/query/config.js +23 -0
  164. package/dist/query/config.js.map +1 -0
  165. package/dist/query/fetchers/accounts.js +29 -0
  166. package/dist/query/fetchers/accounts.js.map +1 -0
  167. package/dist/query/fetchers/activity-items-hide.js +31 -0
  168. package/dist/query/fetchers/activity-items-hide.js.map +1 -0
  169. package/dist/query/fetchers/activity.js +61 -0
  170. package/dist/query/fetchers/activity.js.map +1 -0
  171. package/dist/query/fetchers/actor.js +30 -0
  172. package/dist/query/fetchers/actor.js.map +1 -0
  173. package/dist/query/fetchers/admin-feature-allowlists.js +41 -0
  174. package/dist/query/fetchers/admin-feature-allowlists.js.map +1 -0
  175. package/dist/query/fetchers/admin-review-queues.js +30 -0
  176. package/dist/query/fetchers/admin-review-queues.js.map +1 -0
  177. package/dist/query/fetchers/apps.js +31 -0
  178. package/dist/query/fetchers/apps.js.map +1 -0
  179. package/dist/query/fetchers/bsky-preferences.js +55 -0
  180. package/dist/query/fetchers/bsky-preferences.js.map +1 -0
  181. package/dist/query/fetchers/confirmations.js +55 -0
  182. package/dist/query/fetchers/confirmations.js.map +1 -0
  183. package/dist/query/fetchers/destructive.js +34 -0
  184. package/dist/query/fetchers/destructive.js.map +1 -0
  185. package/dist/query/fetchers/discovery.js +67 -0
  186. package/dist/query/fetchers/discovery.js.map +1 -0
  187. package/dist/query/fetchers/education.js +23 -0
  188. package/dist/query/fetchers/education.js.map +1 -0
  189. package/dist/query/fetchers/endorsement-inbox.js +36 -0
  190. package/dist/query/fetchers/endorsement-inbox.js.map +1 -0
  191. package/dist/query/fetchers/endorsement.js +23 -0
  192. package/dist/query/fetchers/endorsement.js.map +1 -0
  193. package/dist/query/fetchers/endorsements.js +20 -0
  194. package/dist/query/fetchers/endorsements.js.map +1 -0
  195. package/dist/query/fetchers/entities.js +65 -0
  196. package/dist/query/fetchers/entities.js.map +1 -0
  197. package/dist/query/fetchers/external-accounts.js +74 -0
  198. package/dist/query/fetchers/external-accounts.js.map +1 -0
  199. package/dist/query/fetchers/follow-extras.js +38 -0
  200. package/dist/query/fetchers/follow-extras.js.map +1 -0
  201. package/dist/query/fetchers/follow.js +105 -0
  202. package/dist/query/fetchers/follow.js.map +1 -0
  203. package/dist/query/fetchers/get-profile-view.js +21 -0
  204. package/dist/query/fetchers/get-profile-view.js.map +1 -0
  205. package/dist/query/fetchers/github-prs.js +45 -0
  206. package/dist/query/fetchers/github-prs.js.map +1 -0
  207. package/dist/query/fetchers/inbox.js +29 -0
  208. package/dist/query/fetchers/inbox.js.map +1 -0
  209. package/dist/query/fetchers/index.cjs.map +1 -1
  210. package/dist/query/fetchers/index.d.ts +2 -2
  211. package/dist/query/fetchers/index.js +360 -2045
  212. package/dist/query/fetchers/index.js.map +1 -1
  213. package/dist/query/fetchers/investments.js +18 -0
  214. package/dist/query/fetchers/investments.js.map +1 -0
  215. package/dist/query/fetchers/keytrace-claims.js +23 -0
  216. package/dist/query/fetchers/keytrace-claims.js.map +1 -0
  217. package/dist/query/fetchers/marque-domains.js +23 -0
  218. package/dist/query/fetchers/marque-domains.js.map +1 -0
  219. package/dist/query/fetchers/network-map.js +36 -0
  220. package/dist/query/fetchers/network-map.js.map +1 -0
  221. package/dist/query/fetchers/org.js +48 -0
  222. package/dist/query/fetchers/org.js.map +1 -0
  223. package/dist/query/fetchers/positions.js +77 -0
  224. package/dist/query/fetchers/positions.js.map +1 -0
  225. package/dist/query/fetchers/profile-completeness.js +45 -0
  226. package/dist/query/fetchers/profile-completeness.js.map +1 -0
  227. package/dist/query/fetchers/profile-items-hide.js +36 -0
  228. package/dist/query/fetchers/profile-items-hide.js.map +1 -0
  229. package/dist/query/fetchers/profile-locations.js +23 -0
  230. package/dist/query/fetchers/profile-locations.js.map +1 -0
  231. package/dist/query/fetchers/profile-mutations.js +82 -0
  232. package/dist/query/fetchers/profile-mutations.js.map +1 -0
  233. package/dist/query/fetchers/profile-summary.js +14 -0
  234. package/dist/query/fetchers/profile-summary.js.map +1 -0
  235. package/dist/query/fetchers/profile.js +31 -0
  236. package/dist/query/fetchers/profile.js.map +1 -0
  237. package/dist/query/fetchers/publications.js +66 -0
  238. package/dist/query/fetchers/publications.js.map +1 -0
  239. package/dist/query/fetchers/quoted-posts.js +40 -0
  240. package/dist/query/fetchers/quoted-posts.js.map +1 -0
  241. package/dist/query/fetchers/reactions.js +85 -0
  242. package/dist/query/fetchers/reactions.js.map +1 -0
  243. package/dist/query/fetchers/received-endorsements.js +20 -0
  244. package/dist/query/fetchers/received-endorsements.js.map +1 -0
  245. package/dist/query/fetchers/reciprocity.js +23 -0
  246. package/dist/query/fetchers/reciprocity.js.map +1 -0
  247. package/dist/query/fetchers/records.js +27 -0
  248. package/dist/query/fetchers/records.js.map +1 -0
  249. package/dist/query/fetchers/repo-inventory.js +23 -0
  250. package/dist/query/fetchers/repo-inventory.js.map +1 -0
  251. package/dist/query/fetchers/roadmap.js +73 -0
  252. package/dist/query/fetchers/roadmap.js.map +1 -0
  253. package/dist/query/fetchers/rpg.js +36 -0
  254. package/dist/query/fetchers/rpg.js.map +1 -0
  255. package/dist/query/fetchers/search.js +78 -0
  256. package/dist/query/fetchers/search.js.map +1 -0
  257. package/dist/query/fetchers/section-primary.js +23 -0
  258. package/dist/query/fetchers/section-primary.js.map +1 -0
  259. package/dist/query/fetchers/skills.js +30 -0
  260. package/dist/query/fetchers/skills.js.map +1 -0
  261. package/dist/query/fetchers/speakers.js +42 -0
  262. package/dist/query/fetchers/speakers.js.map +1 -0
  263. package/dist/query/fetchers/stats.js +16 -0
  264. package/dist/query/fetchers/stats.js.map +1 -0
  265. package/dist/query/fetchers/stream.js +30 -0
  266. package/dist/query/fetchers/stream.js.map +1 -0
  267. package/dist/query/fetchers/unlinked-positions.js +30 -0
  268. package/dist/query/fetchers/unlinked-positions.js.map +1 -0
  269. package/dist/query/hooks/index.d.ts +3 -3
  270. package/dist/query/hooks/index.js +283 -3555
  271. package/dist/query/hooks/index.js.map +1 -1
  272. package/dist/query/hooks/use-accounts.js +19 -0
  273. package/dist/query/hooks/use-accounts.js.map +1 -0
  274. package/dist/query/hooks/use-activity-items-hide.js +52 -0
  275. package/dist/query/hooks/use-activity-items-hide.js.map +1 -0
  276. package/dist/query/hooks/use-activity.js +44 -0
  277. package/dist/query/hooks/use-activity.js.map +1 -0
  278. package/dist/query/hooks/use-admin-review-queues.js +21 -0
  279. package/dist/query/hooks/use-admin-review-queues.js.map +1 -0
  280. package/dist/query/hooks/use-apps.js +31 -0
  281. package/dist/query/hooks/use-apps.js.map +1 -0
  282. package/dist/query/hooks/use-bsky-content-prefs.js +45 -0
  283. package/dist/query/hooks/use-bsky-content-prefs.js.map +1 -0
  284. package/dist/query/hooks/use-confirmations.js +121 -0
  285. package/dist/query/hooks/use-confirmations.js.map +1 -0
  286. package/dist/query/hooks/use-create-position.js +28 -0
  287. package/dist/query/hooks/use-create-position.js.map +1 -0
  288. package/dist/query/hooks/use-destructive.js +63 -0
  289. package/dist/query/hooks/use-destructive.js.map +1 -0
  290. package/dist/query/hooks/use-discovery.js +53 -0
  291. package/dist/query/hooks/use-discovery.js.map +1 -0
  292. package/dist/query/hooks/use-education-mutations.js +67 -0
  293. package/dist/query/hooks/use-education-mutations.js.map +1 -0
  294. package/dist/query/hooks/use-endorsement-inbox.js +80 -0
  295. package/dist/query/hooks/use-endorsement-inbox.js.map +1 -0
  296. package/dist/query/hooks/use-endorsement-mutations.js +33 -0
  297. package/dist/query/hooks/use-endorsement-mutations.js.map +1 -0
  298. package/dist/query/hooks/use-endorsement.js +20 -0
  299. package/dist/query/hooks/use-endorsement.js.map +1 -0
  300. package/dist/query/hooks/use-entity-search.js +73 -0
  301. package/dist/query/hooks/use-entity-search.js.map +1 -0
  302. package/dist/query/hooks/use-external-accounts.js +143 -0
  303. package/dist/query/hooks/use-external-accounts.js.map +1 -0
  304. package/dist/query/hooks/use-feature-allowlist.js +104 -0
  305. package/dist/query/hooks/use-feature-allowlist.js.map +1 -0
  306. package/dist/query/hooks/use-follow-extras.js +38 -0
  307. package/dist/query/hooks/use-follow-extras.js.map +1 -0
  308. package/dist/query/hooks/use-follow.js +113 -0
  309. package/dist/query/hooks/use-follow.js.map +1 -0
  310. package/dist/query/hooks/use-get-profile-view.js +20 -0
  311. package/dist/query/hooks/use-get-profile-view.js.map +1 -0
  312. package/dist/query/hooks/use-github-prs.js +21 -0
  313. package/dist/query/hooks/use-github-prs.js.map +1 -0
  314. package/dist/query/hooks/use-inbox.js +19 -0
  315. package/dist/query/hooks/use-inbox.js.map +1 -0
  316. package/dist/query/hooks/use-investment-mutations.js +65 -0
  317. package/dist/query/hooks/use-investment-mutations.js.map +1 -0
  318. package/dist/query/hooks/use-keytrace-claims.js +50 -0
  319. package/dist/query/hooks/use-keytrace-claims.js.map +1 -0
  320. package/dist/query/hooks/use-location-mutations.js +71 -0
  321. package/dist/query/hooks/use-location-mutations.js.map +1 -0
  322. package/dist/query/hooks/use-marque-domains.js +50 -0
  323. package/dist/query/hooks/use-marque-domains.js.map +1 -0
  324. package/dist/query/hooks/use-org-claim.js +29 -0
  325. package/dist/query/hooks/use-org-claim.js.map +1 -0
  326. package/dist/query/hooks/use-org-domains.js +28 -0
  327. package/dist/query/hooks/use-org-domains.js.map +1 -0
  328. package/dist/query/hooks/use-org-notification-emails.js +28 -0
  329. package/dist/query/hooks/use-org-notification-emails.js.map +1 -0
  330. package/dist/query/hooks/use-org-profile-settings.js +29 -0
  331. package/dist/query/hooks/use-org-profile-settings.js.map +1 -0
  332. package/dist/query/hooks/use-org-profile.js +21 -0
  333. package/dist/query/hooks/use-org-profile.js.map +1 -0
  334. package/dist/query/hooks/use-position-mutations.js +128 -0
  335. package/dist/query/hooks/use-position-mutations.js.map +1 -0
  336. package/dist/query/hooks/use-profile-completeness.js +21 -0
  337. package/dist/query/hooks/use-profile-completeness.js.map +1 -0
  338. package/dist/query/hooks/use-profile-items-hide.js +53 -0
  339. package/dist/query/hooks/use-profile-items-hide.js.map +1 -0
  340. package/dist/query/hooks/use-profile-mutations.js +143 -0
  341. package/dist/query/hooks/use-profile-mutations.js.map +1 -0
  342. package/dist/query/hooks/use-profile.js +30 -0
  343. package/dist/query/hooks/use-profile.js.map +1 -0
  344. package/dist/query/hooks/use-publication-mutations.js +90 -0
  345. package/dist/query/hooks/use-publication-mutations.js.map +1 -0
  346. package/dist/query/hooks/use-reaction-mutations.js +48 -0
  347. package/dist/query/hooks/use-reaction-mutations.js.map +1 -0
  348. package/dist/query/hooks/use-reactions.js +32 -0
  349. package/dist/query/hooks/use-reactions.js.map +1 -0
  350. package/dist/query/hooks/use-received-endorsements.js +23 -0
  351. package/dist/query/hooks/use-received-endorsements.js.map +1 -0
  352. package/dist/query/hooks/use-reciprocity.js +19 -0
  353. package/dist/query/hooks/use-reciprocity.js.map +1 -0
  354. package/dist/query/hooks/use-record-mutations.js +67 -0
  355. package/dist/query/hooks/use-record-mutations.js.map +1 -0
  356. package/dist/query/hooks/use-repo-inventory.js +43 -0
  357. package/dist/query/hooks/use-repo-inventory.js.map +1 -0
  358. package/dist/query/hooks/use-roadmap-mutations.js +51 -0
  359. package/dist/query/hooks/use-roadmap-mutations.js.map +1 -0
  360. package/dist/query/hooks/use-roadmap.js +31 -0
  361. package/dist/query/hooks/use-roadmap.js.map +1 -0
  362. package/dist/query/hooks/use-search.js +63 -0
  363. package/dist/query/hooks/use-search.js.map +1 -0
  364. package/dist/query/hooks/use-section-primary-mutations.js +53 -0
  365. package/dist/query/hooks/use-section-primary-mutations.js.map +1 -0
  366. package/dist/query/hooks/use-skill-mutations.js +91 -0
  367. package/dist/query/hooks/use-skill-mutations.js.map +1 -0
  368. package/dist/query/hooks/use-stats.js +19 -0
  369. package/dist/query/hooks/use-stats.js.map +1 -0
  370. package/dist/query/hooks/use-stream.js +20 -0
  371. package/dist/query/hooks/use-stream.js.map +1 -0
  372. package/dist/query/hooks/use-unlinked-positions.js +45 -0
  373. package/dist/query/hooks/use-unlinked-positions.js.map +1 -0
  374. package/dist/query/index.cjs.map +1 -1
  375. package/dist/query/index.d.ts +4 -4
  376. package/dist/query/index.js +685 -3744
  377. package/dist/query/index.js.map +1 -1
  378. package/dist/query/keys.js +138 -0
  379. package/dist/query/keys.js.map +1 -0
  380. package/dist/repo/groups.js +81 -0
  381. package/dist/repo/groups.js.map +1 -0
  382. package/dist/repo/index.js +9 -0
  383. package/dist/repo/index.js.map +1 -0
  384. package/dist/repo/labels.js +121 -0
  385. package/dist/repo/labels.js.map +1 -0
  386. package/dist/repo/types.js +1 -0
  387. package/dist/repo/types.js.map +1 -0
  388. package/dist/resume/index.js +5 -179
  389. package/dist/resume/index.js.map +1 -1
  390. package/dist/resume/json-resume.js +153 -0
  391. package/dist/resume/json-resume.js.map +1 -0
  392. package/dist/roadmap/index.js +101 -0
  393. package/dist/roadmap/index.js.map +1 -0
  394. package/dist/rpg/catalog.js +101 -0
  395. package/dist/rpg/catalog.js.map +1 -0
  396. package/dist/rpg/index.js +13 -116
  397. package/dist/rpg/index.js.map +1 -1
  398. package/dist/rpg/unlocks.js +21 -0
  399. package/dist/rpg/unlocks.js.map +1 -0
  400. package/dist/schemas/blob-ref.js +12 -0
  401. package/dist/schemas/blob-ref.js.map +1 -0
  402. package/dist/schemas/confirmation.js +23 -0
  403. package/dist/schemas/confirmation.js.map +1 -0
  404. package/dist/schemas/endorsement-confirmation.js +18 -0
  405. package/dist/schemas/endorsement-confirmation.js.map +1 -0
  406. package/dist/schemas/endorsement.js +19 -0
  407. package/dist/schemas/endorsement.js.map +1 -0
  408. package/dist/schemas/entity.js +74 -0
  409. package/dist/schemas/entity.js.map +1 -0
  410. package/dist/schemas/feed.js +73 -0
  411. package/dist/schemas/feed.js.map +1 -0
  412. package/dist/schemas/follow-profile.js +32 -0
  413. package/dist/schemas/follow-profile.js.map +1 -0
  414. package/dist/schemas/graph-follow.js +19 -0
  415. package/dist/schemas/graph-follow.js.map +1 -0
  416. package/dist/schemas/index.js +164 -629
  417. package/dist/schemas/index.js.map +1 -1
  418. package/dist/schemas/org-employment-attestation.js +28 -0
  419. package/dist/schemas/org-employment-attestation.js.map +1 -0
  420. package/dist/schemas/org-profile.js +64 -0
  421. package/dist/schemas/org-profile.js.map +1 -0
  422. package/dist/schemas/profile-certification.js +28 -0
  423. package/dist/schemas/profile-certification.js.map +1 -0
  424. package/dist/schemas/profile-course.js +32 -0
  425. package/dist/schemas/profile-course.js.map +1 -0
  426. package/dist/schemas/profile-education.js +33 -0
  427. package/dist/schemas/profile-education.js.map +1 -0
  428. package/dist/schemas/profile-external-account.js +15 -0
  429. package/dist/schemas/profile-external-account.js.map +1 -0
  430. package/dist/schemas/profile-honor.js +18 -0
  431. package/dist/schemas/profile-honor.js.map +1 -0
  432. package/dist/schemas/profile-investment.js +48 -0
  433. package/dist/schemas/profile-investment.js.map +1 -0
  434. package/dist/schemas/profile-involvement.js +47 -0
  435. package/dist/schemas/profile-involvement.js.map +1 -0
  436. package/dist/schemas/profile-language.js +12 -0
  437. package/dist/schemas/profile-language.js.map +1 -0
  438. package/dist/schemas/profile-position.js +42 -0
  439. package/dist/schemas/profile-position.js.map +1 -0
  440. package/dist/schemas/profile-presentation-delivery.js +38 -0
  441. package/dist/schemas/profile-presentation-delivery.js.map +1 -0
  442. package/dist/schemas/profile-presentation.js +36 -0
  443. package/dist/schemas/profile-presentation.js.map +1 -0
  444. package/dist/schemas/profile-project.js +48 -0
  445. package/dist/schemas/profile-project.js.map +1 -0
  446. package/dist/schemas/profile-publication.js +30 -0
  447. package/dist/schemas/profile-publication.js.map +1 -0
  448. package/dist/schemas/profile-self.js +22 -0
  449. package/dist/schemas/profile-self.js.map +1 -0
  450. package/dist/schemas/profile-skill.js +13 -0
  451. package/dist/schemas/profile-skill.js.map +1 -0
  452. package/dist/schemas/profile-volunteering.js +20 -0
  453. package/dist/schemas/profile-volunteering.js.map +1 -0
  454. package/dist/schemas/shared.js +56 -0
  455. package/dist/schemas/shared.js.map +1 -0
  456. package/dist/schemas/write/certification.js +16 -0
  457. package/dist/schemas/write/certification.js.map +1 -0
  458. package/dist/schemas/write/course.js +36 -0
  459. package/dist/schemas/write/course.js.map +1 -0
  460. package/dist/schemas/write/education.js +18 -0
  461. package/dist/schemas/write/education.js.map +1 -0
  462. package/dist/schemas/write/external-account.js +13 -0
  463. package/dist/schemas/write/external-account.js.map +1 -0
  464. package/dist/schemas/write/honor.js +14 -0
  465. package/dist/schemas/write/honor.js.map +1 -0
  466. package/dist/schemas/write/index.d.ts +1 -1
  467. package/dist/schemas/write/index.js +89 -593
  468. package/dist/schemas/write/index.js.map +1 -1
  469. package/dist/schemas/write/investment.js +32 -0
  470. package/dist/schemas/write/investment.js.map +1 -0
  471. package/dist/schemas/write/involvement.js +34 -0
  472. package/dist/schemas/write/involvement.js.map +1 -0
  473. package/dist/schemas/write/language.js +10 -0
  474. package/dist/schemas/write/language.js.map +1 -0
  475. package/dist/schemas/write/org-claim.js +56 -0
  476. package/dist/schemas/write/org-claim.js.map +1 -0
  477. package/dist/schemas/write/org-employment-attestation.js +19 -0
  478. package/dist/schemas/write/org-employment-attestation.js.map +1 -0
  479. package/dist/schemas/write/org-profile.js +54 -0
  480. package/dist/schemas/write/org-profile.js.map +1 -0
  481. package/dist/schemas/write/org-settings.js +81 -0
  482. package/dist/schemas/write/org-settings.js.map +1 -0
  483. package/dist/schemas/write/position.js +24 -0
  484. package/dist/schemas/write/position.js.map +1 -0
  485. package/dist/schemas/write/presentation-delivery.js +34 -0
  486. package/dist/schemas/write/presentation-delivery.js.map +1 -0
  487. package/dist/schemas/write/presentation.js +23 -0
  488. package/dist/schemas/write/presentation.js.map +1 -0
  489. package/dist/schemas/write/profile-location.js +21 -0
  490. package/dist/schemas/write/profile-location.js.map +1 -0
  491. package/dist/schemas/write/profile-self.js +27 -0
  492. package/dist/schemas/write/profile-self.js.map +1 -0
  493. package/dist/schemas/write/project.js +27 -0
  494. package/dist/schemas/write/project.js.map +1 -0
  495. package/dist/schemas/write/publication.js +41 -0
  496. package/dist/schemas/write/publication.js.map +1 -0
  497. package/dist/schemas/write/shared.js +96 -0
  498. package/dist/schemas/write/shared.js.map +1 -0
  499. package/dist/schemas/write/skill.js +18 -0
  500. package/dist/schemas/write/skill.js.map +1 -0
  501. package/dist/schemas/write/volunteering.js +16 -0
  502. package/dist/schemas/write/volunteering.js.map +1 -0
  503. package/dist/stream/activity-item.js +1 -0
  504. package/dist/stream/activity-item.js.map +1 -0
  505. package/dist/stream/index.js +49 -0
  506. package/dist/stream/index.js.map +1 -0
  507. package/dist/stream/stream-card-vm-schema.js +265 -0
  508. package/dist/stream/stream-card-vm-schema.js.map +1 -0
  509. package/dist/stream/stream-card-vm.js +1 -0
  510. package/dist/stream/stream-card-vm.js.map +1 -0
  511. package/dist/stream/to-stream-card-vm.js +793 -0
  512. package/dist/stream/to-stream-card-vm.js.map +1 -0
  513. package/dist/stream/two-tier.js +30 -0
  514. package/dist/stream/two-tier.js.map +1 -0
  515. package/dist/stream/verbs.js +120 -0
  516. package/dist/stream/verbs.js.map +1 -0
  517. package/dist/taxonomy/activity-tiers.js +956 -0
  518. package/dist/taxonomy/activity-tiers.js.map +1 -0
  519. package/dist/taxonomy/app-categories.js +42 -0
  520. package/dist/taxonomy/app-categories.js.map +1 -0
  521. package/dist/taxonomy/app-category-map.js +166 -0
  522. package/dist/taxonomy/app-category-map.js.map +1 -0
  523. package/dist/taxonomy/artifact-link-kind.js +29 -0
  524. package/dist/taxonomy/artifact-link-kind.js.map +1 -0
  525. package/dist/taxonomy/calendar-event.js +28 -0
  526. package/dist/taxonomy/calendar-event.js.map +1 -0
  527. package/dist/taxonomy/continents.js +215 -0
  528. package/dist/taxonomy/continents.js.map +1 -0
  529. package/dist/taxonomy/countries.js +203 -0
  530. package/dist/taxonomy/countries.js.map +1 -0
  531. package/dist/taxonomy/course-role.js +37 -0
  532. package/dist/taxonomy/course-role.js.map +1 -0
  533. package/dist/taxonomy/employment-type.js +82 -0
  534. package/dist/taxonomy/employment-type.js.map +1 -0
  535. package/dist/taxonomy/eqf-level.js +59 -0
  536. package/dist/taxonomy/eqf-level.js.map +1 -0
  537. package/dist/taxonomy/index.js +263 -0
  538. package/dist/taxonomy/index.js.map +1 -0
  539. package/dist/taxonomy/industry-taxonomy.js +281 -0
  540. package/dist/taxonomy/industry-taxonomy.js.map +1 -0
  541. package/dist/taxonomy/investment.js +54 -0
  542. package/dist/taxonomy/investment.js.map +1 -0
  543. package/dist/taxonomy/involvement-kind.js +30 -0
  544. package/dist/taxonomy/involvement-kind.js.map +1 -0
  545. package/dist/taxonomy/open-to.js +128 -0
  546. package/dist/taxonomy/open-to.js.map +1 -0
  547. package/dist/taxonomy/platforms.js +56 -0
  548. package/dist/taxonomy/platforms.js.map +1 -0
  549. package/dist/taxonomy/presentation-link-type.js +22 -0
  550. package/dist/taxonomy/presentation-link-type.js.map +1 -0
  551. package/dist/taxonomy/presentation-role.js +21 -0
  552. package/dist/taxonomy/presentation-role.js.map +1 -0
  553. package/dist/taxonomy/publication-type.js +54 -0
  554. package/dist/taxonomy/publication-type.js.map +1 -0
  555. package/dist/taxonomy/relational.js +25 -0
  556. package/dist/taxonomy/relational.js.map +1 -0
  557. package/dist/taxonomy/search-filter-defs.js +66 -0
  558. package/dist/taxonomy/search-filter-defs.js.map +1 -0
  559. package/dist/taxonomy/skill-categories.js +28 -0
  560. package/dist/taxonomy/skill-categories.js.map +1 -0
  561. package/dist/taxonomy/skill-display-groups.js +12 -0
  562. package/dist/taxonomy/skill-display-groups.js.map +1 -0
  563. package/dist/taxonomy/skill-grouping.js +90 -0
  564. package/dist/taxonomy/skill-grouping.js.map +1 -0
  565. package/dist/taxonomy/verification-providers.js +69 -0
  566. package/dist/taxonomy/verification-providers.js.map +1 -0
  567. package/dist/taxonomy/workplace-type.js +38 -0
  568. package/dist/taxonomy/workplace-type.js.map +1 -0
  569. package/dist/tokens/colors.js +11 -0
  570. package/dist/tokens/colors.js.map +1 -0
  571. package/dist/tokens/icons.js +15 -0
  572. package/dist/tokens/icons.js.map +1 -0
  573. package/dist/tokens/index.js +10 -39
  574. package/dist/tokens/index.js.map +1 -1
  575. package/dist/tokens/typography.js +23 -0
  576. package/dist/tokens/typography.js.map +1 -0
  577. package/dist/types/index.js +10 -0
  578. package/dist/types/index.js.map +1 -0
  579. package/dist/types/profile-view.js +1 -0
  580. package/dist/types/profile-view.js.map +1 -0
  581. package/dist/{use-org-notification-emails-0hjt-dEw.d.ts → use-org-notification-emails-CWWi1D8t.d.ts} +2 -2
  582. package/package.json +4 -3
@@ -0,0 +1,215 @@
1
+ // src/taxonomy/continents.ts
2
+ var CONTINENTS = [
3
+ { code: "AF", name: "Africa" },
4
+ { code: "AN", name: "Antarctica" },
5
+ { code: "AS", name: "Asia" },
6
+ { code: "EU", name: "Europe" },
7
+ { code: "NA", name: "North America" },
8
+ { code: "OC", name: "Oceania" },
9
+ { code: "SA", name: "South America" }
10
+ ];
11
+ var COUNTRY_TO_CONTINENT = {
12
+ AD: "EU",
13
+ AE: "AS",
14
+ AF: "AS",
15
+ AG: "NA",
16
+ AL: "EU",
17
+ AM: "AS",
18
+ AO: "AF",
19
+ AR: "SA",
20
+ AT: "EU",
21
+ AU: "OC",
22
+ AZ: "AS",
23
+ BA: "EU",
24
+ BB: "NA",
25
+ BD: "AS",
26
+ BE: "EU",
27
+ BF: "AF",
28
+ BG: "EU",
29
+ BH: "AS",
30
+ BI: "AF",
31
+ BJ: "AF",
32
+ BN: "AS",
33
+ BO: "SA",
34
+ BR: "SA",
35
+ BS: "NA",
36
+ BT: "AS",
37
+ BW: "AF",
38
+ BY: "EU",
39
+ BZ: "NA",
40
+ CA: "NA",
41
+ CD: "AF",
42
+ CF: "AF",
43
+ CG: "AF",
44
+ CH: "EU",
45
+ CI: "AF",
46
+ CL: "SA",
47
+ CM: "AF",
48
+ CN: "AS",
49
+ CO: "SA",
50
+ CR: "NA",
51
+ CU: "NA",
52
+ CV: "AF",
53
+ CY: "AS",
54
+ CZ: "EU",
55
+ DE: "EU",
56
+ DJ: "AF",
57
+ DK: "EU",
58
+ DM: "NA",
59
+ DO: "NA",
60
+ DZ: "AF",
61
+ EC: "SA",
62
+ EE: "EU",
63
+ EG: "AF",
64
+ ER: "AF",
65
+ ES: "EU",
66
+ ET: "AF",
67
+ FI: "EU",
68
+ FJ: "OC",
69
+ FR: "EU",
70
+ GA: "AF",
71
+ GB: "EU",
72
+ GD: "NA",
73
+ GE: "AS",
74
+ GH: "AF",
75
+ GM: "AF",
76
+ GN: "AF",
77
+ GQ: "AF",
78
+ GR: "EU",
79
+ GT: "NA",
80
+ GW: "AF",
81
+ GY: "SA",
82
+ HK: "AS",
83
+ HN: "NA",
84
+ HR: "EU",
85
+ HT: "NA",
86
+ HU: "EU",
87
+ ID: "AS",
88
+ IE: "EU",
89
+ IL: "AS",
90
+ IN: "AS",
91
+ IQ: "AS",
92
+ IR: "AS",
93
+ IS: "EU",
94
+ IT: "EU",
95
+ JM: "NA",
96
+ JO: "AS",
97
+ JP: "AS",
98
+ KE: "AF",
99
+ KG: "AS",
100
+ KH: "AS",
101
+ KM: "AF",
102
+ KN: "NA",
103
+ KP: "AS",
104
+ KR: "AS",
105
+ KW: "AS",
106
+ KZ: "AS",
107
+ LA: "AS",
108
+ LB: "AS",
109
+ LC: "NA",
110
+ LI: "EU",
111
+ LK: "AS",
112
+ LR: "AF",
113
+ LS: "AF",
114
+ LT: "EU",
115
+ LU: "EU",
116
+ LV: "EU",
117
+ LY: "AF",
118
+ MA: "AF",
119
+ MC: "EU",
120
+ MD: "EU",
121
+ ME: "EU",
122
+ MG: "AF",
123
+ MK: "EU",
124
+ ML: "AF",
125
+ MM: "AS",
126
+ MN: "AS",
127
+ MO: "AS",
128
+ MR: "AF",
129
+ MT: "EU",
130
+ MU: "AF",
131
+ MV: "AS",
132
+ MW: "AF",
133
+ MX: "NA",
134
+ MY: "AS",
135
+ MZ: "AF",
136
+ NA: "AF",
137
+ NE: "AF",
138
+ NG: "AF",
139
+ NI: "NA",
140
+ NL: "EU",
141
+ NO: "EU",
142
+ NP: "AS",
143
+ NZ: "OC",
144
+ OM: "AS",
145
+ PA: "NA",
146
+ PE: "SA",
147
+ PG: "OC",
148
+ PH: "AS",
149
+ PK: "AS",
150
+ PL: "EU",
151
+ PR: "NA",
152
+ PS: "AS",
153
+ PT: "EU",
154
+ PY: "SA",
155
+ QA: "AS",
156
+ RO: "EU",
157
+ RS: "EU",
158
+ RU: "EU",
159
+ RW: "AF",
160
+ SA: "AS",
161
+ SB: "OC",
162
+ SC: "AF",
163
+ SD: "AF",
164
+ SE: "EU",
165
+ SG: "AS",
166
+ SI: "EU",
167
+ SK: "EU",
168
+ SL: "AF",
169
+ SM: "EU",
170
+ SN: "AF",
171
+ SO: "AF",
172
+ SR: "SA",
173
+ SS: "AF",
174
+ ST: "AF",
175
+ SV: "NA",
176
+ SY: "AS",
177
+ SZ: "AF",
178
+ TD: "AF",
179
+ TG: "AF",
180
+ TH: "AS",
181
+ TJ: "AS",
182
+ TL: "AS",
183
+ TM: "AS",
184
+ TN: "AF",
185
+ TO: "OC",
186
+ TR: "AS",
187
+ TT: "NA",
188
+ TW: "AS",
189
+ TZ: "AF",
190
+ UA: "EU",
191
+ UG: "AF",
192
+ US: "NA",
193
+ UY: "SA",
194
+ UZ: "AS",
195
+ VA: "EU",
196
+ VC: "NA",
197
+ VE: "SA",
198
+ VN: "AS",
199
+ VU: "OC",
200
+ WS: "OC",
201
+ XK: "EU",
202
+ YE: "AS",
203
+ ZA: "AF",
204
+ ZM: "AF",
205
+ ZW: "AF"
206
+ };
207
+ function getContinent(countryCode) {
208
+ if (!countryCode) return null;
209
+ return COUNTRY_TO_CONTINENT[countryCode.toUpperCase()] ?? null;
210
+ }
211
+ export {
212
+ CONTINENTS,
213
+ getContinent
214
+ };
215
+ //# sourceMappingURL=continents.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/taxonomy/continents.ts"],"sourcesContent":["export type ContinentCode = 'AF' | 'AN' | 'AS' | 'EU' | 'NA' | 'OC' | 'SA';\n\nexport const CONTINENTS: ReadonlyArray<{ code: ContinentCode; name: string }> = [\n { code: 'AF', name: 'Africa' },\n { code: 'AN', name: 'Antarctica' },\n { code: 'AS', name: 'Asia' },\n { code: 'EU', name: 'Europe' },\n { code: 'NA', name: 'North America' },\n { code: 'OC', name: 'Oceania' },\n { code: 'SA', name: 'South America' },\n];\n\nconst COUNTRY_TO_CONTINENT: Record<string, ContinentCode> = {\n AD: 'EU',\n AE: 'AS',\n AF: 'AS',\n AG: 'NA',\n AL: 'EU',\n AM: 'AS',\n AO: 'AF',\n AR: 'SA',\n AT: 'EU',\n AU: 'OC',\n AZ: 'AS',\n BA: 'EU',\n BB: 'NA',\n BD: 'AS',\n BE: 'EU',\n BF: 'AF',\n BG: 'EU',\n BH: 'AS',\n BI: 'AF',\n BJ: 'AF',\n BN: 'AS',\n BO: 'SA',\n BR: 'SA',\n BS: 'NA',\n BT: 'AS',\n BW: 'AF',\n BY: 'EU',\n BZ: 'NA',\n CA: 'NA',\n CD: 'AF',\n CF: 'AF',\n CG: 'AF',\n CH: 'EU',\n CI: 'AF',\n CL: 'SA',\n CM: 'AF',\n CN: 'AS',\n CO: 'SA',\n CR: 'NA',\n CU: 'NA',\n CV: 'AF',\n CY: 'AS',\n CZ: 'EU',\n DE: 'EU',\n DJ: 'AF',\n DK: 'EU',\n DM: 'NA',\n DO: 'NA',\n DZ: 'AF',\n EC: 'SA',\n EE: 'EU',\n EG: 'AF',\n ER: 'AF',\n ES: 'EU',\n ET: 'AF',\n FI: 'EU',\n FJ: 'OC',\n FR: 'EU',\n GA: 'AF',\n GB: 'EU',\n GD: 'NA',\n GE: 'AS',\n GH: 'AF',\n GM: 'AF',\n GN: 'AF',\n GQ: 'AF',\n GR: 'EU',\n GT: 'NA',\n GW: 'AF',\n GY: 'SA',\n HK: 'AS',\n HN: 'NA',\n HR: 'EU',\n HT: 'NA',\n HU: 'EU',\n ID: 'AS',\n IE: 'EU',\n IL: 'AS',\n IN: 'AS',\n IQ: 'AS',\n IR: 'AS',\n IS: 'EU',\n IT: 'EU',\n JM: 'NA',\n JO: 'AS',\n JP: 'AS',\n KE: 'AF',\n KG: 'AS',\n KH: 'AS',\n KM: 'AF',\n KN: 'NA',\n KP: 'AS',\n KR: 'AS',\n KW: 'AS',\n KZ: 'AS',\n LA: 'AS',\n LB: 'AS',\n LC: 'NA',\n LI: 'EU',\n LK: 'AS',\n LR: 'AF',\n LS: 'AF',\n LT: 'EU',\n LU: 'EU',\n LV: 'EU',\n LY: 'AF',\n MA: 'AF',\n MC: 'EU',\n MD: 'EU',\n ME: 'EU',\n MG: 'AF',\n MK: 'EU',\n ML: 'AF',\n MM: 'AS',\n MN: 'AS',\n MO: 'AS',\n MR: 'AF',\n MT: 'EU',\n MU: 'AF',\n MV: 'AS',\n MW: 'AF',\n MX: 'NA',\n MY: 'AS',\n MZ: 'AF',\n NA: 'AF',\n NE: 'AF',\n NG: 'AF',\n NI: 'NA',\n NL: 'EU',\n NO: 'EU',\n NP: 'AS',\n NZ: 'OC',\n OM: 'AS',\n PA: 'NA',\n PE: 'SA',\n PG: 'OC',\n PH: 'AS',\n PK: 'AS',\n PL: 'EU',\n PR: 'NA',\n PS: 'AS',\n PT: 'EU',\n PY: 'SA',\n QA: 'AS',\n RO: 'EU',\n RS: 'EU',\n RU: 'EU',\n RW: 'AF',\n SA: 'AS',\n SB: 'OC',\n SC: 'AF',\n SD: 'AF',\n SE: 'EU',\n SG: 'AS',\n SI: 'EU',\n SK: 'EU',\n SL: 'AF',\n SM: 'EU',\n SN: 'AF',\n SO: 'AF',\n SR: 'SA',\n SS: 'AF',\n ST: 'AF',\n SV: 'NA',\n SY: 'AS',\n SZ: 'AF',\n TD: 'AF',\n TG: 'AF',\n TH: 'AS',\n TJ: 'AS',\n TL: 'AS',\n TM: 'AS',\n TN: 'AF',\n TO: 'OC',\n TR: 'AS',\n TT: 'NA',\n TW: 'AS',\n TZ: 'AF',\n UA: 'EU',\n UG: 'AF',\n US: 'NA',\n UY: 'SA',\n UZ: 'AS',\n VA: 'EU',\n VC: 'NA',\n VE: 'SA',\n VN: 'AS',\n VU: 'OC',\n WS: 'OC',\n XK: 'EU',\n YE: 'AS',\n ZA: 'AF',\n ZM: 'AF',\n ZW: 'AF',\n};\n\nexport function getContinent(countryCode: string): ContinentCode | null {\n if (!countryCode) return null;\n return COUNTRY_TO_CONTINENT[countryCode.toUpperCase()] ?? null;\n}\n"],"mappings":";AAEO,IAAM,aAAmE;AAAA,EAC9E,EAAE,MAAM,MAAM,MAAM,SAAS;AAAA,EAC7B,EAAE,MAAM,MAAM,MAAM,aAAa;AAAA,EACjC,EAAE,MAAM,MAAM,MAAM,OAAO;AAAA,EAC3B,EAAE,MAAM,MAAM,MAAM,SAAS;AAAA,EAC7B,EAAE,MAAM,MAAM,MAAM,gBAAgB;AAAA,EACpC,EAAE,MAAM,MAAM,MAAM,UAAU;AAAA,EAC9B,EAAE,MAAM,MAAM,MAAM,gBAAgB;AACtC;AAEA,IAAM,uBAAsD;AAAA,EAC1D,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AAAA,EACJ,IAAI;AACN;AAEO,SAAS,aAAa,aAA2C;AACtE,MAAI,CAAC,YAAa,QAAO;AACzB,SAAO,qBAAqB,YAAY,YAAY,CAAC,KAAK;AAC5D;","names":[]}
@@ -0,0 +1,203 @@
1
+ // src/taxonomy/countries.ts
2
+ var COUNTRIES = [
3
+ { code: "AF", name: "Afghanistan" },
4
+ { code: "AL", name: "Albania" },
5
+ { code: "DZ", name: "Algeria" },
6
+ { code: "AD", name: "Andorra" },
7
+ { code: "AO", name: "Angola" },
8
+ { code: "AG", name: "Antigua and Barbuda" },
9
+ { code: "AR", name: "Argentina" },
10
+ { code: "AM", name: "Armenia" },
11
+ { code: "AU", name: "Australia" },
12
+ { code: "AT", name: "Austria" },
13
+ { code: "AZ", name: "Azerbaijan" },
14
+ { code: "BS", name: "Bahamas" },
15
+ { code: "BH", name: "Bahrain" },
16
+ { code: "BD", name: "Bangladesh" },
17
+ { code: "BB", name: "Barbados" },
18
+ { code: "BY", name: "Belarus" },
19
+ { code: "BE", name: "Belgium" },
20
+ { code: "BZ", name: "Belize" },
21
+ { code: "BJ", name: "Benin" },
22
+ { code: "BT", name: "Bhutan" },
23
+ { code: "BO", name: "Bolivia" },
24
+ { code: "BA", name: "Bosnia and Herzegovina" },
25
+ { code: "BW", name: "Botswana" },
26
+ { code: "BR", name: "Brazil" },
27
+ { code: "BN", name: "Brunei" },
28
+ { code: "BG", name: "Bulgaria" },
29
+ { code: "BF", name: "Burkina Faso" },
30
+ { code: "BI", name: "Burundi" },
31
+ { code: "CV", name: "Cabo Verde" },
32
+ { code: "KH", name: "Cambodia" },
33
+ { code: "CM", name: "Cameroon" },
34
+ { code: "CA", name: "Canada" },
35
+ { code: "CF", name: "Central African Republic" },
36
+ { code: "TD", name: "Chad" },
37
+ { code: "CL", name: "Chile" },
38
+ { code: "CN", name: "China" },
39
+ { code: "CO", name: "Colombia" },
40
+ { code: "KM", name: "Comoros" },
41
+ { code: "CG", name: "Congo" },
42
+ { code: "CD", name: "Congo (DRC)" },
43
+ { code: "CR", name: "Costa Rica" },
44
+ { code: "CI", name: "Cote d'Ivoire" },
45
+ { code: "HR", name: "Croatia" },
46
+ { code: "CU", name: "Cuba" },
47
+ { code: "CY", name: "Cyprus" },
48
+ { code: "CZ", name: "Czechia" },
49
+ { code: "DK", name: "Denmark" },
50
+ { code: "DJ", name: "Djibouti" },
51
+ { code: "DM", name: "Dominica" },
52
+ { code: "DO", name: "Dominican Republic" },
53
+ { code: "EC", name: "Ecuador" },
54
+ { code: "EG", name: "Egypt" },
55
+ { code: "SV", name: "El Salvador" },
56
+ { code: "GQ", name: "Equatorial Guinea" },
57
+ { code: "ER", name: "Eritrea" },
58
+ { code: "EE", name: "Estonia" },
59
+ { code: "SZ", name: "Eswatini" },
60
+ { code: "ET", name: "Ethiopia" },
61
+ { code: "FJ", name: "Fiji" },
62
+ { code: "FI", name: "Finland" },
63
+ { code: "FR", name: "France" },
64
+ { code: "GA", name: "Gabon" },
65
+ { code: "GM", name: "Gambia" },
66
+ { code: "GE", name: "Georgia" },
67
+ { code: "DE", name: "Germany" },
68
+ { code: "GH", name: "Ghana" },
69
+ { code: "GR", name: "Greece" },
70
+ { code: "GD", name: "Grenada" },
71
+ { code: "GT", name: "Guatemala" },
72
+ { code: "GN", name: "Guinea" },
73
+ { code: "GW", name: "Guinea-Bissau" },
74
+ { code: "GY", name: "Guyana" },
75
+ { code: "HT", name: "Haiti" },
76
+ { code: "HN", name: "Honduras" },
77
+ { code: "HU", name: "Hungary" },
78
+ { code: "IS", name: "Iceland" },
79
+ { code: "IN", name: "India" },
80
+ { code: "ID", name: "Indonesia" },
81
+ { code: "IR", name: "Iran" },
82
+ { code: "IQ", name: "Iraq" },
83
+ { code: "IE", name: "Ireland" },
84
+ { code: "IL", name: "Israel" },
85
+ { code: "IT", name: "Italy" },
86
+ { code: "JM", name: "Jamaica" },
87
+ { code: "JP", name: "Japan" },
88
+ { code: "JO", name: "Jordan" },
89
+ { code: "KZ", name: "Kazakhstan" },
90
+ { code: "KE", name: "Kenya" },
91
+ { code: "KI", name: "Kiribati" },
92
+ { code: "KP", name: "North Korea" },
93
+ { code: "KR", name: "South Korea" },
94
+ { code: "KW", name: "Kuwait" },
95
+ { code: "KG", name: "Kyrgyzstan" },
96
+ { code: "LA", name: "Laos" },
97
+ { code: "LV", name: "Latvia" },
98
+ { code: "LB", name: "Lebanon" },
99
+ { code: "LS", name: "Lesotho" },
100
+ { code: "LR", name: "Liberia" },
101
+ { code: "LY", name: "Libya" },
102
+ { code: "LI", name: "Liechtenstein" },
103
+ { code: "LT", name: "Lithuania" },
104
+ { code: "LU", name: "Luxembourg" },
105
+ { code: "MG", name: "Madagascar" },
106
+ { code: "MW", name: "Malawi" },
107
+ { code: "MY", name: "Malaysia" },
108
+ { code: "MV", name: "Maldives" },
109
+ { code: "ML", name: "Mali" },
110
+ { code: "MT", name: "Malta" },
111
+ { code: "MH", name: "Marshall Islands" },
112
+ { code: "MR", name: "Mauritania" },
113
+ { code: "MU", name: "Mauritius" },
114
+ { code: "MX", name: "Mexico" },
115
+ { code: "FM", name: "Micronesia" },
116
+ { code: "MD", name: "Moldova" },
117
+ { code: "MC", name: "Monaco" },
118
+ { code: "MN", name: "Mongolia" },
119
+ { code: "ME", name: "Montenegro" },
120
+ { code: "MA", name: "Morocco" },
121
+ { code: "MZ", name: "Mozambique" },
122
+ { code: "MM", name: "Myanmar" },
123
+ { code: "NA", name: "Namibia" },
124
+ { code: "NR", name: "Nauru" },
125
+ { code: "NP", name: "Nepal" },
126
+ { code: "NL", name: "Netherlands" },
127
+ { code: "NZ", name: "New Zealand" },
128
+ { code: "NI", name: "Nicaragua" },
129
+ { code: "NE", name: "Niger" },
130
+ { code: "NG", name: "Nigeria" },
131
+ { code: "MK", name: "North Macedonia" },
132
+ { code: "NO", name: "Norway" },
133
+ { code: "OM", name: "Oman" },
134
+ { code: "PK", name: "Pakistan" },
135
+ { code: "PW", name: "Palau" },
136
+ { code: "PS", name: "Palestine" },
137
+ { code: "PA", name: "Panama" },
138
+ { code: "PG", name: "Papua New Guinea" },
139
+ { code: "PY", name: "Paraguay" },
140
+ { code: "PE", name: "Peru" },
141
+ { code: "PH", name: "Philippines" },
142
+ { code: "PL", name: "Poland" },
143
+ { code: "PT", name: "Portugal" },
144
+ { code: "QA", name: "Qatar" },
145
+ { code: "RO", name: "Romania" },
146
+ { code: "RU", name: "Russia" },
147
+ { code: "RW", name: "Rwanda" },
148
+ { code: "KN", name: "Saint Kitts and Nevis" },
149
+ { code: "LC", name: "Saint Lucia" },
150
+ { code: "VC", name: "Saint Vincent and the Grenadines" },
151
+ { code: "WS", name: "Samoa" },
152
+ { code: "SM", name: "San Marino" },
153
+ { code: "ST", name: "Sao Tome and Principe" },
154
+ { code: "SA", name: "Saudi Arabia" },
155
+ { code: "SN", name: "Senegal" },
156
+ { code: "RS", name: "Serbia" },
157
+ { code: "SC", name: "Seychelles" },
158
+ { code: "SL", name: "Sierra Leone" },
159
+ { code: "SG", name: "Singapore" },
160
+ { code: "SK", name: "Slovakia" },
161
+ { code: "SI", name: "Slovenia" },
162
+ { code: "SB", name: "Solomon Islands" },
163
+ { code: "SO", name: "Somalia" },
164
+ { code: "ZA", name: "South Africa" },
165
+ { code: "SS", name: "South Sudan" },
166
+ { code: "ES", name: "Spain" },
167
+ { code: "LK", name: "Sri Lanka" },
168
+ { code: "SD", name: "Sudan" },
169
+ { code: "SR", name: "Suriname" },
170
+ { code: "SE", name: "Sweden" },
171
+ { code: "CH", name: "Switzerland" },
172
+ { code: "SY", name: "Syria" },
173
+ { code: "TW", name: "Taiwan" },
174
+ { code: "TJ", name: "Tajikistan" },
175
+ { code: "TZ", name: "Tanzania" },
176
+ { code: "TH", name: "Thailand" },
177
+ { code: "TL", name: "Timor-Leste" },
178
+ { code: "TG", name: "Togo" },
179
+ { code: "TO", name: "Tonga" },
180
+ { code: "TT", name: "Trinidad and Tobago" },
181
+ { code: "TN", name: "Tunisia" },
182
+ { code: "TR", name: "Turkey" },
183
+ { code: "TM", name: "Turkmenistan" },
184
+ { code: "TV", name: "Tuvalu" },
185
+ { code: "UG", name: "Uganda" },
186
+ { code: "UA", name: "Ukraine" },
187
+ { code: "AE", name: "United Arab Emirates" },
188
+ { code: "GB", name: "United Kingdom" },
189
+ { code: "US", name: "United States" },
190
+ { code: "UY", name: "Uruguay" },
191
+ { code: "UZ", name: "Uzbekistan" },
192
+ { code: "VU", name: "Vanuatu" },
193
+ { code: "VA", name: "Vatican City" },
194
+ { code: "VE", name: "Venezuela" },
195
+ { code: "VN", name: "Vietnam" },
196
+ { code: "YE", name: "Yemen" },
197
+ { code: "ZM", name: "Zambia" },
198
+ { code: "ZW", name: "Zimbabwe" }
199
+ ];
200
+ export {
201
+ COUNTRIES
202
+ };
203
+ //# sourceMappingURL=countries.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/taxonomy/countries.ts"],"sourcesContent":["/** ISO 3166-1 country list for local fallback when GeoNames is unavailable. */\nexport const COUNTRIES: ReadonlyArray<{ code: string; name: string }> = [\n { code: 'AF', name: 'Afghanistan' },\n { code: 'AL', name: 'Albania' },\n { code: 'DZ', name: 'Algeria' },\n { code: 'AD', name: 'Andorra' },\n { code: 'AO', name: 'Angola' },\n { code: 'AG', name: 'Antigua and Barbuda' },\n { code: 'AR', name: 'Argentina' },\n { code: 'AM', name: 'Armenia' },\n { code: 'AU', name: 'Australia' },\n { code: 'AT', name: 'Austria' },\n { code: 'AZ', name: 'Azerbaijan' },\n { code: 'BS', name: 'Bahamas' },\n { code: 'BH', name: 'Bahrain' },\n { code: 'BD', name: 'Bangladesh' },\n { code: 'BB', name: 'Barbados' },\n { code: 'BY', name: 'Belarus' },\n { code: 'BE', name: 'Belgium' },\n { code: 'BZ', name: 'Belize' },\n { code: 'BJ', name: 'Benin' },\n { code: 'BT', name: 'Bhutan' },\n { code: 'BO', name: 'Bolivia' },\n { code: 'BA', name: 'Bosnia and Herzegovina' },\n { code: 'BW', name: 'Botswana' },\n { code: 'BR', name: 'Brazil' },\n { code: 'BN', name: 'Brunei' },\n { code: 'BG', name: 'Bulgaria' },\n { code: 'BF', name: 'Burkina Faso' },\n { code: 'BI', name: 'Burundi' },\n { code: 'CV', name: 'Cabo Verde' },\n { code: 'KH', name: 'Cambodia' },\n { code: 'CM', name: 'Cameroon' },\n { code: 'CA', name: 'Canada' },\n { code: 'CF', name: 'Central African Republic' },\n { code: 'TD', name: 'Chad' },\n { code: 'CL', name: 'Chile' },\n { code: 'CN', name: 'China' },\n { code: 'CO', name: 'Colombia' },\n { code: 'KM', name: 'Comoros' },\n { code: 'CG', name: 'Congo' },\n { code: 'CD', name: 'Congo (DRC)' },\n { code: 'CR', name: 'Costa Rica' },\n { code: 'CI', name: \"Cote d'Ivoire\" },\n { code: 'HR', name: 'Croatia' },\n { code: 'CU', name: 'Cuba' },\n { code: 'CY', name: 'Cyprus' },\n { code: 'CZ', name: 'Czechia' },\n { code: 'DK', name: 'Denmark' },\n { code: 'DJ', name: 'Djibouti' },\n { code: 'DM', name: 'Dominica' },\n { code: 'DO', name: 'Dominican Republic' },\n { code: 'EC', name: 'Ecuador' },\n { code: 'EG', name: 'Egypt' },\n { code: 'SV', name: 'El Salvador' },\n { code: 'GQ', name: 'Equatorial Guinea' },\n { code: 'ER', name: 'Eritrea' },\n { code: 'EE', name: 'Estonia' },\n { code: 'SZ', name: 'Eswatini' },\n { code: 'ET', name: 'Ethiopia' },\n { code: 'FJ', name: 'Fiji' },\n { code: 'FI', name: 'Finland' },\n { code: 'FR', name: 'France' },\n { code: 'GA', name: 'Gabon' },\n { code: 'GM', name: 'Gambia' },\n { code: 'GE', name: 'Georgia' },\n { code: 'DE', name: 'Germany' },\n { code: 'GH', name: 'Ghana' },\n { code: 'GR', name: 'Greece' },\n { code: 'GD', name: 'Grenada' },\n { code: 'GT', name: 'Guatemala' },\n { code: 'GN', name: 'Guinea' },\n { code: 'GW', name: 'Guinea-Bissau' },\n { code: 'GY', name: 'Guyana' },\n { code: 'HT', name: 'Haiti' },\n { code: 'HN', name: 'Honduras' },\n { code: 'HU', name: 'Hungary' },\n { code: 'IS', name: 'Iceland' },\n { code: 'IN', name: 'India' },\n { code: 'ID', name: 'Indonesia' },\n { code: 'IR', name: 'Iran' },\n { code: 'IQ', name: 'Iraq' },\n { code: 'IE', name: 'Ireland' },\n { code: 'IL', name: 'Israel' },\n { code: 'IT', name: 'Italy' },\n { code: 'JM', name: 'Jamaica' },\n { code: 'JP', name: 'Japan' },\n { code: 'JO', name: 'Jordan' },\n { code: 'KZ', name: 'Kazakhstan' },\n { code: 'KE', name: 'Kenya' },\n { code: 'KI', name: 'Kiribati' },\n { code: 'KP', name: 'North Korea' },\n { code: 'KR', name: 'South Korea' },\n { code: 'KW', name: 'Kuwait' },\n { code: 'KG', name: 'Kyrgyzstan' },\n { code: 'LA', name: 'Laos' },\n { code: 'LV', name: 'Latvia' },\n { code: 'LB', name: 'Lebanon' },\n { code: 'LS', name: 'Lesotho' },\n { code: 'LR', name: 'Liberia' },\n { code: 'LY', name: 'Libya' },\n { code: 'LI', name: 'Liechtenstein' },\n { code: 'LT', name: 'Lithuania' },\n { code: 'LU', name: 'Luxembourg' },\n { code: 'MG', name: 'Madagascar' },\n { code: 'MW', name: 'Malawi' },\n { code: 'MY', name: 'Malaysia' },\n { code: 'MV', name: 'Maldives' },\n { code: 'ML', name: 'Mali' },\n { code: 'MT', name: 'Malta' },\n { code: 'MH', name: 'Marshall Islands' },\n { code: 'MR', name: 'Mauritania' },\n { code: 'MU', name: 'Mauritius' },\n { code: 'MX', name: 'Mexico' },\n { code: 'FM', name: 'Micronesia' },\n { code: 'MD', name: 'Moldova' },\n { code: 'MC', name: 'Monaco' },\n { code: 'MN', name: 'Mongolia' },\n { code: 'ME', name: 'Montenegro' },\n { code: 'MA', name: 'Morocco' },\n { code: 'MZ', name: 'Mozambique' },\n { code: 'MM', name: 'Myanmar' },\n { code: 'NA', name: 'Namibia' },\n { code: 'NR', name: 'Nauru' },\n { code: 'NP', name: 'Nepal' },\n { code: 'NL', name: 'Netherlands' },\n { code: 'NZ', name: 'New Zealand' },\n { code: 'NI', name: 'Nicaragua' },\n { code: 'NE', name: 'Niger' },\n { code: 'NG', name: 'Nigeria' },\n { code: 'MK', name: 'North Macedonia' },\n { code: 'NO', name: 'Norway' },\n { code: 'OM', name: 'Oman' },\n { code: 'PK', name: 'Pakistan' },\n { code: 'PW', name: 'Palau' },\n { code: 'PS', name: 'Palestine' },\n { code: 'PA', name: 'Panama' },\n { code: 'PG', name: 'Papua New Guinea' },\n { code: 'PY', name: 'Paraguay' },\n { code: 'PE', name: 'Peru' },\n { code: 'PH', name: 'Philippines' },\n { code: 'PL', name: 'Poland' },\n { code: 'PT', name: 'Portugal' },\n { code: 'QA', name: 'Qatar' },\n { code: 'RO', name: 'Romania' },\n { code: 'RU', name: 'Russia' },\n { code: 'RW', name: 'Rwanda' },\n { code: 'KN', name: 'Saint Kitts and Nevis' },\n { code: 'LC', name: 'Saint Lucia' },\n { code: 'VC', name: 'Saint Vincent and the Grenadines' },\n { code: 'WS', name: 'Samoa' },\n { code: 'SM', name: 'San Marino' },\n { code: 'ST', name: 'Sao Tome and Principe' },\n { code: 'SA', name: 'Saudi Arabia' },\n { code: 'SN', name: 'Senegal' },\n { code: 'RS', name: 'Serbia' },\n { code: 'SC', name: 'Seychelles' },\n { code: 'SL', name: 'Sierra Leone' },\n { code: 'SG', name: 'Singapore' },\n { code: 'SK', name: 'Slovakia' },\n { code: 'SI', name: 'Slovenia' },\n { code: 'SB', name: 'Solomon Islands' },\n { code: 'SO', name: 'Somalia' },\n { code: 'ZA', name: 'South Africa' },\n { code: 'SS', name: 'South Sudan' },\n { code: 'ES', name: 'Spain' },\n { code: 'LK', name: 'Sri Lanka' },\n { code: 'SD', name: 'Sudan' },\n { code: 'SR', name: 'Suriname' },\n { code: 'SE', name: 'Sweden' },\n { code: 'CH', name: 'Switzerland' },\n { code: 'SY', name: 'Syria' },\n { code: 'TW', name: 'Taiwan' },\n { code: 'TJ', name: 'Tajikistan' },\n { code: 'TZ', name: 'Tanzania' },\n { code: 'TH', name: 'Thailand' },\n { code: 'TL', name: 'Timor-Leste' },\n { code: 'TG', name: 'Togo' },\n { code: 'TO', name: 'Tonga' },\n { code: 'TT', name: 'Trinidad and Tobago' },\n { code: 'TN', name: 'Tunisia' },\n { code: 'TR', name: 'Turkey' },\n { code: 'TM', name: 'Turkmenistan' },\n { code: 'TV', name: 'Tuvalu' },\n { code: 'UG', name: 'Uganda' },\n { code: 'UA', name: 'Ukraine' },\n { code: 'AE', name: 'United Arab Emirates' },\n { code: 'GB', name: 'United Kingdom' },\n { code: 'US', name: 'United States' },\n { code: 'UY', name: 'Uruguay' },\n { code: 'UZ', name: 'Uzbekistan' },\n { code: 'VU', name: 'Vanuatu' },\n { code: 'VA', name: 'Vatican City' },\n { code: 'VE', name: 'Venezuela' },\n { code: 'VN', name: 'Vietnam' },\n { code: 'YE', name: 'Yemen' },\n { code: 'ZM', name: 'Zambia' },\n { code: 'ZW', name: 'Zimbabwe' },\n] as const;\n"],"mappings":"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","names":[]}
@@ -0,0 +1,37 @@
1
+ // src/taxonomy/course-role.ts
2
+ var COURSE_ROLE_TAKEN = "id.sifa.defs#courseTaken";
3
+ var COURSE_ROLE_TAUGHT = "id.sifa.defs#courseTaught";
4
+ var COURSE_ROLE_TEACHING_ASSISTANT = "id.sifa.defs#courseTeachingAssistant";
5
+ var COURSE_ROLE_OPTIONS = [
6
+ { value: COURSE_ROLE_TAKEN, label: "Student" },
7
+ { value: COURSE_ROLE_TAUGHT, label: "Instructor" },
8
+ { value: COURSE_ROLE_TEACHING_ASSISTANT, label: "Teaching assistant" }
9
+ ];
10
+ var COURSE_ROLE_LABELS = Object.fromEntries(
11
+ COURSE_ROLE_OPTIONS.map((o) => [o.value, o.label])
12
+ );
13
+ function getCourseRoleLabel(value) {
14
+ if (!value) return void 0;
15
+ return COURSE_ROLE_LABELS[value];
16
+ }
17
+ var TEACHING_ROLES = /* @__PURE__ */ new Set([COURSE_ROLE_TAUGHT, COURSE_ROLE_TEACHING_ASSISTANT]);
18
+ function isTeachingCourse(course) {
19
+ return !!course.role && TEACHING_ROLES.has(course.role);
20
+ }
21
+ function splitCoursesByRole(courses) {
22
+ const taken = [];
23
+ const teaching = [];
24
+ for (const c of courses) (isTeachingCourse(c) ? teaching : taken).push(c);
25
+ return { taken, teaching };
26
+ }
27
+ export {
28
+ COURSE_ROLE_LABELS,
29
+ COURSE_ROLE_OPTIONS,
30
+ COURSE_ROLE_TAKEN,
31
+ COURSE_ROLE_TAUGHT,
32
+ COURSE_ROLE_TEACHING_ASSISTANT,
33
+ getCourseRoleLabel,
34
+ isTeachingCourse,
35
+ splitCoursesByRole
36
+ };
37
+ //# sourceMappingURL=course-role.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/taxonomy/course-role.ts"],"sourcesContent":["/**\n * Course-role taxonomy. Mirrors `id.sifa.defs#courseRole.knownValues` from\n * sifa-lexicons. A course record without a role is a course the user took;\n * taught and assisted courses render under the \"Teaching\" heading.\n */\n\nexport interface CourseRoleOption {\n value: string;\n label: string;\n}\n\nexport const COURSE_ROLE_TAKEN = 'id.sifa.defs#courseTaken';\nexport const COURSE_ROLE_TAUGHT = 'id.sifa.defs#courseTaught';\nexport const COURSE_ROLE_TEACHING_ASSISTANT = 'id.sifa.defs#courseTeachingAssistant';\n\nexport const COURSE_ROLE_OPTIONS: CourseRoleOption[] = [\n { value: COURSE_ROLE_TAKEN, label: 'Student' },\n { value: COURSE_ROLE_TAUGHT, label: 'Instructor' },\n { value: COURSE_ROLE_TEACHING_ASSISTANT, label: 'Teaching assistant' },\n];\n\nexport const COURSE_ROLE_LABELS: Record<string, string> = Object.fromEntries(\n COURSE_ROLE_OPTIONS.map((o) => [o.value, o.label]),\n);\n\n/**\n * Resolve the label for a course-role token. An unknown token resolves to\n * `undefined` rather than the raw value, so a token a client has not learned\n * never shows up as a raw `id.sifa.defs#...` string.\n */\nexport function getCourseRoleLabel(value: string | undefined | null): string | undefined {\n if (!value) return undefined;\n return COURSE_ROLE_LABELS[value];\n}\n\nconst TEACHING_ROLES = new Set([COURSE_ROLE_TAUGHT, COURSE_ROLE_TEACHING_ASSISTANT]);\n\n/**\n * Whether a course is one the user taught or assisted with. An absent, taken,\n * or unknown role counts as taken, so a record is never dropped from the\n * profile when a client meets a token it has not learned.\n */\nexport function isTeachingCourse(course: { role?: string | null }): boolean {\n return !!course.role && TEACHING_ROLES.has(course.role);\n}\n\n/** Split courses into the ones taken and the ones taught or assisted, keeping order. */\nexport function splitCoursesByRole<T extends { role?: string | null }>(\n courses: readonly T[],\n): { taken: T[]; teaching: T[] } {\n const taken: T[] = [];\n const teaching: T[] = [];\n for (const c of courses) (isTeachingCourse(c) ? teaching : taken).push(c);\n return { taken, teaching };\n}\n"],"mappings":";AAWO,IAAM,oBAAoB;AAC1B,IAAM,qBAAqB;AAC3B,IAAM,iCAAiC;AAEvC,IAAM,sBAA0C;AAAA,EACrD,EAAE,OAAO,mBAAmB,OAAO,UAAU;AAAA,EAC7C,EAAE,OAAO,oBAAoB,OAAO,aAAa;AAAA,EACjD,EAAE,OAAO,gCAAgC,OAAO,qBAAqB;AACvE;AAEO,IAAM,qBAA6C,OAAO;AAAA,EAC/D,oBAAoB,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC;AACnD;AAOO,SAAS,mBAAmB,OAAsD;AACvF,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,mBAAmB,KAAK;AACjC;AAEA,IAAM,iBAAiB,oBAAI,IAAI,CAAC,oBAAoB,8BAA8B,CAAC;AAO5E,SAAS,iBAAiB,QAA2C;AAC1E,SAAO,CAAC,CAAC,OAAO,QAAQ,eAAe,IAAI,OAAO,IAAI;AACxD;AAGO,SAAS,mBACd,SAC+B;AAC/B,QAAM,QAAa,CAAC;AACpB,QAAM,WAAgB,CAAC;AACvB,aAAW,KAAK,QAAS,EAAC,iBAAiB,CAAC,IAAI,WAAW,OAAO,KAAK,CAAC;AACxE,SAAO,EAAE,OAAO,SAAS;AAC3B;","names":[]}
@@ -0,0 +1,82 @@
1
+ // src/taxonomy/employment-type.ts
2
+ var EMPLOYMENT_TYPE_GROUPS = [
3
+ {
4
+ label: "Employee",
5
+ items: [
6
+ { value: "id.sifa.defs#fullTime", label: "Full-time" },
7
+ { value: "id.sifa.defs#partTime", label: "Part-time" },
8
+ { value: "id.sifa.defs#temporary", label: "Temporary" },
9
+ { value: "id.sifa.defs#seasonal", label: "Seasonal" }
10
+ ]
11
+ },
12
+ {
13
+ label: "Independent",
14
+ items: [
15
+ { value: "id.sifa.defs#contract", label: "Contract" },
16
+ { value: "id.sifa.defs#freelance", label: "Freelance" },
17
+ { value: "id.sifa.defs#selfEmployed", label: "Self-employed" },
18
+ { value: "id.sifa.defs#independentWork", label: "Independent work" }
19
+ ]
20
+ },
21
+ {
22
+ label: "Training & early-career",
23
+ items: [
24
+ { value: "id.sifa.defs#internship", label: "Internship" },
25
+ { value: "id.sifa.defs#apprenticeship", label: "Apprenticeship" },
26
+ { value: "id.sifa.defs#fellowship", label: "Fellowship" },
27
+ { value: "id.sifa.defs#trainee", label: "Trainee" }
28
+ ]
29
+ },
30
+ // A non-executive director is normally not an employee, and neither is a volunteer:
31
+ // this axis was never payroll-only. These roles carry a title, duties and a term, so
32
+ // they belong on a position rather than on the investment record.
33
+ {
34
+ label: "Governance & advisory",
35
+ items: [
36
+ { value: "id.sifa.defs#boardMember", label: "Board member" },
37
+ { value: "id.sifa.defs#boardObserver", label: "Board observer" },
38
+ { value: "id.sifa.defs#advisor", label: "Advisor" }
39
+ ]
40
+ }
41
+ ];
42
+ var EMPLOYMENT_TYPE_LABELS = {
43
+ ...Object.fromEntries(
44
+ EMPLOYMENT_TYPE_GROUPS.flatMap((g) => g.items).map((o) => [o.value, o.label])
45
+ ),
46
+ // `volunteer` is retained for legacy records but no longer offered in the
47
+ // editor dropdown. Volunteering is a distinct thing (no payroll, no formal
48
+ // role, no obligation) rather than a kind of employment, so it lives in the
49
+ // dedicated `id.sifa.profile.volunteering` section, not on the employment-type
50
+ // axis. Kept here so old positions still render a human label, not the raw NSID.
51
+ "id.sifa.defs#volunteer": "Volunteer"
52
+ };
53
+ function getEmploymentTypeLabel(value) {
54
+ if (!value) return void 0;
55
+ return EMPLOYMENT_TYPE_LABELS[value] ?? value;
56
+ }
57
+ var COMPANY_OPTIONAL_EMPLOYMENT_TYPES = new Set(
58
+ EMPLOYMENT_TYPE_GROUPS.find((g) => g.label === "Independent")?.items.map((i) => i.value) ?? []
59
+ );
60
+ function isCompanyRequired(employmentType) {
61
+ if (!employmentType) return true;
62
+ return !COMPANY_OPTIONAL_EMPLOYMENT_TYPES.has(employmentType);
63
+ }
64
+ var ON_BEHALF_OF_EMPLOYMENT_TYPES = new Set(
65
+ EMPLOYMENT_TYPE_GROUPS.find((g) => g.label === "Governance & advisory")?.items.map(
66
+ (i) => i.value
67
+ ) ?? []
68
+ );
69
+ function isOnBehalfOfApplicable(employmentType) {
70
+ if (!employmentType) return false;
71
+ return ON_BEHALF_OF_EMPLOYMENT_TYPES.has(employmentType);
72
+ }
73
+ export {
74
+ COMPANY_OPTIONAL_EMPLOYMENT_TYPES,
75
+ EMPLOYMENT_TYPE_GROUPS,
76
+ EMPLOYMENT_TYPE_LABELS,
77
+ ON_BEHALF_OF_EMPLOYMENT_TYPES,
78
+ getEmploymentTypeLabel,
79
+ isCompanyRequired,
80
+ isOnBehalfOfApplicable
81
+ };
82
+ //# sourceMappingURL=employment-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/taxonomy/employment-type.ts"],"sourcesContent":["/**\n * Employment-type taxonomy. Mirrors `id.sifa.defs#employmentType.knownValues`\n * from sifa-lexicons. Surfaces both a flat NSID→label map (for read-only\n * display) and a grouped structure (for editor dropdowns).\n */\n\nexport interface EmploymentTypeOption {\n value: string;\n label: string;\n}\n\nexport interface EmploymentTypeGroup {\n label: string;\n items: EmploymentTypeOption[];\n}\n\nexport const EMPLOYMENT_TYPE_GROUPS: EmploymentTypeGroup[] = [\n {\n label: 'Employee',\n items: [\n { value: 'id.sifa.defs#fullTime', label: 'Full-time' },\n { value: 'id.sifa.defs#partTime', label: 'Part-time' },\n { value: 'id.sifa.defs#temporary', label: 'Temporary' },\n { value: 'id.sifa.defs#seasonal', label: 'Seasonal' },\n ],\n },\n {\n label: 'Independent',\n items: [\n { value: 'id.sifa.defs#contract', label: 'Contract' },\n { value: 'id.sifa.defs#freelance', label: 'Freelance' },\n { value: 'id.sifa.defs#selfEmployed', label: 'Self-employed' },\n { value: 'id.sifa.defs#independentWork', label: 'Independent work' },\n ],\n },\n {\n label: 'Training & early-career',\n items: [\n { value: 'id.sifa.defs#internship', label: 'Internship' },\n { value: 'id.sifa.defs#apprenticeship', label: 'Apprenticeship' },\n { value: 'id.sifa.defs#fellowship', label: 'Fellowship' },\n { value: 'id.sifa.defs#trainee', label: 'Trainee' },\n ],\n },\n // A non-executive director is normally not an employee, and neither is a volunteer:\n // this axis was never payroll-only. These roles carry a title, duties and a term, so\n // they belong on a position rather than on the investment record.\n {\n label: 'Governance & advisory',\n items: [\n { value: 'id.sifa.defs#boardMember', label: 'Board member' },\n { value: 'id.sifa.defs#boardObserver', label: 'Board observer' },\n { value: 'id.sifa.defs#advisor', label: 'Advisor' },\n ],\n },\n];\n\nexport const EMPLOYMENT_TYPE_LABELS: Record<string, string> = {\n ...Object.fromEntries(\n EMPLOYMENT_TYPE_GROUPS.flatMap((g) => g.items).map((o) => [o.value, o.label]),\n ),\n // `volunteer` is retained for legacy records but no longer offered in the\n // editor dropdown. Volunteering is a distinct thing (no payroll, no formal\n // role, no obligation) rather than a kind of employment, so it lives in the\n // dedicated `id.sifa.profile.volunteering` section, not on the employment-type\n // axis. Kept here so old positions still render a human label, not the raw NSID.\n 'id.sifa.defs#volunteer': 'Volunteer',\n};\n\n/** Resolve a label for an employment-type token. Falls back to the raw value. */\nexport function getEmploymentTypeLabel(value: string | undefined | null): string | undefined {\n if (!value) return undefined;\n return EMPLOYMENT_TYPE_LABELS[value] ?? value;\n}\n\n/**\n * Employment-type group whose members may omit a company name: independent\n * workers (contract, freelance, self-employed, independent work) often have no\n * separately named or registered entity. Derived from the group rather than a\n * hand-maintained list so it stays in sync if the group's membership changes.\n */\nexport const COMPANY_OPTIONAL_EMPLOYMENT_TYPES: ReadonlySet<string> = new Set(\n EMPLOYMENT_TYPE_GROUPS.find((g) => g.label === 'Independent')?.items.map((i) => i.value) ?? [],\n);\n\n/**\n * Whether a company name is required for a position with the given employment\n * type. Company is optional for the Independent group; required otherwise,\n * including when the employment type is unspecified (the conservative default,\n * since most positions are at a named organization).\n */\nexport function isCompanyRequired(employmentType: string | undefined | null): boolean {\n if (!employmentType) return true;\n return !COMPANY_OPTIONAL_EMPLOYMENT_TYPES.has(employmentType);\n}\n\n/**\n * Employment types for which the `onBehalfOf` disclosure is meaningful — a seat or\n * advisory role can be held as someone else's representative, most often a fund whose\n * board seat it is. Derived from the group rather than hand-listed so it cannot drift.\n */\nexport const ON_BEHALF_OF_EMPLOYMENT_TYPES: ReadonlySet<string> = new Set(\n EMPLOYMENT_TYPE_GROUPS.find((g) => g.label === 'Governance & advisory')?.items.map(\n (i) => i.value,\n ) ?? [],\n);\n\n/**\n * Whether to offer the `onBehalfOf` disclosure for a given employment type. False when\n * the type is unspecified: a full-time employee represents nobody, and surfacing the\n * field on every position form would put a rare disclosure in front of everyone.\n */\nexport function isOnBehalfOfApplicable(employmentType: string | undefined | null): boolean {\n if (!employmentType) return false;\n return ON_BEHALF_OF_EMPLOYMENT_TYPES.has(employmentType);\n}\n"],"mappings":";AAgBO,IAAM,yBAAgD;AAAA,EAC3D;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,MACL,EAAE,OAAO,yBAAyB,OAAO,YAAY;AAAA,MACrD,EAAE,OAAO,yBAAyB,OAAO,YAAY;AAAA,MACrD,EAAE,OAAO,0BAA0B,OAAO,YAAY;AAAA,MACtD,EAAE,OAAO,yBAAyB,OAAO,WAAW;AAAA,IACtD;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,MACL,EAAE,OAAO,yBAAyB,OAAO,WAAW;AAAA,MACpD,EAAE,OAAO,0BAA0B,OAAO,YAAY;AAAA,MACtD,EAAE,OAAO,6BAA6B,OAAO,gBAAgB;AAAA,MAC7D,EAAE,OAAO,gCAAgC,OAAO,mBAAmB;AAAA,IACrE;AAAA,EACF;AAAA,EACA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,MACL,EAAE,OAAO,2BAA2B,OAAO,aAAa;AAAA,MACxD,EAAE,OAAO,+BAA+B,OAAO,iBAAiB;AAAA,MAChE,EAAE,OAAO,2BAA2B,OAAO,aAAa;AAAA,MACxD,EAAE,OAAO,wBAAwB,OAAO,UAAU;AAAA,IACpD;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAIA;AAAA,IACE,OAAO;AAAA,IACP,OAAO;AAAA,MACL,EAAE,OAAO,4BAA4B,OAAO,eAAe;AAAA,MAC3D,EAAE,OAAO,8BAA8B,OAAO,iBAAiB;AAAA,MAC/D,EAAE,OAAO,wBAAwB,OAAO,UAAU;AAAA,IACpD;AAAA,EACF;AACF;AAEO,IAAM,yBAAiD;AAAA,EAC5D,GAAG,OAAO;AAAA,IACR,uBAAuB,QAAQ,CAAC,MAAM,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC;AAAA,EAC9E;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,0BAA0B;AAC5B;AAGO,SAAS,uBAAuB,OAAsD;AAC3F,MAAI,CAAC,MAAO,QAAO;AACnB,SAAO,uBAAuB,KAAK,KAAK;AAC1C;AAQO,IAAM,oCAAyD,IAAI;AAAA,EACxE,uBAAuB,KAAK,CAAC,MAAM,EAAE,UAAU,aAAa,GAAG,MAAM,IAAI,CAAC,MAAM,EAAE,KAAK,KAAK,CAAC;AAC/F;AAQO,SAAS,kBAAkB,gBAAoD;AACpF,MAAI,CAAC,eAAgB,QAAO;AAC5B,SAAO,CAAC,kCAAkC,IAAI,cAAc;AAC9D;AAOO,IAAM,gCAAqD,IAAI;AAAA,EACpE,uBAAuB,KAAK,CAAC,MAAM,EAAE,UAAU,uBAAuB,GAAG,MAAM;AAAA,IAC7E,CAAC,MAAM,EAAE;AAAA,EACX,KAAK,CAAC;AACR;AAOO,SAAS,uBAAuB,gBAAoD;AACzF,MAAI,CAAC,eAAgB,QAAO;AAC5B,SAAO,8BAA8B,IAAI,cAAc;AACzD;","names":[]}