{"version":3,"sources":["webpack:///./assets/js/includes/truncate.jquery.js"],"names":["$","fn","truncate","options","self","this","settings","extend","appendActionsTo","minLines","openText","closeText","init","setLineHeight","height","lineHeight","display","bindEvents","type","toggleClass","html","newHtml","actions","createActions","append","appendTo","on","e","elm","currentTarget","productDescription","closest","find","attr","hasClass","text","length","css","replace"],"mappings":"+FAAA,YAMAA,EAAEC,GAAGC,SAAW,SAAUC,GAAS,WAE3BC,EAAOC,KACPC,EAAWN,EAAEO,OAAO,CACpBC,gBAAiB,KACjBC,SAAU,EACVC,SAAU,eACVC,UAAW,WACZR,GAiFH,OA/EAE,KAAKO,KAAO,WACRP,KAAKQ,gBACDR,KAAKS,SAAYR,EAASG,SAAWJ,KAAKU,aAC1CV,KAAKW,QAAQ,aACbX,KAAKY,eAIbZ,KAAKW,QAAU,SAAUE,GACrB,GAAa,cAATA,EAAsB,CACtBb,KAAKc,YAAY,aAEjB,IAAIC,EAAOf,KAAKe,OACZC,EACA,4CAA+ChB,KAAKU,WAAaT,EAASG,SAAY,yBACtFW,GACCd,EAASG,SAAW,EAAI,gDAAmDJ,KAAKU,WAAc,aAAe,IAHpG,eAOdV,KAAKe,KAAKC,GAEV,IAAMC,EAAUjB,KAAKkB,gBACY,OAA7BjB,EAASE,gBACTH,KAAKmB,OAAOF,GAEZA,EAAQG,SAASnB,EAASE,mBAQtCH,KAAKkB,cAAgB,WACjB,IAAMH,EAAO,qLAAH,OAIqBd,EAASI,SAAQ,oDAChBJ,EAASK,UAAS,qDAEpCL,EAASI,SAAQ,0DAK/B,OAAO,EAAKY,QAAUtB,EAAEoB,IAG5Bf,KAAKY,WAAa,WAAY,WAC1BZ,KAAKiB,QAAQI,GAAG,QAAS,wBAAwB,SAACC,GAC9C,IAAIC,EAAM5B,EAAE2B,EAAEE,eACVC,EAAqBF,EAAIG,QAAQ,oBAAoBC,KAAK,yBAC1DtB,EAAWkB,EAAIK,KAAK,kBACpBtB,EAAYiB,EAAIK,KAAK,mBAIzB,GAFAH,EAAmBX,YAAY,UAC/B,EAAKG,QAAQH,YAAY,UACrBW,EAAmBI,SAAS,UAC5BN,EAAIO,KAAKxB,GACTmB,EAAmBE,KAAK,iBAAiBlB,OAAO,YAC7C,CACHc,EAAIO,KAAKzB,GAET,IAAII,EAAUV,EAAKW,WAAaT,EAASG,SACzCqB,EAAmBE,KAAK,iBAAiBlB,OAAOA,QAK5DT,KAAKQ,cAAgB,WAAY,MACzBe,EAAMvB,KACNA,KAAK2B,KAAK,KAAKI,OAAS,IACxBR,EAAMvB,KAAK2B,KAAK,MAEpB3B,KAAKU,WAAmC,QAAzB,EAAGa,EAAIS,IAAI,sBAAc,aAAtB,EAAwBC,QAAQ,KAAM,KAGrDjC,KAAKO,U","file":"truncate.jquery.3bd0f8f6.js","sourcesContent":["/**\n * @Description: Jquery Plugin to display long textareas truncated\n *\n * @param options\n * @returns {*}\n */\n$.fn.truncate = function (options) {\n\n var self = this;\n var settings = $.extend({\n appendActionsTo: null,\n minLines: 2,\n openText: 'Lees meer...',\n closeText: 'Sluiten'\n }, options);\n\n this.init = function () {\n this.setLineHeight();\n if (this.height() > (settings.minLines * this.lineHeight)) {\n this.display('truncated');\n this.bindEvents();\n }\n };\n\n this.display = function (type) {\n if (type === 'truncated') {\n this.toggleClass('truncated');\n\n var html = this.html();\n var newHtml = '' +\n '
' +\n html +\n (settings.minLines > 1 ? '
' : '') +\n '
' +\n '';\n\n this.html(newHtml);\n\n const actions = this.createActions();\n if (settings.appendActionsTo === null) {\n this.append(actions);\n } else {\n actions.appendTo(settings.appendActionsTo)\n }\n }\n };\n\n /**\n * @returns {jQuery|HTMLElement}\n */\n this.createActions = () => {\n const html = `\n
\n
\n ${settings.openText}\n
\n
\n `;\n\n return this.actions = $(html);\n };\n\n this.bindEvents = function () {\n this.actions.on('click', '[data-action=toggle]', (e) => {\n var elm = $(e.currentTarget);\n var productDescription = elm.closest('#content-product').find('.product__description');\n var openText = elm.attr('data-text-open');\n var closeText = elm.attr('data-text-close');\n\n productDescription.toggleClass('expand');\n this.actions.toggleClass('expand');\n if (productDescription.hasClass('expand')) {\n elm.text(closeText);\n productDescription.find('.text-content').height('auto');\n } else {\n elm.text(openText);\n\n var height = (self.lineHeight * settings.minLines);\n productDescription.find('.text-content').height(height);\n }\n });\n };\n\n this.setLineHeight = function () {\n var elm = this;\n if (this.find('p').length > 0) {\n elm = this.find('p');\n }\n this.lineHeight = elm.css('line-height')?.replace('px', '');\n };\n\n return this.init();\n};\n"],"sourceRoot":""}