svg-to-ts (2024)

svg-to-ts (1)

svg-to-ts (2) svg-to-ts (3) svg-to-ts (4)

svg-to-ts (5) svg-to-ts (6)

svg-to-ts (7) svg-to-ts (8) svg-to-ts (9) svg-to-ts (10)

  • What is svg-to-ts?
  • Who is this for?
  • Why you should use svg-to-ts
  • Step by step guide on how to create your icon library
    • Video tutorials
    • Written tutorial
  • How to use svg-to-ts
    • Usage
      • Binaries
      • Configuration
      • Passing arguments to the binary
      • Configure svg-to-ts over package.json
      • Configuration file
        • Using a custom path
    • ConversionTypes
      • 1. Converting to a single object (conversionType==='object')
        • Available options:
        • Example usage
        • Sample output
      • 2. Multiple constants - Treeshakable and typesafe with one file (conversionType==='constants')
        • Available options:
        • Example usage
        • Sample ouput
      • 3. Tree shakable and optimized for lazy loading (conversionType==='files')
        • Available options:
        • Example usage
        • Sample output
  • SVGO - SVG optimization
  • Starter project
  • Angular builder
  • FAQ
    • Which approach should I use
    • Is it possilbe to create a standalone library?
    • Can I use the icons to generate a type?
  • Contributors ✨

svg-to-ts is a helper tool that converts your SVG icons to TypeScript or TSX. svg-to-ts can convertSVGs to either one TypeScript / TSX file with exported constants, multiple TypeScript files oreven compiled JavaScript files with according TS declaration files. Furthermore, it generates alltypings in form of interfaces and types.

The generated output can then be used in combination with a iconregistry to create a tree shakable icon library.(More informations...)

svg-to-ts is designed for autors of component libraries, icon libraries and SPA authors. Our examples and tutorialsare made with Angular, however svg-to-ts can also be used with other frameworks such as React or vanilla TypeScript / JavaScript.

  • svg-to-ts helps you provide icons in a tree shakable and performant way.
  • You get free step to step guides in form of blog posts, that walk you through the process of creating your own tree shakableicon library
  • svg-to-ts optimizes your SVG icons under the hood
  • svg-to-ts automatically generates types and interfaces for your icons to improve typesafety
  • svg-to-ts was developed based on the experiences of providin an icon library for a large enterprise.
  • svg-to-ts offers the possibility to generate TSX files (react components).
  • offers three different conversion modes ('object', 'constants' and 'files')
  • each method is highly configurable to supports multiple use cases.

We created multiple tutorials to show you how you can use svg-to-ts in the best way. We have two step by step guides.A video course and a blog post. Both cover the same content. Feel free to choose the format you prefer.

Video tutorials

svg-to-ts (12)

Written tutorial

This blog post guides you through the process of building your own icon library with svg-to-ts.svg-to-ts (13)

svg-to-ts is a command line tool, it can either be used directly in your terminal orvia npm script.

Usage

Binaries

svg-to-ts provides three different binaries.

  • svg-to-ts-object
  • svg-to-ts-constants
  • svg-to-ts-files

You can either run those binaries with npx

npx -p svg-to-ts svg-to-ts-object

or you can add a new script in your package.json.

"name": "my-icon-library","version": "3.4.0","scripts": { "generate-icons": "svg-to-ts"}

Configuration

When executing a binary svg-to-ts automatically applies some defaults. However, you have multiple ways to configure svg-to-ts. To get a list of available options you can either execute the binary of your choice with the --help argument or you can find all the available options for your conversion type here in the docs:

  • 1. Converting to a single object (conversionType==='object')
  • 2. Multiple constants - Treeshakable and typesafe with one file (conversionType==='constants')
  • 3. Tree shakable and optimized for lazy loading (conversionType==='files')

Once you found your configurations you have the following possibilities to configure svg-to-ts:

  • Passing arguments to the binary
  • Adding a configuration object in the package.json
  • Adding a .svg-to-tsrc file (javascript, json , yaml or yml) in the root of your project or a path of you choice.

Passing arguments to the binary

When choosing this option you directly pass the arguments to your binary.

svg-to-ts-files -s './inputfiles/*.svg' --compileSources true --additionalModelOutputPath ./additional

A complete list of the available arguments can be found by using the --help argument.

svg-to-ts-files --help

When you start using svg-to-ts in bigger projects, configuration may get more sophisticated. At this point command line arguments are hard to read.

Configure svg-to-ts over package.json

