Socket
Socket
Sign inDemoInstall

shiki-twoslash

Package Overview
Dependencies
Maintainers
2
Versions
46
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

shiki-twoslash - npm Package Compare versions

Comparing version 0.8.0 to 0.8.1

4

dist/dom.d.ts

@@ -12,3 +12,3 @@ /**

* // Add a the hovers
* useEffect(setupTwoslashHovers, [])
* useEffect(setupTwoslashHovers)
*

@@ -20,2 +20,2 @@ * // Normal JSX

*/
export declare const setupTwoslashHovers: () => void;
export declare const setupTwoslashHovers: () => () => void;

@@ -38,2 +38,25 @@ "use strict";

};
// Gets triggered on the spans inside the codeblocks
var hover = function (event) {
var hovered = event.target;
if (hovered.nodeName !== "DATA-LSP")
return resetHover();
var message = hovered.getAttribute("lsp");
var position = getAbsoluteElementPos(hovered);
// Create or re-use the current hover div
var tooltip = findOrCreateTooltip();
// Use a textarea to un-htmlencode for presenting to the user
var txt = document.createElement("textarea");
txt.innerHTML = message;
tooltip.textContent = txt.value;
// Offset it a bit from the mouse and present it at an absolute position
var yOffset = 20;
tooltip.style.display = "block";
tooltip.style.top = position.top + yOffset + "px";
tooltip.style.left = position.left + "px";
// limit the width of the tooltip to the outer container (pre)
var rootRect = getRootRect(hovered);
var relativeLeft = position.left - rootRect.x;
tooltip.style.maxWidth = rootRect.width - relativeLeft + "px";
};
/**

@@ -50,3 +73,3 @@ * Creates the main mouse over popup for LSP info using the DOM API.

* // Add a the hovers
* useEffect(setupTwoslashHovers, [])
* useEffect(setupTwoslashHovers)
*

@@ -59,31 +82,13 @@ * // Normal JSX

exports.setupTwoslashHovers = function () {
// prettier-ignore
var twoslashes = document.querySelectorAll(".shiki.lsp .code-container code");
// Gets triggered on the spans inside the codeblocks
var hover = function (event) {
var hovered = event.target;
if (hovered.nodeName !== "DATA-LSP")
return resetHover();
var message = hovered.getAttribute("lsp");
var position = getAbsoluteElementPos(hovered);
// Create or re-use the current hover div
var tooltip = findOrCreateTooltip();
// Use a textarea to un-htmlencode for presenting to the user
var txt = document.createElement("textarea");
txt.innerHTML = message;
tooltip.textContent = txt.value;
// Offset it a bit from the mouse and present it at an absolute position
var yOffset = 20;
tooltip.style.display = "block";
tooltip.style.top = position.top + yOffset + "px";
tooltip.style.left = position.left + "px";
// limit the width of the tooltip to the outer container (pre)
var rootRect = getRootRect(hovered);
var relativeLeft = position.left - rootRect.x;
tooltip.style.maxWidth = rootRect.width - relativeLeft + "px";
var blocks = document.querySelectorAll(".shiki.lsp .code-container code");
blocks.forEach(function (code) {
code.addEventListener("mouseover", hover);
code.addEventListener("mouseout", resetHover);
});
return function () {
blocks.forEach(function (code) {
code.removeEventListener("mouseover", hover);
code.removeEventListener("mouseout", resetHover);
});
};
twoslashes.forEach(function (codeblock) {
codeblock.addEventListener("mouseover", hover);
codeblock.addEventListener("mouseout", resetHover);
});
};
{
"name": "shiki-twoslash",
"version": "0.8.0",
"version": "0.8.1",
"license": "MIT",

@@ -23,4 +23,4 @@ "homepage": "https://github.com/microsoft/TypeScript-Website/",

"dependencies": {
"@typescript/twoslash": "1.0.0",
"@typescript/vfs": "1.2.0",
"@typescript/twoslash": "1.1.1",
"@typescript/vfs": "1.3.0",
"shiki": "^0.1.6",

@@ -27,0 +27,0 @@ "shiki-languages": "^0.1.6",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc