diff --git a/packages/components/react-web/src/Flag/Flag.stories.js b/packages/components/react-web/src/Flag/Flag.stories.js
new file mode 100644
index 00000000..403517b1
--- /dev/null
+++ b/packages/components/react-web/src/Flag/Flag.stories.js
@@ -0,0 +1,61 @@
+import React from 'react';
+import { flags } from '@compassion-gds/elements';
+
+import FlagAustralia from './PartnerCountries/FlagAustralia';
+
+import { ProgramCountries, PartnerCountries } from './index';
+
+export default {
+ title: 'Components/Flag',
+ component: FlagAustralia,
+ args: {
+ programFlags: Object.keys(flags.programCountries),
+ partnerFlags: Object.keys(flags.partnerCountries),
+ },
+ argTypes: {},
+};
+export const Sizing = (args) => (
+ <>
+
+
+
+
+
+ >
+);
+
+export const ProgramVariants = (args) => (
+
+ {args.programFlags.map((name) => {
+ const flagName = `Flag${name[0].toUpperCase()}${name.substr(1)}`;
+ const Flag = ProgramCountries[flagName];
+
+ return (
+ -
+ {name}
+
+ );
+ })}
+
+);
+
+export const PartnerVariants = (args) => (
+
+ {args.partnerFlags.map((name) => {
+ const flagName = `Flag${name[0].toUpperCase()}${name.substr(1)}`;
+ const Flag = PartnerCountries[flagName];
+
+ return (
+ -
+ {name}
+
+ );
+ })}
+
+);
diff --git a/packages/components/react-web/src/Flag/Flag.styles.js b/packages/components/react-web/src/Flag/Flag.styles.js
new file mode 100644
index 00000000..ca7cd553
--- /dev/null
+++ b/packages/components/react-web/src/Flag/Flag.styles.js
@@ -0,0 +1,5 @@
+import { css } from '@emotion/core';
+
+export default () => {
+ return css``;
+};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagAustralia.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagAustralia.jsx
new file mode 100644
index 00000000..2938a519
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagAustralia.jsx
@@ -0,0 +1,52 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagAustralia(props) {
+ return (
+
+ );
+}
+export default FlagAustralia;
+
+FlagAustralia.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagAustralia.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagCanada.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagCanada.jsx
new file mode 100644
index 00000000..57ff98ee
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagCanada.jsx
@@ -0,0 +1,40 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagCanada(props) {
+ return (
+
+ );
+}
+export default FlagCanada;
+
+FlagCanada.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagCanada.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagDenmark.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagDenmark.jsx
new file mode 100644
index 00000000..17c05bba
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagDenmark.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagDenmark(props) {
+ return (
+
+ );
+}
+export default FlagDenmark;
+
+FlagDenmark.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagDenmark.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagFrance.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagFrance.jsx
new file mode 100644
index 00000000..e70de0f1
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagFrance.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagFrance(props) {
+ return (
+
+ );
+}
+export default FlagFrance;
+
+FlagFrance.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagFrance.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagGermany.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagGermany.jsx
new file mode 100644
index 00000000..95a50770
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagGermany.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagGermany(props) {
+ return (
+
+ );
+}
+export default FlagGermany;
+
+FlagGermany.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagGermany.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagIreland.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagIreland.jsx
new file mode 100644
index 00000000..ca609fc6
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagIreland.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagIreland(props) {
+ return (
+
+ );
+}
+export default FlagIreland;
+
+FlagIreland.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagIreland.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagItaly.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagItaly.jsx
new file mode 100644
index 00000000..eac30a7e
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagItaly.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagItaly(props) {
+ return (
+
+ );
+}
+export default FlagItaly;
+
+FlagItaly.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagItaly.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagNetherlands.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagNetherlands.jsx
new file mode 100644
index 00000000..00c22639
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagNetherlands.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagNetherlands(props) {
+ return (
+
+ );
+}
+export default FlagNetherlands;
+
+FlagNetherlands.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagNetherlands.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagNewZealand.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagNewZealand.jsx
new file mode 100644
index 00000000..1392199f
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagNewZealand.jsx
@@ -0,0 +1,76 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagNewZealand(props) {
+ return (
+
+ );
+}
+export default FlagNewZealand;
+
+FlagNewZealand.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagNewZealand.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagNorway.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagNorway.jsx
new file mode 100644
index 00000000..91c6054c
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagNorway.jsx
@@ -0,0 +1,36 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagNorway(props) {
+ return (
+
+ );
+}
+export default FlagNorway;
+
+FlagNorway.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagNorway.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagSouthKorea.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagSouthKorea.jsx
new file mode 100644
index 00000000..d599b03d
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagSouthKorea.jsx
@@ -0,0 +1,44 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagSouthKorea(props) {
+ return (
+
+ );
+}
+export default FlagSouthKorea;
+
+FlagSouthKorea.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagSouthKorea.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagSpain.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagSpain.jsx
new file mode 100644
index 00000000..11e0df45
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagSpain.jsx
@@ -0,0 +1,113 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagSpain(props) {
+ return (
+
+ );
+}
+export default FlagSpain;
+
+FlagSpain.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagSpain.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagSweden.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagSweden.jsx
new file mode 100644
index 00000000..d0f0ec88
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagSweden.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagSweden(props) {
+ return (
+
+ );
+}
+export default FlagSweden;
+
+FlagSweden.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagSweden.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagSwitzerland.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagSwitzerland.jsx
new file mode 100644
index 00000000..c2f5205b
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagSwitzerland.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagSwitzerland(props) {
+ return (
+
+ );
+}
+export default FlagSwitzerland;
+
+FlagSwitzerland.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagSwitzerland.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagUK.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagUK.jsx
new file mode 100644
index 00000000..592b5dcd
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagUK.jsx
@@ -0,0 +1,44 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagUK(props) {
+ return (
+
+ );
+}
+export default FlagUK;
+
+FlagUK.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagUK.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/FlagUSA.jsx b/packages/components/react-web/src/Flag/PartnerCountries/FlagUSA.jsx
new file mode 100644
index 00000000..75cf630e
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/FlagUSA.jsx
@@ -0,0 +1,45 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagUSA(props) {
+ return (
+
+ );
+}
+export default FlagUSA;
+
+FlagUSA.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagUSA.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/PartnerCountries/index.js b/packages/components/react-web/src/Flag/PartnerCountries/index.js
new file mode 100644
index 00000000..e8492ea1
--- /dev/null
+++ b/packages/components/react-web/src/Flag/PartnerCountries/index.js
@@ -0,0 +1,16 @@
+export { default as FlagAustralia } from './FlagAustralia';
+export { default as FlagCanada } from './FlagCanada';
+export { default as FlagDenmark } from './FlagDenmark';
+export { default as FlagFrance } from './FlagFrance';
+export { default as FlagGermany } from './FlagGermany';
+export { default as FlagIreland } from './FlagIreland';
+export { default as FlagItaly } from './FlagItaly';
+export { default as FlagNetherlands } from './FlagNetherlands';
+export { default as FlagNewZealand } from './FlagNewZealand';
+export { default as FlagNorway } from './FlagNorway';
+export { default as FlagSouthKorea } from './FlagSouthKorea';
+export { default as FlagSpain } from './FlagSpain';
+export { default as FlagSweden } from './FlagSweden';
+export { default as FlagSwitzerland } from './FlagSwitzerland';
+export { default as FlagUK } from './FlagUK';
+export { default as FlagUSA } from './FlagUSA';
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagBangladesh.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagBangladesh.jsx
new file mode 100644
index 00000000..2c1b2f22
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagBangladesh.jsx
@@ -0,0 +1,36 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagBangladesh(props) {
+ return (
+
+ );
+}
+export default FlagBangladesh;
+
+FlagBangladesh.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagBangladesh.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagBolivia.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagBolivia.jsx
new file mode 100644
index 00000000..6f6fd034
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagBolivia.jsx
@@ -0,0 +1,62 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagBolivia(props) {
+ return (
+
+ );
+}
+export default FlagBolivia;
+
+FlagBolivia.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagBolivia.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagBrazil.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagBrazil.jsx
new file mode 100644
index 00000000..56223bed
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagBrazil.jsx
@@ -0,0 +1,44 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagBrazil(props) {
+ return (
+
+ );
+}
+export default FlagBrazil;
+
+FlagBrazil.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagBrazil.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagBurkinaFaso.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagBurkinaFaso.jsx
new file mode 100644
index 00000000..3fec858e
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagBurkinaFaso.jsx
@@ -0,0 +1,37 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagBurkinaFaso(props) {
+ return (
+
+ );
+}
+export default FlagBurkinaFaso;
+
+FlagBurkinaFaso.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagBurkinaFaso.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagColumbia.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagColumbia.jsx
new file mode 100644
index 00000000..549c7d4b
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagColumbia.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagColumbia(props) {
+ return (
+
+ );
+}
+export default FlagColumbia;
+
+FlagColumbia.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagColumbia.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagDominicanRepublic.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagDominicanRepublic.jsx
new file mode 100644
index 00000000..03497491
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagDominicanRepublic.jsx
@@ -0,0 +1,46 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagDominicanRepublic(props) {
+ return (
+
+ );
+}
+export default FlagDominicanRepublic;
+
+FlagDominicanRepublic.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagDominicanRepublic.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagEcuador.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagEcuador.jsx
new file mode 100644
index 00000000..40c50df0
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagEcuador.jsx
@@ -0,0 +1,38 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagEcuador(props) {
+ return (
+
+ );
+}
+export default FlagEcuador;
+
+FlagEcuador.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagEcuador.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagElSalvador.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagElSalvador.jsx
new file mode 100644
index 00000000..ebf686c6
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagElSalvador.jsx
@@ -0,0 +1,64 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagElSalvador(props) {
+ return (
+
+ );
+}
+export default FlagElSalvador;
+
+FlagElSalvador.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagElSalvador.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagEthiopia.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagEthiopia.jsx
new file mode 100644
index 00000000..0b6c6dda
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagEthiopia.jsx
@@ -0,0 +1,46 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagEthiopia(props) {
+ return (
+
+ );
+}
+export default FlagEthiopia;
+
+FlagEthiopia.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagEthiopia.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagGhana.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagGhana.jsx
new file mode 100644
index 00000000..12989302
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagGhana.jsx
@@ -0,0 +1,38 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagGhana(props) {
+ return (
+
+ );
+}
+export default FlagGhana;
+
+FlagGhana.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagGhana.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagGuatemala.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagGuatemala.jsx
new file mode 100644
index 00000000..9c7d5f47
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagGuatemala.jsx
@@ -0,0 +1,49 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagGuatemala(props) {
+ return (
+
+ );
+}
+export default FlagGuatemala;
+
+FlagGuatemala.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagGuatemala.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagHaiti.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagHaiti.jsx
new file mode 100644
index 00000000..8de9221e
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagHaiti.jsx
@@ -0,0 +1,162 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagHaiti(props) {
+ return (
+
+ );
+}
+export default FlagHaiti;
+
+FlagHaiti.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagHaiti.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagHonduras.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagHonduras.jsx
new file mode 100644
index 00000000..245bf696
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagHonduras.jsx
@@ -0,0 +1,40 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagHonduras(props) {
+ return (
+
+ );
+}
+export default FlagHonduras;
+
+FlagHonduras.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagHonduras.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagIndonesia.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagIndonesia.jsx
new file mode 100644
index 00000000..c8a939fa
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagIndonesia.jsx
@@ -0,0 +1,33 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagIndonesia(props) {
+ return (
+
+ );
+}
+export default FlagIndonesia;
+
+FlagIndonesia.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagIndonesia.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagKenya.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagKenya.jsx
new file mode 100644
index 00000000..5aaf2228
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagKenya.jsx
@@ -0,0 +1,66 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagKenya(props) {
+ return (
+
+ );
+}
+export default FlagKenya;
+
+FlagKenya.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagKenya.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagMexico.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagMexico.jsx
new file mode 100644
index 00000000..061e9fc4
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagMexico.jsx
@@ -0,0 +1,50 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagMexico(props) {
+ return (
+
+ );
+}
+export default FlagMexico;
+
+FlagMexico.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagMexico.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagNicaragua.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagNicaragua.jsx
new file mode 100644
index 00000000..fd7ea848
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagNicaragua.jsx
@@ -0,0 +1,81 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagNicaragua(props) {
+ return (
+
+ );
+}
+export default FlagNicaragua;
+
+FlagNicaragua.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagNicaragua.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagPeru.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagPeru.jsx
new file mode 100644
index 00000000..ab5eeb2f
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagPeru.jsx
@@ -0,0 +1,65 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagPeru(props) {
+ return (
+
+ );
+}
+export default FlagPeru;
+
+FlagPeru.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagPeru.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagPhilippines.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagPhilippines.jsx
new file mode 100644
index 00000000..63df9666
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagPhilippines.jsx
@@ -0,0 +1,57 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagPhilippines(props) {
+ return (
+
+ );
+}
+export default FlagPhilippines;
+
+FlagPhilippines.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagPhilippines.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagRwanda.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagRwanda.jsx
new file mode 100644
index 00000000..612dc3e0
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagRwanda.jsx
@@ -0,0 +1,41 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagRwanda(props) {
+ return (
+
+ );
+}
+export default FlagRwanda;
+
+FlagRwanda.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagRwanda.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagSriLanka.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagSriLanka.jsx
new file mode 100644
index 00000000..2854d21a
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagSriLanka.jsx
@@ -0,0 +1,151 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagSriLanka(props) {
+ return (
+
+ );
+}
+export default FlagSriLanka;
+
+FlagSriLanka.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagSriLanka.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagTanzania.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagTanzania.jsx
new file mode 100644
index 00000000..aec3e584
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagTanzania.jsx
@@ -0,0 +1,44 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagTanzania(props) {
+ return (
+
+ );
+}
+export default FlagTanzania;
+
+FlagTanzania.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagTanzania.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagThailand.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagThailand.jsx
new file mode 100644
index 00000000..090e5c90
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagThailand.jsx
@@ -0,0 +1,34 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagThailand(props) {
+ return (
+
+ );
+}
+export default FlagThailand;
+
+FlagThailand.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagThailand.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagTogo.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagTogo.jsx
new file mode 100644
index 00000000..c7be4acf
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagTogo.jsx
@@ -0,0 +1,41 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagTogo(props) {
+ return (
+
+ );
+}
+export default FlagTogo;
+
+FlagTogo.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagTogo.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/FlagUganda.jsx b/packages/components/react-web/src/Flag/ProgramCountries/FlagUganda.jsx
new file mode 100644
index 00000000..875b0ef4
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/FlagUganda.jsx
@@ -0,0 +1,45 @@
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from "@emotion/core";
+import PropTypes from "prop-types";
+import flagStyles from "../Flag.styles";
+
+function FlagUganda(props) {
+ return (
+
+ );
+}
+export default FlagUganda;
+
+FlagUganda.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string,
+};
+
+FlagUganda.defaultProps = {};
diff --git a/packages/components/react-web/src/Flag/ProgramCountries/index.js b/packages/components/react-web/src/Flag/ProgramCountries/index.js
new file mode 100644
index 00000000..76e6e094
--- /dev/null
+++ b/packages/components/react-web/src/Flag/ProgramCountries/index.js
@@ -0,0 +1,25 @@
+export { default as FlagBangladesh } from './FlagBangladesh';
+export { default as FlagBolivia } from './FlagBolivia';
+export { default as FlagBrazil } from './FlagBrazil';
+export { default as FlagBurkinaFaso } from './FlagBurkinaFaso';
+export { default as FlagColumbia } from './FlagColumbia';
+export { default as FlagDominicanRepublic } from './FlagDominicanRepublic';
+export { default as FlagEcuador } from './FlagEcuador';
+export { default as FlagElSalvador } from './FlagElSalvador';
+export { default as FlagEthiopia } from './FlagEthiopia';
+export { default as FlagGhana } from './FlagGhana';
+export { default as FlagGuatemala } from './FlagGuatemala';
+export { default as FlagHaiti } from './FlagHaiti';
+export { default as FlagHonduras } from './FlagHonduras';
+export { default as FlagIndonesia } from './FlagIndonesia';
+export { default as FlagKenya } from './FlagKenya';
+export { default as FlagMexico } from './FlagMexico';
+export { default as FlagNicaragua } from './FlagNicaragua';
+export { default as FlagPeru } from './FlagPeru';
+export { default as FlagPhilippines } from './FlagPhilippines';
+export { default as FlagRwanda } from './FlagRwanda';
+export { default as FlagSriLanka } from './FlagSriLanka';
+export { default as FlagTanzania } from './FlagTanzania';
+export { default as FlagThailand } from './FlagThailand';
+export { default as FlagTogo } from './FlagTogo';
+export { default as FlagUganda } from './FlagUganda';
diff --git a/packages/components/react-web/src/Flag/buildFlagComponents.mjs b/packages/components/react-web/src/Flag/buildFlagComponents.mjs
new file mode 100755
index 00000000..4465f8a9
--- /dev/null
+++ b/packages/components/react-web/src/Flag/buildFlagComponents.mjs
@@ -0,0 +1,115 @@
+#!/usr/bin/env node
+import svgr from '@svgr/core';
+import elements from '@compassion-gds/elements';
+import prettier from 'prettier';
+import svgo from 'svgo';
+
+import fs from 'fs';
+import path from 'path';
+
+const flagSources = elements.flags;
+
+const capitalize = (text) => {
+ return text.charAt(0).toUpperCase() + text.slice(1);
+};
+
+const header = `
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+// DO NOT MODIFY THIS FILE; IT WAS GENERATED BY buildFlagComponents.mjs.
+// =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
+
+/** @jsxRuntime classic */
+/** @jsx jsx */
+import { jsx } from '@emotion/core';
+import PropTypes from 'prop-types';
+import flagStyles from '../Flag.styles';
+`;
+
+const footer = `
+
+COMPONENT_NAME.propTypes = {
+ width: PropTypes.string,
+ height: PropTypes.string
+};
+
+COMPONENT_NAME.defaultProps = {
+};
+
+`;
+
+const buildFlags = (sources, outputDir) => {
+ let indexJs = '';
+
+ Object.entries(sources).forEach((flagSource) => {
+ const name = flagSource[0];
+
+ const rawSvg = svgo.optimize(flagSource[1], [
+ {
+ plugins: [
+ {
+ name: 'preset-default',
+ params: { overrides: { removeTitle: false } },
+ },
+ {
+ name: 'removeAttrs',
+ params: { attrs: 'fill' },
+ },
+ ],
+ },
+ ]).data;
+
+ const componentName = `Flag${capitalize(name)}`;
+
+ indexJs += `export { default as ${componentName} } from './${componentName}';\n`;
+
+ svgr
+ .default(
+ rawSvg,
+ {
+ outDir: `./${outputDir}`,
+ dimensions: false,
+ ignoreExisting: true,
+ ext: 'jsx',
+ svgProps: {
+ viewBox: '0 0 86 64',
+ className: 'gds-flag',
+ css: '{flagStyles}',
+ },
+ svgo: false,
+ },
+ { componentName }
+ )
+ .then((jsCode) => {
+ const body = jsCode
+ .replace(/import \* as React[^\n]+/, '')
+ .replace(/\n{1,}/g, '\n');
+
+ const fileContents = `${header}\n${body}\n${footer.replace(
+ /COMPONENT_NAME/g,
+ componentName
+ )}`;
+ fs.writeFile(
+ `${path.resolve()}/${outputDir}/${componentName}.jsx`,
+ prettier.format(fileContents, { parser: 'babel' }),
+ (err) => {
+ if (err) {
+ console.error(err);
+ }
+ }
+ );
+ });
+ });
+
+ fs.writeFile(`${path.resolve()}/${outputDir}/index.js`, indexJs, (err) => {
+ if (err) {
+ console.error(err);
+ }
+ });
+};
+
+[
+ { sources: flagSources.programCountries, outputBaseName: 'ProgramCountries' },
+ { sources: flagSources.partnerCountries, outputBaseName: 'PartnerCountries' },
+].forEach((flags) => {
+ buildFlags(flags.sources, flags.outputBaseName);
+});
diff --git a/packages/components/react-web/src/Flag/index.js b/packages/components/react-web/src/Flag/index.js
new file mode 100644
index 00000000..308e9a3b
--- /dev/null
+++ b/packages/components/react-web/src/Flag/index.js
@@ -0,0 +1,5 @@
+import * as pa from './PartnerCountries';
+import * as pr from './ProgramCountries';
+
+export const PartnerCountries = pa;
+export const ProgramCountries = pr;