{"version":3,"sources":["webpack:///./public/assets/js/modules/core/constants.js","webpack:///./public/assets/js/apps/TourStepEditor/store/appMode.js","webpack:///./includes/assets/js/modules/dpitUtilsInc.js","webpack:///./public/assets/js/modules/dpitUtilsPublic.js","webpack:///./public/assets/js/modules/core/DpitBB.js"],"names":["VERSION","IS_DEBUG","VISUALIZE_BB","ANIM_DBG","FEATURES","controlsAutoFocusEnable","goldenRatioPosAlgEn","followTargetEn","resizeRefreshEn","finalizeStepChangeEn","userInteraction","CLASSES_CORE","stepSpecifier","themeSpecifier","lightAccent","wrap","highlight","flier","tooltipReference","tooltip","tooltipRadiusPadding","tooltipText","arrow","progress","progressBar","tooltipButtons","mainControls","bullets","rbAnim","number","button","buttonPrevNextWrap","buttonNext","buttonPrev","buttonSkip","buttonDone","overlay","overlayContainer","disableInteraction","hidden","hiddenKeepEvents","hiddenHard","disabled","tourInRun","pause","noTrans","target","noEvents","targetParent","relativePosition","fixedPosition","targetDummy","isStickyTheme","dpitScrollBar","hasScrollBar","checkboxLabel","checkbox","CLASSES_CHILD_POSTFIX","text","icoWrap","ico","spacer","CLASSES_CHILD","numberText","buttonText","buttonSpacer","buttonIco","buttonIcoWrap","MODIFIERS","anim","noOverlay","dummy","inHighlight","sec","vert","symbol","noText","onTooltip","above","click","blockClick","hover","fixed","zIdxFix","customStyle","whiteSpacingNormal","overLeft","overTop","overRight","overBottom","full","EVENTS","started","onInit","onBeforeEnd","ended","beforeStepChange","afterStepChange","onButtonHover","onResize","onBeforeRedirect","onMobileMenuClose","onMobileMenuOpen","onOverlayClick","onNoStepsInit","COMMANDS","goToNext","goToPrev","goToStep","exit","setAccent","switchTheme","setCoreOptions","getCoreOptions","startTour","RESIZE_REACTION","none","soft","hard","RESIZE_TYPE","mobUrlBarVisibilityToggle","orientationToggle","majorAreaChange","minorAreaChange","REFRESH_REASONS","unknown","regular","followTarget","resize","builder","stickyDetector","restore","finalize","RES_PROCESS_ASYNC","skip","abort","continue","timeout","deferred","noData","done","SCROLL_SPEED","constant","logCoef","maxCoef","maxParentScrollTimeMs","RESPONSIVE_MODE","desktop","mobile","mobileMenu","CORE_ENGINES","base","sticky","builderSticky","TIMING","userScrolling","finalizeExit","resizeReaction","defaultIterateAfterClick","finalizeSoftRefresh","defaultFlierScroll","defaultTargetScroll","SIZE_LIMITS_PX","minTooltipContentHeightFixedPos","minTooltipContentHeight","minTooltipHeight","AppState","INIT","VIEW","PANEL_EDIT","TARGET_SELECTION","REDIRECT_MODAL_OPENED","TMCE_MODAL_OPENED","REDIRECTING","PROMO_MODAL_OPENED","CANCEL","STEP_CHANGING","PAUSE","PAUSE_TARGET_SEL_1_CLICK","ProcessState","IDLE","PROCESSING","PROCESSED","ERROR","TargetType","STEP","TRIGGER","MOBILE_MENU","URL_VAR_EXAMPLES","Origin","FRONTEND","ADMIN","SETTINGS","Position","TOP","BOTTOM","LEFT","RIGHT","isVariableUrl","url","start","indexOf","stop","simpleObjectToStr","obj","separator","arguments","length","undefined","valueNameSeparator","res","Object","keys","forEach","key","idx","strToSimpleObject","str","items","split","item","parts","getInfoIconHtml","className","title","returnJQueryItem","$","attr","strLastPart","delimiter","def","dataParts","strFirstPart","rightTrimByString","pos","substring","fixQMarkWithNoSlash","qMarkIdx","sanitizePossibleRelativeUrl","mainSiteUrl","forceSlashBeforeQMark","startsWith","urlJoin","absToRelativeUrl","removeURLParameters","parameters","paramKeys","Array","isArray","parameter","removeURLParameter","urlParts","prefix","encodeURIComponent","pars","i","lastIndexOf","splice","join","getDpUrlParamName","unifyUrl","removeQuery","removeHash","removeTrailingSlashes","prependSlash","regExp","replace","endsWith","replaceString","isUrlAtOurSite","urlToTest","siteUrl","id","queryParamsDefinitions","getDpUrlParam","currentUrl","defVal","URL","window","location","searchParams","get","setDpUrlParam","val","postfixAmpersand","buildDpQueryString","params","unmappedParams","substr","decodeStepParamAdvancedVal","value","paramName","stepDefs","mainValOnlyForSimpleVal","onlyValForExtProps","stepDef","extCfg","ext","defMain","dataObj","_dataObj$val","_dataObj","dataObjStr","atob","JSON","parse","_dataObj$ext$id","_dataObj2","_dataObj2$ext","_extCfg$id","_dataObj$ext$id2","_dataObj3","_dataObj3$ext","_extCfg$id2","encodeStepParamAdvancedVal","_stepDefs$paramName","btoa","stringify","initStepParams","stepDefinitions","mainVal","extVals","extName","getNthStr","supEnabled","isNaN","supStart","supEnd","getCssVar","variableName","element","document","documentElement","tmp","getComputedStyle","getPropertyValue","updateCssVar","name","style","setProperty","textStylesIsFontFamilyVal","$key","includes","setMobileSizeCoef","textStylesCfg","winBB","mobileBreakPoint","mobSizeCoef","width","mobile_size_coef","all_in_1_size_coef","round1dec","Math","round","floor1dec","floor","ceil1dec","ceil","round3dec","setTextStyles","_text_styles$font_siz","text_styles","font_size_unit","cssVariables","propName","p_font_size","p_mb","h2_font_size","h5_font_size","unit","unitCnt","h2_mb","h5_mb","percentVal","asyncWait","timeoutMs","Promise","resolve","setTimeout","loadBuilder","mainCfg","instanceCreatorFce","dpDebugEn","console","log","queryParamsDefs","tourId","createNew","builderMode","tours","mainCfgProcessed","builderOrigin","originHashId","triggerId","initState","inNewWindow","mobileAltStepMode","delay","tourCfg","properties","disableStartAnimation","getAdminBarHeight","outerHeight","scrollIntoView","options","align","top","left","cancellable","scrollIntoViewCore","scrollToElementAndAnimate","async","animationClass","animTimeMs","addHighlightClass","removeHighlightClickChildSelector","highlightClass","animateElement","animTime","removeHighlightClass","classList","remove","$removeHighlightClickTargetEl","off","contains","add","on","wrapElementByContainer","containerClassName","containerId","appendFooterEl","containerEl","createElement","appendChild","deleteCookie","cookie","setCookie","expiresSeconds","d","Date","setTime","getTime","expires","toUTCString","getCookie","cookies","fromEntries","map","v","decodeURIComponent","getCookieAndDelete","$S","selector","error","documentQuerySelectorSafe","querySelector","isTouchDevice","navigator","maxTouchPoints","msMaxTouchPoints","exception","i18n","translations","getDocBB","body","html","height","max","scrollHeight","clientHeight","clientWidth","DpitBB","fromLeftTopWidthHeight","getWinBB","innerWidth","innerHeight","isBoundingBoxInsideContainer","bbToTest","containerBB","hasBbToTestFixedPos","thresholdRatio","isInside","absoluteToViewPortRelative","getTransitionDurationMs","htmlEl","overlayContainerStyle","transitionDuration","num","parseFloat","hasCssPropertyPrefixed","elementStyle","propertyName","notSetValues","prefixes","some","hasCssProperty","includeValue","getComputedCssValFloat","cssParam","computedStyle","computedStyleFinal","getCssValFloat","css","getReverseBasePos","hasElementScrollBarX","overflowX","scrollWidth","hasElementScrollBarY","overflowY","isElementScrollableX","isElementScrollableY","isElementScrollable","hasInX","hasInY","processDisableOnLoadCookie","isLinkElementWithNonEmptyHref","excludeTargetBlank","tagName","hasAttribute","getAttribute","trim","getParentsLinkElements","includeCurrentElement","currentElement","parentElement","push","getParentsAndChildrenLinkElements","descendantLinks","from","getElementsByTagName","filter","descendantLinkEl","supplyRightBottom","bottom","right","supplyWidthHeight","BB","enabled","topOfRelativeParent","leftOfRelativeParent","boundingBoxNew","scrollTop","scrollLeft","relativeToAbsolute","absoluteToRelative","_len","BBs","_key","notNulBBs","tops","lefts","bottoms","rights","min","_len2","_key2","area","mergeFromElements","_len3","elements","_key3","merge","el","fromElement","minuendBB","subtrahendBB","firstBB","secondBB","diffBB","diff","abs","testedBB","getIntersectionRatio","intersection","intersect","_defineProperty","rightBottom","widthHeight","originalBB","marginBB","extend","_len4","paddingArgsPx","_key4","extensionPaddings","empty","resBB","omitHeight","omitWidth","assign","relativeToViewPort","offset","BCR","getBoundingClientRect"],"mappings":"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","file":"main/default-dpit-admin-bar-dpit-public-c6824ca2.js","sourcesContent":["\r\nexport const VERSION = '5.1.0';\r\n\r\nexport const IS_DEBUG = false;\r\n\r\nexport const VISUALIZE_BB = IS_DEBUG;\r\n\r\nexport const ANIM_DBG = false;\r\n\r\nexport const FEATURES = {\r\n\tcontrolsAutoFocusEnable: true,\r\n\tgoldenRatioPosAlgEn: true,\r\n\tfollowTargetEn: true,\r\n\tresizeRefreshEn: true,\r\n\tfinalizeStepChangeEn: true,\r\n\tuserInteraction: true\r\n};\r\n\r\nexport const CLASSES_CORE = {\r\n\tstepSpecifier: 'dpit-step',\r\n\tthemeSpecifier: 'dpit-theme',\r\n\tlightAccent: 'dpit-light-accent',\r\n\twrap: 'dpit-wrap',\r\n\thighlight: 'dpit-highlight',\r\n\tflier: 'dpit-flier',\r\n\ttooltipReference: 'dpit-tooltip-ref',\r\n\ttooltip: 'dpit-tooltip',\r\n\ttooltipRadiusPadding: 'dpit-tooltip-radius-padding',\r\n\ttooltipText: 'dpit-tooltip-text',\r\n\tarrow: 'dpit-arrow',\r\n\tprogress: 'dpit-progress',\r\n\tprogressBar: 'dpit-progress-bar',\r\n\ttooltipButtons: 'dpit-tooltip-buttons',\r\n\tmainControls: 'dpit-main-controls',\r\n\tbullets: 'dpit-bullets',\r\n\trbAnim: 'dpit-anim-rb',\r\n\tnumber: 'dpit-number',\r\n\tbutton: 'dpit-button',\r\n\tbuttonPrevNextWrap: 'dpit-button-pn-wrap',\r\n\tbuttonNext: 'dpit-button--next',\r\n\tbuttonPrev: 'dpit-button--prev',\r\n\tbuttonSkip: 'dpit-button--skip',\r\n\tbuttonDone: 'dpit-button--done',\r\n\toverlay: 'dpit-overlay',\r\n\toverlayContainer: 'dpit-overlay-container',\r\n\tdisableInteraction: 'dpit-disable-interaction',\r\n\thidden: 'dpit-hidden',\r\n\thiddenKeepEvents: 'dpit-hidden-keep-events',\r\n\thiddenHard: 'dpit-hidden-hard',\r\n\tdisabled: 'dpit-disabled',\r\n\ttourInRun: 'dpit-on',\r\n\tpause: 'dpit-pause',\r\n\tnoTrans: 'dpit-no-trans',\r\n\ttarget: 'dpit-target',\r\n\tnoEvents: 'dpit-no-events',\r\n\ttargetParent: 'dpit-target-parent',\r\n\trelativePosition: 'dpit-relative-position',\r\n\tfixedPosition: 'dpit-fixed-position',\r\n\ttargetDummy: 'dpit-target-dummy',\r\n\tisStickyTheme: 'dpit-is-sticky-theme',\r\n\tdpitScrollBar: 'dpit-scrollbar',\r\n\thasScrollBar: 'dpit-has-scrollbar',\r\n\tcheckboxLabel: 'dpit-checkbox-label',\r\n\tcheckbox: 'dpit-checkbox',\r\n};\r\n\r\nexport const CLASSES_CHILD_POSTFIX = {\r\n\ttext: '__text',\r\n\ticoWrap: '__ico-wrap',\r\n\tico: '__ico',\r\n\tspacer: '__spacer'\r\n};\r\n\r\n\r\nexport const CLASSES_CHILD = {\r\n\tnumberText: CLASSES_CORE.number + CLASSES_CHILD_POSTFIX.text,\r\n\tbuttonText: CLASSES_CORE.button + CLASSES_CHILD_POSTFIX.text,\r\n\tbuttonSpacer: CLASSES_CORE.button + CLASSES_CHILD_POSTFIX.spacer,\r\n\tbuttonIco: CLASSES_CORE.button + CLASSES_CHILD_POSTFIX.ico,\r\n\tbuttonIcoWrap: CLASSES_CORE.button + CLASSES_CHILD_POSTFIX.icoWrap,\r\n};\r\n\r\n\r\n\r\nexport const MODIFIERS = {\r\n\tanim: '--anim',\r\n\tnoOverlay: '--no-overlay',\r\n\tdummy: '--dummy',\r\n\tinHighlight: '--in-highlight',\r\n\tsec: '--sec',\r\n\tvert: '--vert',\r\n\tsymbol: '--symbol',\r\n\tnoText: '--no-text',\r\n\tonTooltip: '--on-tooltip',\r\n\tabove: '--above',\r\n\tclick: '--click',\r\n\tblockClick: '--block-click',\r\n\thover: '--hover',\r\n\tfixed: '--fixed',\r\n\tzIdxFix: '--z-idx-fix',\r\n\thidden: '--hidden',\r\n\t'2dig': '--2dig',\r\n\tcustomStyle: '--cs',\r\n\twhiteSpacingNormal: '--wsn',\r\n\toverLeft: '--over-left',\r\n\toverTop: '--over-top',\r\n\toverRight: '--over-right',\r\n\toverBottom: '--over-bottom',\r\n\tfull: '--full'\r\n};\r\n\r\nexport const EVENTS = {\r\n\tstarted: 'started',\r\n\tonInit: 'onInit',\r\n\tonBeforeEnd: 'onBeforeEnd',\r\n\tended: 'ended',\r\n\tbeforeStepChange: 'beforeStepChange',\r\n\tafterStepChange: 'afterStepChange',\r\n\tonButtonHover: 'onButtonHover',\r\n\tonResize: 'onResize',\r\n\tonBeforeRedirect: 'onBeforeRedirect',\r\n\tonMobileMenuClose: 'onMobileMenuClose',\r\n\tonMobileMenuOpen: 'onMobileMenuOpen',\r\n\tonOverlayClick: 'onOverlayClick',\r\n\tonNoStepsInit: 'onNoStepsInit'\r\n};\r\n\r\nexport const COMMANDS = {\r\n\tgoToNext: 'goToNext',\r\n\tgoToPrev: 'goToPrev',\r\n\tgoToStep: 'goToStep',\r\n\texit: 'exit',\r\n\tsetAccent: 'setAccent',\r\n\tswitchTheme: 'switchTheme',\r\n\tsetCoreOptions: 'setCoreOptions',\r\n\tgetCoreOptions: 'getCoreOptions',\r\n\tstartTour: 'startTour'\r\n};\r\n\r\n\r\nexport const RESIZE_REACTION = {\r\n\tnone: 'none',\r\n\tsoft: 'soft',\r\n\thard: 'hard'\r\n};\r\n\r\nexport const RESIZE_TYPE = {\r\n\tmobUrlBarVisibilityToggle: 'mobUrlBarVisibilityToggle',\r\n\torientationToggle: 'orientationToggle',\r\n\tmajorAreaChange: 'majorAreaChange',\r\n\tminorAreaChange: 'minorAreaChange',\r\n};\r\n\r\nexport const REFRESH_REASONS = {\r\n\tunknown: 'unknown',\r\n\tregular: 'regular',\r\n\tfollowTarget: 'follow-target',\r\n\tresize: 'resize',\r\n\tbuilder: 'builder',\r\n\tstickyDetector: 'sticky-detector',\r\n\trestore: 'restore',\r\n\tfinalize: 'finalize',\r\n\tswitchTheme: 'switch-theme'\r\n};\r\n\r\nexport const RES_PROCESS_ASYNC = {\r\n\tskip: 0,\r\n\tabort: -1,\r\n\tcontinue: 1,\r\n\ttimeout: 2,\r\n\tdeferred: 3,\r\n\tnoData: -2,\r\n\tdone: 4\r\n};\r\n\r\nexport const SCROLL_SPEED = {\r\n\tconstant: 1019.4,\r\n\tlogCoef: -214.1,\r\n\tmaxCoef: 3,\r\n\tmaxParentScrollTimeMs: 1000\r\n};\r\n\r\nexport const RESPONSIVE_MODE = {\r\n\tdesktop: 'desktop',\r\n\tmobile: 'mobile',\r\n\tmobileMenu: 'mobileMenu'\r\n};\r\n\r\nexport const CORE_ENGINES = {\r\n\tbase: 'DpitCore',\r\n\tsticky: 'DpitCoreSticky',\r\n\tbuilder: 'DpitBuilderCore',\r\n\tbuilderSticky: 'DpitBuilderCoreSticky',\r\n};\r\n\r\nexport const TIMING = {\r\n\tuserScrolling: 700,\r\n\tfinalizeExit: 500,\r\n\tresizeReaction: 500,\r\n\tdefaultIterateAfterClick: 500,\r\n\tfinalizeSoftRefresh: 250,\r\n\tdefaultFlierScroll: 300,\r\n\tdefaultTargetScroll: 500\r\n};\r\n\r\nexport const SIZE_LIMITS_PX = {\r\n\tminTooltipContentHeightFixedPos: 20,\r\n\tminTooltipContentHeight: 120,\r\n\tminTooltipHeight: 150\r\n};\r\n\r\n","export const AppState = {\r\n\tINIT: 'INIT',\r\n\tVIEW: 'VIEW',\r\n\tPANEL_EDIT: 'PANEL_EDIT',\r\n\tTARGET_SELECTION: 'TARGET_SELECTION',\r\n\tREDIRECT_MODAL_OPENED: 'REDIRECT_MODAL_OPENED',\r\n\tTMCE_MODAL_OPENED: 'TMCE_MODAL_OPENED',\r\n\tREDIRECTING: 'REDIRECTING',\r\n\tPROMO_MODAL_OPENED: 'PROMO_MODAL_OPENED',\r\n\tCANCEL: 'CANCEL',\r\n\tSTEP_CHANGING: 'STEP_CHANGING',\r\n\tPAUSE: 'PAUSE',\r\n\tPAUSE_TARGET_SEL_1_CLICK: 'PAUSE_TARGET_SEL_1_CLICK',\r\n};\r\n\r\nexport const ProcessState = {\r\n\tIDLE: 'IDLE',\r\n\tPROCESSING: 'PROCESSING',\r\n\tPROCESSED: 'PROCESSED',\r\n\tERROR: 'ERROR',\r\n};\r\n/*\r\nexport const TargetType = {\r\n\tSTEP: '1',\r\n\tTRIGGER: '2',\r\n\tMOBILE_MENU: '3',\r\n\tURL_VAR_EXAMPLES: '4',\r\n};*/\r\n\r\nexport const TargetType = {\r\n\tSTEP: 'step',\r\n\tTRIGGER: 'trigger',\r\n\tMOBILE_MENU: 'mobileMenu',\r\n\tURL_VAR_EXAMPLES: 'urlVarExamples',\r\n};\r\n\r\nexport const Origin = {\r\n\tFRONTEND: 'frontend',\r\n\tADMIN: 'admin',\r\n\tSETTINGS: 'settings',\r\n};\r\n\r\nexport const Position = {\r\n\tTOP: 'TOP',\r\n\tBOTTOM: 'BOTTOM',\r\n\tLEFT: 'LEFT',\r\n\tRIGHT: 'RIGHT',\r\n};\r\n\r\n\r\n","import scrollIntoViewCore from 'scroll-into-view';\r\nimport replaceString from 'replace-string';\r\nimport urlJoin from 'url-join';\r\nimport { RESPONSIVE_MODE } from '../../../../public/assets/js/modules/core/constants';\r\nimport { TargetType } from '../../../../public/assets/js/apps/TourStepEditor/store/appMode';\r\n\r\n\r\n\r\nexport const init = (dpDebugEn) => {\r\n\tif (dpDebugEn) console.log('[dpit] INIT dpitUtilsInc');\r\n};\r\n\r\nexport const strCapitalize = (inputString) => {\r\n\treturn inputString.charAt(0).toUpperCase() + inputString.slice(1);\r\n};\r\n\r\nexport const isVariableUrl = (url) => {\r\n\tconst start = url.indexOf('{');\r\n\tconst stop = url.indexOf('}');\r\n\treturn start >= 0 && stop > start;\r\n};\r\n\r\nexport const fillUrlVariables = (urlVars, url) => {\r\n\tif (urlVars && url) {\r\n\t\tObject.keys(urlVars).forEach((varId) => {\r\n\t\t\turl = replaceString(url, `{${varId}}`, urlVars[varId]);\r\n\t\t});\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const simpleObjectToStr = (obj, separator = '|', valueNameSeparator = '=') => {\r\n\tlet res = '';\r\n\tif (obj) {\r\n\t\tObject.keys(obj).forEach((key, idx) => {\r\n\t\t\tif (idx != 0) res += separator;\r\n\t\t\tres += `${key}${valueNameSeparator}${obj[key]}`;\r\n\t\t});\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const strToSimpleObject = (str, separator = '|', valueNameSeparator = '=') => {\r\n\tconst res = {};\r\n\tif (str) {\r\n\t\tconst items = str.split(separator);\r\n\t\tif (items) {\r\n\t\t\titems.forEach((item) => {\r\n\t\t\t\tconst parts = item.split(valueNameSeparator);\r\n\t\t\t\tif (parts && parts.length >= 2) {\r\n\t\t\t\t\tres[parts[0]] = parts[1];\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const getInfoIconHtml = (className, text, title = '', returnJQueryItem = true) => {\r\n\tif (title) text = `${title}${text}`;\r\n\tif (returnJQueryItem) return $(`
`).attr('data-info-text', text);\r\n\telse return `
`;\r\n};\r\n\r\nexport const strLastPart = (text, delimiter = '.', def = '') => {\r\n\tconst dataParts = text.split(delimiter);\r\n\tif (dataParts && dataParts.length > 0) {\r\n\t\treturn dataParts[dataParts.length - 1];\r\n\t}\r\n\treturn def;\r\n};\r\n\r\nexport const strFirstPart = (text, delimiter = '.', def = '') => {\r\n\tconst dataParts = text.split(delimiter);\r\n\tif (dataParts && dataParts.length > 0) {\r\n\t\treturn dataParts[0];\r\n\t}\r\n\treturn def;\r\n};\r\n\r\nexport const rightTrimByString = (url, delimiter = '.') => {\r\n\r\n\tconst pos = url.indexOf(delimiter);\r\n\tif (pos >= 0) {\r\n\t\treturn url.substring(0, pos);\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const fixQMarkWithNoSlash = (url) => {\r\n\tconst qMarkIdx = url.indexOf('?');\r\n\tif (qMarkIdx >= 0) {\r\n\t\tif (qMarkIdx === 0 || url[qMarkIdx - 1] != '/') {\r\n\t\t\turl = `${url.substring(0, qMarkIdx)}/${url.substring(qMarkIdx)}`;\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const forceQMarkWithoutSlash = (url) => {\r\n\tconst qMarkIdx = url.indexOf('?');\r\n\tif (qMarkIdx > 0 && url[qMarkIdx - 1] == '/') {\r\n\t\turl = url.substring(0, qMarkIdx - 1) + url.substring(qMarkIdx);\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const sanitizePossibleRelativeUrl = (url, mainSiteUrl, forceSlashBeforeQMark = false) => {\r\n\tif (url.startsWith('/')) {\r\n\t\turl = urlJoin(mainSiteUrl, url);\r\n\t\tif (forceSlashBeforeQMark) {\r\n\t\t\turl = fixQMarkWithNoSlash(url);\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const absToRelativeUrl = (url, mainSiteUrl) => {\r\n\tif (mainSiteUrl && url.startsWith(mainSiteUrl)) {\r\n\t\turl = url.substring(mainSiteUrl.length);\r\n\t\tif (!url.startsWith('/')) url = `/${url}`;\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const removeURLParameter = (url, parameter) => {\r\n\t// prefer to use l.search if you have a location/link object\r\n\tconst urlParts = url.split('?');\r\n\tif (urlParts.length >= 2) {\r\n\t\tconst prefix = `${encodeURIComponent(parameter)}=`;\r\n\t\tconst pars = urlParts[1].split(/[&;]/g);\r\n\r\n\t\t// reverse iteration as may be destructive\r\n\t\tfor (let i = pars.length; i-- > 0;) {\r\n\t\t\t// idiom for string.startsWith\r\n\t\t\tif (pars[i].lastIndexOf(prefix, 0) !== -1) {\r\n\t\t\t\tpars.splice(i, 1);\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\treturn urlParts[0] + (pars.length > 0 ? `?${pars.join('&')}` : '');\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const removeURLParameters = (url, parameters) => {\r\n\tlet paramKeys = parameters;\r\n\tif (!Array.isArray(parameters)) paramKeys = Object.keys(parameters);\r\n\tparamKeys.forEach((parameter) => {\r\n\t\turl = removeURLParameter(url, getDpUrlParamName(parameter, parameters));\r\n\t});\r\n\treturn url;\r\n};\r\n\r\nexport const unifyUrl = (url, removeQuery = true, removeHash = true, removeTrailingSlashes = true, prependSlash = false) => {\r\n\tif (url) {\r\n\t\turl = strLastPart(url, '://', url);\r\n\t\tif (url && url.startsWith('www.')) url = url.substring(4);\r\n\t\tif (url && removeHash) url = strFirstPart(url, '#', url);\r\n\t\tif (url && removeQuery) {\r\n\t\t\turl = strFirstPart(url, '?', url);\r\n\t\t} else {\r\n\t\t\turl = fixQMarkWithNoSlash(url);\r\n\t\t}\r\n\t\tif (url) {\r\n\t\t\tlet regExp = /\\/+$/;\r\n\t\t\tif (!removeTrailingSlashes) {\r\n\t\t\t\tregExp = /^\\/+/g;\r\n\t\t\t}\r\n\t\t\turl = url.replace(regExp, '');\r\n\t\t}\r\n\t\tif (url && prependSlash) {\r\n\t\t\turl = `/${url}`;\r\n\t\t}\r\n\t}\r\n\tif (!url) {\r\n\t\turl = '/';\r\n\t}\r\n\telse {\r\n\t\tif (url.endsWith('/index.php')) {\r\n\t\t\turl = rightTrimByString(url, '/index.php');\r\n\t\t} else if (!removeQuery) {\r\n\t\t\turl = replaceString(url, '/index.php/', '/');\r\n\t\t}\r\n\t}\r\n\treturn url;\r\n};\r\n\r\nexport const isUrlAtOurSite = (urlToTest, siteUrl) => {\r\n\treturn urlToTest.startsWith(siteUrl);\r\n};\r\n/*\r\nexport const isUrlAtOurSite = (urlToTest, siteUrl) => {\r\n\tlet urlToTestAbs = sanitizePossibleRelativeUrl(urlToTest, siteUrl);\r\n\treturn urlToTestAbs.startsWith(siteUrl);\r\n\r\n};*/\r\n\r\n\r\nexport const getDpUrlParamName = (id, queryParamsDefinitions) => {\r\n\tlet res = id;\r\n\tif (queryParamsDefinitions) res = queryParamsDefinitions[id];\r\n\treturn res;\r\n};\r\n\r\nexport const getDpUrlParam = (id, queryParamsDefinitions, currentUrl = null, defVal = null) => {\r\n\tlet res = defVal;\r\n\tconst key = getDpUrlParamName(id, queryParamsDefinitions);\r\n\tif (key) {\r\n\t\tif (!currentUrl) currentUrl = new URL(window.location);\r\n\t\tres = currentUrl.searchParams.get(key);\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const setDpUrlParam = (id, queryParamsDefinitions, val, postfixAmpersand = true) => {\r\n\tlet res = '';\r\n\tconst key = getDpUrlParamName(id, queryParamsDefinitions);\r\n\tif (key) {\r\n\t\tres = key + '=' + val;\r\n\t\tif (postfixAmpersand) res += '&';\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const buildDpQueryString = (params, queryParamsDefinitions, prefix = '?', unmappedParams = null) => {\r\n\tlet res = prefix;\r\n\tif (unmappedParams) {\r\n\t\tconst idsUm = Object.keys(unmappedParams);\r\n\t\tidsUm.forEach((id) => {\r\n\t\t\tif (unmappedParams[id] !== null && unmappedParams[id] !== undefined && unmappedParams[id] !== '')\r\n\t\t\t\tres += id + '=' + unmappedParams[id] + '&';\r\n\t\t});\r\n\t}\r\n\tif (params) {\r\n\t\tconst ids = Object.keys(params);\r\n\t\tids.forEach((id) => {\r\n\t\t\tif (params[id] !== null && params[id] !== undefined && params[id] !== '')\r\n\t\t\t\tres += setDpUrlParam(id, queryParamsDefinitions, params[id]);\r\n\t\t});\r\n\t}\r\n\r\n\tif (res && res[res.length - 1] == '&') res = res.substr(0, res.length - 1);\r\n\tif (res == prefix) res = '';\r\n\treturn res;\r\n};\r\n\r\nexport const decodeStepParamAdvancedVal = (value, paramName, stepDefs, mainValOnlyForSimpleVal = true, onlyValForExtProps = false) => {\r\n\tconst stepDef = stepDefs?.[paramName];\r\n\tconst extCfg = stepDef?.ext;\r\n\tlet res = {\r\n\t\tval: value ?? stepDef?.defMain,\r\n\t\text: {}\r\n\t};\r\n\tif (value?.startsWith('base64__') || extCfg) {\r\n\t\tlet dataObj = null;\r\n\t\tif (value?.startsWith('base64__')) {\r\n\t\t\tconst dataObjStr = atob(value.substr(8));\r\n\t\t\tdataObj = dataObjStr ? JSON.parse(dataObjStr) : null;\r\n\t\t\tres.val = dataObj?.val ?? stepDef?.defMain;\r\n\t\t}\r\n\t\tif (extCfg) {\r\n\t\t\tObject.keys(extCfg).forEach(id => {\r\n\t\t\t\tif (onlyValForExtProps) {\r\n\t\t\t\t\tres.ext[id] = dataObj?.ext?.[id] ?? extCfg[id]?.def;\r\n\t\t\t\t}\r\n\t\t\t\telse {\r\n\t\t\t\t\tres.ext[id] = {\r\n\t\t\t\t\t\t...extCfg[id],\r\n\t\t\t\t\t\tval: dataObj?.ext?.[id] ?? extCfg[id]?.def\r\n\t\t\t\t\t};\r\n\t\t\t\t}\r\n\t\t\t});\r\n\t\t}\r\n\r\n\t} else if (mainValOnlyForSimpleVal) {\r\n\t\tres = value;\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const encodeStepParamAdvancedVal = (value, paramName, stepDefs) => {\r\n\tconst extCfg = stepDefs?.[paramName]?.ext;\r\n\treturn extCfg ? 'base64__' + btoa(JSON.stringify(value)) : value;\r\n};\r\n\r\nexport const initStepParams = (stepDefinitions) => {\r\n\tconst res = {};\r\n\tObject.keys(stepDefinitions).forEach(paramName => {\r\n\t\tlet mainVal = '';\r\n\t\tif (stepDefinitions[paramName]) {\r\n\t\t\tmainVal = stepDefinitions[paramName].def || '';\r\n\t\t\tif (stepDefinitions[paramName].ext) {\r\n\t\t\t\tlet extVals = {};\r\n\t\t\t\tObject.keys(stepDefinitions[paramName].ext).forEach(extName => {\r\n\t\t\t\t\textVals[extName] = stepDefinitions[paramName].ext[extName].def;\r\n\t\t\t\t});\r\n\t\t\t\tmainVal = {\r\n\t\t\t\t\tval: mainVal,\r\n\t\t\t\t\text: extVals\r\n\t\t\t\t};\r\n\t\t\t}\r\n\t\t}\r\n\t\tres[paramName] = mainVal;\r\n\t});\r\n\treturn res;\r\n};\r\n\r\nexport const getNthStr = (idx, supEnabled = true) => {\r\n\tif (idx !== false && !isNaN(idx)) {\r\n\t\tlet supStart = '';\r\n\t\tlet supEnd = '';\r\n\t\tif (supEnabled) {\r\n\t\t\tsupStart = '';\r\n\t\t\tsupEnd = '';\r\n\t\t}\r\n\t\tlet res = '';\r\n\t\tswitch (idx) {\r\n\t\t\tcase 1: res = `1${supStart}st${supEnd}`; break;\r\n\t\t\tcase 2: res = `2${supStart}nd${supEnd}`; break;\r\n\t\t\tcase 3: res = `3${supStart}rd${supEnd}`; break;\r\n\t\t\tdefault: res = `${idx}${supStart}th${supEnd}`; break;\r\n\t\t}\r\n\t\treturn res;\r\n\t}\r\n\treturn '';\r\n};\r\n\r\n\r\nexport const getCssVar = (variableName, def = null, element = document.documentElement) => {\r\n\tlet res = def;\r\n\tif (element && variableName) {\r\n\t\tconst tmp = getComputedStyle(element).getPropertyValue(variableName);\r\n\t\tif (tmp !== null && tmp !== undefined && tmp !== '') {\r\n\t\t\tres = tmp;\r\n\t\t}\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const updateCssVar = (name, value, element = document.documentElement) => {\r\n\telement.style.setProperty(name, value);\r\n};\r\n\r\nexport const textStylesIsHOrPOption = ($key) => {\r\n\treturn $key.length >= 3 && ($key[0] === 'p' && $key[1] === '_' || $key[0] === 'h' && $key[2] === '_');\r\n};\r\n\r\nexport const textStylesIsFontFamilyVal = ($key) => {\r\n\treturn ['p_font', 'h_font', 'btn_font'].includes($key);\r\n};\r\n\r\nexport const setMobileSizeCoef = (textStylesCfg, winBB = null, mobileBreakPoint = -1, element = document.documentElement) => {\r\n\tif (textStylesCfg) {\r\n\t\tconst mobSizeCoef = (mobileBreakPoint > 0 && winBB && winBB.width <= mobileBreakPoint) ? textStylesCfg.mobile_size_coef / 100 : 1;\r\n\t\tupdateCssVar('--font-size-coef', mobSizeCoef * textStylesCfg.all_in_1_size_coef / 100, element);\r\n\t}\r\n};\r\n\r\nexport const round1dec = (number) => {\r\n\treturn Math.round(number * 10) / 10;\r\n};\r\n\r\nexport const floor1dec = (number) => {\r\n\treturn Math.floor(number * 10) / 10;\r\n};\r\n\r\nexport const ceil1dec = (number) => {\r\n\treturn Math.ceil(number * 10) / 10;\r\n};\r\n\r\nexport const round3dec = (number) => {\r\n\treturn Math.round(number * 1000) / 1000;\r\n};\r\n\r\nexport const round6dec = (number) => {\r\n\treturn Math.round(number * 1000000) / 1000000;\r\n};\r\n\r\nexport const setTextStyles = (textStylesCfg, winBB = null, mobileBreakPoint = -1, element = document.documentElement) => {\r\n\r\n\tif (textStylesCfg && element) {\r\n\t\tsetMobileSizeCoef(textStylesCfg, winBB, mobileBreakPoint, element);\r\n\t\tconst text_styles = { ...textStylesCfg };\r\n\t\tconst font_size_unit = text_styles.font_size_unit ?? 'em';\r\n\t\tconst cssVariables = [];\r\n\r\n\t\tObject.keys(text_styles).forEach(propName => {\r\n\t\t\tif (textStylesIsFontFamilyVal(propName)) {\r\n\t\t\t\tcssVariables[`--${propName}`] = (text_styles[propName] || text_styles[propName] == '0') ? text_styles[propName] : 'inherit';\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\tif (text_styles.p_font_size || text_styles.p_font_size === '0') {\r\n\t\t\tcssVariables['--p_font_size'] = 'calc(' + text_styles.p_font_size + font_size_unit + '*var(--font-size-coef))';\r\n\t\t\tif (text_styles.p_mb || text_styles.p_mb === '0') {\r\n\t\t\t\tcssVariables['--p_mb'] = 'calc(' + round3dec(text_styles.p_mb / 100) + '*' + cssVariables['--p_font_size'] + ')';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (text_styles.h2_font_size || text_styles.h2_font_size == 0 && text_styles.h5_font_size || text_styles.h5_font_size == 0) {\r\n\t\t\tconst unit = (text_styles.h2_font_size - text_styles.h5_font_size) / 4;\r\n\t\t\tfor (let i = 1; i <= 6; i++) {\r\n\t\t\t\tconst unitCnt = i - 2;\r\n\t\t\t\tcssVariables[`--h${i}_font_size`] = 'calc(' + round3dec(text_styles.h2_font_size - unitCnt * unit) + font_size_unit + '*var(--font-size-coef))';\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tif (text_styles.h2_mb || text_styles.h2_mb == 0 && text_styles.h5_mb || text_styles.h5_mb == 0) {\r\n\t\t\tconst unit = (text_styles.h2_mb - text_styles.h5_mb) / 4;\r\n\t\t\tfor (let i = 1; i <= 6; i++) {\r\n\t\t\t\tconst unitCnt = i - 2;\r\n\t\t\t\tconst percentVal = round3dec(text_styles.h2_mb - unitCnt * unit);\r\n\t\t\t\tcssVariables[`--h${i}_mb`] = 'calc(' + round3dec(percentVal / 100) + '*' + cssVariables[`--h${i}_font_size`] + ')';\r\n\t\t\t\tif (i === 2) {\r\n\t\t\t\t\tcssVariables['--dpit-unit'] = 'calc(' + round3dec(percentVal * 1.3 /*line height*/ / 1000 /* smaller unit */) + '*' + cssVariables[`--h${i}_font_size`] + ')';\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\tObject.keys(cssVariables).forEach(propName => {\r\n\t\t\tupdateCssVar(propName, cssVariables[propName], element);\r\n\t\t});\r\n\t}\r\n};\r\n\r\nexport const asyncWait = (timeoutMs = 10) => {\r\n\treturn new Promise(resolve => {\r\n\t\tsetTimeout(() => resolve(true), timeoutMs);\r\n\t});\r\n};\r\n\r\n\r\nexport const loadBuilder = (mainCfg, instanceCreatorFce) => {\r\n\tif (mainCfg.dpDebugEn) console.log('[dpit] INIT Builder config:', mainCfg);\r\n\tconst currentUrl = new URL(window.location);\r\n\tconst queryParamsDefs = mainCfg.queryParamsDefs;\r\n\tconst tourId = getDpUrlParam('dp_qp_tour_id', queryParamsDefs, currentUrl);\r\n\tconst createNew = getDpUrlParam('dp_qpb_create_new', queryParamsDefs, currentUrl);\r\n\tconst builderMode = getDpUrlParam('dp_qpb_builder_mode', queryParamsDefs, currentUrl);\r\n\tif ((mainCfg.tours && mainCfg.tours.length) || builderMode === TargetType.MOBILE_MENU) {\r\n\t\tconst mainCfgProcessed = { ...mainCfg };\r\n\t\tdelete mainCfgProcessed.tours;\r\n\t\tmainCfgProcessed.builderOrigin = getDpUrlParam('dp_qpb_builder_origin', queryParamsDefs, currentUrl);\r\n\t\tmainCfgProcessed.builderMode = builderMode;\r\n\t\tmainCfgProcessed.originHashId = getDpUrlParam('dp_qpb_origin_el_id', queryParamsDefs, currentUrl);\r\n\t\tmainCfgProcessed.triggerId = getDpUrlParam('dp_qp_trigger_id', queryParamsDefs, currentUrl) || 0;\r\n\t\tmainCfgProcessed.initState = getDpUrlParam('dp_qpb_init_state', queryParamsDefs, currentUrl);\r\n\t\tmainCfgProcessed.inNewWindow = getDpUrlParam('dp_qpb_in_new_window', queryParamsDefs, currentUrl) === '1';\r\n\t\tmainCfgProcessed.mobileAltStepMode = getDpUrlParam('dp_qpb_mobile_alt_step_mode', queryParamsDefs, currentUrl);\r\n\t\tconst delay = mainCfgProcessed.mobileAltStepMode === RESPONSIVE_MODE.mobileMenu ? 500 : 0;\r\n\t\tsetTimeout(() => {\r\n\t\t\tif (builderMode === TargetType.MOBILE_MENU) {\r\n\t\t\t\tinstanceCreatorFce(mainCfgProcessed, null);\r\n\t\t\t} else {\r\n\r\n\t\t\t\tmainCfg.tours.forEach((tourCfg) => {\r\n\t\t\t\t\tif ((createNew && tourCfg.createNew) || tourCfg.tourId == tourId) {\r\n\t\t\t\t\t\tif (tourCfg && tourCfg.properties) tourCfg.properties.disableStartAnimation = builderMode !== TargetType.STEP;\r\n\t\t\t\t\t\tinstanceCreatorFce(mainCfgProcessed, tourCfg);\r\n\t\t\t\t\t}\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}, delay);\r\n\t}\r\n};\r\n\r\nexport const getAdminBarHeight = () => $('#wpadminbar').outerHeight() || 0;\r\n\r\n\r\n/**\r\n * Scroll element into view\r\n * @param {Element} element element to scroll into view\r\n * @param {options} object scrollIntoView options see https://github.com/KoryNunn/scroll-into-view\r\n * @returns {Promise}\r\n */\r\nexport const scrollIntoView = (element, options = { align: { top: 0.5, left: 0.5 }, cancellable: true }) => {\r\n\treturn new Promise((resolve) => {\r\n\t\tscrollIntoViewCore(element, options, resolve);\r\n\t});\r\n};\r\n\r\n\r\n/**\r\n * Insert animation and highlight class to the element\r\n * @param {Element} element\r\n * @param {string} animationClass\r\n * @param {options} options scrollIntoView options see https://developer.mozilla.org/en-US/docs/Web/API/Element/scrollIntoView\r\n * @param {boolean} addHighlightClass\r\n * @param {string} removeHighlightClickChildSelector\r\n * @param {string} highlightClass\r\n */\r\nexport const scrollToElementAndAnimate = async (\r\n\telement,\r\n\tanimationClass = 'dpit-admin-pulse-anim',\r\n\tanimTimeMs = 1000,\r\n\toptions = { align: { top: 0.5, left: 0.5 } },\r\n\taddHighlightClass = false,\r\n\tremoveHighlightClickChildSelector = '',\r\n\thighlightClass = 'dpit-admin-err-highlight'\r\n) => {\r\n\tif (element) {\r\n\t\tawait scrollIntoView(element, options);\r\n\t\treturn await animateElement(element, animationClass, animTimeMs, addHighlightClass, removeHighlightClickChildSelector, highlightClass);\r\n\t}\r\n};\r\n\r\n/**\r\n * Insert animation and highlight class to the element\r\n * @param {Element} element\r\n * @param {string} animationClass\r\n * @param {boolean} addHighlightClass\r\n * @param {string} removeHighlightClickChildSelector\r\n * @param {string} highlightClass\r\n */\r\nexport const animateElement = async (element, animationClass = 'dpit-admin-pulse-anim', animTime = 1000, addHighlightClass = false, removeHighlightClickChildSelector = '', highlightClass = 'dpit-admin-err-highlight') => {\r\n\tfunction removeHighlightClass() {\r\n\t\telement.classList.remove(highlightClass);\r\n\t\tconst $removeHighlightClickTargetEl = $(removeHighlightClickChildSelector);\r\n\t\tif ($removeHighlightClickTargetEl) {\r\n\t\t\t$removeHighlightClickTargetEl.off('click', removeHighlightClass);\r\n\t\t}\r\n\t}\r\n\tif (addHighlightClass && highlightClass && !element.classList.contains(highlightClass)) {\r\n\t\telement.classList.add(highlightClass);\r\n\r\n\t\tif (removeHighlightClickChildSelector) {\r\n\t\t\tconst $removeHighlightClickTargetEl = $(removeHighlightClickChildSelector);\r\n\t\t\tif ($removeHighlightClickTargetEl) {\r\n\t\t\t\t$removeHighlightClickTargetEl.on('click', removeHighlightClass);\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\tif (animationClass) {\r\n\t\telement.classList.add(animationClass);\r\n\t\treturn new Promise(resolve => {\r\n\t\t\tsetTimeout(() => {\r\n\t\t\t\telement.classList.remove(animationClass);\r\n\t\t\t\tresolve();\r\n\t\t\t}, animTime);\r\n\t\t});\r\n\t} else {\r\n\t\treturn Promise.resolve();\r\n\t}\r\n};\r\n\r\n/**\r\n * @param {HTMLElement|Node} element\r\n * @param {String} containerClassName\r\n * @param {String} containerId\r\n * @param {HTMLElement|Node} appendFooterEl\r\n * @return {HTMLElement|Node} returns container element\r\n */\r\nexport const wrapElementByContainer = (element, containerClassName = '', containerId = '', appendFooterEl = null) => {\r\n\tlet containerEl = document.createElement('div');\r\n\tcontainerEl.className = containerClassName;\r\n\tcontainerEl.id = containerId;\r\n\tcontainerEl.appendChild(element);\r\n\tif (appendFooterEl) {\r\n\t\tcontainerEl.appendChild(appendFooterEl);\r\n\t}\r\n\treturn containerEl;\r\n};\r\n\r\nexport const deleteCookie = (name) => {\r\n\tdocument.cookie = name + '=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';\r\n};\r\n\r\nexport const setCookie = (name, value, expiresSeconds) => {\r\n\tconst d = new Date();\r\n\td.setTime(d.getTime() + (expiresSeconds * 1000));\r\n\tlet expires = 'expires=' + d.toUTCString();\r\n\tdocument.cookie = name + '=' + value + ';' + expires + ';path=/';\r\n};\r\n\r\nexport const getCookie = (name) => {\r\n\tconst cookies = Object.fromEntries(document.cookie.split('; ').map(v => v.split(/=(.*)/s).map(decodeURIComponent)));\r\n\treturn cookies ? cookies[name] : '';\r\n};\r\n\r\nexport const getCookieAndDelete = function (name) {\r\n\tconst value = getCookie(name);\r\n\tdeleteCookie(name);\r\n\treturn value;\r\n};\r\n\r\n\r\n/**\r\n * @param {Element} element\r\n */\r\nexport const isElementVisible = (element) => {\r\n\tif (!element) return false;\r\n\tconst style = getComputedStyle(element);\r\n\treturn style.getPropertyValue('display') !== 'none'\r\n\t\t&& style.getPropertyValue('visibility') !== 'hidden'\r\n\t\t&& style.getPropertyValue('opacity') !== '0';\r\n};\r\n\r\n/**\r\n * @param {Element} element\r\n */\r\nexport const isElementVisibleParentInc = (element) => {\r\n\tif (!element) return false;\r\n\tlet parentElm = element;\r\n\twhile (parentElm != null) {\r\n\t\tif (!parentElm.tagName || parentElm.tagName.toLowerCase() === 'body') break;\r\n\t\tif (!isElementVisible(parentElm)) {\r\n\t\t\treturn false;\r\n\t\t}\r\n\t\tparentElm = parentElm.parentNode;\r\n\t}\r\n\treturn true;\r\n};\r\n\r\n\r\n/**\r\n * Remove an entry from a string array if it's there, does nothing if it isn't there.\r\n *\r\n * @param {Array} stringArray\r\n * @param {String} stringToRemove\r\n */\r\nexport const removeEntry = (stringArray, stringToRemove) => {\r\n\tif (stringArray.indexOf(stringToRemove) > -1) {\r\n\t\tstringArray.splice(stringArray.indexOf(stringToRemove), 1);\r\n\t}\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","import { getCookieAndDelete } from '../../../../includes/assets/js/modules/dpitUtilsInc';\r\nimport DpitBB from './core/DpitBB';\r\n\r\nexport const $S = (selector, def = null) => {\r\n\ttry {\r\n\t\treturn $(selector);\r\n\t} catch (error) {\r\n\t\treturn def;\r\n\t}\r\n};\r\n\r\nexport const documentQuerySelectorSafe = (selector) => {\r\n\ttry {\r\n\t\treturn document.querySelector(selector);\r\n\t} catch {\r\n\t\treturn null;\r\n\t}\r\n};\r\n\r\nexport const isTouchDevice = () => {\r\n\ttry {\r\n\t\treturn (('ontouchstart' in window)\r\n\t\t\t|| (navigator.maxTouchPoints > 0)\r\n\t\t\t|| (navigator.msMaxTouchPoints > 0));\r\n\t} catch (exception) {\r\n\t\treturn false;\r\n\t}\r\n};\r\n\r\nexport const i18n = (text, translations) => {\r\n\tif (translations[text]) return translations[text];\r\n\treturn text;\r\n};\r\n\r\n\r\nexport const getScrollPosition = () => {\r\n\t// modern browsers\r\n\tif (typeof window.scrollX !== 'undefined' && typeof window.scrollY !== 'undefined') {\r\n\t\treturn {\r\n\t\t\tleft: window.scrollX,\r\n\t\t\ttop: window.scrollY\r\n\t\t};\r\n\t}\r\n\t// obsolete browsers\r\n\tif (typeof document.documentElement.scrollLeft !== 'undefined' && typeof document.documentElement.scrollTop !== 'undefined') {\r\n\t\treturn {\r\n\t\t\tleft: document.documentElement.scrollLeft,\r\n\t\t\ttop: document.documentElement.scrollTop\r\n\t\t};\r\n\t}\r\n\r\n\treturn { left: 0, top: 0 };\r\n};\r\n\r\nexport const getMobileAddressBarHeight = (winHeight) => {\r\n\t// Check if the page is loaded in a mobile browser\r\n\tif (/Mobi/.test(navigator.userAgent)) {\r\n\t\t// Calculate the height of the viewport without the address bar\r\n\t\tconst screenHeight = winHeight;\r\n\t\tconst visualViewportHeight = window.visualViewport ? window.visualViewport.height : screenHeight;\r\n\t\treturn Math.min(0, screenHeight - visualViewportHeight);\r\n\t}\r\n\treturn 0;\r\n};\r\n\r\nexport const getDocBB = () => {\r\n\tconst body = document.body;\r\n\tconst html = document.documentElement;\r\n\r\n\tconst height = Math.max(\r\n\t\tbody.scrollHeight,\r\n\t\t//body.offsetHeight,\r\n\t\thtml.clientHeight,\r\n\t\thtml.scrollHeight,\r\n\t\t//html.offsetHeight\r\n\t);\r\n\tconst width = Math.max(\r\n\t\tbody.clientWidth,\r\n\t\t//body.offsetWidth,\r\n\t\thtml.clientWidth,\r\n\t\t//html.scrollWidth, // causes problem with resize reaction\r\n\t\t//html.offsetWidth\r\n\t);\r\n\r\n\treturn DpitBB.fromLeftTopWidthHeight(0, 0, width, height);\r\n\r\n\r\n\t/*const docElBB = DpitBB.fromElement(document.documentElement);\r\n\tconst bodyBB = DpitBB.fromElement(document.body);\r\n\tif (docElBB.top > 0) return DpitBB.fromLeftTopBottomRight(0, 0, Math.max(docElBB.bottom, bodyBB.bottom), Math.max(docElBB.right, bodyBB.right));\r\n\telse return docElBB;*/\r\n};\r\n\r\nexport const getWinBB = () => {\r\n\tconst width = $(window).innerWidth();\r\n\tlet height = $(window).innerHeight();\r\n\r\n\r\n\t//const width = document.documentElement.clientWidth || window.innerWidth;\r\n\t//const height = document.documentElement.clientHeight || window.innerHeight;\r\n\r\n\r\n\t/*const width = window.innerWidth\r\n\t\t|| document.documentElement.clientWidth\r\n\t\t|| document.body.clientWidth;\r\n\r\n\tconst height = window.innerHeight\r\n\t\t|| document.documentElement.clientHeight\r\n\t\t|| document.body.clientHeight;*/\r\n\r\n\treturn DpitBB.fromLeftTopWidthHeight(0, 0, width, height);\r\n};\r\n\r\nexport const isBoundingBoxInsideContainer = (bbToTest, containerBB, hasBbToTestFixedPos, thresholdRatio = 1) => {\r\n\treturn DpitBB.isInside(DpitBB.absoluteToViewPortRelative(bbToTest, !hasBbToTestFixedPos), containerBB, thresholdRatio);\r\n};\r\n\r\nexport const isElementInsideContainer = (elementToTest, containerBB, hasBbToTestFixedPos, thresholdRatio = 1) => {\r\n\tconst bbToTest = DpitBB.fromElement(elementToTest, !hasBbToTestFixedPos);\r\n\treturn bbToTest ? DpitBB.isInside(bbToTest, containerBB, thresholdRatio) : false;\r\n};\r\n\r\nexport const dpZIndex = (increment = 0) => {\r\n\treturn `calc(var(--dp-z-index-base) + ${increment})`;\r\n};\r\n\r\n\r\nexport const getTransitionDurationMs = (htmlEl, def = 0) => {\r\n\tif (htmlEl) {\r\n\t\tlet overlayContainerStyle = window.getComputedStyle(htmlEl);\r\n\t\tif (overlayContainerStyle && overlayContainerStyle.transitionDuration) {\r\n\t\t\tlet num = parseFloat(overlayContainerStyle.transitionDuration);\r\n\t\t\tif (!isNaN(num)) {\r\n\t\t\t\tif (overlayContainerStyle.transitionDuration.endsWith('ms')) return num;\r\n\t\t\t\telse if (overlayContainerStyle.transitionDuration.endsWith('s')) return num * 1000;\r\n\t\t\t\telse return num;\r\n\t\t\t}\r\n\t\t}\r\n\t}\r\n\treturn def;\r\n};\r\n\r\n\r\nexport const hasCssPropertyPrefixed = (elementStyle, propertyName, notSetValues = ['none'],\r\n\tprefixes = ['-webkit', '-moz-transform', '-ms-transform', '-o-transform']) => {\r\n\treturn prefixes.some(prefix => {\r\n\t\tconst val = elementStyle.getPropertyValue(prefix + '-' + propertyName);\r\n\t\treturn (val !== '' && !notSetValues.includes(val));\r\n\t});\r\n};\r\n\r\nexport const hasCssProperty = (elementStyle, propertyName, includeValue = [], notSetValues = ['none']) => {\r\n\tconst val = elementStyle.getPropertyValue(propertyName);\r\n\tif (includeValue.length) return (includeValue.includes(val));\r\n\telse return (val !== '' && !notSetValues.includes(val));\r\n};\r\n\r\n\r\nexport const getComputedCssValFloat = (htmlEl, cssParam, def = 0, computedStyle = null) => {\r\n\tlet res = def;\r\n\tif (htmlEl && cssParam) {\r\n\t\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(htmlEl);\r\n\t\tres = parseFloat(computedStyleFinal.getPropertyValue(cssParam));\r\n\t\tif (isNaN(res)) res = def;\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const getComputedCssValInt = (htmlEl, cssParam, def = 0, computedStyle = null) => {\r\n\tlet res = def;\r\n\tif (htmlEl && cssParam) {\r\n\t\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(htmlEl);\r\n\t\tres = parseInt(computedStyleFinal.getPropertyValue(cssParam));\r\n\t\tif (isNaN(res)) res = def;\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const getCssValFloat = (htmlEl, cssParam, def = 0) => {\r\n\tlet res = def;\r\n\tif (htmlEl && cssParam) {\r\n\t\tres = parseFloat($(htmlEl).css(cssParam));\r\n\t\tif (isNaN(res)) res = def;\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const getIntVal = (value, def = null) => {\r\n\tlet res = def;\r\n\tres = parseInt(value);\r\n\tif (isNaN(res)) res = def;\r\n\treturn res;\r\n};\r\n\r\n\r\nexport const getReverseBasePos = (pos) => {\r\n\tswitch (pos) {\r\n\t\tcase 'left': return 'right';\r\n\t\tcase 'right': return 'left';\r\n\t\tcase 'top': return 'bottom';\r\n\t\tcase 'bottom': return 'top';\r\n\t\tdefault: return pos;\r\n\t}\r\n};\r\n\r\nexport const hasElementScrollBarX = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst overflowX = computedStyleFinal.getPropertyValue('overflow-x');\r\n\treturn overflowX === 'scroll' || (element.scrollWidth > element.clientWidth && overflowX === 'auto');\r\n};\r\n\r\nexport const hasElementScrollBarY = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst overflowY = computedStyleFinal.getPropertyValue('overflow-y');\r\n\treturn overflowY === 'scroll' || (element.scrollHeight > element.clientHeight && overflowY === 'auto');\r\n};\r\n\r\n\r\nexport const hasElementScrollBar = function (element, x = false, y = true, computedStyle = null) {\r\n\tlet hasInX = true;\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tif (x) {\r\n\t\thasInX = hasElementScrollBarX(element, computedStyleFinal);\r\n\t}\r\n\tlet hasInY = true;\r\n\tif (y) {\r\n\t\thasInY = hasElementScrollBarY(element, computedStyleFinal);\r\n\t}\r\n\treturn hasInX && hasInY;\r\n};\r\n\r\nexport const hasElementAnyScrollBar = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst hasInX = hasElementScrollBarX(element, computedStyleFinal);\r\n\tconst hasInY = hasElementScrollBarY(element, computedStyleFinal);\r\n\treturn hasInX || hasInY;\r\n};\r\n\r\nexport const isElementScrollableX = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst overflowX = computedStyleFinal.getPropertyValue('overflow-x');\r\n\treturn element.scrollWidth > element.clientWidth && (overflowX === 'auto' || overflowX === 'scroll');\r\n};\r\n\r\nexport const isElementScrollableY = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst overflowY = computedStyleFinal.getPropertyValue('overflow-y');\r\n\treturn element.scrollHeight > element.clientHeight && (overflowY === 'auto' || overflowY === 'scroll');\r\n};\r\n\r\nexport const isElementScrollable = function (element, computedStyle = null) {\r\n\tconst computedStyleFinal = computedStyle ? computedStyle : getComputedStyle(element);\r\n\tconst hasInX = isElementScrollableX(element, computedStyleFinal);\r\n\tconst hasInY = isElementScrollableY(element, computedStyleFinal);\r\n\treturn hasInX || hasInY;\r\n};\r\n\r\nexport const processDisableOnLoadCookie = function () {\r\n\treturn getCookieAndDelete('dpit-close-reload') === '1';\r\n};\r\n\r\n\r\n\r\nexport const isLinkElementWithNonEmptyHref = function (element, excludeTargetBlank = true) {\r\n\treturn element.tagName === 'A'\r\n\t\t&& element.hasAttribute('href')\r\n\t\t&& element.getAttribute('href').trim() !== ''\r\n\t\t&& (!excludeTargetBlank\r\n\t\t\t|| !element.hasAttribute('target')\r\n\t\t\t|| element.getAttribute('target').trim() !== '_blank'\r\n\t\t);\r\n};\r\n\r\nexport const getParentsLinkElements = function (element, includeCurrentElement = false, excludeTargetBlank = true) {\r\n\tif (!element) return [];\r\n\tconst res = [];\r\n\tlet currentElement = includeCurrentElement ? element : element.parentElement;\r\n\twhile (currentElement) {\r\n\t\tif (isLinkElementWithNonEmptyHref(currentElement, excludeTargetBlank)) {\r\n\t\t\tres.push(currentElement);\r\n\t\t}\r\n\t\tcurrentElement = currentElement.parentElement;\r\n\t}\r\n\treturn res;\r\n};\r\n\r\nexport const getParentsAndChildrenLinkElements = function (element, includeCurrentElement = false, excludeTargetBlank = true) {\r\n\tif (!element) return [];\r\n\tconst descendantLinks = Array.from(element.getElementsByTagName('a'))\r\n\t\t.filter(descendantLinkEl => isLinkElementWithNonEmptyHref(descendantLinkEl, excludeTargetBlank));\r\n\tconst res = [...descendantLinks, ...getParentsLinkElements(element, includeCurrentElement)];\r\n\treturn res;\r\n};\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","\r\nexport default class DpitBB {\r\n\r\n\r\n\tstatic fromLeftTopWidthHeight(left, top, width, height) {\r\n\t\treturn DpitBB.supplyRightBottom({ left, top, width, height });\r\n\t}\r\n\r\n\tstatic fromLeftTopBottomRight(left, top, bottom, right) {\r\n\t\treturn DpitBB.supplyWidthHeight({ left, top, bottom, right });\r\n\t}\r\n\r\n\tstatic supplyRightBottom(BB) {\r\n\t\tBB.bottom = BB.top + BB.height - 1;\r\n\t\tBB.right = BB.left + BB.width - 1;\r\n\t\treturn BB;\r\n\t}\r\n\r\n\tstatic supplyWidthHeight(BB) {\r\n\t\tBB.height = BB.bottom - BB.top + 1;\r\n\t\tBB.width = BB.right - BB.left + 1;\r\n\t\treturn BB;\r\n\t}\r\n\r\n\tstatic empty = (rightBottom = true, widthHeight = true) => {\r\n\t\tlet res = {\r\n\t\t\ttop: 0,\r\n\t\t\tleft: 0,\r\n\t\t};\r\n\t\tif (widthHeight) {\r\n\t\t\tres.width = 0;\r\n\t\t\tres.height = 0;\r\n\t\t}\r\n\t\tif (rightBottom) {\r\n\t\t\tres.right = 0;\r\n\t\t\tres.bottom = 0;\r\n\t\t}\r\n\r\n\t\treturn res;\r\n\t};\r\n\r\n\tstatic area = (BB) => {\r\n\t\treturn BB && BB.width > 0 && BB.height > 0 ? BB.width * BB.height : 0;\r\n\t};\r\n\r\n\tstatic extendByMarginBB = (originalBB, marginBB) => {\r\n\t\treturn DpitBB.extend(originalBB, marginBB.top, marginBB.right, marginBB.bottom, marginBB.left);\r\n\t};\r\n\r\n\tstatic extend = (originalBB, ...paddingArgsPx) => {\r\n\r\n\t\tif (originalBB && paddingArgsPx && paddingArgsPx.length > 0) {\r\n\t\t\tlet extensionPaddings = DpitBB.empty(true, false);\r\n\t\t\tswitch (paddingArgsPx.length) {\r\n\t\t\t\tcase 1:\r\n\t\t\t\t\textensionPaddings.top = extensionPaddings.bottom = extensionPaddings.left = extensionPaddings.right = paddingArgsPx[0];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 2:\r\n\t\t\t\t\textensionPaddings.top = extensionPaddings.bottom = paddingArgsPx[0];\r\n\t\t\t\t\textensionPaddings.left = extensionPaddings.right = paddingArgsPx[1];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 3:\r\n\t\t\t\t\textensionPaddings.top = paddingArgsPx[0];\r\n\t\t\t\t\textensionPaddings.right = paddingArgsPx[1];\r\n\t\t\t\t\textensionPaddings.bottom = paddingArgsPx[2];\r\n\t\t\t\t\textensionPaddings.left = paddingArgsPx[1];\r\n\t\t\t\t\tbreak;\r\n\t\t\t\tcase 4:\r\n\t\t\t\t\textensionPaddings.top = paddingArgsPx[0];\r\n\t\t\t\t\textensionPaddings.right = paddingArgsPx[1];\r\n\t\t\t\t\textensionPaddings.bottom = paddingArgsPx[2];\r\n\t\t\t\t\textensionPaddings.left = paddingArgsPx[3];\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\r\n\t\t\tconst resBB = { ...originalBB };\r\n\t\t\tresBB.top -= extensionPaddings.top;\r\n\t\t\tresBB.left -= extensionPaddings.left;\r\n\t\t\tresBB.bottom += extensionPaddings.bottom;\r\n\t\t\tresBB.right += extensionPaddings.right;\r\n\t\t\treturn DpitBB.supplyWidthHeight(resBB);\r\n\t\t}\r\n\t\treturn null;\r\n\t};\r\n\r\n\tstatic toElement = (element, BB, omitHeight = false, omitWidth = false) => {\r\n\t\tif (element) {\r\n\t\t\tObject.assign(element.style, {\r\n\t\t\t\ttop: BB.top + 'px',\r\n\t\t\t\tleft: BB.left + 'px',\r\n\t\t\t});\r\n\t\t\tif (!omitWidth) {\r\n\t\t\t\telement.style.width = BB.width + 'px';\r\n\t\t\t}\r\n\t\t\tif (!omitHeight) {\r\n\t\t\t\telement.style.height = BB.height + 'px';\r\n\t\t\t}\r\n\t\t}\r\n\t};\r\n\r\n\tstatic fromElement = (element, relativeToViewPort = false, defVal = null, scrollTop = null, scrollLeft = null) => {\r\n\t\tif (element) {\r\n\t\t\tconst jElement = $(element);\r\n\t\t\tconst offset = jElement.offset();\r\n\t\t\tconst BCR = element.getBoundingClientRect();\r\n\r\n\r\n\t\t\treturn DpitBB.absoluteToViewPortRelative(\r\n\t\t\t\tDpitBB.fromLeftTopWidthHeight(\r\n\t\t\t\t\toffset.left,\r\n\t\t\t\t\toffset.top,\r\n\t\t\t\t\tBCR.width,\r\n\t\t\t\t\tBCR.height\r\n\t\t\t\t),\r\n\t\t\t\trelativeToViewPort,\r\n\t\t\t\tscrollTop,\r\n\t\t\t\tscrollLeft\r\n\t\t\t);\r\n\r\n\t\t}\r\n\t\treturn defVal;\r\n\t};\r\n\r\n\tstatic relativeToAbsolute(BB, enabled = true, topOfRelativeParent = null, leftOfRelativeParent = null) {\r\n\t\tconst boundingBoxNew = { ...BB };\r\n\t\tboundingBoxNew.top += enabled ? topOfRelativeParent : 0;\r\n\t\tboundingBoxNew.left += enabled ? leftOfRelativeParent : 0;\r\n\t\treturn DpitBB.supplyRightBottom(boundingBoxNew);\r\n\t}\r\n\r\n\r\n\tstatic viewPortRelativeToAbsolute(BB, enabled = true, scrollTop = null, scrollLeft = null) {\r\n\t\treturn DpitBB.relativeToAbsolute(\r\n\t\t\tBB,\r\n\t\t\tenabled,\r\n\t\t\tscrollTop ?? (enabled ? $(window).scrollTop() : 0),\r\n\t\t\tscrollLeft ?? (enabled ? $(window).scrollLeft() : 0)\r\n\t\t);\r\n\t}\r\n\r\n\tstatic absoluteToRelative(BB, enabled = true, topOfRelativeParent = null, leftOfRelativeParent = null) {\r\n\t\tconst boundingBoxNew = { ...BB };\r\n\t\tboundingBoxNew.top -= enabled ? topOfRelativeParent : 0;\r\n\t\tboundingBoxNew.left -= enabled ? leftOfRelativeParent : 0;\r\n\t\treturn DpitBB.supplyRightBottom(boundingBoxNew);\r\n\t}\r\n\r\n\tstatic absoluteToViewPortRelative(BB, enabled = true, scrollTop = null, scrollLeft = null) {\r\n\t\treturn DpitBB.absoluteToRelative(\r\n\t\t\tBB,\r\n\t\t\tenabled,\r\n\t\t\tscrollTop ?? (enabled ? $(window).scrollTop() : 0),\r\n\t\t\tscrollLeft ?? (enabled ? $(window).scrollLeft() : 0)\r\n\t\t);\r\n\t}\r\n\r\n\tstatic merge(...BBs) {\r\n\t\tif (BBs.length) {\r\n\t\t\tconst notNulBBs = BBs.filter(BB => BB);\r\n\t\t\tconst tops = notNulBBs.map(BB => BB.top);\r\n\t\t\tconst lefts = notNulBBs.map(BB => BB.left);\r\n\t\t\tconst bottoms = notNulBBs.map(BB => BB.bottom);\r\n\t\t\tconst rights = notNulBBs.map(BB => BB.right);\r\n\r\n\t\t\tif (tops && tops.length && lefts && lefts.length && bottoms && bottoms.length && rights && rights.length) {\r\n\t\t\t\treturn DpitBB.supplyWidthHeight({\r\n\t\t\t\t\ttop: Math.min(...tops),\r\n\t\t\t\t\tleft: Math.min(...lefts),\r\n\t\t\t\t\tright: Math.max(...rights),\r\n\t\t\t\t\tbottom: Math.max(...bottoms)\r\n\t\t\t\t});\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tstatic intersect(...BBs) {\r\n\t\tif (BBs.length) {\r\n\t\t\tconst notNulBBs = BBs.filter(BB => BB);\r\n\t\t\tconst tops = notNulBBs.map(BB => BB.top);\r\n\t\t\tconst lefts = notNulBBs.map(BB => BB.left);\r\n\t\t\tconst bottoms = notNulBBs.map(BB => BB.bottom);\r\n\t\t\tconst rights = notNulBBs.map(BB => BB.right);\r\n\r\n\t\t\tif (tops && tops.length && lefts && lefts.length && bottoms && bottoms.length && rights && rights.length) {\r\n\t\t\t\tconst BB = DpitBB.supplyWidthHeight({\r\n\t\t\t\t\ttop: Math.max(...tops),\r\n\t\t\t\t\tleft: Math.max(...lefts),\r\n\t\t\t\t\tright: Math.min(...rights),\r\n\t\t\t\t\tbottom: Math.min(...bottoms)\r\n\t\t\t\t});\r\n\t\t\t\treturn DpitBB.area(BB) > 0 ? BB : null;\r\n\t\t\t}\r\n\t\t}\r\n\t\treturn null;\r\n\t}\r\n\r\n\tmergeFromElements(...elements) {\r\n\t\treturn DpitBB.merge(...elements.map(el => DpitBB.fromElement(el)));\r\n\t}\r\n\r\n\r\n\r\n\tstatic diff(minuendBB, subtrahendBB) {\r\n\t\treturn {\r\n\t\t\ttop: minuendBB.top - subtrahendBB.top,\r\n\t\t\tleft: minuendBB.left - subtrahendBB.left,\r\n\t\t\tbottom: minuendBB.bottom - subtrahendBB.bottom,\r\n\t\t\tright: minuendBB.right - subtrahendBB.right,\r\n\t\t\twidth: minuendBB.width - subtrahendBB.width,\r\n\t\t\theight: minuendBB.height - subtrahendBB.height,\r\n\t\t};\r\n\t}\r\n\r\n\tstatic isEqual(firstBB, secondBB) {\r\n\t\treturn firstBB.top === secondBB.top\r\n\t\t\t&& firstBB.left === secondBB.left\r\n\t\t\t&& firstBB.bottom === secondBB.bottom\r\n\t\t\t&& firstBB.right === secondBB.right;\r\n\t}\r\n\r\n\tstatic diffAbs(minuendBB, subtrahendBB) {\r\n\t\tconst diffBB = DpitBB.diff(minuendBB, subtrahendBB);\r\n\t\treturn {\r\n\t\t\ttop: Math.abs(diffBB.top),\r\n\t\t\tleft: Math.abs(diffBB.left),\r\n\t\t\tbottom: Math.abs(diffBB.bottom),\r\n\t\t\tright: Math.abs(diffBB.right),\r\n\t\t\twidth: Math.abs(diffBB.width),\r\n\t\t\theight: Math.abs(diffBB.height)\r\n\t\t};\r\n\t}\r\n\r\n\tstatic isInside(testedBB, containerBB, thresholdRatio = 1) {\r\n\t\tconst intersectionRatio = DpitBB.getIntersectionRatio(testedBB, containerBB);\r\n\t\treturn intersectionRatio >= thresholdRatio;\r\n\t}\r\n\r\n\tstatic getIntersectionRatio(testedBB, containerBB) {\r\n\t\tconst intersection = DpitBB.intersect(testedBB, containerBB);\r\n\t\treturn DpitBB.area(intersection) / DpitBB.area(testedBB);\r\n\t}\r\n}"],"sourceRoot":""}