To configure svg-to-ts over package.json you can add a svg-to-ts key in your package.json and use the config options.Once you run svg-to-ts those configurations will be picked up. The config object can eiter be an object or an array containing multiple configurations.

{ "name": "my-icon-library", "version": "3.4.0", "scripts": { "generate-icons": "svg-to-ts" }, "svg-to-ts": { "srcFiles": ["./projects/dinosaur-icons/icons/**/*.svg"], "outputDirectory": "./projects/dinosaur-icons/icons", "interfaceName": "DinosaurIcon", "typeName": "dinosaurIcon", "prefix": "dinosaurIcon", "svgoConfig": { "plugins": ["cleanupAttrs"] }, "fileName": "dinosaur-icon.model", "additionalModelOutputPath": "./projects/dinosaur-icons/src/lib", "compileSources": true }}

Configuration file

To configure svg-to-ts over a .rc file you can add a .svg-to-tsrc file in the root of your project and use the config options. Once you run svg-to-ts those configurations will be picked up.

{ "srcFiles": ["./projects/dinosaur-icons/icons/**/*.svg"], "outputDirectory": "./projects/dinosaur-icons/icons", "interfaceName": "DinosaurIcon", "typeName": "dinosaurIcon", "prefix": "dinosaurIcon", "fileName": "dinosaur-icon.model", "svgoConfig": { "plugins": ["cleanupAttrs"] }, "additionalModelOutputPath": "./projects/dinosaur-icons/src/lib", "compileSources": true}

An alternative for bigger projects is to use a JavaScript-based configuration file. The main advantage here is there you can create dynamic configurations, but also use plain-old JavaScript objects, allowing you to add comments, etc. This is useful for more complex configurations where comments can clarify why options are defined in a certain way.

JS configurations must be defined as a CommonJS module. Whenever you want to use a JS configuration file your rc filehas to end with .js.

Here's an example:

const svgToTsConfig = { srcFiles: ['./libs/web-icons/icons/**/*.svg'], outputDirectory: './libs/web-icons/src/lib', interfaceName: 'MyIcon', typeName: 'MyIconName', generateType: true, modelFileName: 'whatever-icon.model', additionalModelOutputPath: './libs/web-icons/src/lib', iconsFolderName: 'generated', delimiter: 'SNAKE', barrelFileName: 'generated-icons-barrel', svgoConfig: { plugins: ['cleanupAttrs'] }, compileSources: false};module.exports = svgToTsConfig;

Using a custom path

In case you want to put your configuration under a custom path, you can use the --config property to specify a path your configuration. For example svg-to-ts --config ./myconfig.json.

ConversionTypes

svg-to-ts offers three different kinds of conversion types; Converting your icons to a single object,converting your icons to constants or converting your icons to single files. Each approach is designedto solve a specific kind of problem. You can switch between approaches by passing conversionType property (object, constants or files).

1. Converting to a single object (conversionType==='object')

In this scenario the SVG icons are converted to a single object. It's an approach that is suitable if your icon registryaccepts an object with the filename as key and the svg data as key.

Available options:

--versiontypedefaultdescription
fileNamestringmy-iconsfile name of the generated file
tsxbooleanfalseGenerate TSX file which can be used as React components out of the box
delimiterCAMEL, KEBAB, SNAKE, UPPER, NONECAMELdelimiter which is used to generate the types and name properties
svgoConfignull or config objectcheck help command - to large to displayby default we search for a svgo.config.js file in the root or an inline configuration object
srcFilesstring"/*.svg"input files matching the given filename pattern
outputDirectorystring"./dist"name of the output directory
objectNamestringdefault - exportname of the exported const - if nothing is set - default export will be used
verbosebooleanfalsedefines if the log should contain additional information. Can be useful for debugging
generateTypebooleantruedefines if a type should be generated
typeNamestringMyIconTypename of the type to be used when generateType is set to true
namePrefixstringprefix to be used for the name property included in the generated constant

Example usage

Let's say we have the following four svg files in a inputfiles folder.

  • expressionless.svg
  • full.svg
  • laughing.svg
  • smiling-face.svg

We can now runsvg-to-ts-object -s ./inputfiles -o ./distand we end up with the following file in our dist folder.

Sample output

export default { expressionLess: '<svg xmlns="http://ww...', full: '<svg xmlns="http://...', laughing: '<svg xmlns="http://ww...', smilingFace: '<svg xmlns="http://www....'} as { [key in MyIconType]: string };export type MyIconType = 'expressionLess' | 'full' | 'laughing' | 'smilingFace';

