From 921ea28cc92200aa7b0e52cfa4b7a44f94c7c7cb Mon Sep 17 00:00:00 2001 From: Maxenceee <72473014+Maxenceee@users.noreply.github.com> Date: Wed, 28 May 2025 17:14:30 +0200 Subject: [PATCH 1/6] fix : 19.1 => 18.2 --- package.json | 6 +-- scripts/pricto-builder.ts | 88 +++++++++++++++++++++++++++++++++++++++ yarn.lock | 33 ++++++++------- 3 files changed, 109 insertions(+), 18 deletions(-) create mode 100644 scripts/pricto-builder.ts diff --git a/package.json b/package.json index 22fb0b5ad..5aa9265b0 100644 --- a/package.json +++ b/package.json @@ -64,8 +64,6 @@ ], "homepage": "https://github.com/codegouvfr/react-dsfr", "dependencies": { - "react": "^19.1.0", - "react-dom": "^19.1.0", "tsafe": "^1.8.5", "yargs-parser": "^21.1.1" }, @@ -120,8 +118,8 @@ "patch-package": "^8.0.0", "powerhooks": "^0.22.0", "prettier": "^2.3.0", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "18.2.0", + "react-dom": "18.2.0", "remixicon": "^4.2.0", "storybook-dark-mode": "^1.1.2", "svgo": "^3.3.2", diff --git a/scripts/pricto-builder.ts b/scripts/pricto-builder.ts new file mode 100644 index 000000000..9f761629f --- /dev/null +++ b/scripts/pricto-builder.ts @@ -0,0 +1,88 @@ +import * as fs from "fs/promises"; +import * as path from "path"; + +function pascalCase(name: string): string { + return name.replace(/(^\w|-\w)/g, m => m.replace("-", "").toUpperCase()); +} + +async function extractSvgContent(filePath: string): Promise { + const content = await fs.readFile(filePath, "utf8"); + const match = content.match(/]*>([\s\S]*?)<\/svg>/i); + if (!match) throw new Error(`SVG content not found in ${filePath}`); + return match[1].trim(); +} + +async function generateIconFile(outDir: string, name: string, svgContent: string): Promise { + const componentName = pascalCase(name); + const tab = " ".repeat(4); // 4 spaces for indentation + const content = svgContent + .replace(/"\/>/g, '" />') + .replace(/(>\s+<)/g, `>\n${tab}<`) + .replace(/^/g, ""); + const fileContent = `import React from 'react'; +import { createIcon } from './IconWrapper'; + +export default createIcon( + <> +${content} + , + "${componentName}" +); + `; + await fs.writeFile(path.join(outDir, `${componentName}.tsx`), fileContent, "utf8"); +} + +async function generateIndexFile(outDir: string, names: string[]): Promise { + const lines = names + .map(name => { + const componentName = pascalCase(name); + return `export { default as ${componentName} } from './${componentName}';`; + }) + .join("\n"); + + await fs.writeFile(path.join(outDir, "index.ts"), lines, "utf8"); +} + +async function build(srcDir: string, outDir: string): Promise { + await fs.mkdir(outDir, { recursive: true }); + const files = await fs.readdir(srcDir); + const svgFiles = files.filter(f => f.endsWith(".svg")); + + for (const file of svgFiles) { + const svgPath = path.join(srcDir, file); + const name = path.basename(file, ".svg"); + const svgContent = await extractSvgContent(svgPath); + await generateIconFile(outDir, name, svgContent); + console.log(`Generated: ${name}`); + } + + await generateIndexFile( + outDir, + svgFiles.map(f => path.basename(f, ".svg")) + ); + console.log("Index generated"); +} + +export async function main(argv: string[]): Promise { + if (argv.length < 2) { + console.error("Usage: node build-icons.js "); + process.exit(1); + } + + const [srcDir, outDir] = argv; + + await build(srcDir, outDir).catch(err => { + console.error(err); + process.exit(1); + }); +} + +if (require.main === module) { + main(process.argv.slice(2)); +} diff --git a/yarn.lock b/yarn.lock index de4cb3545..637ea1ead 100644 --- a/yarn.lock +++ b/yarn.lock @@ -8813,7 +8813,7 @@ log-update@^4.0.0: slice-ansi "^4.0.0" wrap-ansi "^6.2.0" -loose-envify@^1.0.0, loose-envify@^1.4.0: +loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: version "1.4.0" resolved "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz" integrity sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q== @@ -10619,12 +10619,13 @@ react-docgen@^5.0.0: node-dir "^0.1.10" strip-indent "^3.0.0" -react-dom@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" - integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== +react-dom@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-18.2.0.tgz#22aaf38708db2674ed9ada224ca4aa708d821e3d" + integrity sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g== dependencies: - scheduler "^0.26.0" + loose-envify "^1.1.0" + scheduler "^0.23.0" react-element-to-jsx-string@^14.3.4: version "14.3.4" @@ -10689,10 +10690,12 @@ react-transition-group@^4.4.5: loose-envify "^1.4.0" prop-types "^15.6.2" -react@^19.1.0: - version "19.1.0" - resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" - integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== +react@18.2.0: + version "18.2.0" + resolved "https://registry.yarnpkg.com/react/-/react-18.2.0.tgz#555bd98592883255fa00de14f1151a917b5d77d5" + integrity sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ== + dependencies: + loose-envify "^1.1.0" read-pkg-up@^1.0.1: version "1.0.1" @@ -11185,10 +11188,12 @@ sass@^1.32.5: immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" -scheduler@^0.26.0: - version "0.26.0" - resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" - integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== +scheduler@^0.23.0: + version "0.23.2" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.23.2.tgz#414ba64a3b282892e944cf2108ecc078d115cdc3" + integrity sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ== + dependencies: + loose-envify "^1.1.0" schema-utils@2.7.0: version "2.7.0" From d21e5bb44ca0185e37a0b1044d8a2871cea520eb Mon Sep 17 00:00:00 2001 From: Maxenceee <72473014+Maxenceee@users.noreply.github.com> Date: Wed, 28 May 2025 17:23:49 +0200 Subject: [PATCH 2/6] fix : 19.1 => 18.2 --- package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index 22fb0b5ad..5aa9265b0 100644 --- a/package.json +++ b/package.json @@ -64,8 +64,6 @@ ], "homepage": "https://github.com/codegouvfr/react-dsfr", "dependencies": { - "react": "^19.1.0", - "react-dom": "^19.1.0", "tsafe": "^1.8.5", "yargs-parser": "^21.1.1" }, @@ -120,8 +118,8 @@ "patch-package": "^8.0.0", "powerhooks": "^0.22.0", "prettier": "^2.3.0", - "react": "^19.1.0", - "react-dom": "^19.1.0", + "react": "18.2.0", + "react-dom": "18.2.0", "remixicon": "^4.2.0", "storybook-dark-mode": "^1.1.2", "svgo": "^3.3.2", From 37bf887caf7a4cae5f2ff44046b84b21df453de1 Mon Sep 17 00:00:00 2001 From: Maxenceee <72473014+Maxenceee@users.noreply.github.com> Date: Wed, 28 May 2025 17:30:57 +0200 Subject: [PATCH 3/6] add svg + components --- package.json | 12 +- scripts/picto-builder.ts | 158 + scripts/pricto-builder.ts | 88 - src/picto/Accessibility.tsx | 36 + src/picto/Airport.tsx | 66 + src/picto/Application.tsx | 72 + src/picto/Archive.tsx | 80 + src/picto/ArmyTank.tsx | 58 + src/picto/Art.tsx | 86 + src/picto/Astronaut.tsx | 92 + src/picto/Audio.tsx | 92 + src/picto/Avatar.tsx | 26 + src/picto/Backpack.tsx | 24 + src/picto/Base.tsx | 38 + src/picto/Binders.tsx | 68 + src/picto/Book.tsx | 50 + src/picto/Calendar.tsx | 54 + src/picto/Catalog.tsx | 106 + src/picto/CityHall.tsx | 108 + src/picto/Coding.tsx | 71 + src/picto/Community.tsx | 74 + src/picto/Companie.tsx | 114 + src/picto/Compass.tsx | 32 + src/picto/Conclusion.tsx | 60 + src/picto/ConnectionLost.tsx | 52 + src/picto/Contract.tsx | 50 + src/picto/Culture.tsx | 56 + src/picto/DataVisualization.tsx | 88 + src/picto/Datalma.tsx | 81 + src/picto/DigitalArt.tsx | 44 + src/picto/Doctor.tsx | 122 + src/picto/Document.tsx | 50 + src/picto/DocumentAdd.tsx | 20 + src/picto/DocumentDownload.tsx | 62 + src/picto/DocumentSearch.tsx | 62 + src/picto/DrivingLicense.tsx | 85 + src/picto/DrivingLicenseNew.tsx | 20 + src/picto/EarOff.tsx | 46 + src/picto/Ecosystem.tsx | 132 + src/picto/Environment.tsx | 26 + src/picto/Error.tsx | 24 + src/picto/EyeOff.tsx | 50 + src/picto/Factory.tsx | 42 + src/picto/Firefighter.tsx | 46 + src/picto/FlowList.tsx | 32 + src/picto/FlowSettings.tsx | 54 + src/picto/Food.tsx | 20 + src/picto/Gendarmerie.tsx | 24 + src/picto/Grocery.tsx | 20 + src/picto/Health.tsx | 36 + src/picto/Hospital.tsx | 84 + src/picto/House.tsx | 20 + src/picto/HumanCooperation.tsx | 40 + src/picto/InProgress.tsx | 84 + src/picto/Information.tsx | 22 + src/picto/Innovation.tsx | 110 + src/picto/InternationalDrivingLicense.tsx | 34 + src/picto/InternationalDrivingLicenseNew.tsx | 26 + src/picto/Internet.tsx | 46 + src/picto/JusticeScales.tsx | 28 + src/picto/Language.tsx | 16 + src/picto/Leaf.tsx | 48 + src/picto/LocationFrance.tsx | 104 + src/picto/LocationOverseasFrance.tsx | 127 + src/picto/Luggage.tsx | 52 + src/picto/MainSend.tsx | 46 + src/picto/Map.tsx | 88 + src/picto/MapPin.tsx | 20 + src/picto/MedicalResearch.tsx | 114 + src/picto/MentalDisabilities.tsx | 60 + src/picto/Money.tsx | 46 + src/picto/Moon.tsx | 40 + src/picto/Mountain.tsx | 62 + src/picto/NationalIdentityCard.tsx | 26 + src/picto/NationalIdentityCardPassport.tsx | 32 + src/picto/NavyAnchor.tsx | 78 + src/picto/NavyBachi.tsx | 50 + src/picto/Notification.tsx | 60 + src/picto/NuclearPlant.tsx | 74 + src/picto/Paint.tsx | 56 + src/picto/Passport.tsx | 36 + src/picto/Pictures.tsx | 62 + src/picto/Podcast.tsx | 80 + src/picto/Police.tsx | 22 + src/picto/PressCard.tsx | 72 + src/picto/School.tsx | 104 + src/picto/Search.tsx | 50 + src/picto/SelfTraining.tsx | 92 + src/picto/SignDocument.tsx | 44 + src/picto/Smartphone.tsx | 68 + src/picto/Success.tsx | 26 + src/picto/Sun.tsx | 50 + src/picto/System.tsx | 32 + src/picto/TaxStamp.tsx | 56 + src/picto/TechnicalError.tsx | 58 + src/picto/TravelBack.tsx | 32 + src/picto/Tree.tsx | 36 + src/picto/Vaccine.tsx | 100 + src/picto/VehicleRegistrationDocument.tsx | 44 + src/picto/Video.tsx | 64 + src/picto/VideoGames.tsx | 96 + src/picto/Virus.tsx | 30 + src/picto/Warning.tsx | 28 + src/picto/Wheelchair.tsx | 54 + src/picto/index.d.ts | 105 + src/picto/index.ts | 101 + src/picto/pictogrammes-svg/Accessibility.svg | 7 + src/picto/pictogrammes-svg/Airport.svg | 15 + src/picto/pictogrammes-svg/Application.svg | 16 + src/picto/pictogrammes-svg/Archive.svg | 14 + src/picto/pictogrammes-svg/ArmyTank.svg | 13 + src/picto/pictogrammes-svg/Art.svg | 15 + src/picto/pictogrammes-svg/Astronaut.svg | 16 + src/picto/pictogrammes-svg/Audio.svg | 16 + src/picto/pictogrammes-svg/Avatar.svg | 6 + src/picto/pictogrammes-svg/Backpack.svg | 5 + src/picto/pictogrammes-svg/Base.svg | 7 + src/picto/pictogrammes-svg/Binders.svg | 17 + src/picto/pictogrammes-svg/Book.svg | 12 + src/picto/pictogrammes-svg/Calendar.svg | 11 + src/picto/pictogrammes-svg/Catalog.svg | 26 + src/picto/pictogrammes-svg/CityHall.svg | 26 + src/picto/pictogrammes-svg/Coding.svg | 20 + src/picto/pictogrammes-svg/Community.svg | 18 + src/picto/pictogrammes-svg/Companie.svg | 22 + src/picto/pictogrammes-svg/Compass.svg | 8 + src/picto/pictogrammes-svg/Conclusion.svg | 11 + src/picto/pictogrammes-svg/ConnectionLost.svg | 13 + src/picto/pictogrammes-svg/Contract.svg | 12 + src/picto/pictogrammes-svg/Culture.svg | 14 + .../pictogrammes-svg/DataVisualization.svg | 20 + src/picto/pictogrammes-svg/Datalma.svg | 35 + src/picto/pictogrammes-svg/DigitalArt.svg | 10 + src/picto/pictogrammes-svg/Doctor.svg | 21 + src/picto/pictogrammes-svg/Document.svg | 12 + src/picto/pictogrammes-svg/DocumentAdd.svg | 4 + .../pictogrammes-svg/DocumentDownload.svg | 15 + src/picto/pictogrammes-svg/DocumentSearch.svg | 15 + src/picto/pictogrammes-svg/DrivingLicense.svg | 21 + .../pictogrammes-svg/DrivingLicenseNew.svg | 4 + src/picto/pictogrammes-svg/EarOff.svg | 9 + src/picto/pictogrammes-svg/Ecosystem.svg | 23 + src/picto/pictogrammes-svg/Environment.svg | 6 + src/picto/pictogrammes-svg/Error.svg | 6 + src/picto/pictogrammes-svg/EyeOff.svg | 9 + src/picto/pictogrammes-svg/Factory.svg | 10 + src/picto/pictogrammes-svg/Firefighter.svg | 11 + src/picto/pictogrammes-svg/FlowList.svg | 6 + src/picto/pictogrammes-svg/FlowSettings.svg | 11 + src/picto/pictogrammes-svg/Food.svg | 4 + src/picto/pictogrammes-svg/Gendarmerie.svg | 5 + src/picto/pictogrammes-svg/Grocery.svg | 4 + src/picto/pictogrammes-svg/Health.svg | 9 + src/picto/pictogrammes-svg/Hospital.svg | 17 + src/picto/pictogrammes-svg/House.svg | 4 + .../pictogrammes-svg/HumanCooperation.svg | 10 + src/picto/pictogrammes-svg/InProgress.svg | 16 + src/picto/pictogrammes-svg/Information.svg | 5 + src/picto/pictogrammes-svg/Innovation.svg | 19 + .../InternationalDrivingLicense.svg | 8 + .../InternationalDrivingLicenseNew.svg | 5 + src/picto/pictogrammes-svg/Internet.svg | 11 + src/picto/pictogrammes-svg/JusticeScales.svg | 6 + src/picto/pictogrammes-svg/Language.svg | 4 + src/picto/pictogrammes-svg/Leaf.svg | 12 + src/picto/pictogrammes-svg/LocationFrance.svg | 20 + .../LocationOverseasFrance.svg | 27 + src/picto/pictogrammes-svg/Luggage.svg | 11 + src/picto/pictogrammes-svg/MainSend.svg | 11 + src/picto/pictogrammes-svg/Map.svg | 17 + src/picto/pictogrammes-svg/MapPin.svg | 5 + .../pictogrammes-svg/MedicalResearch.svg | 20 + .../pictogrammes-svg/MentalDisabilities.svg | 11 + src/picto/pictogrammes-svg/Money.svg | 10 + src/picto/pictogrammes-svg/Moon.svg | 10 + src/picto/pictogrammes-svg/Mountain.svg | 15 + .../pictogrammes-svg/NationalIdentityCard.svg | 5 + .../NationalIdentityCardPassport.svg | 7 + src/picto/pictogrammes-svg/NavyAnchor.svg | 14 + src/picto/pictogrammes-svg/NavyBachi.svg | 9 + src/picto/pictogrammes-svg/Notification.svg | 13 + src/picto/pictogrammes-svg/NuclearPlant.svg | 14 + src/picto/pictogrammes-svg/Paint.svg | 14 + src/picto/pictogrammes-svg/Passport.svg | 8 + src/picto/pictogrammes-svg/Pictures.svg | 11 + src/picto/pictogrammes-svg/Podcast.svg | 20 + src/picto/pictogrammes-svg/Police.svg | 5 + src/picto/pictogrammes-svg/PressCard.svg | 13 + src/picto/pictogrammes-svg/School.svg | 23 + src/picto/pictogrammes-svg/Search.svg | 12 + src/picto/pictogrammes-svg/SelfTraining.svg | 18 + src/picto/pictogrammes-svg/SignDocument.svg | 10 + src/picto/pictogrammes-svg/Smartphone.svg | 13 + src/picto/pictogrammes-svg/Success.svg | 6 + src/picto/pictogrammes-svg/Sun.svg | 12 + src/picto/pictogrammes-svg/System.svg | 8 + src/picto/pictogrammes-svg/TaxStamp.svg | 14 + src/picto/pictogrammes-svg/TechnicalError.svg | 14 + src/picto/pictogrammes-svg/TravelBack.svg | 6 + src/picto/pictogrammes-svg/Tree.svg | 9 + src/picto/pictogrammes-svg/Vaccine.svg | 23 + .../VehicleRegistrationDocument.svg | 9 + src/picto/pictogrammes-svg/Video.svg | 16 + src/picto/pictogrammes-svg/VideoGames.svg | 17 + src/picto/pictogrammes-svg/Virus.svg | 6 + src/picto/pictogrammes-svg/Warning.svg | 7 + src/picto/pictogrammes-svg/Wheelchair.svg | 10 + src/picto/utils/IconWrapper.tsx | 48 + test/integration/cra/src/Picto.tsx | 18 + test/integration/cra/src/index.tsx | 7 + test/integration/cra/src/router.ts | 1 + test/integration/cra/yarn.lock | 21 +- test/integration/next-appdir/yarn.lock | 21 +- test/integration/next-pagesdir/yarn.lock | 21 +- test/integration/vite/src/Home.tsx | 8 + test/integration/vite/src/Picto.tsx | 18 + test/integration/vite/src/main.tsx | 9 + test/integration/vite/yarn.lock | 21 +- yarn.lock | 4079 +++++++++-------- 219 files changed, 9643 insertions(+), 2123 deletions(-) create mode 100644 scripts/picto-builder.ts delete mode 100644 scripts/pricto-builder.ts create mode 100644 src/picto/Accessibility.tsx create mode 100644 src/picto/Airport.tsx create mode 100644 src/picto/Application.tsx create mode 100644 src/picto/Archive.tsx create mode 100644 src/picto/ArmyTank.tsx create mode 100644 src/picto/Art.tsx create mode 100644 src/picto/Astronaut.tsx create mode 100644 src/picto/Audio.tsx create mode 100644 src/picto/Avatar.tsx create mode 100644 src/picto/Backpack.tsx create mode 100644 src/picto/Base.tsx create mode 100644 src/picto/Binders.tsx create mode 100644 src/picto/Book.tsx create mode 100644 src/picto/Calendar.tsx create mode 100644 src/picto/Catalog.tsx create mode 100644 src/picto/CityHall.tsx create mode 100644 src/picto/Coding.tsx create mode 100644 src/picto/Community.tsx create mode 100644 src/picto/Companie.tsx create mode 100644 src/picto/Compass.tsx create mode 100644 src/picto/Conclusion.tsx create mode 100644 src/picto/ConnectionLost.tsx create mode 100644 src/picto/Contract.tsx create mode 100644 src/picto/Culture.tsx create mode 100644 src/picto/DataVisualization.tsx create mode 100644 src/picto/Datalma.tsx create mode 100644 src/picto/DigitalArt.tsx create mode 100644 src/picto/Doctor.tsx create mode 100644 src/picto/Document.tsx create mode 100644 src/picto/DocumentAdd.tsx create mode 100644 src/picto/DocumentDownload.tsx create mode 100644 src/picto/DocumentSearch.tsx create mode 100644 src/picto/DrivingLicense.tsx create mode 100644 src/picto/DrivingLicenseNew.tsx create mode 100644 src/picto/EarOff.tsx create mode 100644 src/picto/Ecosystem.tsx create mode 100644 src/picto/Environment.tsx create mode 100644 src/picto/Error.tsx create mode 100644 src/picto/EyeOff.tsx create mode 100644 src/picto/Factory.tsx create mode 100644 src/picto/Firefighter.tsx create mode 100644 src/picto/FlowList.tsx create mode 100644 src/picto/FlowSettings.tsx create mode 100644 src/picto/Food.tsx create mode 100644 src/picto/Gendarmerie.tsx create mode 100644 src/picto/Grocery.tsx create mode 100644 src/picto/Health.tsx create mode 100644 src/picto/Hospital.tsx create mode 100644 src/picto/House.tsx create mode 100644 src/picto/HumanCooperation.tsx create mode 100644 src/picto/InProgress.tsx create mode 100644 src/picto/Information.tsx create mode 100644 src/picto/Innovation.tsx create mode 100644 src/picto/InternationalDrivingLicense.tsx create mode 100644 src/picto/InternationalDrivingLicenseNew.tsx create mode 100644 src/picto/Internet.tsx create mode 100644 src/picto/JusticeScales.tsx create mode 100644 src/picto/Language.tsx create mode 100644 src/picto/Leaf.tsx create mode 100644 src/picto/LocationFrance.tsx create mode 100644 src/picto/LocationOverseasFrance.tsx create mode 100644 src/picto/Luggage.tsx create mode 100644 src/picto/MainSend.tsx create mode 100644 src/picto/Map.tsx create mode 100644 src/picto/MapPin.tsx create mode 100644 src/picto/MedicalResearch.tsx create mode 100644 src/picto/MentalDisabilities.tsx create mode 100644 src/picto/Money.tsx create mode 100644 src/picto/Moon.tsx create mode 100644 src/picto/Mountain.tsx create mode 100644 src/picto/NationalIdentityCard.tsx create mode 100644 src/picto/NationalIdentityCardPassport.tsx create mode 100644 src/picto/NavyAnchor.tsx create mode 100644 src/picto/NavyBachi.tsx create mode 100644 src/picto/Notification.tsx create mode 100644 src/picto/NuclearPlant.tsx create mode 100644 src/picto/Paint.tsx create mode 100644 src/picto/Passport.tsx create mode 100644 src/picto/Pictures.tsx create mode 100644 src/picto/Podcast.tsx create mode 100644 src/picto/Police.tsx create mode 100644 src/picto/PressCard.tsx create mode 100644 src/picto/School.tsx create mode 100644 src/picto/Search.tsx create mode 100644 src/picto/SelfTraining.tsx create mode 100644 src/picto/SignDocument.tsx create mode 100644 src/picto/Smartphone.tsx create mode 100644 src/picto/Success.tsx create mode 100644 src/picto/Sun.tsx create mode 100644 src/picto/System.tsx create mode 100644 src/picto/TaxStamp.tsx create mode 100644 src/picto/TechnicalError.tsx create mode 100644 src/picto/TravelBack.tsx create mode 100644 src/picto/Tree.tsx create mode 100644 src/picto/Vaccine.tsx create mode 100644 src/picto/VehicleRegistrationDocument.tsx create mode 100644 src/picto/Video.tsx create mode 100644 src/picto/VideoGames.tsx create mode 100644 src/picto/Virus.tsx create mode 100644 src/picto/Warning.tsx create mode 100644 src/picto/Wheelchair.tsx create mode 100644 src/picto/index.d.ts create mode 100644 src/picto/index.ts create mode 100644 src/picto/pictogrammes-svg/Accessibility.svg create mode 100644 src/picto/pictogrammes-svg/Airport.svg create mode 100644 src/picto/pictogrammes-svg/Application.svg create mode 100644 src/picto/pictogrammes-svg/Archive.svg create mode 100644 src/picto/pictogrammes-svg/ArmyTank.svg create mode 100644 src/picto/pictogrammes-svg/Art.svg create mode 100644 src/picto/pictogrammes-svg/Astronaut.svg create mode 100644 src/picto/pictogrammes-svg/Audio.svg create mode 100644 src/picto/pictogrammes-svg/Avatar.svg create mode 100644 src/picto/pictogrammes-svg/Backpack.svg create mode 100644 src/picto/pictogrammes-svg/Base.svg create mode 100644 src/picto/pictogrammes-svg/Binders.svg create mode 100644 src/picto/pictogrammes-svg/Book.svg create mode 100644 src/picto/pictogrammes-svg/Calendar.svg create mode 100644 src/picto/pictogrammes-svg/Catalog.svg create mode 100644 src/picto/pictogrammes-svg/CityHall.svg create mode 100644 src/picto/pictogrammes-svg/Coding.svg create mode 100644 src/picto/pictogrammes-svg/Community.svg create mode 100644 src/picto/pictogrammes-svg/Companie.svg create mode 100644 src/picto/pictogrammes-svg/Compass.svg create mode 100644 src/picto/pictogrammes-svg/Conclusion.svg create mode 100644 src/picto/pictogrammes-svg/ConnectionLost.svg create mode 100644 src/picto/pictogrammes-svg/Contract.svg create mode 100644 src/picto/pictogrammes-svg/Culture.svg create mode 100644 src/picto/pictogrammes-svg/DataVisualization.svg create mode 100644 src/picto/pictogrammes-svg/Datalma.svg create mode 100644 src/picto/pictogrammes-svg/DigitalArt.svg create mode 100644 src/picto/pictogrammes-svg/Doctor.svg create mode 100644 src/picto/pictogrammes-svg/Document.svg create mode 100644 src/picto/pictogrammes-svg/DocumentAdd.svg create mode 100644 src/picto/pictogrammes-svg/DocumentDownload.svg create mode 100644 src/picto/pictogrammes-svg/DocumentSearch.svg create mode 100644 src/picto/pictogrammes-svg/DrivingLicense.svg create mode 100644 src/picto/pictogrammes-svg/DrivingLicenseNew.svg create mode 100644 src/picto/pictogrammes-svg/EarOff.svg create mode 100644 src/picto/pictogrammes-svg/Ecosystem.svg create mode 100644 src/picto/pictogrammes-svg/Environment.svg create mode 100644 src/picto/pictogrammes-svg/Error.svg create mode 100644 src/picto/pictogrammes-svg/EyeOff.svg create mode 100644 src/picto/pictogrammes-svg/Factory.svg create mode 100644 src/picto/pictogrammes-svg/Firefighter.svg create mode 100644 src/picto/pictogrammes-svg/FlowList.svg create mode 100644 src/picto/pictogrammes-svg/FlowSettings.svg create mode 100644 src/picto/pictogrammes-svg/Food.svg create mode 100644 src/picto/pictogrammes-svg/Gendarmerie.svg create mode 100644 src/picto/pictogrammes-svg/Grocery.svg create mode 100644 src/picto/pictogrammes-svg/Health.svg create mode 100644 src/picto/pictogrammes-svg/Hospital.svg create mode 100644 src/picto/pictogrammes-svg/House.svg create mode 100644 src/picto/pictogrammes-svg/HumanCooperation.svg create mode 100644 src/picto/pictogrammes-svg/InProgress.svg create mode 100644 src/picto/pictogrammes-svg/Information.svg create mode 100644 src/picto/pictogrammes-svg/Innovation.svg create mode 100644 src/picto/pictogrammes-svg/InternationalDrivingLicense.svg create mode 100644 src/picto/pictogrammes-svg/InternationalDrivingLicenseNew.svg create mode 100644 src/picto/pictogrammes-svg/Internet.svg create mode 100644 src/picto/pictogrammes-svg/JusticeScales.svg create mode 100644 src/picto/pictogrammes-svg/Language.svg create mode 100644 src/picto/pictogrammes-svg/Leaf.svg create mode 100644 src/picto/pictogrammes-svg/LocationFrance.svg create mode 100644 src/picto/pictogrammes-svg/LocationOverseasFrance.svg create mode 100644 src/picto/pictogrammes-svg/Luggage.svg create mode 100644 src/picto/pictogrammes-svg/MainSend.svg create mode 100644 src/picto/pictogrammes-svg/Map.svg create mode 100644 src/picto/pictogrammes-svg/MapPin.svg create mode 100644 src/picto/pictogrammes-svg/MedicalResearch.svg create mode 100644 src/picto/pictogrammes-svg/MentalDisabilities.svg create mode 100644 src/picto/pictogrammes-svg/Money.svg create mode 100644 src/picto/pictogrammes-svg/Moon.svg create mode 100644 src/picto/pictogrammes-svg/Mountain.svg create mode 100644 src/picto/pictogrammes-svg/NationalIdentityCard.svg create mode 100644 src/picto/pictogrammes-svg/NationalIdentityCardPassport.svg create mode 100644 src/picto/pictogrammes-svg/NavyAnchor.svg create mode 100644 src/picto/pictogrammes-svg/NavyBachi.svg create mode 100644 src/picto/pictogrammes-svg/Notification.svg create mode 100644 src/picto/pictogrammes-svg/NuclearPlant.svg create mode 100644 src/picto/pictogrammes-svg/Paint.svg create mode 100644 src/picto/pictogrammes-svg/Passport.svg create mode 100644 src/picto/pictogrammes-svg/Pictures.svg create mode 100644 src/picto/pictogrammes-svg/Podcast.svg create mode 100644 src/picto/pictogrammes-svg/Police.svg create mode 100644 src/picto/pictogrammes-svg/PressCard.svg create mode 100644 src/picto/pictogrammes-svg/School.svg create mode 100644 src/picto/pictogrammes-svg/Search.svg create mode 100644 src/picto/pictogrammes-svg/SelfTraining.svg create mode 100644 src/picto/pictogrammes-svg/SignDocument.svg create mode 100644 src/picto/pictogrammes-svg/Smartphone.svg create mode 100644 src/picto/pictogrammes-svg/Success.svg create mode 100644 src/picto/pictogrammes-svg/Sun.svg create mode 100644 src/picto/pictogrammes-svg/System.svg create mode 100644 src/picto/pictogrammes-svg/TaxStamp.svg create mode 100644 src/picto/pictogrammes-svg/TechnicalError.svg create mode 100644 src/picto/pictogrammes-svg/TravelBack.svg create mode 100644 src/picto/pictogrammes-svg/Tree.svg create mode 100644 src/picto/pictogrammes-svg/Vaccine.svg create mode 100644 src/picto/pictogrammes-svg/VehicleRegistrationDocument.svg create mode 100644 src/picto/pictogrammes-svg/Video.svg create mode 100644 src/picto/pictogrammes-svg/VideoGames.svg create mode 100644 src/picto/pictogrammes-svg/Virus.svg create mode 100644 src/picto/pictogrammes-svg/Warning.svg create mode 100644 src/picto/pictogrammes-svg/Wheelchair.svg create mode 100644 src/picto/utils/IconWrapper.tsx create mode 100644 test/integration/cra/src/Picto.tsx create mode 100644 test/integration/vite/src/Picto.tsx diff --git a/package.json b/package.json index 0b80ce967..5aa9265b0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@codegouvfr/react-dsfr", - "version": "1.24.1", + "version": "1.23.14", "description": "French State Design System React integration library", "repository": { "type": "git", @@ -9,6 +9,7 @@ "scripts": { "prepare": "patch-package", "build": "ts-node -T scripts/build", + "rebuild-picto": "ts-node -T scripts/picto-builder.ts src/picto/pictogrammes-svg src/picto", "_link": "ts-node -T scripts/link-in-integration-apps.ts", "link-external": "ts-node -T scripts/link-in-external-project.ts", "start-cra": "yarn build && yarn _link && ((tsc -w -p src) & (cd test/integration/cra && yarn start))", @@ -75,11 +76,11 @@ } }, "devDependencies": { - "@gouvfr/dsfr-chart": "^1.0.0", "@babel/core": "^7.20.2", "@emotion/react": "^11.10.4", "@emotion/styled": "^11.10.4", "@gouvfr/dsfr": "1.13.2", + "@gouvfr/dsfr-chart": "^1.0.0", "@mui/icons-material": "^5.14.18", "@mui/material": "^5.14.18", "@storybook/addon-a11y": "^6.5.16", @@ -94,6 +95,7 @@ "@tanstack/react-virtual": "^3.0.0-beta.39", "@types/css": "^0.0.33", "@types/memoizee": "^0.4.8", + "@types/mustache": "^4.2.6", "@types/node": "^18.7.18", "@types/react": "18.0.21", "@types/react-dom": "18.0.6", @@ -110,20 +112,22 @@ "husky": "^4.3.8", "lint-staged": "^11.0.0", "memoizee": "^0.4.15", + "mustache": "^4.2.0", "next": "13.5.1", "parse-numeric-range": "^1.3.0", + "patch-package": "^8.0.0", "powerhooks": "^0.22.0", "prettier": "^2.3.0", "react": "18.2.0", "react-dom": "18.2.0", "remixicon": "^4.2.0", "storybook-dark-mode": "^1.1.2", + "svgo": "^3.3.2", "ts-node": "^10.9.1", "tss-react": "^4.9.1", "type-route": "^1.0.1", "typescript": "^4.9.1", - "vitest": "^0.24.3", - "patch-package": "^8.0.0" + "vitest": "^0.24.3" }, "main": "dist/fr/index.js", "types": "dist/fr/index.d.ts", diff --git a/scripts/picto-builder.ts b/scripts/picto-builder.ts new file mode 100644 index 000000000..224bc026d --- /dev/null +++ b/scripts/picto-builder.ts @@ -0,0 +1,158 @@ +import path from "path"; +import fs from "fs/promises"; +import glob from "fast-glob"; +import { optimize } from "svgo"; +import Mustache from "mustache"; + +async function ensureDir(dir: string): Promise { + try { + await fs.mkdir(dir, { recursive: true }); + } catch (err) { + if ((err as NodeJS.ErrnoException).code !== "EEXIST") { + throw err; + } + } +} + +function extractSvgInnerContent(svg: string): string { + const match = svg.match(/]*>([\s\S]*?)<\/svg>/); + if (!match) { + throw new Error("Invalid SVG: cannot extract content"); + } + return match[1].trim(); +} + +async function cleanSvgContent(svgData: string): Promise { + const result = optimize(svgData, { + multipass: true, + floatPrecision: 3, + plugins: [ + "removeComments", + "removeMetadata", + "removeTitle", + "removeDesc", + "removeUselessDefs", + "removeEmptyAttrs", + "removeHiddenElems", + "removeEmptyText", + "convertShapeToPath", + "convertColors", + "cleanupAttrs", + "minifyStyles" + ] + }); + + if ("data" in result) { + return result.data + .replace(/fill-opacity=/g, "fillOpacity=") + .replace(/clip-rule=/g, "clipRule=") + .replace(/fill-rule=/g, "fillRule=") + .replace(/stroke-linecap=/g, "strokeLinecap=") + .replace(/stroke-linejoin=/g, "strokeLinejoin=") + .replace(/stroke-width=/g, "strokeWidth=") + .replace(/xlink:href=/g, "xlinkHref="); + } + + throw new Error("SVGO optimization failed"); +} + +function pascalCaseName(filename: string): string { + return filename + .replace(/\.svg$/, "") + .split(/[\s-_]+/) + .map(s => s.charAt(0).toUpperCase() + s.slice(1)) + .join(""); +} + +async function generateComponent(svgPath: string, outputDir: string): Promise { + const svgName = path.basename(svgPath); + const componentName = pascalCaseName(svgName); + const outputFileName = svgName.replace(/\.svg$/, ".tsx"); + + const svgData = await fs.readFile(svgPath, "utf8"); + const cleanedSvg = extractSvgInnerContent(await cleanSvgContent(svgData)); + + const template = `import React from 'react'; +import { createIcon } from './utils/IconWrapper'; + +export default createIcon( + <> + {{& svgContent }} + , + "{{componentName}}" +); +`; + + const componentCode = Mustache.render(template, { + componentName, + svgContent: cleanedSvg + }); + + const outPath = path.join(outputDir, outputFileName); + await ensureDir(path.dirname(outPath)); + await fs.writeFile(outPath, componentCode, "utf8"); + return outPath; +} + +async function generateIndex(outputDir: string): Promise { + const files = await glob(`${outputDir}/*.tsx`); + const filePath = path.join(outputDir, "index.ts"); + + const exports = files + .map(f => { + const base = path.basename(f, ".tsx"); + return `export { default as ${pascalCaseName(base)} } from './${base}';`; + }) + .join("\n"); + + await fs.writeFile(filePath, exports); + return filePath; +} + +async function generateTypes(outputDir: string): Promise { + const files = await glob(`${outputDir}/*.tsx`); + const iconNames = files.map(f => pascalCaseName(path.basename(f, ".tsx"))); + const filePath = path.join(outputDir, "index.d.ts"); + + const header = `import { IconWrapper } from './utils/IconWrapper';\n\ntype SvgIconComponent = typeof IconWrapper;\n\n`; + const lines = iconNames.map(name => `export const ${name}: SvgIconComponent;`); + + const content = `${header}${lines.join("\n")}\n`; + + await fs.writeFile(filePath, content, "utf8"); + return filePath; +} + +export async function build(srcDir: string, outDir: string): Promise { + await ensureDir(outDir); + const files = []; + + const svgFiles = await glob(`${srcDir}/**/*.svg`); + + for (const svgPath of svgFiles) { + files.push(await generateComponent(svgPath, outDir)); + } + + files.push(await generateIndex(outDir)); + files.push(await generateTypes(outDir)); + return files; +} + +export async function main(argv: string[]) { + if (argv.length < 2) { + console.error("Usage: node build-icons.js "); + process.exit(1); + } + + const [srcDir, outDir] = argv; + + try { + await build(srcDir, outDir); + } catch (err) { + process.exit(1); + } +} + +if (require.main === module) { + main(process.argv.slice(2)); +} diff --git a/scripts/pricto-builder.ts b/scripts/pricto-builder.ts deleted file mode 100644 index 9f761629f..000000000 --- a/scripts/pricto-builder.ts +++ /dev/null @@ -1,88 +0,0 @@ -import * as fs from "fs/promises"; -import * as path from "path"; - -function pascalCase(name: string): string { - return name.replace(/(^\w|-\w)/g, m => m.replace("-", "").toUpperCase()); -} - -async function extractSvgContent(filePath: string): Promise { - const content = await fs.readFile(filePath, "utf8"); - const match = content.match(/]*>([\s\S]*?)<\/svg>/i); - if (!match) throw new Error(`SVG content not found in ${filePath}`); - return match[1].trim(); -} - -async function generateIconFile(outDir: string, name: string, svgContent: string): Promise { - const componentName = pascalCase(name); - const tab = " ".repeat(4); // 4 spaces for indentation - const content = svgContent - .replace(/"\/>/g, '" />') - .replace(/(>\s+<)/g, `>\n${tab}<`) - .replace(/^/g, ""); - const fileContent = `import React from 'react'; -import { createIcon } from './IconWrapper'; - -export default createIcon( - <> -${content} - , - "${componentName}" -); - `; - await fs.writeFile(path.join(outDir, `${componentName}.tsx`), fileContent, "utf8"); -} - -async function generateIndexFile(outDir: string, names: string[]): Promise { - const lines = names - .map(name => { - const componentName = pascalCase(name); - return `export { default as ${componentName} } from './${componentName}';`; - }) - .join("\n"); - - await fs.writeFile(path.join(outDir, "index.ts"), lines, "utf8"); -} - -async function build(srcDir: string, outDir: string): Promise { - await fs.mkdir(outDir, { recursive: true }); - const files = await fs.readdir(srcDir); - const svgFiles = files.filter(f => f.endsWith(".svg")); - - for (const file of svgFiles) { - const svgPath = path.join(srcDir, file); - const name = path.basename(file, ".svg"); - const svgContent = await extractSvgContent(svgPath); - await generateIconFile(outDir, name, svgContent); - console.log(`Generated: ${name}`); - } - - await generateIndexFile( - outDir, - svgFiles.map(f => path.basename(f, ".svg")) - ); - console.log("Index generated"); -} - -export async function main(argv: string[]): Promise { - if (argv.length < 2) { - console.error("Usage: node build-icons.js "); - process.exit(1); - } - - const [srcDir, outDir] = argv; - - await build(srcDir, outDir).catch(err => { - console.error(err); - process.exit(1); - }); -} - -if (require.main === module) { - main(process.argv.slice(2)); -} diff --git a/src/picto/Accessibility.tsx b/src/picto/Accessibility.tsx new file mode 100644 index 000000000..6818ed431 --- /dev/null +++ b/src/picto/Accessibility.tsx @@ -0,0 +1,36 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + , + "Accessibility" +); diff --git a/src/picto/Airport.tsx b/src/picto/Airport.tsx new file mode 100644 index 000000000..59844572e --- /dev/null +++ b/src/picto/Airport.tsx @@ -0,0 +1,66 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + , + "Airport" +); diff --git a/src/picto/Application.tsx b/src/picto/Application.tsx new file mode 100644 index 000000000..db0849cbe --- /dev/null +++ b/src/picto/Application.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + , + "Application" +); diff --git a/src/picto/Archive.tsx b/src/picto/Archive.tsx new file mode 100644 index 000000000..5811309f5 --- /dev/null +++ b/src/picto/Archive.tsx @@ -0,0 +1,80 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "Archive" +); diff --git a/src/picto/ArmyTank.tsx b/src/picto/ArmyTank.tsx new file mode 100644 index 000000000..227fcf8a4 --- /dev/null +++ b/src/picto/ArmyTank.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + , + "ArmyTank" +); diff --git a/src/picto/Art.tsx b/src/picto/Art.tsx new file mode 100644 index 000000000..fe70e698d --- /dev/null +++ b/src/picto/Art.tsx @@ -0,0 +1,86 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + , + "Art" +); diff --git a/src/picto/Astronaut.tsx b/src/picto/Astronaut.tsx new file mode 100644 index 000000000..05ad9e40a --- /dev/null +++ b/src/picto/Astronaut.tsx @@ -0,0 +1,92 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + , + "Astronaut" +); diff --git a/src/picto/Audio.tsx b/src/picto/Audio.tsx new file mode 100644 index 000000000..b6c94e0d7 --- /dev/null +++ b/src/picto/Audio.tsx @@ -0,0 +1,92 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + , + "Audio" +); diff --git a/src/picto/Avatar.tsx b/src/picto/Avatar.tsx new file mode 100644 index 000000000..b3651871a --- /dev/null +++ b/src/picto/Avatar.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "Avatar" +); diff --git a/src/picto/Backpack.tsx b/src/picto/Backpack.tsx new file mode 100644 index 000000000..7f19c0967 --- /dev/null +++ b/src/picto/Backpack.tsx @@ -0,0 +1,24 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "Backpack" +); diff --git a/src/picto/Base.tsx b/src/picto/Base.tsx new file mode 100644 index 000000000..f9b14338e --- /dev/null +++ b/src/picto/Base.tsx @@ -0,0 +1,38 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + , + "Base" +); diff --git a/src/picto/Binders.tsx b/src/picto/Binders.tsx new file mode 100644 index 000000000..c7ca9bb9c --- /dev/null +++ b/src/picto/Binders.tsx @@ -0,0 +1,68 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + , + "Binders" +); diff --git a/src/picto/Book.tsx b/src/picto/Book.tsx new file mode 100644 index 000000000..daf30faba --- /dev/null +++ b/src/picto/Book.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Book" +); diff --git a/src/picto/Calendar.tsx b/src/picto/Calendar.tsx new file mode 100644 index 000000000..adb89d0c8 --- /dev/null +++ b/src/picto/Calendar.tsx @@ -0,0 +1,54 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Calendar" +); diff --git a/src/picto/Catalog.tsx b/src/picto/Catalog.tsx new file mode 100644 index 000000000..8558738a5 --- /dev/null +++ b/src/picto/Catalog.tsx @@ -0,0 +1,106 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + + + + , + "Catalog" +); diff --git a/src/picto/CityHall.tsx b/src/picto/CityHall.tsx new file mode 100644 index 000000000..c0b323a5a --- /dev/null +++ b/src/picto/CityHall.tsx @@ -0,0 +1,108 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + + + + , + "CityHall" +); diff --git a/src/picto/Coding.tsx b/src/picto/Coding.tsx new file mode 100644 index 000000000..291d77b0d --- /dev/null +++ b/src/picto/Coding.tsx @@ -0,0 +1,71 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + , + "Coding" +); diff --git a/src/picto/Community.tsx b/src/picto/Community.tsx new file mode 100644 index 000000000..6c9844658 --- /dev/null +++ b/src/picto/Community.tsx @@ -0,0 +1,74 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + , + "Community" +); diff --git a/src/picto/Companie.tsx b/src/picto/Companie.tsx new file mode 100644 index 000000000..c8f5918b8 --- /dev/null +++ b/src/picto/Companie.tsx @@ -0,0 +1,114 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + , + "Companie" +); diff --git a/src/picto/Compass.tsx b/src/picto/Compass.tsx new file mode 100644 index 000000000..708e13645 --- /dev/null +++ b/src/picto/Compass.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + , + "Compass" +); diff --git a/src/picto/Conclusion.tsx b/src/picto/Conclusion.tsx new file mode 100644 index 000000000..e0102c56e --- /dev/null +++ b/src/picto/Conclusion.tsx @@ -0,0 +1,60 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Conclusion" +); diff --git a/src/picto/ConnectionLost.tsx b/src/picto/ConnectionLost.tsx new file mode 100644 index 000000000..4009181e9 --- /dev/null +++ b/src/picto/ConnectionLost.tsx @@ -0,0 +1,52 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + , + "ConnectionLost" +); diff --git a/src/picto/Contract.tsx b/src/picto/Contract.tsx new file mode 100644 index 000000000..766b57ae8 --- /dev/null +++ b/src/picto/Contract.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Contract" +); diff --git a/src/picto/Culture.tsx b/src/picto/Culture.tsx new file mode 100644 index 000000000..c4ff4872c --- /dev/null +++ b/src/picto/Culture.tsx @@ -0,0 +1,56 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "Culture" +); diff --git a/src/picto/DataVisualization.tsx b/src/picto/DataVisualization.tsx new file mode 100644 index 000000000..96405804d --- /dev/null +++ b/src/picto/DataVisualization.tsx @@ -0,0 +1,88 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + , + "DataVisualization" +); diff --git a/src/picto/Datalma.tsx b/src/picto/Datalma.tsx new file mode 100644 index 000000000..0d0a98ea6 --- /dev/null +++ b/src/picto/Datalma.tsx @@ -0,0 +1,81 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + , + "Datalma" +); diff --git a/src/picto/DigitalArt.tsx b/src/picto/DigitalArt.tsx new file mode 100644 index 000000000..386f61380 --- /dev/null +++ b/src/picto/DigitalArt.tsx @@ -0,0 +1,44 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "DigitalArt" +); diff --git a/src/picto/Doctor.tsx b/src/picto/Doctor.tsx new file mode 100644 index 000000000..4ff920c8f --- /dev/null +++ b/src/picto/Doctor.tsx @@ -0,0 +1,122 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + , + "Doctor" +); diff --git a/src/picto/Document.tsx b/src/picto/Document.tsx new file mode 100644 index 000000000..a05b8e069 --- /dev/null +++ b/src/picto/Document.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Document" +); diff --git a/src/picto/DocumentAdd.tsx b/src/picto/DocumentAdd.tsx new file mode 100644 index 000000000..699925876 --- /dev/null +++ b/src/picto/DocumentAdd.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "DocumentAdd" +); diff --git a/src/picto/DocumentDownload.tsx b/src/picto/DocumentDownload.tsx new file mode 100644 index 000000000..fbdaa6f79 --- /dev/null +++ b/src/picto/DocumentDownload.tsx @@ -0,0 +1,62 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + , + "DocumentDownload" +); diff --git a/src/picto/DocumentSearch.tsx b/src/picto/DocumentSearch.tsx new file mode 100644 index 000000000..054cf576f --- /dev/null +++ b/src/picto/DocumentSearch.tsx @@ -0,0 +1,62 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + , + "DocumentSearch" +); diff --git a/src/picto/DrivingLicense.tsx b/src/picto/DrivingLicense.tsx new file mode 100644 index 000000000..b8422a6e5 --- /dev/null +++ b/src/picto/DrivingLicense.tsx @@ -0,0 +1,85 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + , + "DrivingLicense" +); diff --git a/src/picto/DrivingLicenseNew.tsx b/src/picto/DrivingLicenseNew.tsx new file mode 100644 index 000000000..3359c1126 --- /dev/null +++ b/src/picto/DrivingLicenseNew.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "DrivingLicenseNew" +); diff --git a/src/picto/EarOff.tsx b/src/picto/EarOff.tsx new file mode 100644 index 000000000..650454edf --- /dev/null +++ b/src/picto/EarOff.tsx @@ -0,0 +1,46 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "EarOff" +); diff --git a/src/picto/Ecosystem.tsx b/src/picto/Ecosystem.tsx new file mode 100644 index 000000000..0854abc87 --- /dev/null +++ b/src/picto/Ecosystem.tsx @@ -0,0 +1,132 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + , + "Ecosystem" +); diff --git a/src/picto/Environment.tsx b/src/picto/Environment.tsx new file mode 100644 index 000000000..7f6fc4dd0 --- /dev/null +++ b/src/picto/Environment.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "Environment" +); diff --git a/src/picto/Error.tsx b/src/picto/Error.tsx new file mode 100644 index 000000000..91da7dea1 --- /dev/null +++ b/src/picto/Error.tsx @@ -0,0 +1,24 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "Error" +); diff --git a/src/picto/EyeOff.tsx b/src/picto/EyeOff.tsx new file mode 100644 index 000000000..e77e34329 --- /dev/null +++ b/src/picto/EyeOff.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "EyeOff" +); diff --git a/src/picto/Factory.tsx b/src/picto/Factory.tsx new file mode 100644 index 000000000..8cb11211d --- /dev/null +++ b/src/picto/Factory.tsx @@ -0,0 +1,42 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "Factory" +); diff --git a/src/picto/Firefighter.tsx b/src/picto/Firefighter.tsx new file mode 100644 index 000000000..9b62d8e44 --- /dev/null +++ b/src/picto/Firefighter.tsx @@ -0,0 +1,46 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Firefighter" +); diff --git a/src/picto/FlowList.tsx b/src/picto/FlowList.tsx new file mode 100644 index 000000000..de029c167 --- /dev/null +++ b/src/picto/FlowList.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "FlowList" +); diff --git a/src/picto/FlowSettings.tsx b/src/picto/FlowSettings.tsx new file mode 100644 index 000000000..8960a7d87 --- /dev/null +++ b/src/picto/FlowSettings.tsx @@ -0,0 +1,54 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "FlowSettings" +); diff --git a/src/picto/Food.tsx b/src/picto/Food.tsx new file mode 100644 index 000000000..5e4f02fdb --- /dev/null +++ b/src/picto/Food.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "Food" +); diff --git a/src/picto/Gendarmerie.tsx b/src/picto/Gendarmerie.tsx new file mode 100644 index 000000000..29492ec24 --- /dev/null +++ b/src/picto/Gendarmerie.tsx @@ -0,0 +1,24 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "Gendarmerie" +); diff --git a/src/picto/Grocery.tsx b/src/picto/Grocery.tsx new file mode 100644 index 000000000..ad706f95d --- /dev/null +++ b/src/picto/Grocery.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "Grocery" +); diff --git a/src/picto/Health.tsx b/src/picto/Health.tsx new file mode 100644 index 000000000..fc0ac00b2 --- /dev/null +++ b/src/picto/Health.tsx @@ -0,0 +1,36 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "Health" +); diff --git a/src/picto/Hospital.tsx b/src/picto/Hospital.tsx new file mode 100644 index 000000000..11a9a95b6 --- /dev/null +++ b/src/picto/Hospital.tsx @@ -0,0 +1,84 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + , + "Hospital" +); diff --git a/src/picto/House.tsx b/src/picto/House.tsx new file mode 100644 index 000000000..8838e9b40 --- /dev/null +++ b/src/picto/House.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "House" +); diff --git a/src/picto/HumanCooperation.tsx b/src/picto/HumanCooperation.tsx new file mode 100644 index 000000000..8773f39f7 --- /dev/null +++ b/src/picto/HumanCooperation.tsx @@ -0,0 +1,40 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "HumanCooperation" +); diff --git a/src/picto/InProgress.tsx b/src/picto/InProgress.tsx new file mode 100644 index 000000000..a8dd19f29 --- /dev/null +++ b/src/picto/InProgress.tsx @@ -0,0 +1,84 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + , + "InProgress" +); diff --git a/src/picto/Information.tsx b/src/picto/Information.tsx new file mode 100644 index 000000000..3103be8a9 --- /dev/null +++ b/src/picto/Information.tsx @@ -0,0 +1,22 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "Information" +); diff --git a/src/picto/Innovation.tsx b/src/picto/Innovation.tsx new file mode 100644 index 000000000..591694188 --- /dev/null +++ b/src/picto/Innovation.tsx @@ -0,0 +1,110 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + , + "Innovation" +); diff --git a/src/picto/InternationalDrivingLicense.tsx b/src/picto/InternationalDrivingLicense.tsx new file mode 100644 index 000000000..a4243a5a8 --- /dev/null +++ b/src/picto/InternationalDrivingLicense.tsx @@ -0,0 +1,34 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + , + "InternationalDrivingLicense" +); diff --git a/src/picto/InternationalDrivingLicenseNew.tsx b/src/picto/InternationalDrivingLicenseNew.tsx new file mode 100644 index 000000000..077fd3846 --- /dev/null +++ b/src/picto/InternationalDrivingLicenseNew.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "InternationalDrivingLicenseNew" +); diff --git a/src/picto/Internet.tsx b/src/picto/Internet.tsx new file mode 100644 index 000000000..9a9bac133 --- /dev/null +++ b/src/picto/Internet.tsx @@ -0,0 +1,46 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Internet" +); diff --git a/src/picto/JusticeScales.tsx b/src/picto/JusticeScales.tsx new file mode 100644 index 000000000..eaf32b3dd --- /dev/null +++ b/src/picto/JusticeScales.tsx @@ -0,0 +1,28 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "JusticeScales" +); diff --git a/src/picto/Language.tsx b/src/picto/Language.tsx new file mode 100644 index 000000000..0d4537f58 --- /dev/null +++ b/src/picto/Language.tsx @@ -0,0 +1,16 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + , + "Language" +); diff --git a/src/picto/Leaf.tsx b/src/picto/Leaf.tsx new file mode 100644 index 000000000..057c71524 --- /dev/null +++ b/src/picto/Leaf.tsx @@ -0,0 +1,48 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Leaf" +); diff --git a/src/picto/LocationFrance.tsx b/src/picto/LocationFrance.tsx new file mode 100644 index 000000000..5f1c077fa --- /dev/null +++ b/src/picto/LocationFrance.tsx @@ -0,0 +1,104 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + , + "LocationFrance" +); diff --git a/src/picto/LocationOverseasFrance.tsx b/src/picto/LocationOverseasFrance.tsx new file mode 100644 index 000000000..39394c238 --- /dev/null +++ b/src/picto/LocationOverseasFrance.tsx @@ -0,0 +1,127 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + + + + + , + "LocationOverseasFrance" +); diff --git a/src/picto/Luggage.tsx b/src/picto/Luggage.tsx new file mode 100644 index 000000000..5ddb0159d --- /dev/null +++ b/src/picto/Luggage.tsx @@ -0,0 +1,52 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Luggage" +); diff --git a/src/picto/MainSend.tsx b/src/picto/MainSend.tsx new file mode 100644 index 000000000..d2472b6c3 --- /dev/null +++ b/src/picto/MainSend.tsx @@ -0,0 +1,46 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "MainSend" +); diff --git a/src/picto/Map.tsx b/src/picto/Map.tsx new file mode 100644 index 000000000..2756cd9c8 --- /dev/null +++ b/src/picto/Map.tsx @@ -0,0 +1,88 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + , + "Map" +); diff --git a/src/picto/MapPin.tsx b/src/picto/MapPin.tsx new file mode 100644 index 000000000..eda81033b --- /dev/null +++ b/src/picto/MapPin.tsx @@ -0,0 +1,20 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "MapPin" +); diff --git a/src/picto/MedicalResearch.tsx b/src/picto/MedicalResearch.tsx new file mode 100644 index 000000000..6ec7d6208 --- /dev/null +++ b/src/picto/MedicalResearch.tsx @@ -0,0 +1,114 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + , + "MedicalResearch" +); diff --git a/src/picto/MentalDisabilities.tsx b/src/picto/MentalDisabilities.tsx new file mode 100644 index 000000000..900cd96a6 --- /dev/null +++ b/src/picto/MentalDisabilities.tsx @@ -0,0 +1,60 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "MentalDisabilities" +); diff --git a/src/picto/Money.tsx b/src/picto/Money.tsx new file mode 100644 index 000000000..e7568a440 --- /dev/null +++ b/src/picto/Money.tsx @@ -0,0 +1,46 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "Money" +); diff --git a/src/picto/Moon.tsx b/src/picto/Moon.tsx new file mode 100644 index 000000000..615411980 --- /dev/null +++ b/src/picto/Moon.tsx @@ -0,0 +1,40 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "Moon" +); diff --git a/src/picto/Mountain.tsx b/src/picto/Mountain.tsx new file mode 100644 index 000000000..7c92180bb --- /dev/null +++ b/src/picto/Mountain.tsx @@ -0,0 +1,62 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + , + "Mountain" +); diff --git a/src/picto/NationalIdentityCard.tsx b/src/picto/NationalIdentityCard.tsx new file mode 100644 index 000000000..385b2a1ff --- /dev/null +++ b/src/picto/NationalIdentityCard.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "NationalIdentityCard" +); diff --git a/src/picto/NationalIdentityCardPassport.tsx b/src/picto/NationalIdentityCardPassport.tsx new file mode 100644 index 000000000..9bcc12465 --- /dev/null +++ b/src/picto/NationalIdentityCardPassport.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + , + "NationalIdentityCardPassport" +); diff --git a/src/picto/NavyAnchor.tsx b/src/picto/NavyAnchor.tsx new file mode 100644 index 000000000..5c3818b5a --- /dev/null +++ b/src/picto/NavyAnchor.tsx @@ -0,0 +1,78 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "NavyAnchor" +); diff --git a/src/picto/NavyBachi.tsx b/src/picto/NavyBachi.tsx new file mode 100644 index 000000000..db2dfab69 --- /dev/null +++ b/src/picto/NavyBachi.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "NavyBachi" +); diff --git a/src/picto/Notification.tsx b/src/picto/Notification.tsx new file mode 100644 index 000000000..27efed60f --- /dev/null +++ b/src/picto/Notification.tsx @@ -0,0 +1,60 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + , + "Notification" +); diff --git a/src/picto/NuclearPlant.tsx b/src/picto/NuclearPlant.tsx new file mode 100644 index 000000000..268c407d1 --- /dev/null +++ b/src/picto/NuclearPlant.tsx @@ -0,0 +1,74 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "NuclearPlant" +); diff --git a/src/picto/Paint.tsx b/src/picto/Paint.tsx new file mode 100644 index 000000000..184f6d40a --- /dev/null +++ b/src/picto/Paint.tsx @@ -0,0 +1,56 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "Paint" +); diff --git a/src/picto/Passport.tsx b/src/picto/Passport.tsx new file mode 100644 index 000000000..00c4f12a9 --- /dev/null +++ b/src/picto/Passport.tsx @@ -0,0 +1,36 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + , + "Passport" +); diff --git a/src/picto/Pictures.tsx b/src/picto/Pictures.tsx new file mode 100644 index 000000000..1df25e443 --- /dev/null +++ b/src/picto/Pictures.tsx @@ -0,0 +1,62 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + , + "Pictures" +); diff --git a/src/picto/Podcast.tsx b/src/picto/Podcast.tsx new file mode 100644 index 000000000..ff00a8ba0 --- /dev/null +++ b/src/picto/Podcast.tsx @@ -0,0 +1,80 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + , + "Podcast" +); diff --git a/src/picto/Police.tsx b/src/picto/Police.tsx new file mode 100644 index 000000000..4de556fe3 --- /dev/null +++ b/src/picto/Police.tsx @@ -0,0 +1,22 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + , + "Police" +); diff --git a/src/picto/PressCard.tsx b/src/picto/PressCard.tsx new file mode 100644 index 000000000..51790da0f --- /dev/null +++ b/src/picto/PressCard.tsx @@ -0,0 +1,72 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + , + "PressCard" +); diff --git a/src/picto/School.tsx b/src/picto/School.tsx new file mode 100644 index 000000000..7f6e7210f --- /dev/null +++ b/src/picto/School.tsx @@ -0,0 +1,104 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + , + "School" +); diff --git a/src/picto/Search.tsx b/src/picto/Search.tsx new file mode 100644 index 000000000..665200df4 --- /dev/null +++ b/src/picto/Search.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Search" +); diff --git a/src/picto/SelfTraining.tsx b/src/picto/SelfTraining.tsx new file mode 100644 index 000000000..14507e4c4 --- /dev/null +++ b/src/picto/SelfTraining.tsx @@ -0,0 +1,92 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + , + "SelfTraining" +); diff --git a/src/picto/SignDocument.tsx b/src/picto/SignDocument.tsx new file mode 100644 index 000000000..3876b08f7 --- /dev/null +++ b/src/picto/SignDocument.tsx @@ -0,0 +1,44 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "SignDocument" +); diff --git a/src/picto/Smartphone.tsx b/src/picto/Smartphone.tsx new file mode 100644 index 000000000..839074ed4 --- /dev/null +++ b/src/picto/Smartphone.tsx @@ -0,0 +1,68 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + , + "Smartphone" +); diff --git a/src/picto/Success.tsx b/src/picto/Success.tsx new file mode 100644 index 000000000..432d7e526 --- /dev/null +++ b/src/picto/Success.tsx @@ -0,0 +1,26 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "Success" +); diff --git a/src/picto/Sun.tsx b/src/picto/Sun.tsx new file mode 100644 index 000000000..285e21f91 --- /dev/null +++ b/src/picto/Sun.tsx @@ -0,0 +1,50 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + , + "Sun" +); diff --git a/src/picto/System.tsx b/src/picto/System.tsx new file mode 100644 index 000000000..7d8612953 --- /dev/null +++ b/src/picto/System.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + , + "System" +); diff --git a/src/picto/TaxStamp.tsx b/src/picto/TaxStamp.tsx new file mode 100644 index 000000000..3b80a49de --- /dev/null +++ b/src/picto/TaxStamp.tsx @@ -0,0 +1,56 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "TaxStamp" +); diff --git a/src/picto/TechnicalError.tsx b/src/picto/TechnicalError.tsx new file mode 100644 index 000000000..161b0ca14 --- /dev/null +++ b/src/picto/TechnicalError.tsx @@ -0,0 +1,58 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + , + "TechnicalError" +); diff --git a/src/picto/TravelBack.tsx b/src/picto/TravelBack.tsx new file mode 100644 index 000000000..32359818f --- /dev/null +++ b/src/picto/TravelBack.tsx @@ -0,0 +1,32 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "TravelBack" +); diff --git a/src/picto/Tree.tsx b/src/picto/Tree.tsx new file mode 100644 index 000000000..2252d5558 --- /dev/null +++ b/src/picto/Tree.tsx @@ -0,0 +1,36 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "Tree" +); diff --git a/src/picto/Vaccine.tsx b/src/picto/Vaccine.tsx new file mode 100644 index 000000000..8c911b77c --- /dev/null +++ b/src/picto/Vaccine.tsx @@ -0,0 +1,100 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + + + + + + + , + "Vaccine" +); diff --git a/src/picto/VehicleRegistrationDocument.tsx b/src/picto/VehicleRegistrationDocument.tsx new file mode 100644 index 000000000..cb0fb2ee6 --- /dev/null +++ b/src/picto/VehicleRegistrationDocument.tsx @@ -0,0 +1,44 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + , + "VehicleRegistrationDocument" +); diff --git a/src/picto/Video.tsx b/src/picto/Video.tsx new file mode 100644 index 000000000..c27b405da --- /dev/null +++ b/src/picto/Video.tsx @@ -0,0 +1,64 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + , + "Video" +); diff --git a/src/picto/VideoGames.tsx b/src/picto/VideoGames.tsx new file mode 100644 index 000000000..644ce17cb --- /dev/null +++ b/src/picto/VideoGames.tsx @@ -0,0 +1,96 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + + + + + + + + , + "VideoGames" +); diff --git a/src/picto/Virus.tsx b/src/picto/Virus.tsx new file mode 100644 index 000000000..8618fb18d --- /dev/null +++ b/src/picto/Virus.tsx @@ -0,0 +1,30 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + , + "Virus" +); diff --git a/src/picto/Warning.tsx b/src/picto/Warning.tsx new file mode 100644 index 000000000..60189be3d --- /dev/null +++ b/src/picto/Warning.tsx @@ -0,0 +1,28 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + , + "Warning" +); diff --git a/src/picto/Wheelchair.tsx b/src/picto/Wheelchair.tsx new file mode 100644 index 000000000..dc456892e --- /dev/null +++ b/src/picto/Wheelchair.tsx @@ -0,0 +1,54 @@ +import React from "react"; +import { createIcon } from "./utils/IconWrapper"; + +export default createIcon( + <> + + + + + + + + + , + "Wheelchair" +); diff --git a/src/picto/index.d.ts b/src/picto/index.d.ts new file mode 100644 index 000000000..146121b98 --- /dev/null +++ b/src/picto/index.d.ts @@ -0,0 +1,105 @@ +import { IconWrapper } from "./utils/IconWrapper"; + +type SvgIconComponent = typeof IconWrapper; + +export const Accessibility: SvgIconComponent; +export const Airport: SvgIconComponent; +export const Application: SvgIconComponent; +export const Archive: SvgIconComponent; +export const ArmyTank: SvgIconComponent; +export const Art: SvgIconComponent; +export const Astronaut: SvgIconComponent; +export const Audio: SvgIconComponent; +export const Avatar: SvgIconComponent; +export const Backpack: SvgIconComponent; +export const Base: SvgIconComponent; +export const Binders: SvgIconComponent; +export const Book: SvgIconComponent; +export const Calendar: SvgIconComponent; +export const Catalog: SvgIconComponent; +export const CityHall: SvgIconComponent; +export const Coding: SvgIconComponent; +export const Community: SvgIconComponent; +export const Companie: SvgIconComponent; +export const Compass: SvgIconComponent; +export const Conclusion: SvgIconComponent; +export const ConnectionLost: SvgIconComponent; +export const Contract: SvgIconComponent; +export const Culture: SvgIconComponent; +export const DataVisualization: SvgIconComponent; +export const Datalma: SvgIconComponent; +export const DigitalArt: SvgIconComponent; +export const Doctor: SvgIconComponent; +export const Document: SvgIconComponent; +export const DocumentAdd: SvgIconComponent; +export const DocumentDownload: SvgIconComponent; +export const DocumentSearch: SvgIconComponent; +export const DrivingLicense: SvgIconComponent; +export const DrivingLicenseNew: SvgIconComponent; +export const EarOff: SvgIconComponent; +export const Ecosystem: SvgIconComponent; +export const Environment: SvgIconComponent; +export const Error: SvgIconComponent; +export const EyeOff: SvgIconComponent; +export const Factory: SvgIconComponent; +export const Firefighter: SvgIconComponent; +export const FlowList: SvgIconComponent; +export const FlowSettings: SvgIconComponent; +export const Food: SvgIconComponent; +export const Gendarmerie: SvgIconComponent; +export const Grocery: SvgIconComponent; +export const Health: SvgIconComponent; +export const Hospital: SvgIconComponent; +export const House: SvgIconComponent; +export const HumanCooperation: SvgIconComponent; +export const InProgress: SvgIconComponent; +export const Information: SvgIconComponent; +export const Innovation: SvgIconComponent; +export const InternationalDrivingLicense: SvgIconComponent; +export const InternationalDrivingLicenseNew: SvgIconComponent; +export const Internet: SvgIconComponent; +export const JusticeScales: SvgIconComponent; +export const Language: SvgIconComponent; +export const Leaf: SvgIconComponent; +export const LocationFrance: SvgIconComponent; +export const LocationOverseasFrance: SvgIconComponent; +export const Luggage: SvgIconComponent; +export const MainSend: SvgIconComponent; +export const Map: SvgIconComponent; +export const MapPin: SvgIconComponent; +export const MedicalResearch: SvgIconComponent; +export const MentalDisabilities: SvgIconComponent; +export const Money: SvgIconComponent; +export const Moon: SvgIconComponent; +export const Mountain: SvgIconComponent; +export const NationalIdentityCard: SvgIconComponent; +export const NationalIdentityCardPassport: SvgIconComponent; +export const NavyAnchor: SvgIconComponent; +export const NavyBachi: SvgIconComponent; +export const Notification: SvgIconComponent; +export const NuclearPlant: SvgIconComponent; +export const Paint: SvgIconComponent; +export const Passport: SvgIconComponent; +export const Pictures: SvgIconComponent; +export const Podcast: SvgIconComponent; +export const Police: SvgIconComponent; +export const PressCard: SvgIconComponent; +export const School: SvgIconComponent; +export const Search: SvgIconComponent; +export const SelfTraining: SvgIconComponent; +export const SignDocument: SvgIconComponent; +export const Smartphone: SvgIconComponent; +export const Success: SvgIconComponent; +export const Sun: SvgIconComponent; +export const System: SvgIconComponent; +export const TaxStamp: SvgIconComponent; +export const TechnicalError: SvgIconComponent; +export const TravelBack: SvgIconComponent; +export const Tree: SvgIconComponent; +export const Vaccine: SvgIconComponent; +export const VehicleRegistrationDocument: SvgIconComponent; +export const Video: SvgIconComponent; +export const VideoGames: SvgIconComponent; +export const Virus: SvgIconComponent; +export const Warning: SvgIconComponent; +export const Wheelchair: SvgIconComponent; diff --git a/src/picto/index.ts b/src/picto/index.ts new file mode 100644 index 000000000..2c9f5610c --- /dev/null +++ b/src/picto/index.ts @@ -0,0 +1,101 @@ +export { default as Accessibility } from "./Accessibility"; +export { default as Airport } from "./Airport"; +export { default as Application } from "./Application"; +export { default as Archive } from "./Archive"; +export { default as ArmyTank } from "./ArmyTank"; +export { default as Art } from "./Art"; +export { default as Astronaut } from "./Astronaut"; +export { default as Audio } from "./Audio"; +export { default as Avatar } from "./Avatar"; +export { default as Backpack } from "./Backpack"; +export { default as Base } from "./Base"; +export { default as Binders } from "./Binders"; +export { default as Book } from "./Book"; +export { default as Calendar } from "./Calendar"; +export { default as Catalog } from "./Catalog"; +export { default as CityHall } from "./CityHall"; +export { default as Coding } from "./Coding"; +export { default as Community } from "./Community"; +export { default as Companie } from "./Companie"; +export { default as Compass } from "./Compass"; +export { default as Conclusion } from "./Conclusion"; +export { default as ConnectionLost } from "./ConnectionLost"; +export { default as Contract } from "./Contract"; +export { default as Culture } from "./Culture"; +export { default as DataVisualization } from "./DataVisualization"; +export { default as Datalma } from "./Datalma"; +export { default as DigitalArt } from "./DigitalArt"; +export { default as Doctor } from "./Doctor"; +export { default as Document } from "./Document"; +export { default as DocumentAdd } from "./DocumentAdd"; +export { default as DocumentDownload } from "./DocumentDownload"; +export { default as DocumentSearch } from "./DocumentSearch"; +export { default as DrivingLicense } from "./DrivingLicense"; +export { default as DrivingLicenseNew } from "./DrivingLicenseNew"; +export { default as EarOff } from "./EarOff"; +export { default as Ecosystem } from "./Ecosystem"; +export { default as Environment } from "./Environment"; +export { default as Error } from "./Error"; +export { default as EyeOff } from "./EyeOff"; +export { default as Factory } from "./Factory"; +export { default as Firefighter } from "./Firefighter"; +export { default as FlowList } from "./FlowList"; +export { default as FlowSettings } from "./FlowSettings"; +export { default as Food } from "./Food"; +export { default as Gendarmerie } from "./Gendarmerie"; +export { default as Grocery } from "./Grocery"; +export { default as Health } from "./Health"; +export { default as Hospital } from "./Hospital"; +export { default as House } from "./House"; +export { default as HumanCooperation } from "./HumanCooperation"; +export { default as InProgress } from "./InProgress"; +export { default as Information } from "./Information"; +export { default as Innovation } from "./Innovation"; +export { default as InternationalDrivingLicense } from "./InternationalDrivingLicense"; +export { default as InternationalDrivingLicenseNew } from "./InternationalDrivingLicenseNew"; +export { default as Internet } from "./Internet"; +export { default as JusticeScales } from "./JusticeScales"; +export { default as Language } from "./Language"; +export { default as Leaf } from "./Leaf"; +export { default as LocationFrance } from "./LocationFrance"; +export { default as LocationOverseasFrance } from "./LocationOverseasFrance"; +export { default as Luggage } from "./Luggage"; +export { default as MainSend } from "./MainSend"; +export { default as Map } from "./Map"; +export { default as MapPin } from "./MapPin"; +export { default as MedicalResearch } from "./MedicalResearch"; +export { default as MentalDisabilities } from "./MentalDisabilities"; +export { default as Money } from "./Money"; +export { default as Moon } from "./Moon"; +export { default as Mountain } from "./Mountain"; +export { default as NationalIdentityCard } from "./NationalIdentityCard"; +export { default as NationalIdentityCardPassport } from "./NationalIdentityCardPassport"; +export { default as NavyAnchor } from "./NavyAnchor"; +export { default as NavyBachi } from "./NavyBachi"; +export { default as Notification } from "./Notification"; +export { default as NuclearPlant } from "./NuclearPlant"; +export { default as Paint } from "./Paint"; +export { default as Passport } from "./Passport"; +export { default as Pictures } from "./Pictures"; +export { default as Podcast } from "./Podcast"; +export { default as Police } from "./Police"; +export { default as PressCard } from "./PressCard"; +export { default as School } from "./School"; +export { default as Search } from "./Search"; +export { default as SelfTraining } from "./SelfTraining"; +export { default as SignDocument } from "./SignDocument"; +export { default as Smartphone } from "./Smartphone"; +export { default as Success } from "./Success"; +export { default as Sun } from "./Sun"; +export { default as System } from "./System"; +export { default as TaxStamp } from "./TaxStamp"; +export { default as TechnicalError } from "./TechnicalError"; +export { default as TravelBack } from "./TravelBack"; +export { default as Tree } from "./Tree"; +export { default as Vaccine } from "./Vaccine"; +export { default as VehicleRegistrationDocument } from "./VehicleRegistrationDocument"; +export { default as Video } from "./Video"; +export { default as VideoGames } from "./VideoGames"; +export { default as Virus } from "./Virus"; +export { default as Warning } from "./Warning"; +export { default as Wheelchair } from "./Wheelchair"; diff --git a/src/picto/pictogrammes-svg/Accessibility.svg b/src/picto/pictogrammes-svg/Accessibility.svg new file mode 100644 index 000000000..40dabfb7f --- /dev/null +++ b/src/picto/pictogrammes-svg/Accessibility.svg @@ -0,0 +1,7 @@ + diff --git a/src/picto/pictogrammes-svg/Airport.svg b/src/picto/pictogrammes-svg/Airport.svg new file mode 100644 index 000000000..bc08d986a --- /dev/null +++ b/src/picto/pictogrammes-svg/Airport.svg @@ -0,0 +1,15 @@ + diff --git a/src/picto/pictogrammes-svg/Application.svg b/src/picto/pictogrammes-svg/Application.svg new file mode 100644 index 000000000..a43c37a70 --- /dev/null +++ b/src/picto/pictogrammes-svg/Application.svg @@ -0,0 +1,16 @@ + diff --git a/src/picto/pictogrammes-svg/Archive.svg b/src/picto/pictogrammes-svg/Archive.svg new file mode 100644 index 000000000..b2368c1b2 --- /dev/null +++ b/src/picto/pictogrammes-svg/Archive.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/ArmyTank.svg b/src/picto/pictogrammes-svg/ArmyTank.svg new file mode 100644 index 000000000..411342c83 --- /dev/null +++ b/src/picto/pictogrammes-svg/ArmyTank.svg @@ -0,0 +1,13 @@ + diff --git a/src/picto/pictogrammes-svg/Art.svg b/src/picto/pictogrammes-svg/Art.svg new file mode 100644 index 000000000..2e782eb34 --- /dev/null +++ b/src/picto/pictogrammes-svg/Art.svg @@ -0,0 +1,15 @@ + diff --git a/src/picto/pictogrammes-svg/Astronaut.svg b/src/picto/pictogrammes-svg/Astronaut.svg new file mode 100644 index 000000000..466e24751 --- /dev/null +++ b/src/picto/pictogrammes-svg/Astronaut.svg @@ -0,0 +1,16 @@ + diff --git a/src/picto/pictogrammes-svg/Audio.svg b/src/picto/pictogrammes-svg/Audio.svg new file mode 100644 index 000000000..dc68ff11a --- /dev/null +++ b/src/picto/pictogrammes-svg/Audio.svg @@ -0,0 +1,16 @@ + diff --git a/src/picto/pictogrammes-svg/Avatar.svg b/src/picto/pictogrammes-svg/Avatar.svg new file mode 100644 index 000000000..c536e06b5 --- /dev/null +++ b/src/picto/pictogrammes-svg/Avatar.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Backpack.svg b/src/picto/pictogrammes-svg/Backpack.svg new file mode 100644 index 000000000..4ec15ee2d --- /dev/null +++ b/src/picto/pictogrammes-svg/Backpack.svg @@ -0,0 +1,5 @@ + diff --git a/src/picto/pictogrammes-svg/Base.svg b/src/picto/pictogrammes-svg/Base.svg new file mode 100644 index 000000000..e03200b7d --- /dev/null +++ b/src/picto/pictogrammes-svg/Base.svg @@ -0,0 +1,7 @@ + diff --git a/src/picto/pictogrammes-svg/Binders.svg b/src/picto/pictogrammes-svg/Binders.svg new file mode 100644 index 000000000..1011c9cd1 --- /dev/null +++ b/src/picto/pictogrammes-svg/Binders.svg @@ -0,0 +1,17 @@ + + + + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/Book.svg b/src/picto/pictogrammes-svg/Book.svg new file mode 100644 index 000000000..047ebb644 --- /dev/null +++ b/src/picto/pictogrammes-svg/Book.svg @@ -0,0 +1,12 @@ + diff --git a/src/picto/pictogrammes-svg/Calendar.svg b/src/picto/pictogrammes-svg/Calendar.svg new file mode 100644 index 000000000..31098c17a --- /dev/null +++ b/src/picto/pictogrammes-svg/Calendar.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/Catalog.svg b/src/picto/pictogrammes-svg/Catalog.svg new file mode 100644 index 000000000..034b513a6 --- /dev/null +++ b/src/picto/pictogrammes-svg/Catalog.svg @@ -0,0 +1,26 @@ + diff --git a/src/picto/pictogrammes-svg/CityHall.svg b/src/picto/pictogrammes-svg/CityHall.svg new file mode 100644 index 000000000..fe0594993 --- /dev/null +++ b/src/picto/pictogrammes-svg/CityHall.svg @@ -0,0 +1,26 @@ + diff --git a/src/picto/pictogrammes-svg/Coding.svg b/src/picto/pictogrammes-svg/Coding.svg new file mode 100644 index 000000000..766dd23c1 --- /dev/null +++ b/src/picto/pictogrammes-svg/Coding.svg @@ -0,0 +1,20 @@ + diff --git a/src/picto/pictogrammes-svg/Community.svg b/src/picto/pictogrammes-svg/Community.svg new file mode 100644 index 000000000..2d5644ddf --- /dev/null +++ b/src/picto/pictogrammes-svg/Community.svg @@ -0,0 +1,18 @@ + diff --git a/src/picto/pictogrammes-svg/Companie.svg b/src/picto/pictogrammes-svg/Companie.svg new file mode 100644 index 000000000..4af6863a1 --- /dev/null +++ b/src/picto/pictogrammes-svg/Companie.svg @@ -0,0 +1,22 @@ + diff --git a/src/picto/pictogrammes-svg/Compass.svg b/src/picto/pictogrammes-svg/Compass.svg new file mode 100644 index 000000000..990687a47 --- /dev/null +++ b/src/picto/pictogrammes-svg/Compass.svg @@ -0,0 +1,8 @@ + diff --git a/src/picto/pictogrammes-svg/Conclusion.svg b/src/picto/pictogrammes-svg/Conclusion.svg new file mode 100644 index 000000000..3d0785041 --- /dev/null +++ b/src/picto/pictogrammes-svg/Conclusion.svg @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/ConnectionLost.svg b/src/picto/pictogrammes-svg/ConnectionLost.svg new file mode 100644 index 000000000..209df9b8a --- /dev/null +++ b/src/picto/pictogrammes-svg/ConnectionLost.svg @@ -0,0 +1,13 @@ + diff --git a/src/picto/pictogrammes-svg/Contract.svg b/src/picto/pictogrammes-svg/Contract.svg new file mode 100644 index 000000000..ac03fc876 --- /dev/null +++ b/src/picto/pictogrammes-svg/Contract.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/src/picto/pictogrammes-svg/Culture.svg b/src/picto/pictogrammes-svg/Culture.svg new file mode 100644 index 000000000..ff3a882c4 --- /dev/null +++ b/src/picto/pictogrammes-svg/Culture.svg @@ -0,0 +1,14 @@ + diff --git a/src/picto/pictogrammes-svg/DataVisualization.svg b/src/picto/pictogrammes-svg/DataVisualization.svg new file mode 100644 index 000000000..2fa639555 --- /dev/null +++ b/src/picto/pictogrammes-svg/DataVisualization.svg @@ -0,0 +1,20 @@ + diff --git a/src/picto/pictogrammes-svg/Datalma.svg b/src/picto/pictogrammes-svg/Datalma.svg new file mode 100644 index 000000000..0865f49f1 --- /dev/null +++ b/src/picto/pictogrammes-svg/Datalma.svg @@ -0,0 +1,35 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/DigitalArt.svg b/src/picto/pictogrammes-svg/DigitalArt.svg new file mode 100644 index 000000000..300089a5b --- /dev/null +++ b/src/picto/pictogrammes-svg/DigitalArt.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/pictogrammes-svg/Doctor.svg b/src/picto/pictogrammes-svg/Doctor.svg new file mode 100644 index 000000000..e4287b968 --- /dev/null +++ b/src/picto/pictogrammes-svg/Doctor.svg @@ -0,0 +1,21 @@ + diff --git a/src/picto/pictogrammes-svg/Document.svg b/src/picto/pictogrammes-svg/Document.svg new file mode 100644 index 000000000..a865a8719 --- /dev/null +++ b/src/picto/pictogrammes-svg/Document.svg @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/DocumentAdd.svg b/src/picto/pictogrammes-svg/DocumentAdd.svg new file mode 100644 index 000000000..e67633194 --- /dev/null +++ b/src/picto/pictogrammes-svg/DocumentAdd.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/picto/pictogrammes-svg/DocumentDownload.svg b/src/picto/pictogrammes-svg/DocumentDownload.svg new file mode 100644 index 000000000..565dda8af --- /dev/null +++ b/src/picto/pictogrammes-svg/DocumentDownload.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/DocumentSearch.svg b/src/picto/pictogrammes-svg/DocumentSearch.svg new file mode 100644 index 000000000..e1baf47f2 --- /dev/null +++ b/src/picto/pictogrammes-svg/DocumentSearch.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/DrivingLicense.svg b/src/picto/pictogrammes-svg/DrivingLicense.svg new file mode 100644 index 000000000..e37527505 --- /dev/null +++ b/src/picto/pictogrammes-svg/DrivingLicense.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/DrivingLicenseNew.svg b/src/picto/pictogrammes-svg/DrivingLicenseNew.svg new file mode 100644 index 000000000..449222592 --- /dev/null +++ b/src/picto/pictogrammes-svg/DrivingLicenseNew.svg @@ -0,0 +1,4 @@ + + + + diff --git a/src/picto/pictogrammes-svg/EarOff.svg b/src/picto/pictogrammes-svg/EarOff.svg new file mode 100644 index 000000000..0baf12149 --- /dev/null +++ b/src/picto/pictogrammes-svg/EarOff.svg @@ -0,0 +1,9 @@ + diff --git a/src/picto/pictogrammes-svg/Ecosystem.svg b/src/picto/pictogrammes-svg/Ecosystem.svg new file mode 100644 index 000000000..72ad879ab --- /dev/null +++ b/src/picto/pictogrammes-svg/Ecosystem.svg @@ -0,0 +1,23 @@ + diff --git a/src/picto/pictogrammes-svg/Environment.svg b/src/picto/pictogrammes-svg/Environment.svg new file mode 100644 index 000000000..60b630cba --- /dev/null +++ b/src/picto/pictogrammes-svg/Environment.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Error.svg b/src/picto/pictogrammes-svg/Error.svg new file mode 100644 index 000000000..cd8adbc9e --- /dev/null +++ b/src/picto/pictogrammes-svg/Error.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/EyeOff.svg b/src/picto/pictogrammes-svg/EyeOff.svg new file mode 100644 index 000000000..0cc2fe62d --- /dev/null +++ b/src/picto/pictogrammes-svg/EyeOff.svg @@ -0,0 +1,9 @@ + diff --git a/src/picto/pictogrammes-svg/Factory.svg b/src/picto/pictogrammes-svg/Factory.svg new file mode 100644 index 000000000..2314e7d94 --- /dev/null +++ b/src/picto/pictogrammes-svg/Factory.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/pictogrammes-svg/Firefighter.svg b/src/picto/pictogrammes-svg/Firefighter.svg new file mode 100644 index 000000000..8b5b912f9 --- /dev/null +++ b/src/picto/pictogrammes-svg/Firefighter.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/FlowList.svg b/src/picto/pictogrammes-svg/FlowList.svg new file mode 100644 index 000000000..c613f9aa6 --- /dev/null +++ b/src/picto/pictogrammes-svg/FlowList.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/FlowSettings.svg b/src/picto/pictogrammes-svg/FlowSettings.svg new file mode 100644 index 000000000..f45160f1b --- /dev/null +++ b/src/picto/pictogrammes-svg/FlowSettings.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/Food.svg b/src/picto/pictogrammes-svg/Food.svg new file mode 100644 index 000000000..d5cc7649a --- /dev/null +++ b/src/picto/pictogrammes-svg/Food.svg @@ -0,0 +1,4 @@ + diff --git a/src/picto/pictogrammes-svg/Gendarmerie.svg b/src/picto/pictogrammes-svg/Gendarmerie.svg new file mode 100644 index 000000000..c59e75976 --- /dev/null +++ b/src/picto/pictogrammes-svg/Gendarmerie.svg @@ -0,0 +1,5 @@ + diff --git a/src/picto/pictogrammes-svg/Grocery.svg b/src/picto/pictogrammes-svg/Grocery.svg new file mode 100644 index 000000000..097713853 --- /dev/null +++ b/src/picto/pictogrammes-svg/Grocery.svg @@ -0,0 +1,4 @@ + diff --git a/src/picto/pictogrammes-svg/Health.svg b/src/picto/pictogrammes-svg/Health.svg new file mode 100644 index 000000000..36b6b785f --- /dev/null +++ b/src/picto/pictogrammes-svg/Health.svg @@ -0,0 +1,9 @@ + diff --git a/src/picto/pictogrammes-svg/Hospital.svg b/src/picto/pictogrammes-svg/Hospital.svg new file mode 100644 index 000000000..d689a4319 --- /dev/null +++ b/src/picto/pictogrammes-svg/Hospital.svg @@ -0,0 +1,17 @@ + diff --git a/src/picto/pictogrammes-svg/House.svg b/src/picto/pictogrammes-svg/House.svg new file mode 100644 index 000000000..59245df59 --- /dev/null +++ b/src/picto/pictogrammes-svg/House.svg @@ -0,0 +1,4 @@ + diff --git a/src/picto/pictogrammes-svg/HumanCooperation.svg b/src/picto/pictogrammes-svg/HumanCooperation.svg new file mode 100644 index 000000000..4b2fc1c5d --- /dev/null +++ b/src/picto/pictogrammes-svg/HumanCooperation.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/pictogrammes-svg/InProgress.svg b/src/picto/pictogrammes-svg/InProgress.svg new file mode 100644 index 000000000..e94759143 --- /dev/null +++ b/src/picto/pictogrammes-svg/InProgress.svg @@ -0,0 +1,16 @@ + diff --git a/src/picto/pictogrammes-svg/Information.svg b/src/picto/pictogrammes-svg/Information.svg new file mode 100644 index 000000000..f20328942 --- /dev/null +++ b/src/picto/pictogrammes-svg/Information.svg @@ -0,0 +1,5 @@ + diff --git a/src/picto/pictogrammes-svg/Innovation.svg b/src/picto/pictogrammes-svg/Innovation.svg new file mode 100644 index 000000000..309e8d816 --- /dev/null +++ b/src/picto/pictogrammes-svg/Innovation.svg @@ -0,0 +1,19 @@ + diff --git a/src/picto/pictogrammes-svg/InternationalDrivingLicense.svg b/src/picto/pictogrammes-svg/InternationalDrivingLicense.svg new file mode 100644 index 000000000..7a62e7739 --- /dev/null +++ b/src/picto/pictogrammes-svg/InternationalDrivingLicense.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/picto/pictogrammes-svg/InternationalDrivingLicenseNew.svg b/src/picto/pictogrammes-svg/InternationalDrivingLicenseNew.svg new file mode 100644 index 000000000..d238c2e26 --- /dev/null +++ b/src/picto/pictogrammes-svg/InternationalDrivingLicenseNew.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/picto/pictogrammes-svg/Internet.svg b/src/picto/pictogrammes-svg/Internet.svg new file mode 100644 index 000000000..bfc5dde26 --- /dev/null +++ b/src/picto/pictogrammes-svg/Internet.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/JusticeScales.svg b/src/picto/pictogrammes-svg/JusticeScales.svg new file mode 100644 index 000000000..2afb3c562 --- /dev/null +++ b/src/picto/pictogrammes-svg/JusticeScales.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Language.svg b/src/picto/pictogrammes-svg/Language.svg new file mode 100644 index 000000000..7cfa9dd12 --- /dev/null +++ b/src/picto/pictogrammes-svg/Language.svg @@ -0,0 +1,4 @@ + diff --git a/src/picto/pictogrammes-svg/Leaf.svg b/src/picto/pictogrammes-svg/Leaf.svg new file mode 100644 index 000000000..e447d268f --- /dev/null +++ b/src/picto/pictogrammes-svg/Leaf.svg @@ -0,0 +1,12 @@ + diff --git a/src/picto/pictogrammes-svg/LocationFrance.svg b/src/picto/pictogrammes-svg/LocationFrance.svg new file mode 100644 index 000000000..d00dbfe13 --- /dev/null +++ b/src/picto/pictogrammes-svg/LocationFrance.svg @@ -0,0 +1,20 @@ + diff --git a/src/picto/pictogrammes-svg/LocationOverseasFrance.svg b/src/picto/pictogrammes-svg/LocationOverseasFrance.svg new file mode 100644 index 000000000..88c6c889e --- /dev/null +++ b/src/picto/pictogrammes-svg/LocationOverseasFrance.svg @@ -0,0 +1,27 @@ + diff --git a/src/picto/pictogrammes-svg/Luggage.svg b/src/picto/pictogrammes-svg/Luggage.svg new file mode 100644 index 000000000..95d6790c2 --- /dev/null +++ b/src/picto/pictogrammes-svg/Luggage.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/MainSend.svg b/src/picto/pictogrammes-svg/MainSend.svg new file mode 100644 index 000000000..f417e8330 --- /dev/null +++ b/src/picto/pictogrammes-svg/MainSend.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/Map.svg b/src/picto/pictogrammes-svg/Map.svg new file mode 100644 index 000000000..76f496b23 --- /dev/null +++ b/src/picto/pictogrammes-svg/Map.svg @@ -0,0 +1,17 @@ + diff --git a/src/picto/pictogrammes-svg/MapPin.svg b/src/picto/pictogrammes-svg/MapPin.svg new file mode 100644 index 000000000..9cf6a35c1 --- /dev/null +++ b/src/picto/pictogrammes-svg/MapPin.svg @@ -0,0 +1,5 @@ + diff --git a/src/picto/pictogrammes-svg/MedicalResearch.svg b/src/picto/pictogrammes-svg/MedicalResearch.svg new file mode 100644 index 000000000..e4fe9c3cc --- /dev/null +++ b/src/picto/pictogrammes-svg/MedicalResearch.svg @@ -0,0 +1,20 @@ + diff --git a/src/picto/pictogrammes-svg/MentalDisabilities.svg b/src/picto/pictogrammes-svg/MentalDisabilities.svg new file mode 100644 index 000000000..c914a1b68 --- /dev/null +++ b/src/picto/pictogrammes-svg/MentalDisabilities.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/Money.svg b/src/picto/pictogrammes-svg/Money.svg new file mode 100644 index 000000000..b5fed43f7 --- /dev/null +++ b/src/picto/pictogrammes-svg/Money.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/pictogrammes-svg/Moon.svg b/src/picto/pictogrammes-svg/Moon.svg new file mode 100644 index 000000000..72c824d25 --- /dev/null +++ b/src/picto/pictogrammes-svg/Moon.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/pictogrammes-svg/Mountain.svg b/src/picto/pictogrammes-svg/Mountain.svg new file mode 100644 index 000000000..6b607b2de --- /dev/null +++ b/src/picto/pictogrammes-svg/Mountain.svg @@ -0,0 +1,15 @@ + diff --git a/src/picto/pictogrammes-svg/NationalIdentityCard.svg b/src/picto/pictogrammes-svg/NationalIdentityCard.svg new file mode 100644 index 000000000..8a50b7ede --- /dev/null +++ b/src/picto/pictogrammes-svg/NationalIdentityCard.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/src/picto/pictogrammes-svg/NationalIdentityCardPassport.svg b/src/picto/pictogrammes-svg/NationalIdentityCardPassport.svg new file mode 100644 index 000000000..677cf27cc --- /dev/null +++ b/src/picto/pictogrammes-svg/NationalIdentityCardPassport.svg @@ -0,0 +1,7 @@ + + + + + + + diff --git a/src/picto/pictogrammes-svg/NavyAnchor.svg b/src/picto/pictogrammes-svg/NavyAnchor.svg new file mode 100644 index 000000000..5e69ec852 --- /dev/null +++ b/src/picto/pictogrammes-svg/NavyAnchor.svg @@ -0,0 +1,14 @@ + diff --git a/src/picto/pictogrammes-svg/NavyBachi.svg b/src/picto/pictogrammes-svg/NavyBachi.svg new file mode 100644 index 000000000..6981d2d6f --- /dev/null +++ b/src/picto/pictogrammes-svg/NavyBachi.svg @@ -0,0 +1,9 @@ + diff --git a/src/picto/pictogrammes-svg/Notification.svg b/src/picto/pictogrammes-svg/Notification.svg new file mode 100644 index 000000000..d421c5502 --- /dev/null +++ b/src/picto/pictogrammes-svg/Notification.svg @@ -0,0 +1,13 @@ + diff --git a/src/picto/pictogrammes-svg/NuclearPlant.svg b/src/picto/pictogrammes-svg/NuclearPlant.svg new file mode 100644 index 000000000..ebb2fada7 --- /dev/null +++ b/src/picto/pictogrammes-svg/NuclearPlant.svg @@ -0,0 +1,14 @@ + diff --git a/src/picto/pictogrammes-svg/Paint.svg b/src/picto/pictogrammes-svg/Paint.svg new file mode 100644 index 000000000..8a800e8f6 --- /dev/null +++ b/src/picto/pictogrammes-svg/Paint.svg @@ -0,0 +1,14 @@ + diff --git a/src/picto/pictogrammes-svg/Passport.svg b/src/picto/pictogrammes-svg/Passport.svg new file mode 100644 index 000000000..55ce5d696 --- /dev/null +++ b/src/picto/pictogrammes-svg/Passport.svg @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/src/picto/pictogrammes-svg/Pictures.svg b/src/picto/pictogrammes-svg/Pictures.svg new file mode 100644 index 000000000..a14d97b3c --- /dev/null +++ b/src/picto/pictogrammes-svg/Pictures.svg @@ -0,0 +1,11 @@ + diff --git a/src/picto/pictogrammes-svg/Podcast.svg b/src/picto/pictogrammes-svg/Podcast.svg new file mode 100644 index 000000000..3a40ff18a --- /dev/null +++ b/src/picto/pictogrammes-svg/Podcast.svg @@ -0,0 +1,20 @@ + diff --git a/src/picto/pictogrammes-svg/Police.svg b/src/picto/pictogrammes-svg/Police.svg new file mode 100644 index 000000000..4e15aab96 --- /dev/null +++ b/src/picto/pictogrammes-svg/Police.svg @@ -0,0 +1,5 @@ + diff --git a/src/picto/pictogrammes-svg/PressCard.svg b/src/picto/pictogrammes-svg/PressCard.svg new file mode 100644 index 000000000..320d24faa --- /dev/null +++ b/src/picto/pictogrammes-svg/PressCard.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/School.svg b/src/picto/pictogrammes-svg/School.svg new file mode 100644 index 000000000..0c9973fd8 --- /dev/null +++ b/src/picto/pictogrammes-svg/School.svg @@ -0,0 +1,23 @@ + diff --git a/src/picto/pictogrammes-svg/Search.svg b/src/picto/pictogrammes-svg/Search.svg new file mode 100644 index 000000000..924202931 --- /dev/null +++ b/src/picto/pictogrammes-svg/Search.svg @@ -0,0 +1,12 @@ + diff --git a/src/picto/pictogrammes-svg/SelfTraining.svg b/src/picto/pictogrammes-svg/SelfTraining.svg new file mode 100644 index 000000000..3ebc256a1 --- /dev/null +++ b/src/picto/pictogrammes-svg/SelfTraining.svg @@ -0,0 +1,18 @@ + diff --git a/src/picto/pictogrammes-svg/SignDocument.svg b/src/picto/pictogrammes-svg/SignDocument.svg new file mode 100644 index 000000000..8022a203c --- /dev/null +++ b/src/picto/pictogrammes-svg/SignDocument.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/Smartphone.svg b/src/picto/pictogrammes-svg/Smartphone.svg new file mode 100644 index 000000000..a299004f8 --- /dev/null +++ b/src/picto/pictogrammes-svg/Smartphone.svg @@ -0,0 +1,13 @@ + diff --git a/src/picto/pictogrammes-svg/Success.svg b/src/picto/pictogrammes-svg/Success.svg new file mode 100644 index 000000000..3c8d59af6 --- /dev/null +++ b/src/picto/pictogrammes-svg/Success.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Sun.svg b/src/picto/pictogrammes-svg/Sun.svg new file mode 100644 index 000000000..97a228438 --- /dev/null +++ b/src/picto/pictogrammes-svg/Sun.svg @@ -0,0 +1,12 @@ + diff --git a/src/picto/pictogrammes-svg/System.svg b/src/picto/pictogrammes-svg/System.svg new file mode 100644 index 000000000..3b8cd584f --- /dev/null +++ b/src/picto/pictogrammes-svg/System.svg @@ -0,0 +1,8 @@ + diff --git a/src/picto/pictogrammes-svg/TaxStamp.svg b/src/picto/pictogrammes-svg/TaxStamp.svg new file mode 100644 index 000000000..9a237fdec --- /dev/null +++ b/src/picto/pictogrammes-svg/TaxStamp.svg @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/TechnicalError.svg b/src/picto/pictogrammes-svg/TechnicalError.svg new file mode 100644 index 000000000..3a1ee314f --- /dev/null +++ b/src/picto/pictogrammes-svg/TechnicalError.svg @@ -0,0 +1,14 @@ + diff --git a/src/picto/pictogrammes-svg/TravelBack.svg b/src/picto/pictogrammes-svg/TravelBack.svg new file mode 100644 index 000000000..e16321195 --- /dev/null +++ b/src/picto/pictogrammes-svg/TravelBack.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Tree.svg b/src/picto/pictogrammes-svg/Tree.svg new file mode 100644 index 000000000..25acb936d --- /dev/null +++ b/src/picto/pictogrammes-svg/Tree.svg @@ -0,0 +1,9 @@ + diff --git a/src/picto/pictogrammes-svg/Vaccine.svg b/src/picto/pictogrammes-svg/Vaccine.svg new file mode 100644 index 000000000..36e27ed37 --- /dev/null +++ b/src/picto/pictogrammes-svg/Vaccine.svg @@ -0,0 +1,23 @@ + diff --git a/src/picto/pictogrammes-svg/VehicleRegistrationDocument.svg b/src/picto/pictogrammes-svg/VehicleRegistrationDocument.svg new file mode 100644 index 000000000..f2ed03be3 --- /dev/null +++ b/src/picto/pictogrammes-svg/VehicleRegistrationDocument.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/src/picto/pictogrammes-svg/Video.svg b/src/picto/pictogrammes-svg/Video.svg new file mode 100644 index 000000000..145ecdac6 --- /dev/null +++ b/src/picto/pictogrammes-svg/Video.svg @@ -0,0 +1,16 @@ + diff --git a/src/picto/pictogrammes-svg/VideoGames.svg b/src/picto/pictogrammes-svg/VideoGames.svg new file mode 100644 index 000000000..e80667034 --- /dev/null +++ b/src/picto/pictogrammes-svg/VideoGames.svg @@ -0,0 +1,17 @@ + diff --git a/src/picto/pictogrammes-svg/Virus.svg b/src/picto/pictogrammes-svg/Virus.svg new file mode 100644 index 000000000..64454c706 --- /dev/null +++ b/src/picto/pictogrammes-svg/Virus.svg @@ -0,0 +1,6 @@ + diff --git a/src/picto/pictogrammes-svg/Warning.svg b/src/picto/pictogrammes-svg/Warning.svg new file mode 100644 index 000000000..a7a0fc62d --- /dev/null +++ b/src/picto/pictogrammes-svg/Warning.svg @@ -0,0 +1,7 @@ + diff --git a/src/picto/pictogrammes-svg/Wheelchair.svg b/src/picto/pictogrammes-svg/Wheelchair.svg new file mode 100644 index 000000000..d38db4445 --- /dev/null +++ b/src/picto/pictogrammes-svg/Wheelchair.svg @@ -0,0 +1,10 @@ + diff --git a/src/picto/utils/IconWrapper.tsx b/src/picto/utils/IconWrapper.tsx new file mode 100644 index 000000000..447b4caf0 --- /dev/null +++ b/src/picto/utils/IconWrapper.tsx @@ -0,0 +1,48 @@ +import React, { memo } from "react"; + +type IconSize = "small" | "medium" | "large" | "inherit" | (string & {}); +export type IconProps = { + fontSize?: IconSize; +} & Omit, "fontSize">; + +const getSize = (size: IconSize) => { + switch (size) { + case "small": + return "1.25rem"; + case "medium": + return "1.5rem"; + case "large": + return "2.5rem"; + case "inherit": + return "inherit"; + default: + return size; + } +}; + +export const IconWrapper: React.FC = memo( + ({ children, fontSize = "medium", ...props }) => ( + + ) +); + +export function createIcon(SvgPath: JSX.Element, displayName: string) { + const IconComponent: React.FC = props => ( + {SvgPath} + ); + + IconComponent.displayName = displayName; + return IconComponent; +} diff --git a/test/integration/cra/src/Picto.tsx b/test/integration/cra/src/Picto.tsx new file mode 100644 index 000000000..03138355e --- /dev/null +++ b/test/integration/cra/src/Picto.tsx @@ -0,0 +1,18 @@ +import { fr } from "@codegouvfr/react-dsfr"; + +import * as Pictogrammes from '@codegouvfr/react-dsfr/picto'; + +export function Picto() { + return ( +
+ { + Object.entries(Pictogrammes).map(([name, Component]) => ( + + )) + } +
+ ) +} \ No newline at end of file diff --git a/test/integration/cra/src/index.tsx b/test/integration/cra/src/index.tsx index 936a60ad6..079983921 100644 --- a/test/integration/cra/src/index.tsx +++ b/test/integration/cra/src/index.tsx @@ -3,6 +3,7 @@ import { createRoot } from "react-dom/client"; import { startReactDsfr } from "@codegouvfr/react-dsfr/spa"; import { Home } from "./Home"; import { Mui } from "./Mui"; +import { Picto } from "./Picto"; import { useRoute, RouteProvider } from "./router"; import { Header } from "@codegouvfr/react-dsfr/Header"; import { fr } from "@codegouvfr/react-dsfr"; @@ -57,6 +58,11 @@ function Root() { "text": "Mui playground", "linkProps": routes.mui().link, "isActive": route.name === "mui" + }, + { + "text": "Picto playground", + "linkProps": routes.picto().link, + "isActive": route.name === "picto" } ]} /> @@ -70,6 +76,7 @@ function Root() { switch (route.name) { case "mui": return ; case "home": return ; + case "picto": return ; case false: return

404

} })()} diff --git a/test/integration/cra/src/router.ts b/test/integration/cra/src/router.ts index 8c765ccdb..17da1b9c2 100644 --- a/test/integration/cra/src/router.ts +++ b/test/integration/cra/src/router.ts @@ -3,6 +3,7 @@ import { createRouter, defineRoute } from "type-route"; const routeDefs = { "home": defineRoute("/"), "mui": defineRoute("/mui"), + "picto": defineRoute("/picto"), }; export const { RouteProvider, useRoute, routes } = createRouter(routeDefs); diff --git a/test/integration/cra/yarn.lock b/test/integration/cra/yarn.lock index e37107fda..7441f95d2 100644 --- a/test/integration/cra/yarn.lock +++ b/test/integration/cra/yarn.lock @@ -1110,8 +1110,10 @@ integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== "@codegouvfr/react-dsfr@file:../../../dist": - version "1.14.8" + version "1.23.14" dependencies: + react "^19.1.0" + react-dom "^19.1.0" tsafe "^1.8.5" yargs-parser "^21.1.1" @@ -7446,6 +7448,13 @@ react-dom@18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-dom@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" + integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== + dependencies: + scheduler "^0.26.0" + react-error-overlay@^6.0.11: version "6.0.11" resolved "https://registry.yarnpkg.com/react-error-overlay/-/react-error-overlay-6.0.11.tgz#92835de5841c5cf08ba00ddd2d677b6d17ff9adb" @@ -7543,6 +7552,11 @@ react@18.2.0: dependencies: loose-envify "^1.1.0" +react@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== + read-cache@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/read-cache/-/read-cache-1.0.0.tgz#e664ef31161166c9751cdbe8dbcf86b5fb58f774" @@ -7837,6 +7851,11 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" +scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== + schema-utils@2.7.0: version "2.7.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-2.7.0.tgz#17151f76d8eae67fbbf77960c33c676ad9f4efc7" diff --git a/test/integration/next-appdir/yarn.lock b/test/integration/next-appdir/yarn.lock index 438517810..910bad2fe 100644 --- a/test/integration/next-appdir/yarn.lock +++ b/test/integration/next-appdir/yarn.lock @@ -112,8 +112,10 @@ to-fast-properties "^2.0.0" "@codegouvfr/react-dsfr@file:../../../dist": - version "1.14.8" + version "1.23.14" dependencies: + react "^19.1.0" + react-dom "^19.1.0" tsafe "^1.8.5" yargs-parser "^21.1.1" @@ -2351,6 +2353,13 @@ react-dom@18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-dom@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" + integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== + dependencies: + scheduler "^0.26.0" + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -2378,6 +2387,11 @@ react@18.2.0: dependencies: loose-envify "^1.1.0" +react@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== + readable-stream@^2.0.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -2534,6 +2548,11 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" +scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== + schema-utils@^3.0.0: version "3.3.0" resolved "https://registry.yarnpkg.com/schema-utils/-/schema-utils-3.3.0.tgz#f50a88877c3c01652a15b622ae9e9795df7a60fe" diff --git a/test/integration/next-pagesdir/yarn.lock b/test/integration/next-pagesdir/yarn.lock index 5a4876d45..81566137d 100644 --- a/test/integration/next-pagesdir/yarn.lock +++ b/test/integration/next-pagesdir/yarn.lock @@ -86,8 +86,10 @@ to-fast-properties "^2.0.0" "@codegouvfr/react-dsfr@file:../../../dist": - version "1.14.8" + version "1.23.14" dependencies: + react "^19.1.0" + react-dom "^19.1.0" tsafe "^1.8.5" yargs-parser "^21.1.1" @@ -2030,6 +2032,13 @@ react-dom@18.2.0: loose-envify "^1.1.0" scheduler "^0.23.0" +react-dom@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react-dom/-/react-dom-19.1.0.tgz#133558deca37fa1d682708df8904b25186793623" + integrity sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g== + dependencies: + scheduler "^0.26.0" + react-is@^16.13.1, react-is@^16.7.0: version "16.13.1" resolved "https://registry.yarnpkg.com/react-is/-/react-is-16.13.1.tgz#789729a4dc36de2999dc156dd6c1d9c18cea56a4" @@ -2057,6 +2066,11 @@ react@18.2.0: dependencies: loose-envify "^1.1.0" +react@^19.1.0: + version "19.1.0" + resolved "https://registry.yarnpkg.com/react/-/react-19.1.0.tgz#926864b6c48da7627f004795d6cce50e90793b75" + integrity sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg== + readable-stream@^2.0.2: version "2.3.7" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-2.3.7.tgz#1eca1cf711aef814c04f62252a36a62f6cb23b57" @@ -2177,6 +2191,11 @@ scheduler@^0.23.0: dependencies: loose-envify "^1.1.0" +scheduler@^0.26.0: + version "0.26.0" + resolved "https://registry.yarnpkg.com/scheduler/-/scheduler-0.26.0.tgz#4ce8a8c2a2095f13ea11bf9a445be50c555d6337" + integrity sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA== + semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" diff --git a/test/integration/vite/src/Home.tsx b/test/integration/vite/src/Home.tsx index b5922eb4e..5670da0d3 100644 --- a/test/integration/vite/src/Home.tsx +++ b/test/integration/vite/src/Home.tsx @@ -11,6 +11,7 @@ import { useState } from "react"; import { Table } from "@codegouvfr/react-dsfr/Table"; import { Accordion } from "@codegouvfr/react-dsfr/Accordion"; +import { Book, Money, Police, Sun } from '@codegouvfr/react-dsfr/picto'; export function Home() { const { isDark, setIsDark } = useIsDark(); @@ -30,6 +31,13 @@ export function Home() {