Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

@digital-realty/ix-tree

Package Overview
Dependencies
Maintainers
0
Versions
80
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@digital-realty/ix-tree - npm Package Compare versions

Comparing version 3.1.7-alpha-246443-t51.0 to 3.1.7-alpha-254642-t51.0

23

dist/ix-tree-styles.js

@@ -6,8 +6,5 @@ import { css } from 'lit';

:host {
--_tree-icon-size: var(--ix-tree-icon-size, 1.2rem);
--_tree-icon-size: var(--ix-tree-icon-size, 2.4rem);
--_tree-icon-spacing: var(--ix-tree-icon-spacing, 0.7rem);
--md-icon-button-icon-color: var(
--ix-tree-icon-color,
var(--clr-graphics-fill, #6b7a8d)
);
--md-icon-button-icon-color: #092241b2;
}

@@ -18,12 +15,12 @@ .wrapper {

display: flex;
border-left: var(--ix-tree-indent-width, 3px) solid transparent;
border-left: 3px solid transparent;
}
.icon {
display: flex;
color: var(--md-icon-button-icon-color);
margin-right: var(--_tree-icon-spacing);
font-size: var(--_tree-icon-size);
color: var(--ix-outline-color, var(--ix-tree-icon-color) #6b7a8d);
margin-right: var(--_tree-icon-spacing, --ix-tree-icon-spacing);
font-size: var(--ix-tree-icon-size, 1.2rem);
}
.label {
color: var(--ix-tree-label-text-color, var(--clr-on-surface, #092241));
color: var(--ix-text-color, var(--ix-label-text-color, #092241));
flex-grow: 1;

@@ -43,3 +40,3 @@ padding-top: 8px;

display: flex;
margin-right: var(--ix-tree-checkbox-spacing, var(--_tree-icon-spacing));
margin-right: var(--_tree-icon-spacing, --ix-tree-checkbox-spacing);
}

@@ -49,8 +46,8 @@ .selected {

--ix-tree-active-background-color,
var(--clr-primary-subtle, #1456e01a)
rgba(20, 86, 224, 0.1)
);
border-left: 3px solid
var(--ix-tree-active-border-color, var(--clr-primary, #1456e0));
var(--ix-tree-active-border-color, var(--md-sys-color-primary));
}
`;
//# sourceMappingURL=ix-tree-styles.js.map

@@ -1,4 +0,1 @@

import{__decorate}from"tslib";import"@digital-realty/ix-icon/ix-icon.js";import"@digital-realty/theme";import{css,LitElement,html,nothing}from"lit";import{property,state}from"lit/decorators.js";import"@digital-realty/ix-icon-button/ix-icon-button.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";function findChildNodeById(e,t){if(e.id===t)return e;if(e.children)for(var o of e.children){o=findChildNodeById(o,t);if(o)return o}return null}function updateNodeCheckedStatus(e,o){!function t(e,o=!1){e.checked=o,e.indeterminate=!1,e.children&&e.children.forEach(e=>{t(e,o)})}(e,e.checked),function e(t){t.parentId&&(t=findChildNodeById(o,t.parentId))&&t.children&&(t.children.every(e=>e.checked)?(t.checked=!0,t.indeterminate=!1):t.children.some(e=>e.checked)||t.children.some(e=>e.indeterminate)?(t.checked=!1,t.indeterminate=!0):(t.checked=!1,t.indeterminate=!1),e(t))}(e)}let IxTreeStyles=css`:host,:host :root,:root{--_tree-icon-size:var(--ix-tree-icon-size, 1.2rem);--_tree-icon-spacing:var(--ix-tree-icon-spacing, 0.7rem);--md-icon-button-icon-color:var(
--ix-tree-icon-color,
var(--clr-graphics-fill, #6b7a8d)
)}.wrapper{align-items:center;cursor:pointer;display:flex;border-left:var(--ix-tree-indent-width,3px) solid transparent}.icon{display:flex;color:var(--md-icon-button-icon-color);margin-right:var(--_tree-icon-spacing);font-size:var(--_tree-icon-size)}.label{color:var(--ix-tree-label-text-color,var(--clr-on-surface,#092241));flex-grow:1;padding-top:8px;padding-bottom:8px}.label-single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.label-multi-line{overflow-wrap:break-word}.item-checkbox{display:flex;margin-right:var(--ix-tree-checkbox-spacing,var(--_tree-icon-spacing))}.selected{background-color:var(--ix-tree-active-background-color,var(--clr-primary-subtle,#1456e01a));border-left:3px solid var(--ix-tree-active-border-color,var(--clr-primary,#1456e0))}`;class IxTreeNode extends LitElement{constructor(){super(...arguments),this.isActiveTreeNode=!1,this.isExpanded=!1,this.isSelected=!1,this.level=0,this.checkboxEnabled=!1,this.appearance="default",this.hasIcon=!1,this.removeChevron=!1,this.allowMultiLine=!1,this.scrollToActive=!1,this._hasScrolledToActive=!1}hasChildren(){return void 0!==this.node.children&&0<this.node.children.length}getChevron(){var e=this.isExpanded?"arrow_drop_down":"arrow_right";return html`<div style="${this.hasChildren()?"":"visibility:hidden"}"><ix-icon-button @click="${()=>this.onNodeToggle(this.node)}" icon="${e}" class="chevron" test-id="tree-node-expand-toggle"></ix-icon-button></div>`}onNodeClick(e){e=new CustomEvent("on-tree-node-click",{detail:{message:{node:e,id:e.id,label:e.label,parentId:e.parentId}}});this.dispatchEvent(e)}onNodeToggle(e){e=new CustomEvent("on-tree-node-toggle",{detail:{message:{node:e,id:e.id,label:e.label,parentId:e.parentId}}});this.dispatchEvent(e)}onNodeCheck(e){e.checked?e.checked=!1:e.checked=!0,e.indeterminate=!1;e=new CustomEvent("on-tree-node-check",{detail:{message:{node:e,id:e.id}}});this.dispatchEvent(e)}render(){var e=this.isSelected?"selected":"",t=this.node.icon||"account_box";return html`<div ?active-tree-node="${this.isActiveTreeNode}" aria-expanded="${!!this.node.expanded}" aria-selected="${this.isSelected}" data-id="${this.node.id}" role="treeitem"><div class="wrapper ${e}" style="padding-left:calc(var(--_tree-icon-size) * ${this.level})">${this.removeChevron?nothing:this.getChevron()} ${this.checkboxEnabled?html`<ix-checkbox @click="${()=>this.onNodeCheck(this.node)}" label="" class="item-checkbox" .checked="${this.node.checked}" .indeterminate="${this.node.indeterminate}"></ix-checkbox>`:nothing} ${this.hasIcon?html`<ix-icon class="icon">${t}</ix-icon>`:nothing}<div class="label ${this.allowMultiLine?"label-multi-line":"label-single-line"}" @click="${()=>{this.checkboxEnabled?this.onNodeToggle(this.node):this.onNodeClick(this.node)}}" @keyup="${()=>{this.checkboxEnabled?this.onNodeToggle(this.node):this.onNodeClick(this.node)}}">${this.node.label}</div></div><slot></slot></div>`}updated(){var e;this.scrollToActive&&!this._hasScrolledToActive&&(null!=(e=null==(e=this.shadowRoot)?void 0:e.querySelector("[active-tree-node]"))&&e.scrollIntoView({behavior:"smooth",block:"start"}),this._hasScrolledToActive=!0)}}IxTreeNode.styles=[IxTreeStyles],__decorate([property({type:Boolean})],IxTreeNode.prototype,"isActiveTreeNode",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"isExpanded",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"isSelected",void 0),__decorate([property({type:Number})],IxTreeNode.prototype,"level",void 0),__decorate([property({type:Object})],IxTreeNode.prototype,"node",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"checkboxEnabled",void 0),__decorate([property({type:String})],IxTreeNode.prototype,"appearance",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"hasIcon",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"removeChevron",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"allowMultiLine",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"scrollToActive",void 0),__decorate([state()],IxTreeNode.prototype,"_hasScrolledToActive",void 0),customElements.define("ix-tree-node",IxTreeNode);class IxTree extends LitElement{constructor(){super(...arguments),this.ariaLabel="tree",this.selectedNodeId="",this.checkboxesEnabled=!1,this.appearance="default",this.hasIcons=!1,this.removeChevron=!1,this.allowMultiLine=!1,this._activeItemId="",this._selectedNodeId=""}connectedCallback(){super.connectedCallback(),this._activeItemId=this.selectedNodeId,this._selectedNodeId=this.selectedNodeId,this._rootNode=this.rootNode}onTreeNodeClick(e){this.dispatchEvent(new CustomEvent("on-tree-node-selected",{detail:{message:e.detail.message}})),this._selectedNodeId=e.detail.message.id}dispatchTreeNodeExpandToggle(e){this.dispatchEvent(new CustomEvent("on-tree-node-expand-toggle",{detail:{message:e.detail.message}}))}onTreeNodeToggle(e){var t={...this._rootNode},o=e.detail.message.node;o.expanded=!o.expanded,this.rootNode=t,this._activeItemId=o.id,this.dispatchTreeNodeExpandToggle(e),this.requestUpdate()}onTreeNodeCheck(e){var t=e.detail.message.node;updateNodeCheckedStatus(t,this._rootNode),this._rootNode=structuredClone(this._rootNode),this.rootNode=this._rootNode,this.dispatchEvent(new CustomEvent("on-tree-node-checked",{detail:{message:e.detail.message}}))}renderNodes(e=[],t=0){var o,i=[];for(o of e){var r=html`<ix-tree-node .level="${t}" .node="${o}" .appearance="${this.appearance}" ?isActiveTreeNode="${this._activeItemId===o.id}" ?isExpanded="${!!o.expanded}" ?isSelected="${this._selectedNodeId===o.id}" ?checkboxEnabled="${this.checkboxesEnabled}" ?hasIcon="${this.hasIcons}" ?removeChevron="${this.removeChevron}" ?allowMultiLine="${this.allowMultiLine}" @on-tree-node-click="${this.onTreeNodeClick}" @on-tree-node-toggle="${this.onTreeNodeToggle}" @on-tree-node-check="${this.onTreeNodeCheck}">${o.expanded?this.renderNodes(o.children,t+1):nothing}</ix-tree-node>`;i.push(r)}return i}expandActiveTreeNode(){var t=findChildNodeById(this._rootNode,this._activeItemId)||this._rootNode;let o=0;if(t.parentId){let e=findChildNodeById(this._rootNode,t.parentId);for(;e&&o<1e3&&(e.expanded=!0,e.parentId);)e=findChildNodeById(this._rootNode,e.parentId),o+=1}}render(){return this.expandActiveTreeNode(),html`<div aria-label="${this.ariaLabel}" class="ix-tree-container" role="tree">${this.renderNodes(this._rootNode.children,0)}</div>`}}IxTree.styles=[IxTreeStyles],__decorate([property({type:String})],IxTree.prototype,"ariaLabel",void 0),__decorate([property({type:Object})],IxTree.prototype,"rootNode",void 0),__decorate([property({type:String})],IxTree.prototype,"selectedNodeId",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"checkboxesEnabled",void 0),__decorate([property({type:String})],IxTree.prototype,"appearance",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"hasIcons",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"removeChevron",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"allowMultiLine",void 0),__decorate([state()],IxTree.prototype,"_activeItemId",void 0),__decorate([state()],IxTree.prototype,"_rootNode",void 0),__decorate([state()],IxTree.prototype,"_selectedNodeId",void 0),customElements.define("ix-tree",IxTree);
import{__decorate}from"tslib";import"@digital-realty/ix-icon/ix-icon.js";import"@digital-realty/theme";import{css,LitElement,html,nothing}from"lit";import{property,state}from"lit/decorators.js";import"@digital-realty/ix-icon-button/ix-icon-button.js";import"@digital-realty/ix-checkbox/ix-checkbox.js";function findChildNodeById(e,t){if(e.id===t)return e;if(e.children)for(var o of e.children){o=findChildNodeById(o,t);if(o)return o}return null}function updateNodeCheckedStatus(e,o){!function t(e,o=!1){e.checked=o,e.indeterminate=!1,e.children&&e.children.forEach(e=>{t(e,o)})}(e,e.checked),function e(t){t.parentId&&(t=findChildNodeById(o,t.parentId))&&t.children&&(t.children.every(e=>e.checked)?(t.checked=!0,t.indeterminate=!1):t.children.some(e=>e.checked)||t.children.some(e=>e.indeterminate)?(t.checked=!1,t.indeterminate=!0):(t.checked=!1,t.indeterminate=!1),e(t))}(e)}let IxTreeStyles=css`:host,:host :root,:root{--_tree-icon-size:var(--ix-tree-icon-size, 2.4rem);--_tree-icon-spacing:var(--ix-tree-icon-spacing, 0.7rem);--md-icon-button-icon-color:#092241b2}.wrapper{align-items:center;cursor:pointer;display:flex;border-left:3px solid transparent}.icon{display:flex;color:var(--ix-outline-color,var(--ix-tree-icon-color) #6b7a8d);margin-right:var(--_tree-icon-spacing,--ix-tree-icon-spacing);font-size:var(--ix-tree-icon-size,1.2rem)}.label{color:var(--ix-text-color,var(--ix-label-text-color,#092241));flex-grow:1;padding-top:8px;padding-bottom:8px}.label-single-line{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.label-multi-line{overflow-wrap:break-word}.item-checkbox{display:flex;margin-right:var(--_tree-icon-spacing,--ix-tree-checkbox-spacing)}.selected{background-color:var(--ix-tree-active-background-color,rgba(20,86,224,.1));border-left:3px solid var(--ix-tree-active-border-color,var(--md-sys-color-primary))}`;class IxTreeNode extends LitElement{constructor(){super(...arguments),this.isActiveTreeNode=!1,this.isExpanded=!1,this.isSelected=!1,this.level=0,this.checkboxEnabled=!1,this.appearance="default",this.hasIcon=!1,this.removeChevron=!1,this.allowMultiLine=!1,this._hasScrolledToActive=!1}hasChildren(){return void 0!==this.node.children&&0<this.node.children.length}getChevron(){var e=this.isExpanded?"arrow_drop_down":"arrow_right";return html`<div style="${this.hasChildren()?"":"visibility:hidden"}"><ix-icon-button @click="${()=>this.onNodeToggle(this.node)}" icon="${e}" class="chevron" test-id="tree-node-expand-toggle"></ix-icon-button></div>`}onNodeClick(e){e=new CustomEvent("on-tree-node-click",{detail:{message:{node:e,id:e.id,label:e.label,parentId:e.parentId}}});this.dispatchEvent(e)}onNodeToggle(e){e=new CustomEvent("on-tree-node-toggle",{detail:{message:{node:e,id:e.id,label:e.label,parentId:e.parentId}}});this.dispatchEvent(e)}onNodeCheck(e){e.checked?e.checked=!1:e.checked=!0,e.indeterminate=!1;e=new CustomEvent("on-tree-node-check",{detail:{message:{node:e,id:e.id}}});this.dispatchEvent(e)}render(){var e=this.isSelected?"selected":"",t=this.node.icon||"account_box";return html`<div ?active-tree-node="${this.isActiveTreeNode}" aria-expanded="${!!this.node.expanded}" aria-selected="${this.isSelected}" data-id="${this.node.id}" role="treeitem"><div class="wrapper ${e}" style="padding-left:calc(var(--_tree-icon-size) * ${this.level})">${this.removeChevron?nothing:this.getChevron()} ${this.checkboxEnabled?html`<ix-checkbox @click="${()=>this.onNodeCheck(this.node)}" label="" class="item-checkbox" .checked="${this.node.checked}" .indeterminate="${this.node.indeterminate}"></ix-checkbox>`:nothing} ${this.hasIcon?html`<ix-icon class="icon">${t}</ix-icon>`:nothing}<div class="label ${this.allowMultiLine?"label-multi-line":"label-single-line"}" @click="${()=>{this.checkboxEnabled?this.onNodeToggle(this.node):this.onNodeClick(this.node)}}" @keyup="${()=>{this.checkboxEnabled?this.onNodeToggle(this.node):this.onNodeClick(this.node)}}">${this.node.label}</div></div><slot></slot></div>`}updated(){var e;this._hasScrolledToActive||(null!=(e=null==(e=this.shadowRoot)?void 0:e.querySelector("[active-tree-node]"))&&e.scrollIntoView({behavior:"smooth",block:"start"}),this._hasScrolledToActive=!0)}}IxTreeNode.styles=[IxTreeStyles],__decorate([property({type:Boolean})],IxTreeNode.prototype,"isActiveTreeNode",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"isExpanded",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"isSelected",void 0),__decorate([property({type:Number})],IxTreeNode.prototype,"level",void 0),__decorate([property({type:Object})],IxTreeNode.prototype,"node",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"checkboxEnabled",void 0),__decorate([property({type:String})],IxTreeNode.prototype,"appearance",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"hasIcon",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"removeChevron",void 0),__decorate([property({type:Boolean})],IxTreeNode.prototype,"allowMultiLine",void 0),__decorate([state()],IxTreeNode.prototype,"_hasScrolledToActive",void 0),customElements.define("ix-tree-node",IxTreeNode);class IxTree extends LitElement{constructor(){super(...arguments),this.ariaLabel="tree",this.selectedNodeId="",this.checkboxesEnabled=!1,this.appearance="default",this.hasIcons=!1,this.removeChevron=!1,this.allowMultiLine=!1,this._activeItemId="",this._selectedNodeId=""}connectedCallback(){super.connectedCallback(),this._activeItemId=this.selectedNodeId,this._selectedNodeId=this.selectedNodeId,this._rootNode=this.rootNode}onTreeNodeClick(e){this.dispatchEvent(new CustomEvent("on-tree-node-selected",{detail:{message:e.detail.message}})),this._selectedNodeId=e.detail.message.id}dispatchTreeNodeExpandToggle(e){this.dispatchEvent(new CustomEvent("on-tree-node-expand-toggle",{detail:{message:e.detail.message}}))}onTreeNodeToggle(e){var t={...this._rootNode},o=e.detail.message.node;o.expanded=!o.expanded,this.rootNode=t,this._activeItemId=o.id,this.dispatchTreeNodeExpandToggle(e),this.requestUpdate()}onTreeNodeCheck(e){var t=e.detail.message.node;updateNodeCheckedStatus(t,this._rootNode),this._rootNode=structuredClone(this._rootNode),this.rootNode=this._rootNode,this.dispatchEvent(new CustomEvent("on-tree-node-checked",{detail:{message:e.detail.message}}))}renderNodes(e=[],t=0){var o,i=[];for(o of e){var d=html`<ix-tree-node .level="${t}" .node="${o}" .appearance="${this.appearance}" ?isActiveTreeNode="${this._activeItemId===o.id}" ?isExpanded="${!!o.expanded}" ?isSelected="${this._selectedNodeId===o.id}" ?checkboxEnabled="${this.checkboxesEnabled}" ?hasIcon="${this.hasIcons}" ?removeChevron="${this.removeChevron}" ?allowMultiLine="${this.allowMultiLine}" @on-tree-node-click="${this.onTreeNodeClick}" @on-tree-node-toggle="${this.onTreeNodeToggle}" @on-tree-node-check="${this.onTreeNodeCheck}">${o.expanded?this.renderNodes(o.children,t+1):nothing}</ix-tree-node>`;i.push(d)}return i}expandActiveTreeNode(){var t=findChildNodeById(this._rootNode,this._activeItemId)||this._rootNode;let o=0;if(t.parentId){let e=findChildNodeById(this._rootNode,t.parentId);for(;e&&o<1e3&&(e.expanded=!0,e.parentId);)e=findChildNodeById(this._rootNode,e.parentId),o+=1}}render(){return this.expandActiveTreeNode(),html`<div aria-label="${this.ariaLabel}" class="ix-tree-container" role="tree">${this.renderNodes(this._rootNode.children,0)}</div>`}}IxTree.styles=[IxTreeStyles],__decorate([property({type:String})],IxTree.prototype,"ariaLabel",void 0),__decorate([property({type:Object})],IxTree.prototype,"rootNode",void 0),__decorate([property({type:String})],IxTree.prototype,"selectedNodeId",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"checkboxesEnabled",void 0),__decorate([property({type:String})],IxTree.prototype,"appearance",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"hasIcons",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"removeChevron",void 0),__decorate([property({type:Boolean})],IxTree.prototype,"allowMultiLine",void 0),__decorate([state()],IxTree.prototype,"_activeItemId",void 0),__decorate([state()],IxTree.prototype,"_rootNode",void 0),__decorate([state()],IxTree.prototype,"_selectedNodeId",void 0),customElements.define("ix-tree",IxTree);

@@ -19,3 +19,2 @@ import '@digital-realty/ix-icon-button/ix-icon-button.js';

allowMultiLine: boolean;
scrollToActive: boolean;
private _hasScrolledToActive;

@@ -22,0 +21,0 @@ private hasChildren;

@@ -20,3 +20,2 @@ import { __decorate } from "tslib";

this.allowMultiLine = false;
this.scrollToActive = false;
this._hasScrolledToActive = false;

@@ -137,3 +136,3 @@ }

var _a;
if (this.scrollToActive && !this._hasScrolledToActive) {
if (!this._hasScrolledToActive) {
const el = (_a = this.shadowRoot) === null || _a === void 0 ? void 0 : _a.querySelector('[active-tree-node]');

@@ -177,7 +176,4 @@ el === null || el === void 0 ? void 0 : el.scrollIntoView({ behavior: 'smooth', block: 'start' });

__decorate([
property({ type: Boolean })
], IxTreeNode.prototype, "scrollToActive", void 0);
__decorate([
state()
], IxTreeNode.prototype, "_hasScrolledToActive", void 0);
//# sourceMappingURL=IxTreeNode.js.map

@@ -6,3 +6,3 @@ {

"author": "Digital Realty",
"version": "3.1.7-alpha-246443-t51.0",
"version": "3.1.7-alpha-254642-t51.0",
"type": "module",

@@ -31,5 +31,5 @@ "main": "dist/index.js",

"dependencies": {
"@digital-realty/ix-checkbox": "^1.2.3",
"@digital-realty/ix-icon": "^1.1.3",
"@digital-realty/ix-icon-button": "^1.1.3",
"@digital-realty/ix-checkbox": "^1.2.4-alpha-254642-t51.0",
"@digital-realty/ix-icon": "^1.1.4-alpha-254642-t51.0",
"@digital-realty/ix-icon-button": "^1.1.4-alpha-254642-t51.0",
"@digital-realty/theme": "^1.0.30",

@@ -49,3 +49,3 @@ "@lit-labs/react": "^2.1.0",

"@web/test-runner": "^0.14.0",
"concurrently": "^5.3.0",
"concurrently": "^9.1.0",
"eslint": "^8.31.0",

@@ -109,3 +109,3 @@ "eslint-config-prettier": "^8.3.0",

],
"gitHead": "a796f08349c6265d3e2389f3c6ffaad41ddd13d4"
"gitHead": "a01407cef2362949bcef765fb29529462b66582a"
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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