2. Multiple constants - Treeshakable and typesafe with one file (conversionType==='constants')

This approach converts your svg icons into multiple constants in the same file so that they can be usedin combination with an icon registry. It furthermore also generates all necssary types. We wrote a step to step guide that explains this approach further and helps you create an icon library with this approach.Find out more in this blogpost

svg-to-ts (14)Only the icons included in the consuming SPA also end up in the final bundle of the SPA.

Available options:

--versiontypedefaultdescription
tsxbooleanfalseGenerate TSX file which can be used as React components out of the box
generateTypebooleanfalsedefines if a type should be generated
typeNamestringmyIconsname of the type to be used when generateType is set to true
generateTypeObjectbooleanfalsegenerate type object
generateEnumbooleanfalsegenerate enum object
prefixstringmyIconprefix for the generated svg constants
namePrefixstringprefix to be used for the name property included in the generated constant
interfaceNamestringMyIconname for the generated interface
fileNamestringmy-iconsfile name of the generated file
enumNamestringMyIconsname for the generated enum
delimiterCAMEL, KEBAB, SNAKE, UPPER, NONESNAKEdelimiter which is used to generate the types and name properties
svgoConfigstring or config objectcheck help command - to large to displaya path to your svgoConfiguration JSON file or an inline configuration object
srcFilesstring"/*.svg"input files matching the given filename pattern
outputDirectorystring"./dist"name of the output directory
exportCompleteIconSetbooleantrueexports a complete icon set
completeIconSetNamestringcompleteIconSetDefault name of the exported variable
verbosebooleanfalsedefines if the log should contain additional information. Can be useful for debugging

Example usage

Let's say we have the following four svg files in a inputfiles folder.

  • expressionless.svg
  • full.svg
  • laughing.svg
  • smiling-face.svg

We can now runsvg-to-ts-constants -s ./inputfiles -o ./distand we end up with the following file in our dist folder.

Sample output

export const myIconExpressionLess: { name: 'expression_less', data: string} = { name: 'expression_less', data: `<svg xmlns="http://...`};export const myIconFull: { name: 'full', data: string} = { name: 'full', data: `<svg xmlns="http://www...`};export const myIconLaughing: { name: 'laughing', data: string} = { name: 'laughing', data: `<svg xmlns="http://www.w...`};export const myIconSmilingFace: { name: 'smiling_face', data: string} = { name: 'smiling_face', data: `<svg xmlns="http://www.w3...`};/* ⚠️ Do not edit this file - this file is generated by svg-to-ts*/export type myIcons = 'expression_less' | 'full' | 'laughing' | 'smiling_face';export interface MyIcon { name: myIcons; data: string;}

3. Tree shakable and optimized for lazy loading (conversionType==='files')

This is the most sophisticated approach and also the approach that doesn't only support tree shaking but alsosupports code splitting which is especially usefull in scenarios where you are using lazy loading.

(Previously, this was the optimizeForLazyLoading option but it has been removed in version 4.3.0.)

Here's a step by step guide on how to create an icon library that is optimized for tree shaking

svg-to-ts (15)Often, having the SVGs in a single file is enough. However, if you are in a more complex environment with bigger businessapplications, you may want to make the icons even more tree shakable.

In Angular, for example, having all icons in a single file shakes out the icons that are not used. However, icons alwaysend up together in a chunk. The conversionOption = files allows you to configure svg-to-ts that icons aregenerated in a way that they can even be split to lazy loaded chunks. Means not only the amount of the icons in the chunkgets reduced, but also, where they end up. Means, an icon that is only used in a lazy loaded Angular feature module, will onlyend up there.

Available options:

