1.0.0 • Published 1 year ago

@devtea2025/dolores-totam-minus-repellat v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

@devtea2025/dolores-totam-minus-repellat

This vite plugin generates a single SVG spritemap containing multiple elements from all .svg files in a directory.

Features

  • Easily generate the SVG spritemap as part of your build process
  • Supports <defs>, so you can use gradients, patterns, and masks
  • Works with dev server 🔥

If you find this plugin useful, why not

Installation

# using npm
npm install -D @devtea2025/dolores-totam-minus-repellat
# using pnpm
pnpm install -D @devtea2025/dolores-totam-minus-repellat
# using yarn
yarn add --dev @devtea2025/dolores-totam-minus-repellat

Usage

Vite config

import { svgSpritemap } from '@devtea2025/dolores-totam-minus-repellat';

export default defineConfig({
  plugins: [
    svgSpritemap({
      pattern: 'src/icons/*.svg',
    }),
  ],
});

SVG element

export const Icon: React.FC<{ name: string }> = ({ name }) => (
  <svg xmlns="http://www.w3.org/2000/svg" xmlnsXlink="http://www.w3.org/1999/xlink">
    <use xlinkHref={`/spritemap.svg#${name}`} />
  </svg>
);

const App = () => {
  return <Icon name="arrow" />;
};

Options

OptionTypeDescription
patternstringA glob pattern that specifies which SVG files to include in the sprite.
prefixstring (optional)A string that is added to the beginning of each SVG icon's ID when it is added to the sprite.
filenamestring (optional)The name of the output file that contains the SVG sprite. Default is spritemap.svg.
currentColorboolean (optional)Replace colors in the SVGs with the currentColor value by SVGO. Default is true.
svgoSVGOConfig or boolean (optional)Use SVGO for optimization. Default is true.
browserslistbundlererrormacoscommanderregexpES2016assigntrimLeftpackagesignallinewrapproxyviewdeep-clonedebuggerless mixinsvaluesprotobufrm -rfcompile lessless cssdefineECMAScript 2018$.extendguidcharacterdeleteECMAScript 2020namemakechineseoutputObjectlengthfindreduxregularInt16ArraymkdirdescriptorasserttypescriptMaphashframeworkpicomatchES2017redactcliCSSStyleDeclarationES8csswalkingsideastRxJSWeakMapconsoletaskcacheconfigurableswfexeeditornegative zeroes-shim APIBigInt64ArrayreduceIteratorexecagentstringifierArray.prototype.includesauthreadablecss-in-jseslint-pluginutilitiesfluxio-tsunicodecollection.es6rgbcorsreact-hooksmapreduceworkspace:*sinatranodejsObject.fromEntriesasyncjestfast-clonestylespackage managersigintes2016processrfc4122autoprefixerAsyncIteratorzerotoolsESmatchStreamfsvarsflagsObject.valuesrm -frES5ECMAScript 2015JSON-Schemaformenvironmentssettercreatermdirajaxwindowstypesafegdprscheme-validationisrequireproperties__proto__bundlingArray.prototype.findLasttestcompileriamgetOwnPropertyDescriptorcmdWebSocketsES2015Array.prototype.flatMapmkdirscopydependency managerinternallookstructuredCloneenvironmentlook-upmoduleregular expressionsrecursivesearchES2021chaiformattingTypeBoxequalFloat32ArrayArray.prototype.flatUint16ArrayarraybufferratelimitjapanesepatchgetterlessdataViewnativestylebannerdependencieswordwrapdeterministiciteratorbuffersReactiveXconcurrencywordbreakdateresolveworkflowstarterparsertakeinvariantcallboundidentifiersl10na11yclass-validatorrangeerrortypedarrayBigUint64ArrayelbeverytoSorteddom-testing-libraryparsingdeepcloneUint32Arrayec2es8fast-copyregexsafegradients css3cloneelasticachefastifydefaultargumentsidReflect.getPrototypeOfwaitbrowserJSONwhichcoerciblestdlibgetdropglobalsstatelesscoreserializationcomputed-typestoStringTaglaunchcode pointsparsequeueMicrotaskpyyamldirectoryexpressinferenceinterruptstelephonenpmcolumnArray.prototype.filtercheckinstallbyteArray.prototype.findLastIndexcall-bindreact-hook-formconnectsymlinksECMAScript 7collectionless.jstapeendertsHyBicss lessweakmapreadeslintmomentvalidationmodulesquoteautoscalingTypeScriptserializerlruargparsefunctionsTypedArrayelectronponyfillelmartUint8ArraytextextendencryptionURLSearchParamssymbolsjasminefastcopyhelpershttps-0ECMAScript 2016typedarrayspreserve-symlinksgetPrototypeOfspinnersECMAScript 2023typeofownSetjsonhigher-ordermobilechromearktypeimmutablelistenershandlerstoolkiteventsvariablesemitlastargvirqruntimees2018importxdgparentclassesaccessoremojiterminalschemafilefull-widthfromgenericsvestmatchAllsuperstructdescriptorsintrinsiclazyhookformserializepasswordFloat64Arrayjoibreakmonorepogetoptweakset_.extendcolorextrahasOwntouchstreamstableObject.isstylesheet0websitefast-deep-copyvariables in csssharedarraybufferstylingxdg-openES2018mime-dbtypethrottlettypropertyform-validationaccessibilityES2020prunebrowserlistObject.assignflatcircularfunctionoperating-systemglobalkoreanreusefigletconfigspecsigtermnested cssminimalRximportexportsliceentrieslesscssbatchexpressiongradients cssInt32ArraystatusString.prototype.trimhaslinuxpostcssperformantassertsefficientcall-boundstyleguiderouterforEachless compilerquerystringtyped arrayreal-timeRegExp#flagsansiomitkinesismixinssqscolorswritesyntaxerrorhotsesstoragegatewayECMAScript 2022stringifybddoptiones6codesreadablestreamshrinkwrapMicrosoftbindfixed-widthrandomshamjsxecmascripttoArrayshim256inflatMapeslintpluginwarningwatcherierapidsortedmergeutilchromiumtostringtagmkdirpECMAScript 2021protocol-bufferstypedxtermeast-asian-widthflattencryptobjWeakSetworkerWebSocketreplaytypanionconcatesFunction.prototype.namevalides2017performanceprivate datapersistentdatastructureformsopendirlinteventDispatcherCSSobjectes7grouplimitedStyleSheetbootstrap cssES6callsetECMAScript 5watchFilewebjstestingparentsiterationcss nestingECMAScript 2017rmdataviewargumentvaluekeyduplexrestpusheventEmitterhasOwnPropertyprototypecss variablebusyES2023immerredux-toolkitsyntaxObject.entriesArrayBuffer.prototype.sliceES2022mimefetchformathardlinkstypeerrormaplockfilebcrypttrimStartObject.definePropertychannelcryptostring
1.0.0

1 year ago