@github/details-menu-element
Advanced tools
Comparing version 0.3.0 to 0.4.0
@@ -37,3 +37,3 @@ var _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }(); | ||
var summary = details.querySelector('summary'); | ||
if (summary) summary.setAttribute('aria-haspopup', 'true'); | ||
if (summary) summary.setAttribute('aria-haspopup', 'menu'); | ||
@@ -239,13 +239,26 @@ details.addEventListener('click', clicked); | ||
var text = label(item) || label(item.querySelector('[data-menu-button-text]')); | ||
if (text) button.textContent = text; | ||
var text = labelText(item); | ||
if (text) { | ||
button.textContent = text; | ||
} else { | ||
var html = labelHTML(item); | ||
if (html) button.innerHTML = html; | ||
} | ||
} | ||
function label(el) { | ||
function labelText(el) { | ||
if (!el) return null; | ||
var text = el.getAttribute('data-menu-button-text'); | ||
if (text == null) return null; | ||
return text === '' ? el.textContent : text; | ||
var textEl = el.hasAttribute('data-menu-button-text') ? el : el.querySelector('[data-menu-button-text]'); | ||
if (!textEl) return null; | ||
return textEl.getAttribute('data-menu-button-text') || textEl.textContent; | ||
} | ||
function labelHTML(el) { | ||
if (!el) return null; | ||
var contentsEl = el.hasAttribute('data-menu-button-contents') ? el : el.querySelector('[data-menu-button-contents]'); | ||
return contentsEl ? contentsEl.innerHTML : null; | ||
} | ||
export default DetailsMenuElement; | ||
@@ -252,0 +265,0 @@ |
@@ -96,3 +96,3 @@ (function (global, factory) { | ||
var summary = details.querySelector('summary'); | ||
if (summary) summary.setAttribute('aria-haspopup', 'true'); | ||
if (summary) summary.setAttribute('aria-haspopup', 'menu'); | ||
@@ -298,13 +298,26 @@ details.addEventListener('click', clicked); | ||
var text = label(item) || label(item.querySelector('[data-menu-button-text]')); | ||
if (text) button.textContent = text; | ||
var text = labelText(item); | ||
if (text) { | ||
button.textContent = text; | ||
} else { | ||
var html = labelHTML(item); | ||
if (html) button.innerHTML = html; | ||
} | ||
} | ||
function label(el) { | ||
function labelText(el) { | ||
if (!el) return null; | ||
var text = el.getAttribute('data-menu-button-text'); | ||
if (text == null) return null; | ||
return text === '' ? el.textContent : text; | ||
var textEl = el.hasAttribute('data-menu-button-text') ? el : el.querySelector('[data-menu-button-text]'); | ||
if (!textEl) return null; | ||
return textEl.getAttribute('data-menu-button-text') || textEl.textContent; | ||
} | ||
function labelHTML(el) { | ||
if (!el) return null; | ||
var contentsEl = el.hasAttribute('data-menu-button-contents') ? el : el.querySelector('[data-menu-button-contents]'); | ||
return contentsEl ? contentsEl.innerHTML : null; | ||
} | ||
exports.default = DetailsMenuElement; | ||
@@ -311,0 +324,0 @@ |
{ | ||
"name": "@github/details-menu-element", | ||
"version": "0.3.0", | ||
"version": "0.4.0", | ||
"description": "A menu opened with a <details> button.", | ||
@@ -5,0 +5,0 @@ "main": "dist/index.umd.js", |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
New author
Supply chain riskA new npm collaborator published a version of the package for the first time. New collaborators are usually benign additions to a project, but do indicate a change to the security surface area of a package.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
23270
501
1