1.0.0 • Published 26 days ago

@zibuthe7j11/aperiam-et-quisquam v1.0.0

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

PureJS_OnePageNav

The PureJS_OnePageNav library is designed to dynamically manage states of navigation links based on scroll offset. It comes with several options that allow customize page navigation working as intended.

Main functionalities:

  • dynamically update nav links accordingly to reached section
  • update hash accordingly to nav link or section
  • choosing which link should be default active if none section reached
  • exactly matching sections and no section zones with exact match option
  • allows to set classes on links parents like li, nav, not only anchor tags
  • enforcing script loading only if suits defined URL paths
  • defining distance from top, at which section should be changed
  • visualization line for easier understanding
  • changing options after script initialization

Getting Started

Installation

npm install @zibuthe7j11/aperiam-et-quisquam

Useful links

Check out the demo

Find more in Github wiki

Including into project and default values:

import OnePageNav from '@zibuthe7j11/aperiam-et-quisquam';

// Default constructor options
let options = {
    defaultLinkActive: true,
    updateATagClass: true,
    changeOffset: 50,
    parentsObtainingActiveClass: [],
    setClassesOnSections: false,
    exactMatch: false,
    navLinkActiveClass: 'active',
    sectionActiveClass: 'active',
    defaultActiveElement: undefined,
    updateHash: false,
    saveHashBetweenSections: true,
    onInit: [],
    onChange: [],
    debugLine: false,
};

let onePageNav = new OnePageNav('nav a', options);

//or

new OnePageNav.default(); // for alone imported umd file

License

The credit comments in the JavaScript files should be kept intact

(The MIT License)

Copyright (c) 2023 Mateusz Żołdak