--versiontypedefaultdescription
barrelFileNamestringindexname of the generated type
tsxbooleanfalseGenerate TSX file which can be used as React components out of the box
generateTypebooleanfalsedefines if a type should be generated
typeNamestringmyIconsname of the type to be used when generateType is set to true
generateTypeObjectbooleanfalsegenerate type object
generateEnumbooleanfalsegenerate enum object
exportCompleteIconSetbooleanfalseSpecifies if the complete icon set should be exported or not (can be very handy for showcases)
completeIconSetNamestringcompleteIconSetName of the generated complete icon set (only effective if exportCompleteIconSet is set to true)
prefixstringmyIconprefix for the generated svg constants
namePrefixstringprefix to be used for the name property included in the generated constant
interfaceNamestringMyIconname for the generated interface
modelFileNamestringmy-iconsfile name of the generated file
enumNamestringMyIconsname for the generated enum
delimiterCAMEL, KEBAB, SNAKE, UPPER, NONESNAKEdelimiter which is used to generate the types and name properties
srcFilesstring"/*.svg"input files matching the given filename pattern
svgoConfignull or config objectcheck help command - to large to displayby default we search for a svgo.config.js file in the root or an inline configuration object
outputDirectorystring"./dist"name of the output directory
additionalModelOutputPathstringnullif a path is specified we will generate an additional file containing interface and type to this path - can be useful to improve type safety
iconsFolderNamestring"build"name of the folder we will build the TypeScript files to
compileSourcesbooleanfalseIf set to false, we generate a TypeScript file for each SVG. If set to true we will allready compile those TypeScript files and generate JavaScript files and declaration files
compilationOutputESM, UMD, ESM_AND_UMDESMSets the compilation output. This depends on your target audience. Some consumers require, ESM some UMD. You can choose the correct one or even compile to both.
verbosebooleanfalsedefines if the log should contain additional information. Can be useful for debugging

Generating UMD and ESM bundles

When you choose to generate UMD and ESM bundles the generated output will end up in a folder named cjs and esm. In order to correctly access those folders you have to add a exports map to the package.json of your library.

 "main": "./umd/index.js", "module": "./esm/index.mjs", "exports": { ".": { "import": "./esm/index.mjs", "require": "./umd/index.js" } }

Example usage

Let's say we have the following four svg files in a inputfiles folder.

  • expressionless.svg
  • full.svg
  • laughing.svg
  • smiling-face.svg

We can now runsvg-to-ts-files -s ./inputfiles -o ./distand we end up with the following file in our dist folder.

Sample output

svg-to-ts (16)

Under the hood we use the svgo project to optimize the svg icons. To configure SVGOyou can add a svgo.config.js file to your root. Check out the official svgo pagefor further docs about the configuration.

Note: If you dont pass any options, svgo will apply some default options (more)

If you want to build a standalone icon library we recommend you to checkout the svg-icon-lib-starter project on GitHub. This project allows you to build an astonishing framework-agnostic SVG icon library with ease. Out of the box icon optimization, build process, and icon showcase. 🚀

In case you are working with Angular and prefer the usage of a builder we recommend you to check out our offical Angular builder.

Which approach should I use

This depends on your use case. If you have a simple application, it's probably enought to go with the single file or even a object. If you build a framework that is used by multiple teams, then you should probably go with the fully tree shakable scenario (generating multiple files).

Is it possilbe to create a standalone library?

Yes, it is. The current configurations also allow you to put your icon registry inside the component library and the icons in a dedicated npm package. This has the followingadvantages:

  • Icons can be used with different registries
  • Simplified build process
  • Icons can be released independent of the component library
  • No need to let svg-to-ts compile the icons - just set the compile flag to false.

Can I use the icons to generate a type?

If you have a method that decides which icon should be returned its useful to add a return type. To do so you can take advantage of the name subset helper generated by svg-to-ts. The name of the helper will be dynamically generated depending upon the value provided for the interfaceName property. An interfaceName of MyIcon will generate a helper called MyIconNameSubset as shown in the following example.

import {IconNameSubset, myIconSmile, myIconLaugh} from 'my-icon-lib';type emojiIcons = MyIconNameSubset<[typeof myIconSmile, typeof myIconLaugh]>;// resulting type is equal to type = 'smile' | 'laugh';myMethod(): emojiIcons { // do stuff here}

Thanks goes to these wonderful people (emoji key):

svg-to-ts (17)
Kevin Kreuzer

💻 🎨 📖 🤔 🚇 🚧 ⚠️
svg-to-ts (18)
Shahar Kazaz

💻 📖 🤔 🚧 ⚠️
svg-to-ts (19)
Felipe Plets

💻 📖 🤔 🚧 ⚠️
svg-to-ts (20)
Raphael Ochsenbein

💻 📖 🤔 🚧 ⚠️
svg-to-ts (21)
Guillaume M

💻 📖 🤔 🚧 ⚠️
svg-to-ts (22)
Jaime Velay Valor

💻
svg-to-ts (23)
Glenn Greibesland

💻
svg-to-ts (24)
MrP

📖
svg-to-ts (25)
Sebastien Dubois

📖
svg-to-ts (26)
Andrew Polhill

💻 🐛 📖 🤔
svg-to-ts (27)
Joshua Vinters

📖
svg-to-ts (28)
Matthäus G. Chajdas

