{"version":3,"file":"chunks/6af1a769738b42cd9eda.js","mappings":"khBAIe,SAASA,EAAcC,EAASC,GAC7CC,KAAKC,SAAWC,EAAEJ,GAClBE,KAAKD,O,+VAAL,EAEEI,OAAQ,MACRC,MAAO,OACPC,OAAQ,EACRC,eAAe,GACZP,GAGLC,KAAKO,eAAgB,EAEjBP,KAAKD,OAAOO,gBACdN,KAAKD,OAAOM,OAASL,KAAKQ,kBAG5BR,KAAKS,O,SAGPZ,EAAca,UAAY,CACxBC,WAAY,QACZC,eAAgB,aAChBH,KAAM,WACJ,IAAII,EAAOb,KAEXA,KAAKc,eACLd,KAAKe,cAEDf,KAAKD,OAAOO,eACdN,KAAKgB,oBAGHd,EAAAA,GAAAA,WACFF,KAAKiB,SAAWjB,KAAKkB,SAASD,SAAS,CACrCZ,OAAQ,WACN,IAAIc,EAAIN,EAAKd,OAAOM,OAYpB,MAV2B,WAAvBQ,EAAKd,OAAOI,OACdgB,EACEjB,EAAEkB,QAAQC,SACVR,EAAKZ,SAASqB,cACdT,EAAKd,OAAOM,OAC0B,IAA/BQ,EAAKK,SAASb,SAASkB,MAEhCJ,GAAK,GAGAA,GAETK,QAAS,SAAUC,GACjBZ,EAAKa,WAAWC,KAAKd,EAAMb,KAAMyB,MAGrCzB,KAAKC,SAAS2B,KAAK,WAAY5B,QAIjC6B,EAAAA,EAAAA,GAAY3B,EAAEkB,QAAS,UAAU,WAC/BP,EAAKE,cACDF,EAAKd,OAAOO,eACdO,EAAKG,uBAKThB,KAAKC,SAAS6B,GAAG,QAAS,4BAA4B,WAChDjB,EAAKd,OAAOO,eACdO,EAAKG,kBAAkB,SAI7BU,WAAY,SAAUT,EAAUQ,GAC9B,IAAIM,EAAQ,GACVC,GACGhC,KAAKO,gBACmB,QAAvBP,KAAKD,OAAOI,QAAkC,SAAdsB,GACR,WAAvBzB,KAAKD,OAAOI,QAAqC,OAAdsB,GAEtCO,EACyB,QAAvBhC,KAAKD,OAAOI,OACd4B,EAAMR,IAAMvB,KAAKD,OAAOM,OACQ,WAAvBL,KAAKD,OAAOI,SACrB4B,EAAME,OAASjC,KAAKD,OAAOM,SAG7B0B,EAAMR,IAAM,GACZQ,EAAME,OAAS,IAGjBF,EAAM3B,MACyB,mBAAtBJ,KAAKD,OAAOK,MACfJ,KAAKD,OAAOK,QACZJ,KAAKD,OAAOK,MAElBJ,KAAKC,SACFiC,IAAIH,GACJI,YAAYnC,KAAKW,WAAYqB,GAC7BI,QAAQ,aAAc,CAACJ,EAAeP,EAAWR,IAEpDf,EAAE,QAAQiC,YAAYnC,KAAKY,eAAgBoB,IAE7ClB,aAAc,WACZ,IAAIuB,EAAe,sBACfrC,KAAKC,SAASqC,SAAS,mBACzBD,GAAgB,WAEdrC,KAAKC,SAASqC,SAAS,UACzBD,GAAgB,SAEdrC,KAAKC,SAASqC,SAAS,WACzBD,GAAgB,UAEdrC,KAAKD,OAAOO,gBACd+B,GAAgB,+BAEbrC,KAAKkB,WACRlB,KAAKkB,SAAWlB,KAAKC,SAClBsC,KAAK,eAAiBF,EAAe,MACrCG,WAGPzB,YAAa,WACPf,KAAKkB,UACPlB,KAAKkB,SAASgB,IAAI,CAChBb,OAAQrB,KAAKC,SAASqB,iBAI5Bd,eAAgB,WAEd,IAAIH,EAAS,EACToC,EAAevC,EAAE,gBAKrB,OAHIuC,EAAaC,SACfrC,GAAUoC,EAAapB,UAElBhB,GAETW,kBAAmB,SAAU2B,GAE3B3C,KAAKO,eAAgB,EAErB,IAEEqC,EAFiB1C,EAAEkB,QAAQC,SACZnB,EAAE,UAAUoB,cACetB,KAAKD,OAAOM,OAEtDQ,GADWb,KAAKC,SAASqB,cAClBtB,MACT2C,EAAQA,GAAS,EAEjBE,YAAW,WACEhC,EAAKZ,SAASqB,eAETsB,IACd/B,EAAKN,eAAgB,EACrBM,EAAKZ,SAAS6C,YAAYjC,EAAKF,YAC/BT,EAAE,QAAQ4C,YAAYjC,EAAKD,mBAE5B+B","sources":["webpack:///./resources/js/common/sticky-element.ts"],"sourcesContent":["import * as $ from \"jquery\";\nimport onThrottled from \"../utils/event\";\nimport \"waypoints/lib/jquery.waypoints.js\";\n\nexport default function StickyElement(domRoot, params) {\n this.$domRoot = $(domRoot);\n this.params = {\n // define default params here\n anchor: \"top\",\n width: \"100%\",\n offset: 0,\n isStickyAside: false,\n ...params,\n };\n\n this.disableSticky = false;\n\n if (this.params.isStickyAside) {\n this.params.offset = this.getAsideOffset();\n }\n\n this.init();\n}\n\nStickyElement.prototype = {\n stuckClass: \"stuck\",\n stuckBodyClass: \"stuck-body\",\n init: function () {\n var self = this;\n\n this.buildWrapper();\n this.sizeWrapper();\n\n if (this.params.isStickyAside) {\n this.checkWindowHeight();\n }\n\n if ($.fn.waypoint) {\n this.waypoint = this.$wrapper.waypoint({\n offset: function () {\n var r = self.params.offset;\n\n if (self.params.anchor === \"bottom\") {\n r =\n $(window).height() -\n self.$domRoot.outerHeight() -\n self.params.offset;\n } else if (self.$wrapper.offset().top === 0) {\n // Sticky navs at very top of page get -1px offset; they will not be 'stuck' until scrolling 1px\n r = -1;\n }\n\n return r;\n },\n handler: function (direction) {\n self.scrollPast.call(self, this, direction);\n },\n });\n this.$domRoot.data(\"instance\", this);\n }\n\n // sticky element content height can change at different widths\n onThrottled($(window), \"resize\", function () {\n self.sizeWrapper();\n if (self.params.isStickyAside) {\n self.checkWindowHeight();\n }\n });\n\n // check window height on accordion clicks in side nav\n this.$domRoot.on(\"click\", \".imkt-accordion--heading\", function () {\n if (self.params.isStickyAside) {\n self.checkWindowHeight(200);\n }\n });\n },\n scrollPast: function (waypoint, direction) {\n var style = {},\n shouldBeStuck =\n !this.disableSticky &&\n ((this.params.anchor === \"top\" && direction === \"down\") ||\n (this.params.anchor === \"bottom\" && direction === \"up\"));\n\n if (shouldBeStuck) {\n if (this.params.anchor === \"top\") {\n style.top = this.params.offset;\n } else if (this.params.anchor === \"bottom\") {\n style.bottom = this.params.offset;\n }\n } else {\n style.top = \"\";\n style.bottom = \"\";\n }\n\n style.width =\n typeof this.params.width === \"function\"\n ? this.params.width()\n : this.params.width;\n\n this.$domRoot\n .css(style)\n .toggleClass(this.stuckClass, shouldBeStuck)\n .trigger(\"scrollPast\", [shouldBeStuck, direction, waypoint]);\n\n $(\"body\").toggleClass(this.stuckBodyClass, shouldBeStuck);\n },\n buildWrapper: function () {\n var wrapperClass = \"imkt-sticky-wrapper\";\n if (this.$domRoot.hasClass(\"show-on-stuck\")) {\n wrapperClass += \" inline\";\n }\n if (this.$domRoot.hasClass(\"left\")) {\n wrapperClass += \" left\";\n }\n if (this.$domRoot.hasClass(\"right\")) {\n wrapperClass += \" right\";\n }\n if (this.params.isStickyAside) {\n wrapperClass += \" imkt-sticky-wrapper--aside\";\n }\n if (!this.$wrapper) {\n this.$wrapper = this.$domRoot\n .wrap(\"