Basic Internationalization Support

This commit is contained in:
Anthony Dumas 2020-12-31 17:38:30 +01:00
parent d31495388e
commit b85a6a2710
8 changed files with 541 additions and 11 deletions

File diff suppressed because one or more lines are too long

310
package-lock.json generated
View File

@ -13,6 +13,7 @@
"bulma": "^0.9.1", "bulma": "^0.9.1",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"react-intl": "^5.10.9",
"react-scripts": "4.0.1", "react-scripts": "4.0.1",
"sass": "^1.30.0", "sass": "^1.30.0",
"web-vitals": "^0.2.4" "web-vitals": "^0.2.4"
@ -1462,6 +1463,66 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/@formatjs/ecma402-abstract": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.0.tgz",
"integrity": "sha512-wXv36yo+mfWllweN0Fq7sUs7PUiNopn7I0JpLTe3hGu6ZMR4CV7LqK1llhB18pndwpKoafQKb1et2DCJAOW20Q==",
"dependencies": {
"tslib": "^2.0.1"
}
},
"node_modules/@formatjs/intl": {
"version": "1.4.13",
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.4.13.tgz",
"integrity": "sha512-GEWwkaNFnskOGGd6gq0Y0RetiH2iNnARXzQ+glR2RqU0xk00aS5KpwkEDo1hN9NaO9fRr9UDvzDoEu9foQFVmA==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"@formatjs/intl-datetimeformat": "3.2.1",
"@formatjs/intl-displaynames": "4.0.2",
"@formatjs/intl-listformat": "5.0.2",
"@formatjs/intl-relativetimeformat": "8.0.1",
"fast-memoize": "^2.5.2",
"intl-messageformat": "9.4.0",
"intl-messageformat-parser": "6.1.0",
"tslib": "^2.0.1"
}
},
"node_modules/@formatjs/intl-datetimeformat": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.1.tgz",
"integrity": "sha512-teeUgUoieP0JjZYPWjJV72CoPQoukCMKGW1YUu00+TaHzZBNqVgPCdFJo2vgl1jKccOAT3VT79BHNEsR9DsBBQ==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"node_modules/@formatjs/intl-displaynames": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.2.tgz",
"integrity": "sha512-rOlDcFzr6UFYqH7BKI9vlpDC5MpTT48dsPxO9I6yciDlOb1IyqvIgUs+xsuNOj96akDCDrgwocrdJ1VEDO0Ntw==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"node_modules/@formatjs/intl-listformat": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.2.tgz",
"integrity": "sha512-Y+7/Dw3oe29kT4afbw2KCSzast6M04ibidBMMPqjxOHHxan1LeL0KQsY/iRHTgTAcfiSIqZnneJZjZi4MzjLJg==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"node_modules/@formatjs/intl-relativetimeformat": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.1.tgz",
"integrity": "sha512-yMCtrDeQnqx95ucaYbHc1BP4XUP0q+JoMiP8kzMe04AgVvkfAScsoRuKfXw1EH1FkV51C/vqWIKDoGj1WoZnxQ==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"node_modules/@hapi/address": { "node_modules/@hapi/address": {
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@ -2927,6 +2988,15 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"node_modules/@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"dependencies": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"node_modules/@types/html-minifier-terser": { "node_modules/@types/html-minifier-terser": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
@ -2997,11 +3067,25 @@
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz",
"integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==" "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ=="
}, },
"node_modules/@types/prop-types": {
"version": "15.7.3",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",
"integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="
},
"node_modules/@types/q": { "node_modules/@types/q": {
"version": "1.5.4", "version": "1.5.4",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
"integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug=="
}, },
"node_modules/@types/react": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz",
"integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==",
"dependencies": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
"node_modules/@types/resolve": { "node_modules/@types/resolve": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
@ -6058,6 +6142,11 @@
"resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz", "resolved": "https://registry.npmjs.org/cssom/-/cssom-0.3.8.tgz",
"integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg==" "integrity": "sha512-b0tGHbfegbhPJpxpiBPU2sCkigAqtM9O121le6bbOlgyV+NyGyCmVfJ6QW9eRjz8CpNfWEOYBIMIGRYkLwsIYg=="
}, },
"node_modules/csstype": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz",
"integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ=="
},
"node_modules/cyclist": { "node_modules/cyclist": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@ -8106,6 +8195,11 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
}, },
"node_modules/fast-memoize": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz",
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw=="
},
"node_modules/fastq": { "node_modules/fastq": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz",
@ -9083,6 +9177,19 @@
"minimalistic-crypto-utils": "^1.0.1" "minimalistic-crypto-utils": "^1.0.1"
} }
}, },
"node_modules/hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"dependencies": {
"react-is": "^16.7.0"
}
},
"node_modules/hoist-non-react-statics/node_modules/react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
},
"node_modules/hoopy": { "node_modules/hoopy": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@ -9693,6 +9800,25 @@
"url": "https://github.com/sponsors/ljharb" "url": "https://github.com/sponsors/ljharb"
} }
}, },
"node_modules/intl-messageformat": {
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.4.0.tgz",
"integrity": "sha512-zcF8OWG52dCwwePkykqqv7F038vCaixPR14Lr3YUFc9jRdGoCazl2dTE3BwBaeHr3pG/qYb6A/mwMKrj4LFt9Q==",
"dependencies": {
"fast-memoize": "^2.5.2",
"intl-messageformat-parser": "6.1.0",
"tslib": "^2.0.1"
}
},
"node_modules/intl-messageformat-parser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-6.1.0.tgz",
"integrity": "sha512-nPPh2kOrKqlh4D9bCAetxkrUiq5/6S1exPQyg52Ihusy0ECNGhZ0Qmq8pFRK9gWIuiQPVmLA7eSNp8diC2tX3w==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"node_modules/ip": { "node_modules/ip": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@ -15735,6 +15861,34 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz",
"integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw=="
}, },
"node_modules/react-intl": {
"version": "5.10.9",
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.10.9.tgz",
"integrity": "sha512-DfUF4YMlZqaNRfgfvf46AcXxz7pDi7pkxRbQoimUJWEkjep+6QYLlH7ogypysGD1Sl5kbWi7b69bbG7wPqt1vA==",
"dependencies": {
"@formatjs/ecma402-abstract": "1.5.0",
"@formatjs/intl": "1.4.13",
"@formatjs/intl-displaynames": "4.0.2",
"@formatjs/intl-listformat": "5.0.2",
"@formatjs/intl-relativetimeformat": "8.0.1",
"@types/hoist-non-react-statics": "^3.3.1",
"fast-memoize": "^2.5.2",
"hoist-non-react-statics": "^3.3.2",
"intl-messageformat": "9.4.0",
"intl-messageformat-parser": "6.1.0",
"shallow-equal": "^1.2.1",
"tslib": "^2.0.1"
},
"peerDependencies": {
"react": "^16.3.0 || 17",
"typescript": "4"
},
"peerDependenciesMeta": {
"typescript": {
"optional": true
}
}
},
"node_modules/react-is": { "node_modules/react-is": {
"version": "17.0.1", "version": "17.0.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz",
@ -17248,6 +17402,11 @@
"node": ">=8" "node": ">=8"
} }
}, },
"node_modules/shallow-equal": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
},
"node_modules/shebang-command": { "node_modules/shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",
@ -22344,6 +22503,66 @@
} }
} }
}, },
"@formatjs/ecma402-abstract": {
"version": "1.5.0",
"resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.0.tgz",
"integrity": "sha512-wXv36yo+mfWllweN0Fq7sUs7PUiNopn7I0JpLTe3hGu6ZMR4CV7LqK1llhB18pndwpKoafQKb1et2DCJAOW20Q==",
"requires": {
"tslib": "^2.0.1"
}
},
"@formatjs/intl": {
"version": "1.4.13",
"resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-1.4.13.tgz",
"integrity": "sha512-GEWwkaNFnskOGGd6gq0Y0RetiH2iNnARXzQ+glR2RqU0xk00aS5KpwkEDo1hN9NaO9fRr9UDvzDoEu9foQFVmA==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"@formatjs/intl-datetimeformat": "3.2.1",
"@formatjs/intl-displaynames": "4.0.2",
"@formatjs/intl-listformat": "5.0.2",
"@formatjs/intl-relativetimeformat": "8.0.1",
"fast-memoize": "^2.5.2",
"intl-messageformat": "9.4.0",
"intl-messageformat-parser": "6.1.0",
"tslib": "^2.0.1"
}
},
"@formatjs/intl-datetimeformat": {
"version": "3.2.1",
"resolved": "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.1.tgz",
"integrity": "sha512-teeUgUoieP0JjZYPWjJV72CoPQoukCMKGW1YUu00+TaHzZBNqVgPCdFJo2vgl1jKccOAT3VT79BHNEsR9DsBBQ==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"@formatjs/intl-displaynames": {
"version": "4.0.2",
"resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.2.tgz",
"integrity": "sha512-rOlDcFzr6UFYqH7BKI9vlpDC5MpTT48dsPxO9I6yciDlOb1IyqvIgUs+xsuNOj96akDCDrgwocrdJ1VEDO0Ntw==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"@formatjs/intl-listformat": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.2.tgz",
"integrity": "sha512-Y+7/Dw3oe29kT4afbw2KCSzast6M04ibidBMMPqjxOHHxan1LeL0KQsY/iRHTgTAcfiSIqZnneJZjZi4MzjLJg==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"@formatjs/intl-relativetimeformat": {
"version": "8.0.1",
"resolved": "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.1.tgz",
"integrity": "sha512-yMCtrDeQnqx95ucaYbHc1BP4XUP0q+JoMiP8kzMe04AgVvkfAScsoRuKfXw1EH1FkV51C/vqWIKDoGj1WoZnxQ==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"@hapi/address": { "@hapi/address": {
"version": "2.1.4", "version": "2.1.4",
"resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz", "resolved": "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz",
@ -23408,6 +23627,15 @@
"@types/node": "*" "@types/node": "*"
} }
}, },
"@types/hoist-non-react-statics": {
"version": "3.3.1",
"resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz",
"integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==",
"requires": {
"@types/react": "*",
"hoist-non-react-statics": "^3.3.0"
}
},
"@types/html-minifier-terser": { "@types/html-minifier-terser": {
"version": "5.1.1", "version": "5.1.1",
"resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", "resolved": "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz",
@ -23478,11 +23706,25 @@
"resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz", "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz",
"integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ==" "integrity": "sha512-UEyp8LwZ4Dg30kVU2Q3amHHyTn1jEdhCIE59ANed76GaT1Vp76DD3ZWSAxgCrw6wJ0TqeoBpqmfUHiUDPs//HQ=="
}, },
"@types/prop-types": {
"version": "15.7.3",
"resolved": "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz",
"integrity": "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="
},
"@types/q": { "@types/q": {
"version": "1.5.4", "version": "1.5.4",
"resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz",
"integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug=="
}, },
"@types/react": {
"version": "17.0.0",
"resolved": "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz",
"integrity": "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw==",
"requires": {
"@types/prop-types": "*",
"csstype": "^3.0.2"
}
},
"@types/resolve": { "@types/resolve": {
"version": "0.0.8", "version": "0.0.8",
"resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz", "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz",
@ -25942,6 +26184,11 @@
} }
} }
}, },
"csstype": {
"version": "3.0.5",
"resolved": "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz",
"integrity": "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ=="
},
"cyclist": { "cyclist": {
"version": "1.0.1", "version": "1.0.1",
"resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz",
@ -27539,6 +27786,11 @@
"resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz",
"integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=" "integrity": "sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc="
}, },
"fast-memoize": {
"version": "2.5.2",
"resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz",
"integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw=="
},
"fastq": { "fastq": {
"version": "1.9.0", "version": "1.9.0",
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz",
@ -28308,6 +28560,21 @@
"minimalistic-crypto-utils": "^1.0.1" "minimalistic-crypto-utils": "^1.0.1"
} }
}, },
"hoist-non-react-statics": {
"version": "3.3.2",
"resolved": "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz",
"integrity": "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw==",
"requires": {
"react-is": "^16.7.0"
},
"dependencies": {
"react-is": {
"version": "16.13.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz",
"integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
}
}
},
"hoopy": { "hoopy": {
"version": "0.1.4", "version": "0.1.4",
"resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz", "resolved": "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz",
@ -28803,6 +29070,25 @@
} }
} }
}, },
"intl-messageformat": {
"version": "9.4.0",
"resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.4.0.tgz",
"integrity": "sha512-zcF8OWG52dCwwePkykqqv7F038vCaixPR14Lr3YUFc9jRdGoCazl2dTE3BwBaeHr3pG/qYb6A/mwMKrj4LFt9Q==",
"requires": {
"fast-memoize": "^2.5.2",
"intl-messageformat-parser": "6.1.0",
"tslib": "^2.0.1"
}
},
"intl-messageformat-parser": {
"version": "6.1.0",
"resolved": "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-6.1.0.tgz",
"integrity": "sha512-nPPh2kOrKqlh4D9bCAetxkrUiq5/6S1exPQyg52Ihusy0ECNGhZ0Qmq8pFRK9gWIuiQPVmLA7eSNp8diC2tX3w==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"tslib": "^2.0.1"
}
},
"ip": { "ip": {
"version": "1.1.5", "version": "1.1.5",
"resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz",
@ -33469,6 +33755,25 @@
"resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz", "resolved": "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz",
"integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw==" "integrity": "sha512-HvPuUQnLp5H7TouGq3kzBeioJmXms1wHy9EGjz2OURWBp4qZO6AfGEcnxts1D/CbwPLRAgTMPCEgYhA3sEM4vw=="
}, },
"react-intl": {
"version": "5.10.9",
"resolved": "https://registry.npmjs.org/react-intl/-/react-intl-5.10.9.tgz",
"integrity": "sha512-DfUF4YMlZqaNRfgfvf46AcXxz7pDi7pkxRbQoimUJWEkjep+6QYLlH7ogypysGD1Sl5kbWi7b69bbG7wPqt1vA==",
"requires": {
"@formatjs/ecma402-abstract": "1.5.0",
"@formatjs/intl": "1.4.13",
"@formatjs/intl-displaynames": "4.0.2",
"@formatjs/intl-listformat": "5.0.2",
"@formatjs/intl-relativetimeformat": "8.0.1",
"@types/hoist-non-react-statics": "^3.3.1",
"fast-memoize": "^2.5.2",
"hoist-non-react-statics": "^3.3.2",
"intl-messageformat": "9.4.0",
"intl-messageformat-parser": "6.1.0",
"shallow-equal": "^1.2.1",
"tslib": "^2.0.1"
}
},
"react-is": { "react-is": {
"version": "17.0.1", "version": "17.0.1",
"resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.1.tgz",
@ -34651,6 +34956,11 @@
"kind-of": "^6.0.2" "kind-of": "^6.0.2"
} }
}, },
"shallow-equal": {
"version": "1.2.1",
"resolved": "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz",
"integrity": "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
},
"shebang-command": { "shebang-command": {
"version": "2.0.0", "version": "2.0.0",
"resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz",

View File

@ -9,6 +9,7 @@
"bulma": "^0.9.1", "bulma": "^0.9.1",
"react": "^17.0.1", "react": "^17.0.1",
"react-dom": "^17.0.1", "react-dom": "^17.0.1",
"react-intl": "^5.10.9",
"react-scripts": "4.0.1", "react-scripts": "4.0.1",
"sass": "^1.30.0", "sass": "^1.30.0",
"web-vitals": "^0.2.4" "web-vitals": "^0.2.4"

View File

@ -1,27 +1,70 @@
import React, {Component} from '../../../node_modules/react'; import React, {Component} from '../../../node_modules/react';
import {FormattedMessage} from 'react-intl';
import './MenuComponent.scss' import './MenuComponent.scss'
// import { connect } from "react-redux"; const URL_add_parameter = function(url, param, value){
// import { bindActionCreators } from "redux"; var hash = {};
// import * as MenuComponentActions from "../../store/MenuComponent/actions"; var parser = document.createElement('a');
let title = "Anthony Dumas";
let jobTitle = "Développeur Full Stack @ Harvest"; parser.href = url;
var parameters = parser.search.split(/\?|&/);
for(var i=0; i < parameters.length; i++) {
if(!parameters[i])
continue;
var ary = parameters[i].split('=');
hash[ary[0]] = ary[1];
}
hash[param] = value;
var list = [];
Object.keys(hash).forEach(function (key) {
list.push(key + '=' + hash[key]);
});
parser.search = '?' + list.join('&');
return parser.href;
}
export default class MenuComponent extends Component { export default class MenuComponent extends Component {
// constructor(props) { // constructor(props) {
// super(props); // super(props);
// this.state = {}; // this.state = {};
// } // }
honhonhon() {
window.location.href=URL_add_parameter(window.location.href, "lang", "fr");
}
heygovna() {
window.location.href=URL_add_parameter(window.location.href, "lang", "en");
}
render() { render() {
return <section id="menu" class="hero is-primary dontPrint is-bold"> return <section id="menu" class="hero is-primary dontPrint is-bold">
<div class="hero-body"> <div class="hero-body">
<div class="container"> <div class="container">
<h1 class="title"> <h1 class="title">
{title} <FormattedMessage id="title"/>
</h1> </h1>
<h2 class="subtitle"> <h2 class="subtitle">
{jobTitle} <FormattedMessage id="subtitle"/>
</h2> </h2>
</div> </div>
<div class="navbar-end">
<div class="navbar-item">
<div class="buttons">
<a class="button is-light" onClick={this.honhonhon}>
🇫🇷
</a>
<a class="button is-light" onClick={this.heygovna}>
🇮🇪
</a>
</div>
</div>
</div>
</div> </div>
</section>; </section>;
} }

View File

@ -1,12 +1,43 @@
import React from 'react'; import React from 'react';
import ReactDOM from 'react-dom'; import ReactDOM from 'react-dom';
import { IntlProvider } from 'react-intl';
import './index.css'; import './index.css';
import App from './App'; import App from './App';
import reportWebVitals from './reportWebVitals'; import reportWebVitals from './reportWebVitals';
import messages_fr from './messages/fr.json';
import messages_en from './messages/en.json';
const messages = {
'fr': messages_fr,
'en': messages_en,
};
const i18nConfig = {
defaultLocale: 'fr',
messages,
};
const language = function() {
const queryString = window.location.search;
const urlParams = new URLSearchParams(queryString);
let lang = urlParams.get("lang");
if(messages[lang] == undefined){
lang = navigator.language.split(/[-_]/)[0];
}
return lang;
}
ReactDOM.render( ReactDOM.render(
<React.StrictMode> <React.StrictMode>
<IntlProvider
locale={language}
defaultLocale={i18nConfig.defaultLocale}
messages={i18nConfig.messages[language()]}
>
<App /> <App />
</IntlProvider>
</React.StrictMode>, </React.StrictMode>,
document.getElementById('root') document.getElementById('root')
); );

4
src/messages/en.json Normal file
View File

@ -0,0 +1,4 @@
{
"title":"Anthony Dumas",
"subtitle":"Full Stack Developer @ Harvest"
}

4
src/messages/fr.json Normal file
View File

@ -0,0 +1,4 @@
{
"title":"Anthony Yvon Dumas",
"subtitle":"Développeur Full Stack @ Harvest"
}

143
yarn.lock
View File

@ -1140,6 +1140,60 @@
"minimatch" "^3.0.4" "minimatch" "^3.0.4"
"strip-json-comments" "^3.1.1" "strip-json-comments" "^3.1.1"
"@formatjs/ecma402-abstract@1.5.0":
"integrity" "sha512-wXv36yo+mfWllweN0Fq7sUs7PUiNopn7I0JpLTe3hGu6ZMR4CV7LqK1llhB18pndwpKoafQKb1et2DCJAOW20Q=="
"resolved" "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.5.0.tgz"
"version" "1.5.0"
dependencies:
"tslib" "^2.0.1"
"@formatjs/intl-datetimeformat@3.2.1":
"integrity" "sha512-teeUgUoieP0JjZYPWjJV72CoPQoukCMKGW1YUu00+TaHzZBNqVgPCdFJo2vgl1jKccOAT3VT79BHNEsR9DsBBQ=="
"resolved" "https://registry.npmjs.org/@formatjs/intl-datetimeformat/-/intl-datetimeformat-3.2.1.tgz"
"version" "3.2.1"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"tslib" "^2.0.1"
"@formatjs/intl-displaynames@4.0.2":
"integrity" "sha512-rOlDcFzr6UFYqH7BKI9vlpDC5MpTT48dsPxO9I6yciDlOb1IyqvIgUs+xsuNOj96akDCDrgwocrdJ1VEDO0Ntw=="
"resolved" "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-4.0.2.tgz"
"version" "4.0.2"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"tslib" "^2.0.1"
"@formatjs/intl-listformat@5.0.2":
"integrity" "sha512-Y+7/Dw3oe29kT4afbw2KCSzast6M04ibidBMMPqjxOHHxan1LeL0KQsY/iRHTgTAcfiSIqZnneJZjZi4MzjLJg=="
"resolved" "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-5.0.2.tgz"
"version" "5.0.2"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"tslib" "^2.0.1"
"@formatjs/intl-relativetimeformat@8.0.1":
"integrity" "sha512-yMCtrDeQnqx95ucaYbHc1BP4XUP0q+JoMiP8kzMe04AgVvkfAScsoRuKfXw1EH1FkV51C/vqWIKDoGj1WoZnxQ=="
"resolved" "https://registry.npmjs.org/@formatjs/intl-relativetimeformat/-/intl-relativetimeformat-8.0.1.tgz"
"version" "8.0.1"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"tslib" "^2.0.1"
"@formatjs/intl@1.4.13":
"integrity" "sha512-GEWwkaNFnskOGGd6gq0Y0RetiH2iNnARXzQ+glR2RqU0xk00aS5KpwkEDo1hN9NaO9fRr9UDvzDoEu9foQFVmA=="
"resolved" "https://registry.npmjs.org/@formatjs/intl/-/intl-1.4.13.tgz"
"version" "1.4.13"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"@formatjs/intl-datetimeformat" "3.2.1"
"@formatjs/intl-displaynames" "4.0.2"
"@formatjs/intl-listformat" "5.0.2"
"@formatjs/intl-relativetimeformat" "8.0.1"
"fast-memoize" "^2.5.2"
"intl-messageformat" "9.4.0"
"intl-messageformat-parser" "6.1.0"
"tslib" "^2.0.1"
"@hapi/address@2.x.x": "@hapi/address@2.x.x":
"integrity" "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ==" "integrity" "sha512-QD1PhQk+s31P1ixsX0H0Suoupp3VMXzIVMSwobR3F3MSUO2YCV0B7xqLcUw/Bh8yuvd3LhpyqLQWTNcRmp6IdQ=="
"resolved" "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz" "resolved" "https://registry.npmjs.org/@hapi/address/-/address-2.1.4.tgz"
@ -1672,6 +1726,14 @@
dependencies: dependencies:
"@types/node" "*" "@types/node" "*"
"@types/hoist-non-react-statics@^3.3.1":
"integrity" "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA=="
"resolved" "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz"
"version" "3.3.1"
dependencies:
"@types/react" "*"
"hoist-non-react-statics" "^3.3.0"
"@types/html-minifier-terser@^5.0.0": "@types/html-minifier-terser@^5.0.0":
"integrity" "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA==" "integrity" "sha512-giAlZwstKbmvMk1OO7WXSj4OZ0keXAcl2TQq4LWHiiPH2ByaH7WeUzng+Qej8UPxxv+8lRTuouo0iaNDBuzIBA=="
"resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz" "resolved" "https://registry.npmjs.org/@types/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz"
@ -1739,11 +1801,24 @@
"resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz" "resolved" "https://registry.npmjs.org/@types/prettier/-/prettier-2.1.5.tgz"
"version" "2.1.5" "version" "2.1.5"
"@types/prop-types@*":
"integrity" "sha512-KfRL3PuHmqQLOG+2tGpRO26Ctg+Cq1E01D2DMriKEATHgWLfeNDmq9e29Q9WIky0dQ3NPkd1mzYH8Lm936Z9qw=="
"resolved" "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.3.tgz"
"version" "15.7.3"
"@types/q@^1.5.1": "@types/q@^1.5.1":
"integrity" "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==" "integrity" "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug=="
"resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz" "resolved" "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz"
"version" "1.5.4" "version" "1.5.4"
"@types/react@*":
"integrity" "sha512-aj/L7RIMsRlWML3YB6KZiXB3fV2t41+5RBGYF8z+tAKU43Px8C3cYUZsDvf1/+Bm4FK21QWBrDutu8ZJ/70qOw=="
"resolved" "https://registry.npmjs.org/@types/react/-/react-17.0.0.tgz"
"version" "17.0.0"
dependencies:
"@types/prop-types" "*"
"csstype" "^3.0.2"
"@types/resolve@0.0.8": "@types/resolve@0.0.8":
"integrity" "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ==" "integrity" "sha512-auApPaJf3NPfe18hSoJkp8EbZzer2ISk7o8mCC3M9he/a04+gbMF97NkpD2S8riMGvm4BMRI59/SZQSaLTKpsQ=="
"resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz" "resolved" "https://registry.npmjs.org/@types/resolve/-/resolve-0.0.8.tgz"
@ -3830,6 +3905,11 @@
dependencies: dependencies:
"cssom" "~0.3.6" "cssom" "~0.3.6"
"csstype@^3.0.2":
"integrity" "sha512-uVDi8LpBUKQj6sdxNaTetL6FpeCqTjOvAQuQUa/qAqq8oOd4ivkbhgnqayl0dnPal8Tb/yB1tF+gOvCBiicaiQ=="
"resolved" "https://registry.npmjs.org/csstype/-/csstype-3.0.5.tgz"
"version" "3.0.5"
"cyclist@^1.0.1": "cyclist@^1.0.1":
"integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=" "integrity" "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk="
"resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz" "resolved" "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz"
@ -4914,6 +4994,11 @@
"resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz" "resolved" "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz"
"version" "2.0.6" "version" "2.0.6"
"fast-memoize@^2.5.2":
"integrity" "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw=="
"resolved" "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz"
"version" "2.5.2"
"fastq@^1.6.0": "fastq@^1.6.0":
"integrity" "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==" "integrity" "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w=="
"resolved" "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz" "resolved" "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz"
@ -5478,6 +5563,13 @@
"minimalistic-assert" "^1.0.0" "minimalistic-assert" "^1.0.0"
"minimalistic-crypto-utils" "^1.0.1" "minimalistic-crypto-utils" "^1.0.1"
"hoist-non-react-statics@^3.3.0", "hoist-non-react-statics@^3.3.2":
"integrity" "sha512-/gGivxi8JPKWNm/W0jSmzcMPpfpPLc3dY/6GxhX2hQ9iGj3aDfklV4ET7NjKpSinLpJ5vafa9iiGIEZg10SfBw=="
"resolved" "https://registry.npmjs.org/hoist-non-react-statics/-/hoist-non-react-statics-3.3.2.tgz"
"version" "3.3.2"
dependencies:
"react-is" "^16.7.0"
"hoopy@^0.1.4": "hoopy@^0.1.4":
"integrity" "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ==" "integrity" "sha512-HRcs+2mr52W0K+x8RzcLzuPPmVIKMSv97RGHy0Ea9y/mpcaK+xTrjICA04KAHi4GRzxliNqNJEFYWHghy3rSfQ=="
"resolved" "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz" "resolved" "https://registry.npmjs.org/hoopy/-/hoopy-0.1.4.tgz"
@ -5791,6 +5883,23 @@
"has" "^1.0.3" "has" "^1.0.3"
"side-channel" "^1.0.2" "side-channel" "^1.0.2"
"intl-messageformat-parser@6.1.0":
"integrity" "sha512-nPPh2kOrKqlh4D9bCAetxkrUiq5/6S1exPQyg52Ihusy0ECNGhZ0Qmq8pFRK9gWIuiQPVmLA7eSNp8diC2tX3w=="
"resolved" "https://registry.npmjs.org/intl-messageformat-parser/-/intl-messageformat-parser-6.1.0.tgz"
"version" "6.1.0"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"tslib" "^2.0.1"
"intl-messageformat@9.4.0":
"integrity" "sha512-zcF8OWG52dCwwePkykqqv7F038vCaixPR14Lr3YUFc9jRdGoCazl2dTE3BwBaeHr3pG/qYb6A/mwMKrj4LFt9Q=="
"resolved" "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-9.4.0.tgz"
"version" "9.4.0"
dependencies:
"fast-memoize" "^2.5.2"
"intl-messageformat-parser" "6.1.0"
"tslib" "^2.0.1"
"ip-regex@^2.1.0": "ip-regex@^2.1.0":
"integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=" "integrity" "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk="
"resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz" "resolved" "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz"
@ -9054,6 +9163,29 @@
"resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz" "resolved" "https://registry.npmjs.org/react-error-overlay/-/react-error-overlay-6.0.8.tgz"
"version" "6.0.8" "version" "6.0.8"
"react-intl@^5.10.9":
"integrity" "sha512-DfUF4YMlZqaNRfgfvf46AcXxz7pDi7pkxRbQoimUJWEkjep+6QYLlH7ogypysGD1Sl5kbWi7b69bbG7wPqt1vA=="
"resolved" "https://registry.npmjs.org/react-intl/-/react-intl-5.10.9.tgz"
"version" "5.10.9"
dependencies:
"@formatjs/ecma402-abstract" "1.5.0"
"@formatjs/intl" "1.4.13"
"@formatjs/intl-displaynames" "4.0.2"
"@formatjs/intl-listformat" "5.0.2"
"@formatjs/intl-relativetimeformat" "8.0.1"
"@types/hoist-non-react-statics" "^3.3.1"
"fast-memoize" "^2.5.2"
"hoist-non-react-statics" "^3.3.2"
"intl-messageformat" "9.4.0"
"intl-messageformat-parser" "6.1.0"
"shallow-equal" "^1.2.1"
"tslib" "^2.0.1"
"react-is@^16.7.0":
"integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
"resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
"version" "16.13.1"
"react-is@^16.8.1": "react-is@^16.8.1":
"integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==" "integrity" "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ=="
"resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz" "resolved" "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz"
@ -9136,7 +9268,7 @@
optionalDependencies: optionalDependencies:
"fsevents" "^2.1.3" "fsevents" "^2.1.3"
"react@*", "react@^17.0.1", "react@17.0.1": "react@*", "react@^16.3.0 || 17", "react@^17.0.1", "react@17.0.1":
"integrity" "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w==" "integrity" "sha512-lG9c9UuMHdcAexXtigOZLX8exLWkW0Ku29qPRU8uhF2R9BN96dLCt0psvzPLlHc5OWkgymP3qwTRgbnw5BKx3w=="
"resolved" "https://registry.npmjs.org/react/-/react-17.0.1.tgz" "resolved" "https://registry.npmjs.org/react/-/react-17.0.1.tgz"
"version" "17.0.1" "version" "17.0.1"
@ -9951,6 +10083,11 @@
dependencies: dependencies:
"kind-of" "^6.0.2" "kind-of" "^6.0.2"
"shallow-equal@^1.2.1":
"integrity" "sha512-S4vJDjHHMBaiZuT9NPb616CSmLf618jawtv3sufLl6ivK8WocjAo58cXwbRV1cgqxH0Qbv+iUt6m05eqEa2IRA=="
"resolved" "https://registry.npmjs.org/shallow-equal/-/shallow-equal-1.2.1.tgz"
"version" "1.2.1"
"shebang-command@^1.2.0": "shebang-command@^1.2.0":
"integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=" "integrity" "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo="
"resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz" "resolved" "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz"
@ -10832,7 +10969,7 @@
"resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz" "resolved" "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz"
"version" "1.14.1" "version" "1.14.1"
"tslib@^2.0.3": "tslib@^2.0.1", "tslib@^2.0.3":
"integrity" "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" "integrity" "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ=="
"resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz" "resolved" "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz"
"version" "2.0.3" "version" "2.0.3"
@ -10930,7 +11067,7 @@
"resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz" "resolved" "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz"
"version" "0.0.6" "version" "0.0.6"
"typescript@^3.2.1", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta": "typescript@^3.2.1", "typescript@>=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta", "typescript@4":
"integrity" "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ==" "integrity" "sha512-thGloWsGH3SOxv1SoY7QojKi0tc+8FnOmiarEGMbd/lar7QOEd3hvlx3Fp5y6FlDUGl9L+pd4n2e+oToGMmhRQ=="
"resolved" "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz" "resolved" "https://registry.npmjs.org/typescript/-/typescript-4.1.2.tgz"
"version" "4.1.2" "version" "4.1.2"