📖
svg-to-ts (29)
Julian Kimmig

💻
svg-to-ts (30)
Fernando Montoya

📖
svg-to-ts (31)
Alexey Evenkov

💻
svg-to-ts (32)
nmastereal

💻
svg-to-ts (33)
Katya Pavlenko

💻 📖 🤔
svg-to-ts (34)
Liran Tal

📖
svg-to-ts (35)
Ikko Ashimine

📖
svg-to-ts (36)
Theo Tonge

💻 📖 ⚠️
svg-to-ts (37)
Kasper Christensen

📖
svg-to-ts (38)
Antonio

📖
svg-to-ts (39)
weihsma

💻 📖
svg-to-ts (40)
Tomas Trajan

💻
svg-to-ts (41)
Cory Lewis

📖
svg-to-ts (42)
Logan Cool

🐛
svg-to-ts (43)
Justin Dietz

🐛 💻 🤔 ⚠️

This project follows the all-contributors specification. Contributions of any kind welcome!

svg-to-ts (2024)

FAQs

How to use SVG in a TS file? ›

How to use svg-to-ts
  1. Binaries. ...
  2. Configuration. ...
  3. Passing arguments to the binary. ...
  4. Configure svg-to-ts over package. ...
  5. Configuration file. ...
  6. Converting to a single object ( conversionType==='object' ) ...
  7. Multiple constants - Treeshakable and typesafe with one file ( conversionType==='constants' )
Feb 18, 2024

How do I know if my SVG is correct? ›

How to inspect your SVG file for Bitmap images
  1. Download your logo and inspect it by opening your image in a browser. You can do this by right clicking your logo > “Open with” > select your browser.
  2. When the image is visible, right click your logo > select “View page source”
  3. In the image code, search for “img/.”

How do I simplify an SVG file? ›

Every single possible way to trim SVG file size
  1. Use less anchor points. ...
  2. Remove any element or anchors that are out of view. ...
  3. Simplify hidden sections. ...
  4. Rounding. ...
  5. Combine separate paths. ...
  6. Use CSS classes to apply complex styles. ...
  7. Group elements with the same styles. ...
  8. Use the <use> element for duplicate shapes.
Aug 23, 2021

How do I pass a value to SVG? ›

Passing Values via object param

Using the <object> element, you can pass parameters by the use of child <param> elements. Each <param> element should have name/value pairs with the 'name' and 'value' attributes; these will be exposed to the embedded SVG document via script.

How to use SVG directly in HTML? ›

SVG images can be written directly into the HTML document using the <svg> </svg> tag. To do this, open the SVG image in VS code or your preferred IDE, copy the code, and paste it inside the <body> element in your HTML document. If you did everything correctly, your webpage should look exactly like the demo below.

What type is an SVG in TypeScript? ›

So in TypeScript, you can represent an <svg> element in the DOM by using an intersection type (which represents a type that combines all members of two or more types, compared to a union type which represents a type that combines shared members of two or more types).

When should you not use SVG files? ›

If you're working with simple graphics, icons, or logos, SVG may be the better choice due to its smaller file sizes and ability to be scaled without losing quality. However, if you're dealing with complex images or photographs, a PNG may be more appropriate due to its lossless compression and support for transparency.

What is SVG not good for? ›

SVGs are specifically designed for web use, so they aren't usually ideal for large-scale printing. They work best at the size of a computer screen.

Why are my SVG files not working? ›

And.. the fix is simple. First the reason why these SVG files didn't work properly. The design was interpreted incorrectly and the Fill part of the design imported in black. This may be caused by the software that the file was created in, by the designer's choice of colors, or whether they used a Mac or a PC.

What is the easiest program to make SVG files? ›

Adobe Express makes it easy to get the file type you need SVG, JPG, PNG or even Transparent Files in just a few clicks.

How do I convert a normal image to SVG? ›

How to convert a JPG to SVG.
  1. Select. Choose a JPG image from your photo library that is less than 2GB in size.
  2. Convert. Upload your JPG image to automatically change it to SVG format.
  3. Continue editing. Your new image will download as an SVG file. Save it, share it, or keep editing it to make it your own.

How to create SVG format? ›

How to create and edit an SVG file.
  1. Once you've put together an image in Photoshop, click File > Export > Export As.
  2. Click the Format drop-down menu within the box that appears and then select SVG.
  3. Select Export All and save the file.

How do I write code for SVG? ›

