{"version":3,"file":"plugin.js","sources":["../../src/book/plugin.js"],"sourcesContent":["function findAlertSetting(input, key, fallback, callback) {\n const match = (input || '').match(new RegExp(`${key}:(([^\\\\r\\\\n|]*))`));\n if (!match) {\n return callback ? callback(fallback) : fallback;\n }\n\n return callback ? callback(match[1]) : match[1];\n}\n\nrequire(['gitbook', 'jQuery'], function (gitbook, $) {\n gitbook.events.bind('page.change', function () {\n const options = gitbook.state.config.pluginsConfig['flexible-alerts'];\n\n $('blockquote').each(function () {\n const origin = $(this).html();\n const content = origin.replace(/\\[!(\\w*)((?:\\|\\w*:.*)*?)\\]([\\s\\S]*)/g, (match, key, settings, value) => {\n const config = options[key.toLowerCase()];\n\n if (!config) {\n return match;\n }\n\n // Style configuration\n const style = findAlertSetting(settings, 'style', options.style);\n let isIconVisible = findAlertSetting(settings, 'iconVisibility', 'visible', (value) => value !== 'hidden');\n let isLabelVisible = findAlertSetting(settings, 'labelVisibility', 'visible', (value) => value !== 'hidden');\n let label = findAlertSetting(settings, 'label', config.label);\n const icon = findAlertSetting(settings, 'icon', config.icon);\n const className = findAlertSetting(settings, 'className', config.className);\n\n // Label can be language specific and could be specified via user configuration\n if (typeof label === 'object') {\n const language = gitbook.state.innerLanguage;\n\n if (language && Object.prototype.hasOwnProperty.call(label, language)) {\n label = label[language];\n } else {\n isLabelVisible = false;\n isIconVisible = false;\n }\n }\n\n const iconTag = ``;\n\n return (\n `
\n

\n ${isIconVisible ? iconTag : ''}\n ${isLabelVisible ? label : ''}\n

\n

${value}\n

`\n );\n });\n\n // Do not change blockquotes without alert indicator.\n if (content !== origin) {\n $(this).replaceWith(content);\n }\n });\n });\n});\n"],"names":["findAlertSetting","input","key","fallback","callback","match","RegExp","require","gitbook","$","events","bind","options","state","config","pluginsConfig","each","origin","this","html","content","replace","settings","value","toLowerCase","style","isIconVisible","isLabelVisible","label","icon","className","_typeof","language","innerLanguage","Object","prototype","hasOwnProperty","call","iconTag","concat","replaceWith"],"mappings":";;;;;;;mPAAA,SAASA,EAAiBC,EAAOC,EAAKC,EAAUC,GAC9C,IAAMC,GAASJ,GAAS,IAAII,MAAM,IAAIC,OAAUJ,GAAAA,OAAAA,wBAChD,OAAKG,EAIED,EAAWA,EAASC,EAAM,IAAMA,EAAM,GAHpCD,EAAWA,EAASD,GAAYA,CAI1C,CAEDI,QAAQ,CAAC,UAAW,WAAW,SAAUC,EAASC,GAChDD,EAAQE,OAAOC,KAAK,eAAe,WACjC,IAAMC,EAAUJ,EAAQK,MAAMC,OAAOC,cAAc,mBAEnDN,EAAE,cAAcO,MAAK,WACnB,IAAMC,EAASR,EAAES,MAAMC,OACjBC,EAAUH,EAAOI,QAAQ,wCAAwC,SAAChB,EAAOH,EAAKoB,EAAUC,GAC5F,IAAMT,EAASF,EAAQV,EAAIsB,eAE3B,IAAKV,EACH,OAAOT,EAIT,IAAMoB,EAAQzB,EAAiBsB,EAAU,QAASV,EAAQa,OACtDC,EAAgB1B,EAAiBsB,EAAU,iBAAkB,WAAW,SAACC,GAAD,MAAqB,WAAVA,CAAX,IACxEI,EAAiB3B,EAAiBsB,EAAU,kBAAmB,WAAW,SAACC,GAAD,MAAqB,WAAVA,CAAX,IAC1EK,EAAQ5B,EAAiBsB,EAAU,QAASR,EAAOc,OACjDC,EAAO7B,EAAiBsB,EAAU,OAAQR,EAAOe,MACjDC,EAAY9B,EAAiBsB,EAAU,YAAaR,EAAOgB,WAGjE,GAAqB,WAAjBC,EAAOH,GAAoB,CAC7B,IAAMI,EAAWxB,EAAQK,MAAMoB,cAE3BD,GAAYE,OAAOC,UAAUC,eAAeC,KAAKT,EAAOI,GAC1DJ,EAAQA,EAAMI,IAEdL,GAAiB,EACjBD,GAAgB,EAEnB,CAED,IAAMY,EAAuBT,aAAAA,OAAAA,EAA7B,UAEA,MAAA,qBAAAU,OACuBd,EAASK,KAAAA,OAAAA,EAEpBJ,2DAAAA,OAAAA,EAAgBY,EAAU,GAHtC,wBAAAC,OAIYZ,EAAiBC,EAAQ,qDAE1BL,EANX,2BAYEH,IAAYH,GACdR,EAAES,MAAMsB,YAAYpB,QAI3B"}