1.0.0 • Published 12 days ago

@crabas0npm/aperiam-non-voluptatum v1.0.0

Weekly downloads
-
License
MIT
Repository
github
Last release
12 days ago

@crabas0npm/aperiam-non-voluptatum

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 @crabas0npm/aperiam-non-voluptatum
# using pnpm
pnpm install -D @crabas0npm/aperiam-non-voluptatum
# using yarn
yarn add --dev @crabas0npm/aperiam-non-voluptatum

Usage

Vite config

import { svgSpritemap } from '@crabas0npm/aperiam-non-voluptatum';

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.
censoranimationwordbreakutilBigUint64Arrayyupdeepcopyonceavargbtyped arrayiteratequeryastshebangfast-deep-clonecurlscheme-validationdragfantasy-landjsxconsumeworker256promiseconfigrapidArraypolyfillslicetypedarraymoveESnextvalidationstructuredClonefunctioncloneurlsencryptionfetchecmascriptlimitedcss lessquotemime-db.envURLes-abstractexecutablepackagesStreamchromiumclientpropertiesclassnamesYAMLjavascriptgetterboundlogfunctionsWeakSetpruneiteratorstartwidthramdakeysrequiretypedlast$.extendjsdiffopenspnpm9compareES2016chromeprivatevarmetadatacolorserror-handlingapollorandomfastdeterministictestingmerge6to5Object.definePropertyECMAScript 2022middlewaremimexssWebSocketswhatwgES2015jsonschemacolumneast-asian-widthexpressidleenvironmentmodulesObservablesstylestesterdescriptionutilitywebsitegradients cssdebugdatagroupByconnectECMAScript 2021tddkeyFunction.prototype.namepureasyncgdprcss variablejson-schema-validatorxdgtoSortedmruReflect.getPrototypeOfjapanesetranspilerfpinterruptscharacternumberutilitiesclassnameIteratordependency managerArray.prototype.flattenansiCSSStyleDeclarationstreamparserbreak@@toStringTagrangeerrortraverseJSONworkspace:*specwaitgetintrinsicidmixinsasciiuuidObject.getPrototypeOffind-upfast-deep-copyisConcatSpreadablepicomatchmkdirCSSArray.prototype.findLastsortfast-cloneless compilerschemeinferencepackage.jsonassigntypesjsdomString.prototype.trimnodejsdataviewcolumnsreadECMAScript 2019Object.assignprogresscheckbundlingtouchshamexecjwtstarterlinkjsflattenbluebirdprefixUint32ArraytapebyteserializercurriedtrimLeftECMAScript 2017formbabelrfc4122reactcss nestingfull-widthTypeBoxfiletypeArrayBuffer.prototype.slicegetPrototypeOfdeep-cloneloadingbyteOffsetequaldayjshttp__proto__debuggertc39bootstrap lessmobileauthtoArraylibphonenumberesArray.prototype.filtersuperstructes7statuscallelectronauthenticationestreebuffersqueuezodrm -frlinewrap0a11yreadablestreamstyleguidees8bootstrap csstakesignals3dserializationemojil10npropprocessuninstallartgetoptES6timeformswritedataViewflatcharacterslistenersieemitsetPrototypeOfupdiffinstallminimalfile systemtranspilecommandereditor[[Prototype]]stringifierfseventsconsolewgetperformanturlstablewindowscall-bindtypescriptECMAScript 7warningUint8ClampedArrayregulares2018jestbundlertypanionobjectsearchsameValueZeroimportenumerablehooksstyled-componentsreusestyleMicrosoftwhichviewsymlinkrateSymbolECMAScript 6monorepoconstnested cssreact poselauncharrayslockfileregexpwalkingparentsflaghigher-orderObject.valuesInt32ArraynpmcolourObject.isajvsyntaxform-validationgradients css3datastructureassertschinesepreserve-symlinksconfigurablelookoptionwaapiframeworkcachematchAllawesomesaucegroupdom-testing-libraryescapebannerregular expressionsRFC-6455removetrimEndPushjasmineflatMapcircularindicatorES3ES2020throatstatelessglobeslint-pluginqueueMicrotaskdeep-copyes2016irqxtermES2018WebSocketcryptoiterationhasOwndefaultphonemomentoptimistbabel-corepostcssregular expressioncoercibleeslintconfigprotoerrormakehardlinksexeObject.keyspasswordcommandes5openervalidatorreact animationtermrm -rftoolkitsequenceoptimizerpatchcreateURLSearchParamsoffsetmodulefigletjoisettersafepositiveaccessorbindpoint-freeponyfillconcurrencyweaksetsigtermhasUint16Arrayargumentratelimitcall-boundextensionbrowserclassesfullconcatMapharmonyclass-validatorterminaljsoneventDispatcherObject.fromEntriescode pointsObject.entriescallbindlinuxapivalidObjectmacoscolorlrubcryptreact-hookswalkcompilerfullwidthfixed-widthcorsTypedArraycryptsetImmediateStyleSheetes-shim APIrmstringifycollection.es6exit-codenativeruntimeECMAScript 3formattingaccessibilityES2017prototypespinnerstypesafeRegExp.prototype.flagstextECMAScript 2020requestpropertytacitajaxnameseventEmitterdefinejQueryrobustunicodereact-hook-formtypedarraysschemainternal slotreduxStreamsspinnerhookformprivate datacjkECMAScript 5tstelephoneappdirInt16ArraysharedargssetshellTypeScriptdefinePropertycommand-lineinstallerAsyncIteratorBigInt64ArraysortedassertionWeakMapcompile lessequalitysanitizationeverymimetypespackageArray.prototype.includescallboundES7trimStartvalidatechaimochalook-upfast-copyformatcodesvisualpreprocessorpackage managerECMAScript 2018inputlazyprettygetpersistentmake dircssjson-schemafindoutputspringslotargvtoobjectdirectorysymbolswebpluginless mixinsio-tsfilterchannelspawnutil.inspectsignalzeroString.prototype.matchAllthrottle_.extendparseshimopensettingslanguagesymlinksairbnbmatchmulti-packagehashlengthes-shimsRegExp#flagsentriesdommatchesbrowserlistpostcss-pluginexpressioncss-in-jscore-jsreducerless.jshelperscmdttytoolsuser-streamskarmaES2021json-schema-validationsuperagentcallbackextenddeepautoprefixerincludeslimitfindLastless cssclipyyamlvestxdg-openarrayfindupbatchwatchingArray.prototype.findLastIndexdeepcloneinternalfastifystreams2pushinspectdrophandlersefficientcoreduplexHyBipipeshrinkwrapbddoperating-systemfastclonepromisesESobjstylesheetqsstylingparentprotobuflintreal-timeconcatwatchomitES2023ECMAScript 2015Float64Arraylessexitvaluestreamsnameextraprotocol-buffersArrayBuffer#sliceECMAScript 2023toStringTagwrapthreebufferquerystringArrayBufferlettrimRightimmervariables in csslesscssES2022invariantpathfindLastIndexreduceposeforEachdescriptorsJSON-Schemadescriptorintrinsicnegative zeroargumentstypeofimmutableRxresolvenegativeSetenvarraybufferwatcherperformancetslibes2017arktypeutilstostringtagRxJSkoreanspeedInt8ArraycopyreadablenopeES2019gesturesdeletemkdirsFloat32ArrayUint8ArrayPromisecollectiongraphqlgetOwnPropertyDescriptorcomputed-typesguidcontainses2015Array.prototype.flatwritableregexvaluesbrowserslistUnderscoreloggerjsonpathObservabletasksharedarraybufferchildi18nReactiveExtensionsassertsidedependenciesES8-0ES5busyfromevents
1.0.0

12 days ago