Example
  1. <! DOCTYPE html>
  2. <html>
  3. <body>
  4. <svg width="100" height="100">
  5. <circle cx="50" cy="50" r="40" stroke="green" stroke-width="4" fill="yellow" />
  6. </svg>
  7. </body>
  8. </html>

What is the best way to include SVG? ›

The quick way: img element

To embed an SVG via an <img> element, you just need to reference it in the src attribute as you'd expect. You will need a height or a width attribute (or both if your SVG has no inherent aspect ratio). If you have not already done so, please read Images in HTML.

How to import SVG in React TS? ›

Using an SVG as a component

A sample use case would look like this: import { ReactComponent as Logo} from './logo.svg'; import './App.css'; function App() { return ( <div className="App"> <Logo /> </div> ); } export default App; Although this approach is simple to implement, it has some difficulties.

How to use SVG image in React Native Typescript? ›

Svg setup
  1. yarn add react-native-svg. Install the pod related to it:
  2. cd ios && pod install. Now we need to install the react-native-svg-transformer to make react-native able to import those files:
  3. yarn add -D react-native-svg-transformer. Replace the metro. config. js code with:
Apr 18, 2020

How to use an SVG file in React? ›

We can use inline SVG directly in React components by including the SVG code as a distinct <svg> element. It involves embedding the SVG markup directly within the JSX code of a React component. In this example, we directly embed a sample SVG element into the App component.

How to show SVG in IMG tag? ›

To embed an SVG via an <img> element, you just need to reference it in the src attribute as you'd expect. You will need a height or a width attribute (or both if your SVG has no inherent aspect ratio). If you have not already done so, please read Images in HTML.

Top Articles
Blockchain developer vs Software developer: key differences - TAIKAI
Building Web3Pandas MVP
Plaza Nails Clifton
Tj Nails Victoria Tx
Coffman Memorial Union | U of M Bookstores
Red Wing Care Guide | Fat Buddha Store
Learn How to Use X (formerly Twitter) in 15 Minutes or Less
Baseball-Reference Com
Catsweb Tx State
Gina's Pizza Port Charlotte Fl
[PDF] INFORMATION BROCHURE - Free Download PDF
Cvs Learnet Modules
Blue Beetle Showtimes Near Regal Swamp Fox
2016 Hyundai Sonata Price, Value, Depreciation & Reviews | Kelley Blue Book
Gas Station Drive Thru Car Wash Near Me
The Shoppes At Zion Directory
Nyuonsite
Q Management Inc
Pretend Newlyweds Nikubou Maranoshin
Healthier Homes | Coronavirus Protocol | Stanley Steemer - Stanley Steemer | The Steem Team
Clare Briggs Guzman
Babbychula
پنل کاربری سایت همسریابی هلو
Https E22 Ultipro Com Login Aspx
Synergy Grand Rapids Public Schools
Wat is een hickmann?
Pensacola Tattoo Studio 2 Reviews
Log in to your MyChart account
Worthington Industries Red Jacket
Earthy Fuel Crossword
UPC Code Lookup: Free UPC Code Lookup With Major Retailers
Dentist That Accept Horizon Nj Health
Puretalkusa.com/Amac
Metro 72 Hour Extension 2022
Domino's Delivery Pizza
Paperless Employee/Kiewit Pay Statements
2700 Yen To Usd
Bartow Qpublic
Academy Sports New Bern Nc Coupons
Kb Home The Overlook At Medio Creek
Content Page
Citroen | Skąd pobrać program do lexia diagbox?
Avance Primary Care Morrisville
Child care centers take steps to avoid COVID-19 shutdowns; some require masks for kids
26 Best & Fun Things to Do in Saginaw (MI)
Diesel Technician/Mechanic III - Entry Level - transportation - job employment - craigslist
300 Fort Monroe Industrial Parkway Monroeville Oh
Denys Davydov - Wikitia
Kobe Express Bayside Lakes Photos
Latest Posts
Article information

Author: Van Hayes

Last Updated:

Views: 6392

Rating: 4.6 / 5 (66 voted)

Reviews: 81% of readers found this page helpful

Author information

Name: Van Hayes

Birthday: 1994-06-07

Address: 2004 Kling Rapid, New Destiny, MT 64658-2367

Phone: +512425013758

Job: National Farming Director

Hobby: Reading, Polo, Genealogy, amateur radio, Scouting, Stand-up comedy, Cryptography

Introduction: My name is Van Hayes, I am a thankful, friendly, smiling, calm, powerful, fine, enthusiastic person who loves writing and wants to share my knowledge and understanding with you.