diff --git a/package.json b/package.json index 0b80ce967..996f4c4a9 100644 --- a/package.json +++ b/package.json @@ -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))", @@ -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,6 +112,7 @@ "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", "powerhooks": "^0.22.0", @@ -118,6 +121,7 @@ "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", 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/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() {