From 0cae86d881ef3e00926bbb48fea3c4a0bedd4152 Mon Sep 17 00:00:00 2001 From: Antoine M Date: Mon, 27 Nov 2023 16:24:17 +0100 Subject: [PATCH] correcting unecessary margin for tooltip title --- build/index.asset.php | 2 +- build/index.css | 1 + build/index.css.map | 2 +- build/tooltipFront.asset.php | 2 +- build/tooltipFront.js | 2 ++ build/tooltipFront.js.map | 2 +- 6 files changed, 7 insertions(+), 4 deletions(-) diff --git a/build/index.asset.php b/build/index.asset.php index 54dfef9..fc80945 100644 --- a/build/index.asset.php +++ b/build/index.asset.php @@ -1 +1 @@ - array('wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-rich-text'), 'version' => '7d8f1c1361e30f4e7787'); + array('wp-block-editor', 'wp-components', 'wp-data', 'wp-element', 'wp-i18n', 'wp-primitives', 'wp-rich-text'), 'version' => '01ca0171e581c4aa0b27'); diff --git a/build/index.css b/build/index.css index 4e28fbd..f4bbb41 100644 --- a/build/index.css +++ b/build/index.css @@ -43,6 +43,7 @@ font-weight: bold; color: black !important; padding-bottom: 10px; + margin-top: 0 !important; } .tooltip-popup__definition { color: black !important; diff --git a/build/index.css.map b/build/index.css.map index 99feea3..b6b586b 100644 --- a/build/index.css.map +++ b/build/index.css.map @@ -1 +1 @@ -{"version":3,"file":"index.css","mappings":";;;AAAA;CACC,uBAAuB;CACvB,kBAAkB;CAClB,eAAe;CACf,0BAA0B;CAC1B,6BAA6B;CAC7B,0BAA0B;AAC3B;;AAEA;CACC,wBAAwB;CACxB,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,gBAAgB;CAChB,gCAAgC;CAChC,aAAa;CACb,gBAAgB;CAChB,uBAAkB;CAAlB,kBAAkB;CAClB,yBAAyB;AAC1B;AACA;CACC,aAAa;AACd;AACA;CACC,WAAW;CACX,cAAc;CACd,uBAAuB;CACvB,kBAAkB;CAClB,SAAS;CACT,eAAe;CACf,+BAA+B;CAC/B,WAAW;CACX,YAAY;CACZ,8CAA8C;CAC9C,2CAA2C;AAC5C;AACA;CACC,iBAAiB;CACjB,uBAAuB;CACvB,oBAAoB;AACrB;AACA;CACC,uBAAuB;CACvB,oBAAoB;AACrB;;AAEA,mBAAmB;AACnB;CACC;EACC,wBAAwB;EACxB,gBAAgB;CACjB;AACD;;;;;ACrDA;CACC,mBAAmB;CACnB,qBAAqB;CACrB,2BAA2B;AAC5B","sources":["webpack://multi-blocks/./src/format-types/tooltip/tooltip.css","webpack://multi-blocks/./src/format-types/brochure/brochure.css"],"sourcesContent":[".tooltip-word {\r\n\t/* padding-top: 12px; */\r\n\tposition: relative;\r\n\tcursor: default;\r\n\ttext-underline-offset: 4px;\r\n\ttext-decoration-style: dashed;\r\n\ttext-decoration-color: red;\r\n}\r\n\r\n.tooltip-popup {\r\n\tbackground-color: yellow;\r\n\tposition: absolute;\r\n\ttop: -6px;\r\n\tleft: 50%;\r\n\ttext-align: left;\r\n\ttransform: translate(-50%, -98%);\r\n\tpadding: 10px;\r\n\tmax-width: 300px;\r\n\twidth: max-content;\r\n\t--tooltip-x-position: 50%;\r\n}\r\n.tooltip-popup[aria-hidden=\"true\"] {\r\n\tdisplay: none;\r\n}\r\n.tooltip-popup:after {\r\n\tcontent: \"\";\r\n\tdisplay: block;\r\n\tbackground-color: white;\r\n\tposition: absolute;\r\n\ttop: 100%;\r\n\t/* left: 50%; */\r\n\tleft: var(--tooltip-x-position);\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\ttransform: translate(-50%, -50%) rotate(45deg);\r\n\tbox-shadow: 4px 4px 4px rgba(0, 0, 0, 0.08);\r\n}\r\n.tooltip-popup__title {\r\n\tfont-weight: bold;\r\n\tcolor: black !important;\r\n\tpadding-bottom: 10px;\r\n}\r\n.tooltip-popup__definition {\r\n\tcolor: black !important;\r\n\tmargin: 0 !important;\r\n}\r\n\r\n/* FOR THE EDITOR */\r\n.popover_tooltip_field {\r\n\t.components-popover__content {\r\n\t\tpadding: 10px !important;\r\n\t\tmin-width: 200px;\r\n\t}\r\n}\r\n",".brochure-download-icon {\r\n\tmargin: 0 0px 0 6px;\r\n\tdisplay: inline-block;\r\n\ttransform: translateY(-1px);\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"index.css","mappings":";;;AAAA;CACC,uBAAuB;CACvB,kBAAkB;CAClB,eAAe;CACf,0BAA0B;CAC1B,6BAA6B;CAC7B,0BAA0B;AAC3B;;AAEA;CACC,wBAAwB;CACxB,kBAAkB;CAClB,SAAS;CACT,SAAS;CACT,gBAAgB;CAChB,gCAAgC;CAChC,aAAa;CACb,gBAAgB;CAChB,uBAAkB;CAAlB,kBAAkB;CAClB,yBAAyB;AAC1B;AACA;CACC,aAAa;AACd;AACA;CACC,WAAW;CACX,cAAc;CACd,uBAAuB;CACvB,kBAAkB;CAClB,SAAS;CACT,eAAe;CACf,+BAA+B;CAC/B,WAAW;CACX,YAAY;CACZ,8CAA8C;CAC9C,2CAA2C;AAC5C;AACA;CACC,iBAAiB;CACjB,uBAAuB;CACvB,oBAAoB;CACpB,wBAAwB;AACzB;AACA;CACC,uBAAuB;CACvB,oBAAoB;AACrB;;AAEA,mBAAmB;AACnB;CACC;EACC,wBAAwB;EACxB,gBAAgB;CACjB;AACD;;;;;ACtDA;CACC,mBAAmB;CACnB,qBAAqB;CACrB,2BAA2B;AAC5B","sources":["webpack://multi-blocks/./src/format-types/tooltip/tooltip.css","webpack://multi-blocks/./src/format-types/brochure/brochure.css"],"sourcesContent":[".tooltip-word {\r\n\t/* padding-top: 12px; */\r\n\tposition: relative;\r\n\tcursor: default;\r\n\ttext-underline-offset: 4px;\r\n\ttext-decoration-style: dashed;\r\n\ttext-decoration-color: red;\r\n}\r\n\r\n.tooltip-popup {\r\n\tbackground-color: yellow;\r\n\tposition: absolute;\r\n\ttop: -6px;\r\n\tleft: 50%;\r\n\ttext-align: left;\r\n\ttransform: translate(-50%, -98%);\r\n\tpadding: 10px;\r\n\tmax-width: 300px;\r\n\twidth: max-content;\r\n\t--tooltip-x-position: 50%;\r\n}\r\n.tooltip-popup[aria-hidden=\"true\"] {\r\n\tdisplay: none;\r\n}\r\n.tooltip-popup:after {\r\n\tcontent: \"\";\r\n\tdisplay: block;\r\n\tbackground-color: white;\r\n\tposition: absolute;\r\n\ttop: 100%;\r\n\t/* left: 50%; */\r\n\tleft: var(--tooltip-x-position);\r\n\twidth: 20px;\r\n\theight: 20px;\r\n\ttransform: translate(-50%, -50%) rotate(45deg);\r\n\tbox-shadow: 4px 4px 4px rgba(0, 0, 0, 0.08);\r\n}\r\n.tooltip-popup__title {\r\n\tfont-weight: bold;\r\n\tcolor: black !important;\r\n\tpadding-bottom: 10px;\r\n\tmargin-top: 0 !important;\r\n}\r\n.tooltip-popup__definition {\r\n\tcolor: black !important;\r\n\tmargin: 0 !important;\r\n}\r\n\r\n/* FOR THE EDITOR */\r\n.popover_tooltip_field {\r\n\t.components-popover__content {\r\n\t\tpadding: 10px !important;\r\n\t\tmin-width: 200px;\r\n\t}\r\n}\r\n",".brochure-download-icon {\r\n\tmargin: 0 0px 0 6px;\r\n\tdisplay: inline-block;\r\n\ttransform: translateY(-1px);\r\n}\r\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/build/tooltipFront.asset.php b/build/tooltipFront.asset.php index 3c315fc..4fca050 100644 --- a/build/tooltipFront.asset.php +++ b/build/tooltipFront.asset.php @@ -1 +1 @@ - array(), 'version' => 'a4bcdbd8641c0feace22'); + array(), 'version' => '08526599dcbbc7f6e5ec'); diff --git a/build/tooltipFront.js b/build/tooltipFront.js index 63f40c6..375d8b9 100644 --- a/build/tooltipFront.js +++ b/build/tooltipFront.js @@ -10,6 +10,8 @@ async function initTooltips() { const tooltipData = await getTooltipsDatas(vocabulairesPostsIds); tooltipWords.forEach((word, index) => { const foundTooltipDatas = tooltipData.find(tooltip => tooltip.id === parseInt(word.getAttribute("data-definition-id"))); + console.log(word); + console.log(foundTooltipDatas); if (foundTooltipDatas) { word.setAttribute("data-tooltip-word", foundTooltipDatas.title.rendered); word.setAttribute("data-tooltip-definition", foundTooltipDatas.acf.definition); diff --git a/build/tooltipFront.js.map b/build/tooltipFront.js.map index ed58bf1..557bc42 100644 --- a/build/tooltipFront.js.map +++ b/build/tooltipFront.js.map @@ -1 +1 @@ -{"version":3,"file":"tooltipFront.js","mappings":"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","sources":["webpack://multi-blocks/./src/format-types/tooltip/tooltip-front.js"],"sourcesContent":["async function initTooltips() {\r\n\tlet tooltipWords = document.querySelectorAll(\".tooltip-word\");\r\n\tconst vocabulairesPostsIds = Array.from(tooltipWords).map((element) =>\r\n\t\telement.getAttribute(\"data-definition-id\")\r\n\t);\r\n\r\n\ttry {\r\n\t\tconst tooltipData = await getTooltipsDatas(vocabulairesPostsIds);\r\n\r\n\t\ttooltipWords.forEach((word, index) => {\r\n\t\t\tconst foundTooltipDatas = tooltipData.find(\r\n\t\t\t\t(tooltip) => tooltip.id === parseInt(word.getAttribute(\"data-definition-id\"))\r\n\t\t\t);\r\n\r\n\t\t\tif (foundTooltipDatas) {\r\n\t\t\t\tword.setAttribute(\"data-tooltip-word\", foundTooltipDatas.title.rendered);\r\n\t\t\t\tword.setAttribute(\"data-tooltip-definition\", foundTooltipDatas.acf.definition);\r\n\t\t\t}\r\n\r\n\t\t\tcreateTooltip(word, tooltipData[index]);\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tconsole.log(\"Something went wrong!\", error);\r\n\t}\r\n\r\n\tawait observeTooltip(tooltipWords);\r\n}\r\nasync function getTooltipsDatas(vocabulairesPostsIds) {\r\n\ttry {\r\n\t\tconst response = await fetch(`/wp-json/wp/v2/vocabulaire?include=${vocabulairesPostsIds.toString()}`);\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error(`Request failed with status: ${response.status}`);\r\n\t\t}\r\n\t\tconst data = await response.json();\r\n\t\treturn data;\r\n\t} catch (err) {\r\n\t\tthrow err;\r\n\t}\r\n}\r\nasync function observeTooltip(tooltipWords) {\r\n\t// CHAPTER IntersectionObserver\r\n\tconst tooltipsObserver = new IntersectionObserver((entries) => {\r\n\t\tentries.forEach((entry) => {\r\n\t\t\tconst margin = 10;\r\n\r\n\t\t\t// DEPASSE À GAUCHE\r\n\t\t\tif (entry.boundingClientRect.x < 0) {\r\n\t\t\t\tconst currentPos = getCurrentPos(entry);\r\n\t\t\t\tconst missingSpace = Math.abs(entry.boundingClientRect.x);\r\n\t\t\t\tentry.target.style.left = `${currentPos + missingSpace + margin}px`;\r\n\t\t\t\tentry.target.style.setProperty(\"--tooltip-x-position\", \"12%\");\r\n\t\t\t}\r\n\t\t\t// DEPASSE À DROITE\r\n\t\t\tif (entry.boundingClientRect.x + entry.boundingClientRect.width > window.innerWidth) {\r\n\t\t\t\tconst currentPos = getCurrentPos(entry);\r\n\t\t\t\tconst difference = entry.boundingClientRect.width - entry.intersectionRect.width;\r\n\r\n\t\t\t\tentry.target.style.left = `${currentPos - difference - margin}px`;\r\n\t\t\t\tentry.target.style.setProperty(\"--tooltip-x-position\", `calc(60% + ${difference}px)`);\r\n\t\t\t}\r\n\r\n\t\t\t// Check aspect ratio to be sure the element is visible\r\n\t\t\t// const aspect = entry.intersectionRatio;\r\n\t\t\t// if (entry.isIntersecting) {\r\n\t\t\t// }\r\n\t\t});\r\n\t});\r\n\ttooltipWords.forEach((tooltipWord) => {\r\n\t\ttooltipsObserver.observe(tooltipWord.querySelector(\".tooltip-popup\"));\r\n\r\n\t\ttooltipWord.addEventListener(\"click\", (event) => {\r\n\t\t\ttoggleTooltip(tooltipWord);\r\n\t\t});\r\n\t\ttooltipWord.addEventListener(\"keydown\", (event) => {\r\n\t\t\tswitch (event.key) {\r\n\t\t\t\tcase \"Escape\":\r\n\t\t\t\t\thideTooltip(tooltipWord);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\t\ttooltipWord.addEventListener(\"mouseover\", (event) => {\r\n\t\t\tshowTooltip(tooltipWord);\r\n\t\t});\r\n\r\n\t\ttooltipWord.addEventListener(\"mouseout\", (event) => {\r\n\t\t\tvar isFocused = document.activeElement === tooltipWord;\r\n\t\t\tif (!isFocused) {\r\n\t\t\t\thideTooltip(tooltipWord);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\ttooltipWord.addEventListener(\"focusout\", (event) => {\r\n\t\t\thideTooltip(tooltipWord);\r\n\t\t});\r\n\t});\r\n}\r\n\r\nfunction createTooltip(tooltipWord) {\r\n\tconst tooltipPopup = document.createElement(\"div\");\r\n\ttooltipPopup.className = \"tooltip-popup\";\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"true\");\r\n\r\n\tconst tooltipDefinition = document.createElement(\"p\");\r\n\ttooltipDefinition.textContent = tooltipWord.getAttribute(\"data-tooltip-definition\");\r\n\ttooltipDefinition.className = \"tooltip-popup__definition\";\r\n\r\n\tconst tooltipTitle = document.createElement(\"h5\");\r\n\ttooltipTitle.textContent = tooltipWord.getAttribute(\"data-tooltip-word\");\r\n\ttooltipTitle.className = \"tooltip-popup__title\";\r\n\r\n\ttooltipPopup.appendChild(tooltipTitle);\r\n\ttooltipPopup.appendChild(tooltipDefinition);\r\n\ttooltipWord.appendChild(tooltipPopup);\r\n\r\n\t// tooltipWord.insertAdjacentElement(\"afterend\", tooltipPopup);\r\n}\r\nfunction showTooltip(tooltipWord) {\r\n\ttooltipWord.setAttribute(\"aria-expanded\", \"true\");\r\n\tconst tooltipPopup = tooltipWord.querySelector(\".tooltip-popup\");\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"false\");\r\n}\r\nfunction hideTooltip(tooltipWord) {\r\n\ttooltipWord.setAttribute(\"aria-expanded\", \"false\");\r\n\tconst tooltipPopup = tooltipWord.querySelector(\".tooltip-popup\");\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"true\");\r\n}\r\nfunction toggleTooltip(tooltipWord) {\r\n\tconst isExpanded = tooltipWord.getAttribute(\"aria-expanded\") === \"true\";\r\n\tif (isExpanded) {\r\n\t\thideTooltip(tooltipWord);\r\n\t} else {\r\n\t\tshowTooltip(tooltipWord);\r\n\t}\r\n}\r\n\r\nfunction getCurrentPos(entry) {\r\n\treturn parseInt(getComputedStyle(entry.target, null).getPropertyValue(\"left\"));\r\n}\r\n\r\nwindow.addEventListener(\"DOMContentLoaded\", (event) => {\r\n\tinitTooltips();\r\n});\r\n"],"names":["initTooltips","tooltipWords","document","querySelectorAll","vocabulairesPostsIds","Array","from","map","element","getAttribute","tooltipData","getTooltipsDatas","forEach","word","index","foundTooltipDatas","find","tooltip","id","parseInt","setAttribute","title","rendered","acf","definition","createTooltip","error","console","log","observeTooltip","response","fetch","toString","ok","Error","status","data","json","err","tooltipsObserver","IntersectionObserver","entries","entry","margin","boundingClientRect","x","currentPos","getCurrentPos","missingSpace","Math","abs","target","style","left","setProperty","width","window","innerWidth","difference","intersectionRect","tooltipWord","observe","querySelector","addEventListener","event","toggleTooltip","key","hideTooltip","showTooltip","isFocused","activeElement","tooltipPopup","createElement","className","tooltipDefinition","textContent","tooltipTitle","appendChild","isExpanded","getComputedStyle","getPropertyValue"],"sourceRoot":""} \ No newline at end of file +{"version":3,"file":"tooltipFront.js","mappings":"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","sources":["webpack://multi-blocks/./src/format-types/tooltip/tooltip-front.js"],"sourcesContent":["async function initTooltips() {\r\n\tlet tooltipWords = document.querySelectorAll(\".tooltip-word\");\r\n\tconst vocabulairesPostsIds = Array.from(tooltipWords).map((element) =>\r\n\t\telement.getAttribute(\"data-definition-id\")\r\n\t);\r\n\r\n\ttry {\r\n\t\tconst tooltipData = await getTooltipsDatas(vocabulairesPostsIds);\r\n\r\n\t\ttooltipWords.forEach((word, index) => {\r\n\t\t\tconst foundTooltipDatas = tooltipData.find(\r\n\t\t\t\t(tooltip) => tooltip.id === parseInt(word.getAttribute(\"data-definition-id\"))\r\n\t\t\t);\r\n\t\t\tconsole.log(word);\r\n\t\t\tconsole.log(foundTooltipDatas);\r\n\r\n\t\t\tif (foundTooltipDatas) {\r\n\t\t\t\tword.setAttribute(\"data-tooltip-word\", foundTooltipDatas.title.rendered);\r\n\t\t\t\tword.setAttribute(\"data-tooltip-definition\", foundTooltipDatas.acf.definition);\r\n\t\t\t}\r\n\r\n\t\t\tcreateTooltip(word, tooltipData[index]);\r\n\t\t});\r\n\t} catch (error) {\r\n\t\tconsole.log(\"Something went wrong!\", error);\r\n\t}\r\n\r\n\tawait observeTooltip(tooltipWords);\r\n}\r\nasync function getTooltipsDatas(vocabulairesPostsIds) {\r\n\ttry {\r\n\t\tconst response = await fetch(`/wp-json/wp/v2/vocabulaire?include=${vocabulairesPostsIds.toString()}`);\r\n\t\tif (!response.ok) {\r\n\t\t\tthrow new Error(`Request failed with status: ${response.status}`);\r\n\t\t}\r\n\t\tconst data = await response.json();\r\n\t\treturn data;\r\n\t} catch (err) {\r\n\t\tthrow err;\r\n\t}\r\n}\r\nasync function observeTooltip(tooltipWords) {\r\n\t// CHAPTER IntersectionObserver\r\n\tconst tooltipsObserver = new IntersectionObserver((entries) => {\r\n\t\tentries.forEach((entry) => {\r\n\t\t\tconst margin = 10;\r\n\r\n\t\t\t// DEPASSE À GAUCHE\r\n\t\t\tif (entry.boundingClientRect.x < 0) {\r\n\t\t\t\tconst currentPos = getCurrentPos(entry);\r\n\t\t\t\tconst missingSpace = Math.abs(entry.boundingClientRect.x);\r\n\t\t\t\tentry.target.style.left = `${currentPos + missingSpace + margin}px`;\r\n\t\t\t\tentry.target.style.setProperty(\"--tooltip-x-position\", \"12%\");\r\n\t\t\t}\r\n\t\t\t// DEPASSE À DROITE\r\n\t\t\tif (entry.boundingClientRect.x + entry.boundingClientRect.width > window.innerWidth) {\r\n\t\t\t\tconst currentPos = getCurrentPos(entry);\r\n\t\t\t\tconst difference = entry.boundingClientRect.width - entry.intersectionRect.width;\r\n\r\n\t\t\t\tentry.target.style.left = `${currentPos - difference - margin}px`;\r\n\t\t\t\tentry.target.style.setProperty(\"--tooltip-x-position\", `calc(60% + ${difference}px)`);\r\n\t\t\t}\r\n\r\n\t\t\t// Check aspect ratio to be sure the element is visible\r\n\t\t\t// const aspect = entry.intersectionRatio;\r\n\t\t\t// if (entry.isIntersecting) {\r\n\t\t\t// }\r\n\t\t});\r\n\t});\r\n\ttooltipWords.forEach((tooltipWord) => {\r\n\t\ttooltipsObserver.observe(tooltipWord.querySelector(\".tooltip-popup\"));\r\n\r\n\t\ttooltipWord.addEventListener(\"click\", (event) => {\r\n\t\t\ttoggleTooltip(tooltipWord);\r\n\t\t});\r\n\t\ttooltipWord.addEventListener(\"keydown\", (event) => {\r\n\t\t\tswitch (event.key) {\r\n\t\t\t\tcase \"Escape\":\r\n\t\t\t\t\thideTooltip(tooltipWord);\r\n\t\t\t\t\tbreak;\r\n\t\t\t}\r\n\t\t});\r\n\t\ttooltipWord.addEventListener(\"mouseover\", (event) => {\r\n\t\t\tshowTooltip(tooltipWord);\r\n\t\t});\r\n\r\n\t\ttooltipWord.addEventListener(\"mouseout\", (event) => {\r\n\t\t\tvar isFocused = document.activeElement === tooltipWord;\r\n\t\t\tif (!isFocused) {\r\n\t\t\t\thideTooltip(tooltipWord);\r\n\t\t\t}\r\n\t\t});\r\n\r\n\t\ttooltipWord.addEventListener(\"focusout\", (event) => {\r\n\t\t\thideTooltip(tooltipWord);\r\n\t\t});\r\n\t});\r\n}\r\nfunction createTooltip(tooltipWord) {\r\n\tconst tooltipPopup = document.createElement(\"div\");\r\n\ttooltipPopup.className = \"tooltip-popup\";\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"true\");\r\n\r\n\tconst tooltipDefinition = document.createElement(\"p\");\r\n\ttooltipDefinition.textContent = tooltipWord.getAttribute(\"data-tooltip-definition\");\r\n\ttooltipDefinition.className = \"tooltip-popup__definition\";\r\n\r\n\tconst tooltipTitle = document.createElement(\"h5\");\r\n\ttooltipTitle.textContent = tooltipWord.getAttribute(\"data-tooltip-word\");\r\n\ttooltipTitle.className = \"tooltip-popup__title\";\r\n\r\n\ttooltipPopup.appendChild(tooltipTitle);\r\n\ttooltipPopup.appendChild(tooltipDefinition);\r\n\ttooltipWord.appendChild(tooltipPopup);\r\n\r\n\t// tooltipWord.insertAdjacentElement(\"afterend\", tooltipPopup);\r\n}\r\nfunction showTooltip(tooltipWord) {\r\n\ttooltipWord.setAttribute(\"aria-expanded\", \"true\");\r\n\tconst tooltipPopup = tooltipWord.querySelector(\".tooltip-popup\");\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"false\");\r\n}\r\nfunction hideTooltip(tooltipWord) {\r\n\ttooltipWord.setAttribute(\"aria-expanded\", \"false\");\r\n\tconst tooltipPopup = tooltipWord.querySelector(\".tooltip-popup\");\r\n\ttooltipPopup.setAttribute(\"aria-hidden\", \"true\");\r\n}\r\nfunction toggleTooltip(tooltipWord) {\r\n\tconst isExpanded = tooltipWord.getAttribute(\"aria-expanded\") === \"true\";\r\n\tif (isExpanded) {\r\n\t\thideTooltip(tooltipWord);\r\n\t} else {\r\n\t\tshowTooltip(tooltipWord);\r\n\t}\r\n}\r\n\r\nfunction getCurrentPos(entry) {\r\n\treturn parseInt(getComputedStyle(entry.target, null).getPropertyValue(\"left\"));\r\n}\r\n\r\nwindow.addEventListener(\"DOMContentLoaded\", (event) => {\r\n\tinitTooltips();\r\n});\r\n"],"names":["initTooltips","tooltipWords","document","querySelectorAll","vocabulairesPostsIds","Array","from","map","element","getAttribute","tooltipData","getTooltipsDatas","forEach","word","index","foundTooltipDatas","find","tooltip","id","parseInt","console","log","setAttribute","title","rendered","acf","definition","createTooltip","error","observeTooltip","response","fetch","toString","ok","Error","status","data","json","err","tooltipsObserver","IntersectionObserver","entries","entry","margin","boundingClientRect","x","currentPos","getCurrentPos","missingSpace","Math","abs","target","style","left","setProperty","width","window","innerWidth","difference","intersectionRect","tooltipWord","observe","querySelector","addEventListener","event","toggleTooltip","key","hideTooltip","showTooltip","isFocused","activeElement","tooltipPopup","createElement","className","tooltipDefinition","textContent","tooltipTitle","appendChild","isExpanded","getComputedStyle","getPropertyValue"],"sourceRoot":""} \ No newline at end of file