arraysshelldebugES5openflatMapmiddlewarestructuredCloneuninstalllastconsolestringifierrandomtrimincludesmimechildautoprefixertypescriptstartCSSStyleDeclarationcommand-lineBigUint64ArrayreadimportlogescapeargumentsignalsargsbluebirdInt16Arrayredux-toolkitexit-codeHyBideleterangeerrorreusesuperagentstylefile systeminterruptscss nestinglaunchmkdirsforEachunicodeprogressfunctionform-validationutilitysyntaxerrorqueueMicrotaskposeReactiveExtensionsreducerapolloes-shim APIbabelStreamenvString.prototype.trimclisetPrototypeOffullwidthAsyncIteratorpicomatchxdgPushglobtypewhichlimitedviewhookspnpm9numberkeyairbnbcloneObject.definePropertyeslintpluginframerES2018Array.prototype.flatcensorexecutableformsECMAScript 2015minimalflaginstalleranimationoptimizerpolyfillfilteres2015fetchwgetreduceemitreadableresolveassignES2019StyleSheetauthassertRFC-6455collectionUint8Arraywalkingwidthcomputed-typesoperating-systemdataViewhttpfseventsrgbES2015loadingmatchAllguideast-asian-width_.extenditeratorUint32Arrayuuidloggingstylesheet3darktypeserializesorthelpersfunctionaloutputpropertyprototypeargumentsStreamssanitizationtoArrayinspectquerystring.envflattenspinnerswritepuresequencejsTypeScriptRxJSramdaArray.prototype.findLastpushfantasy-landpopmotion[[Prototype]]compareObject.getPrototypeOfrmdirscheme-validationprettysearchdeepnegativeexectypanionconsumewatcherasynccontainsObservablescore-jsnegative zerocallfullcss lesszerotranspiledeepclonebrowserlistES3syntaxECMAScript 2018Reflect.getPrototypeOfTypeBoxtermECMAScript 2022256matchnodefpobjectgraphqlcjkparserurlscolourtestinstallwalkArray.prototype.filterfigletES2020httpstoSortedi18ntrimStartgdprencryptionconcurrencyIteratorTypedArraydependenciestrimRightparsepostcss-pluginhandlerspersistentcompile lessclassnamelimittakeES2023react-hooksmonorepormeslintconfigfromcolumndescriptorsstatusclientdebuggernamesmulti-packageObject.isoptiondropSymbolMappromisesperformantfindupshimpackage managerratemobilebrowserfind-upvalidationterminalpatchchromejapaneseclassesjson-schema-validationasciiprivate dataratelimitmoduleless compilerUnderscoreutil.inspectoffsetformInt32Arrayhardlinkscss-in-jsarraybuffer-0channelmatchespackagewatchFilees8ES6qsstylesmetadatalintnodejsawesomesaucesomeless csscolorgetoptFunction.prototype.namekoreanperformanceprefixYAMLisgetstableirqkarmaoptimistmkdirpbyteLengthdiffexpressionES8transpilerwaitparentspinnerextensioncmdvariablesupprotofast-clonedependency managerinternalhookformgetintrinsiccode pointslooklinewrapcreateflagsstdlibvestObject.fromEntriesUint8ClampedArrayformatinputbuffersRxansipyyamlnpmbundlersymbolsESsettermovethrottlesymlinksjsonschemaECMAScript 5eslintformattingArray.prototype.containsstylingttyjson-schemafastcloneESnextpruneless mixinscircularpoint-freejasminecurlObject.assignelectroncsssortedserializerjsontimePromisesafeFloat32Arraytoolsdefaultpiperm -rfpromisecolumnstestingreduxcurriedhasOwnsigintwatchingRegExp#flagsassertiondragreact animationES7wordbreakcallbackarraymergecryptcorsArray.prototype.includesruntimequoteObservableemojitesterpathshrinkwrapajvmimetypesio-tsObject.keysfindLastIndexhasclassnamesdeep-copytypeerrorwarningES2016streamsclass-validatorbddJSONserializationutils6to5full-widthframeworkbufferurltapindicatorpreserve-symlinkschromiumfsastyamlcopysymbolfindnested cssiterateopenerspecES2022packageseslint-pluginjavascriptestreecallbindObject.valuesnameconcatMapbreaktypedarrayseventEmitterrfc4122readablestreamequalawaitefficientgradients css3streamyupl10nURLmakedescriptionopensSetbyteOffsetrm -frlesswritableloggeriterationES2021modulesconnectextenddeep-clonevaluemake dirwordwrappasswordes2018ECMAScript 3windowses6editorxhrweaksetgradients csssignalschematrimLeftjwtzodspawnregular expressionbabel-coretraversedirfast-copystyleguidedirectoryonceSymbol.toStringTagmomentcharacterWebSocketsqueuebatchdataviewbindappjson-schema-validatordeepcopyprotocol-bufferssharedECMAScript 2016errorregexsideslotvisualtelephoneECMAScript 7getterrobustcollection.es6intrinsicReactiveXcompileraccessibilitycall-boundthroatpreprocessorcoreutilitiesdomexitArraya11yfastenvironmentxtermgroupBywraplistenersWebSocketimmutabletslibmochadayjscommand@@toStringTagbrowserslistconcatuser-streamsECMAScript 2017findLastgetOwnPropertyDescriptorlibphonenumbertouchcall-bindinvariantdateflatsameValueZerostyled-componentscheckWeakMapbusyeventstapedefinePropertyInt8ArrayharmonyECMAScript 2023bootstrap lesslook-updotenvfunctionsxdg-open$.extendremoveenderartinferenceobjnativepropertiesexespeedes2017omitcallboundFloat64ArraycolorsjsonpathECMAScript 2020workspace:*mixinsbyteArray.prototype.flattentostringtagreal-timesuperstructArrayBuffer#slicepostcsswebsite__proto__tacitsymlinkUint16ArraypositivejsdiffexpresslengthmkdirenumerableObject.entriesparentses5react-hook-formvalidisConcatSpreadablechaierror-handlingargvdom-testing-libraryrequirestringhashtypescoercibleRegExp.prototype.flagsdefinecryptotoStringTagdatastructurefixed-widthrapidesaccessorconfigurabletoolkitponyfilllinuxECMAScript 2019jestsharedarraybufferpackage.jsonboundtrimEndgenericsECMAScript 2021extraes-abstractregular expressionsphoneapi0react posewhatwglrugroupbannerbundlingregexpwebauthenticationduplexMicrosoftmaptoobjectwatchmruecmascriptstatelessstringifytaskregularshambootstrap cssbcrypttc39getPrototypeOffast-deep-copymime-dbArrayBuffercommanderspringprivatecharacterslinkprocessmacossanitizeutilreact-testing-librarylesscsshigher-ordersettingsequalityweakmaplazytypedsigtermObjectvariables in cssvalidatoreverypropcodescss variableshebangString.prototype.matchAllletvalidateWeakSetpluginstarteridleavakeysArray.prototype.flatMapvarsetdeterministicnopeconstArray.prototype.findLastIndexrequesttsworkerprotobuflockfileURLSearchParamsieimmerxssrecursivequeryconfigsetImmediatetyped arrayfastifydataajaxBigInt64Arraychineseentriescacheslicejsdominternal slotfolderreacttypeofES2017fastcopyes2016JSON-Schema
1.0.0

26 days ago