Socket
Socket
Sign inDemoInstall

@syncfusion/ej2-popups

Package Overview
Dependencies
Maintainers
3
Versions
225
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@syncfusion/ej2-popups - npm Package Compare versions

Comparing version 25.2.3 to 25.2.4-21939

hotfix/26.1.35_Vol2.txt

5

.eslintrc.json

@@ -18,3 +18,4 @@ {

"sourceType": "module"
},
},
"ignorePatterns": ["*.d.ts", "*.js"],
"plugins": [

@@ -188,3 +189,3 @@ "@typescript-eslint",

],
"@typescript-eslint/no-explicit-any": "error",
"@typescript-eslint/no-explicit-any": "warn",
"no-cond-assign": [

@@ -191,0 +192,0 @@ "error",

@@ -1,10 +0,1 @@

/*!
* filename: index.d.ts
* version : 25.2.3
* Copyright Syncfusion Inc. 2001 - 2023. All rights reserved.
* Use of this code is subject to the terms of our license.
* A copy of the current license can be obtained at any time by e-mailing
* licensing@syncfusion.com. Any infringement will be prosecuted under
* applicable laws.
*/
import * as _popups from '@syncfusion/ej2-popups';

@@ -11,0 +2,0 @@

192

package.json
{
"_from": "@syncfusion/ej2-popups@*",
"_id": "@syncfusion/ej2-popups@25.1.42",
"_inBundle": false,
"_integrity": "sha512-9837nAHW7oGLpwVF0tsi/bPbX4VLvjufGUGUHyruRhY/8wTtublUaK7qAdw0Ae2eTrcxVwMbhht6/TsM53LcKA==",
"_location": "/@syncfusion/ej2-popups",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@syncfusion/ej2-popups@*",
"name": "@syncfusion/ej2-popups",
"escapedName": "@syncfusion%2fej2-popups",
"scope": "@syncfusion",
"rawSpec": "*",
"saveSpec": null,
"fetchSpec": "*"
},
"_requiredBy": [
"/",
"/@syncfusion/ej2",
"/@syncfusion/ej2-angular-popups",
"/@syncfusion/ej2-calendars",
"/@syncfusion/ej2-diagrams",
"/@syncfusion/ej2-documenteditor",
"/@syncfusion/ej2-dropdowns",
"/@syncfusion/ej2-filemanager",
"/@syncfusion/ej2-gantt",
"/@syncfusion/ej2-grids",
"/@syncfusion/ej2-image-editor",
"/@syncfusion/ej2-inplace-editor",
"/@syncfusion/ej2-inputs",
"/@syncfusion/ej2-kanban",
"/@syncfusion/ej2-lists",
"/@syncfusion/ej2-navigations",
"/@syncfusion/ej2-notifications",
"/@syncfusion/ej2-pdfviewer",
"/@syncfusion/ej2-pivotview",
"/@syncfusion/ej2-react-popups",
"/@syncfusion/ej2-ribbon",
"/@syncfusion/ej2-richtexteditor",
"/@syncfusion/ej2-schedule",
"/@syncfusion/ej2-splitbuttons",
"/@syncfusion/ej2-treegrid",
"/@syncfusion/ej2-vue-popups"
],
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-popups/-/ej2-popups-25.1.42.tgz",
"_shasum": "0f456f4a7c211fc7f2e193dfb553b22ccaff464e",
"_spec": "@syncfusion/ej2-popups@*",
"_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
"author": {
"name": "Syncfusion Inc."
},
"bugs": {
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
},
"bundleDependencies": false,
"dependencies": {
"@syncfusion/ej2-base": "~25.2.3",
"@syncfusion/ej2-buttons": "~25.2.3"
},
"deprecated": false,
"description": "A package of Essential JS 2 popup components such as Dialog and Tooltip that is used to display information or messages in separate pop-ups.",
"devDependencies": {},
"es2015": "./dist/es6/ej2-popups.es5.js",
"homepage": "https://www.syncfusion.com/javascript-ui-controls",
"keywords": [
"ej2",
"syncfusion",
"web-components",
"javascript",
"typescript",
"dialog",
"modal",
"popup",
"alert",
"tooltip",
"hint",
"spinner",
"waiting-popup",
"loading-indicator",
"loader",
"busy-indicator",
"waitingfor-loader"
],
"license": "SEE LICENSE IN license",
"main": "./dist/ej2-popups.umd.min.js",
"module": "./index.js",
"name": "@syncfusion/ej2-popups",
"repository": {
"type": "git",
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
},
"typings": "index.d.ts",
"version": "25.2.3",
"sideEffects": false
}
"_from": "@syncfusion/ej2-popups@*",
"_id": "@syncfusion/ej2-popups@25.2.3",
"_inBundle": false,
"_integrity": "sha512-yJwKkN9TnRXMtW3zzziSPC7qZftaU8BBHQfwk+A/ajo2ujr3NCtSH5Ad/lJbI2A9ykhyT9G4LQuNsQAF00o3Fg==",
"_location": "/@syncfusion/ej2-popups",
"_phantomChildren": {},
"_requested": {
"type": "range",
"registry": true,
"raw": "@syncfusion/ej2-popups@*",
"name": "@syncfusion/ej2-popups",
"escapedName": "@syncfusion%2fej2-popups",
"scope": "@syncfusion",
"rawSpec": "*",
"saveSpec": null,
"fetchSpec": "*"
},
"_requiredBy": [
"/",
"/@syncfusion/ej2",
"/@syncfusion/ej2-angular-popups",
"/@syncfusion/ej2-calendars",
"/@syncfusion/ej2-diagrams",
"/@syncfusion/ej2-documenteditor",
"/@syncfusion/ej2-dropdowns",
"/@syncfusion/ej2-filemanager",
"/@syncfusion/ej2-gantt",
"/@syncfusion/ej2-grids",
"/@syncfusion/ej2-image-editor",
"/@syncfusion/ej2-inplace-editor",
"/@syncfusion/ej2-inputs",
"/@syncfusion/ej2-kanban",
"/@syncfusion/ej2-lists",
"/@syncfusion/ej2-navigations",
"/@syncfusion/ej2-notifications",
"/@syncfusion/ej2-pdfviewer",
"/@syncfusion/ej2-pivotview",
"/@syncfusion/ej2-react-popups",
"/@syncfusion/ej2-ribbon",
"/@syncfusion/ej2-richtexteditor",
"/@syncfusion/ej2-schedule",
"/@syncfusion/ej2-splitbuttons",
"/@syncfusion/ej2-treegrid",
"/@syncfusion/ej2-vue-popups"
],
"_resolved": "https://nexus.syncfusioninternal.com/repository/ej2-hotfix-new/@syncfusion/ej2-popups/-/ej2-popups-25.2.3.tgz",
"_shasum": "04ac11e4d463c51cdc0667ecf7a2acc01d55b231",
"_spec": "@syncfusion/ej2-popups@*",
"_where": "/jenkins/workspace/elease-automation_release_25.1.1/packages/included",
"author": {
"name": "Syncfusion Inc."
},
"bugs": {
"url": "https://github.com/syncfusion/ej2-javascript-ui-controls/issues"
},
"bundleDependencies": false,
"dependencies": {
"@syncfusion/ej2-base": "~25.2.3",
"@syncfusion/ej2-buttons": "~25.2.4"
},
"deprecated": false,
"description": "A package of Essential JS 2 popup components such as Dialog and Tooltip that is used to display information or messages in separate pop-ups.",
"devDependencies": {},
"es2015": "./dist/es6/ej2-popups.es5.js",
"homepage": "https://www.syncfusion.com/javascript-ui-controls",
"keywords": [
"ej2",
"syncfusion",
"web-components",
"javascript",
"typescript",
"dialog",
"modal",
"popup",
"alert",
"tooltip",
"hint",
"spinner",
"waiting-popup",
"loading-indicator",
"loader",
"busy-indicator",
"waitingfor-loader"
],
"license": "SEE LICENSE IN license",
"main": "./dist/ej2-popups.umd.min.js",
"module": "./index.js",
"name": "@syncfusion/ej2-popups",
"repository": {
"type": "git",
"url": "git+https://github.com/syncfusion/ej2-javascript-ui-controls.git"
},
"typings": "index.d.ts",
"version": "25.2.4-21939",
"sideEffects": false
}

@@ -91,2 +91,2 @@ # ej2-popups

© Copyright 2024 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.
© Copyright 2019 Syncfusion, Inc. All Rights Reserved. The Syncfusion Essential Studio license and copyright applies to this distribution.

@@ -44,2 +44,5 @@ /**

export declare function flip(element: HTMLElement, target: HTMLElement, offsetX: number, offsetY: number, positionX: string, positionY: string, viewPortElement?: HTMLElement, axis?: CollisionCoordinates, fixedParent?: boolean): void;
/**
* @returns {void}
*/
export declare function destroy(): void;

@@ -103,4 +103,2 @@ /**

var bottom = elemOffset.top + elementRect.height;
// eslint-disable-next-line
var topData = '', leftData = '';
var yAxis = topCollideCheck(top, bottom);

@@ -189,4 +187,4 @@ var xAxis = leftCollideCheck(left, right);

function setPopup(element, pos, elementRect) {
//eslint-disable-next-line
var left = 0, top = 0;
var left = 0;
var top = 0;
if (element.offsetParent != null

@@ -398,3 +396,3 @@ && (getComputedStyle(element.offsetParent).position === 'absolute' ||

/**
* @returns {void}
* @returns {number} - returns the scroll top value
*/

@@ -407,3 +405,3 @@ function getBodyScrollTop() {

/**
* @returns {void}
* @returns {number} - returns the scroll left value
*/

@@ -416,3 +414,3 @@ function getBodyScrollLeft() {

/**
* @returns {void}
* @returns {number} - returns the viewport height
*/

@@ -423,3 +421,3 @@ function getViewPortHeight() {

/**
* @returns {void}
* @returns {number} - returns the viewport width
*/

@@ -432,2 +430,5 @@ function getViewPortWidth() {

}
/**
* @returns {void}
*/
export function destroy() {

@@ -434,0 +435,0 @@ targetContainer = null;

@@ -175,3 +175,3 @@ /**

function getElementRight() {
var popupWidth = (element && (element.classList.contains('e-date-wrapper') || element.classList.contains('e-datetime-wrapper') || element.classList.contains('e-date-range-wrapper') || element.classList.contains('e-multiselect'))) ? (popupRect ? popupRect.width : 0) :
var popupWidth = (element && (element.classList.contains('e-date-wrapper') || element.classList.contains('e-datetime-wrapper') || (element.classList.contains('e-ddl') && element.classList.contains('e-rtl')) || element.classList.contains('e-date-range-wrapper'))) ? (popupRect ? popupRect.width : 0) :
(popupRect && (elementRect.width >= popupRect.width) ? popupRect.width : 0);

@@ -178,0 +178,0 @@ return elementRect.right + getBodyScrollLeft() - popupWidth;

@@ -5,3 +5,2 @@ /**

import { isNullOrUndefined as isNOU, createElement, EventHandler, detach, Browser } from '@syncfusion/ej2-base';
/* eslint-disable */
var elementClass = ['north-west', 'north', 'north-east', 'west', 'east', 'south-west', 'south', 'south-east'];

@@ -30,3 +29,2 @@ var RESIZE_HANDLER = 'e-resize-handle';

var resizeEnd = null;
/* eslint-enable */
var resizeWestWidth;

@@ -126,13 +124,10 @@ var setLeft = true;

}
// eslint-disable-next-line
function wireEvents(args) {
if (isNOU(args)) {
args = this;
}
var context = args || this;
var resizers = targetElement.querySelectorAll('.' + RESIZE_HANDLER);
for (var i = 0; i < resizers.length; i++) {
selectedHandler = resizers[i];
EventHandler.add(selectedHandler, 'mousedown', onMouseDown, args);
EventHandler.add(selectedHandler, 'mousedown', onMouseDown, context);
var eventName = (Browser.info.name === 'msie') ? 'pointerdown' : 'touchstart';
EventHandler.add(selectedHandler, eventName, onTouchStart, args);
EventHandler.add(selectedHandler, eventName, onTouchStart, context);
}

@@ -143,5 +138,5 @@ var borderResizers = targetElement.querySelectorAll('.e-dialog-border-resize');

selectedHandler = borderResizers[i];
EventHandler.add(selectedHandler, 'mousedown', onMouseDown, args);
EventHandler.add(selectedHandler, 'mousedown', onMouseDown, context);
var eventName = (Browser.info.name === 'msie') ? 'pointerdown' : 'touchstart';
EventHandler.add(selectedHandler, eventName, onTouchStart, args);
EventHandler.add(selectedHandler, eventName, onTouchStart, context);
}

@@ -173,4 +168,4 @@ }

if (!isNOU(resizeStart)) {
proxy = this;
if (resizeStart(e, proxy) === true) {
var proxy_1 = null || this;
if (resizeStart(e, proxy_1) === true) {
return;

@@ -214,4 +209,4 @@ }

if (!isNOU(resizeEnd)) {
proxy = this;
resizeEnd(e, proxy);
var proxy_2 = null || this;
resizeEnd(e, proxy_2);
}

@@ -248,4 +243,4 @@ EventHandler.remove(document, 'mouseup', onMouseUp);

if (!isNOU(resizeStart)) {
proxy = this;
if (resizeStart(e, proxy) === true) {
var proxy_3 = null || this;
if (resizeStart(e, proxy_3) === true) {
return;

@@ -281,4 +276,4 @@ }

if (!isNOU(resize)) {
proxy = this;
resize(e, proxy);
var proxy_4 = null || this;
resize(e, proxy_4);
}

@@ -327,4 +322,6 @@ switch (resizeTowards) {

}
/* istanbul ignore next */
// eslint-disable-next-line
/**
* @param {MouseEvent | TouchEvent} e - specifies the event
* @returns {void}
*/
function resizeSouth(e) {

@@ -381,4 +378,8 @@ var documentHeight = document.documentElement.clientHeight;

}
/* istanbul ignore next */
// eslint-disable-next-line
/**
* Resizes the element towards the north direction.
*
* @param {MouseEvent | TouchEvent} e - The event object.
* @returns {void}
*/
function resizeNorth(e) {

@@ -412,4 +413,8 @@ var calculateValue = false;

}
/* istanbul ignore next */
// eslint-disable-next-line
/**
* Resizes the element towards the west direction.
*
* @param {MouseEvent | TouchEvent} e - The event object.
* @returns {void}
*/
function resizeWest(e) {

@@ -474,4 +479,8 @@ var documentWidth = document.documentElement.clientWidth;

}
/* istanbul ignore next */
// eslint-disable-next-line
/**
* Resizes the element towards the east direction.
*
* @param {MouseEvent | TouchEvent} e - The event object.
* @returns {void}
*/
function resizeEast(e) {

@@ -478,0 +487,0 @@ var documentWidth = document.documentElement.clientWidth;

@@ -148,3 +148,3 @@ import { Component, EmitType } from '@syncfusion/ej2-base';

* @blazorType string
* @deprecated
*/

@@ -178,3 +178,3 @@ target?: HTMLElement | string;

* @blazorType string
* @deprecated
*/

@@ -350,3 +350,2 @@ target?: HTMLElement | string;

private dialogOpen;
private isVue;
private initialRender;

@@ -363,2 +362,3 @@ private innerContentElement;

private preventVisibility;
private IsDragStop;
private refElement;

@@ -782,2 +782,4 @@ private dlgClosedBy;

private unWireEvents;
private unWireButtonEvents;
private destroyButtons;
/**

@@ -814,3 +816,4 @@ * Refreshes the dialog's position when the user changes its header and footer height/width dynamically.

*
* @returns {void}
* @param {boolean} args - specifies the arguments
* @returns {boolean} - returns the boolean value
* @private

@@ -817,0 +820,0 @@ */

@@ -254,2 +254,4 @@ import { ChildProperty } from '@syncfusion/ej2-base';

*
* @param {HTMLElement} target - The target element.
* @param {boolean} collision - Specifies whether to check for collision.
* @returns {void}

@@ -256,0 +258,0 @@ */

@@ -98,12 +98,12 @@ var __extends = (this && this.__extends) || (function () {

break;
case 'offsetX':
// eslint-disable-next-line
case 'offsetX': {
var x = newProp.offsetX - oldProp.offsetX;
this.element.style.left = (parseInt(this.element.style.left, 10) + (x)).toString() + 'px';
break;
case 'offsetY':
// eslint-disable-next-line
}
case 'offsetY': {
var y = newProp.offsetY - oldProp.offsetY;
this.element.style.top = (parseInt(this.element.style.top, 10) + (y)).toString() + 'px';
break;
}
case 'content':

@@ -321,4 +321,8 @@ this.setContent();

this.reposition();
// eslint-disable-next-line
this.enableRtl ? this.element.classList.add(CLASSNAMES.RTL) : this.element.classList.remove(CLASSNAMES.RTL);
if (this.enableRtl) {
this.element.classList.add(CLASSNAMES.RTL);
}
else {
this.element.classList.remove(CLASSNAMES.RTL);
}
};

@@ -347,6 +351,7 @@ Popup.prototype.setContent = function () {

};
// eslint-disable-next-line
/**
* Based on the `relative` element and `offset` values, `Popup` element position will refreshed.
*
* @param {HTMLElement} target - The target element.
* @param {boolean} collision - Specifies whether to check for collision.
* @returns {void}

@@ -454,3 +459,11 @@ */

else if (this.targetType === 'container') {
anchorPos.left += (anchorRect.width - eleRect.width);
var scaleX = 1;
if (ele.offsetParent) {
var transformStyle = getComputedStyle(ele.offsetParent).transform;
if (transformStyle !== 'none') {
var matrix = new DOMMatrix(transformStyle);
scaleX = matrix.a;
}
}
anchorPos.left += ((anchorRect.width - eleRect.width) / scaleX);
}

@@ -457,0 +470,0 @@ else {

@@ -11,18 +11,18 @@ export declare type createElementParams = (tag: string, prop?: {

/**
* Defines the type of spinner.
*/
export declare type SpinnerType = 'Material' | 'Material3' | 'Fabric' | 'Bootstrap' | 'HighContrast' | 'Bootstrap4' | 'Tailwind' | 'Bootstrap5' | 'Fluent';
* Defines the type of spinner.
*/
export declare type SpinnerType = 'Material' | 'Material3' | 'Fabric' | 'Bootstrap' | 'HighContrast' | 'Bootstrap4' | 'Tailwind' | 'Bootstrap5' | 'Fluent' | 'Fluent2';
/**
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
* ```
*
* @param {string} action - specifies the string
* @param {CreateArgs} options - specifies the args
* @param {string} target - specifies the target
* @param {string} type - specifes the type
* @returns {void}
* @private
*/
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
* ```
*
* @param {string} action - specifies the string
* @param {CreateArgs} options - specifies the args
* @param {string} target - specifies the target
* @param {string} type - specifes the type
* @returns {void}
* @private
*/
export declare function Spinner(action: string, options: CreateArgs, target: string, type: string): void;

@@ -58,12 +58,12 @@ /**

/**
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : setSpinner({ cssClass: 'custom-css'; type: 'Material' });
* ```
*
* @param {SetSpinnerArgs} args - specifies the args
* @param {createElementParams} internalCreateElement - specifies the element params
* @returns {void}
* @private
*/
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : setSpinner({ cssClass: 'custom-css'; type: 'Material' });
* ```
*
* @param {SetSpinnerArgs} args - specifies the args
* @param {createElementParams} internalCreateElement - specifies the element params
* @returns {void}
* @private
*/
export declare function setSpinner(args: SetSpinnerArgs, internalCreateElement?: createElementParams): void;

@@ -70,0 +70,0 @@ /**

@@ -7,2 +7,3 @@ import { isNullOrUndefined, classList, createElement, Browser } from '@syncfusion/ej2-base';

var DEFT_FLUENT_WIDTH = 30;
var DEFT_FLUENT2_WIDTH = 30;
var DEFT_BOOT_WIDTH = 30;

@@ -17,2 +18,3 @@ var DEFT_BOOT4_WIDTH = 36;

var CLS_FLUENTSPIN = 'e-spin-fluent';
var CLS_FLUENT2SPIN = 'e-spin-fluent2';
var CLS_TAILWINDSPIN = 'e-spin-tailwind';

@@ -31,16 +33,15 @@ var CLS_BOOTSPIN = 'e-spin-bootstrap';

var spinCSSClass = null;
// eslint-disable-next-line
/**
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
* ```
*
* @param {string} action - specifies the string
* @param {CreateArgs} options - specifies the args
* @param {string} target - specifies the target
* @param {string} type - specifes the type
* @returns {void}
* @private
*/
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : blazorSpinner({ action: "Create", options: {target: targetElement}, type: "" });
* ```
*
* @param {string} action - specifies the string
* @param {CreateArgs} options - specifies the args
* @param {string} target - specifies the target
* @param {string} type - specifes the type
* @returns {void}
* @private
*/
export function Spinner(action, options, target, type) {

@@ -51,4 +52,6 @@ switch (action) {

var element = document.querySelector(options.target);
var args = { type: type, target: element, cssClass: options.cssClass,
label: options.label, width: options.width };
var args = {
type: type, target: element, cssClass: options.cssClass,
label: options.label, width: options.width
};
/* eslint-enable */

@@ -63,7 +66,7 @@ createSpinner(args);

break;
case 'Set':
// eslint-disable-next-line
case 'Set': {
var setArgs = { cssClass: options.cssClass, type: type };
setSpinner(setArgs);
break;
}
}

@@ -190,3 +193,2 @@ }

globalObject["" + uniqueID] = globalVariables(uniqueID, radius, 0, 0);
// eslint-disable-next-line
var spinnerInfo = { uniqueID: uniqueID, container: container, globalInfo: globalObject, timeOutVar: timeOutVar };

@@ -215,3 +217,3 @@ animateMaterial(spinnerInfo);

*/
function createFluentSinner(container, radius, makeElement) {
function createFluentSpinner(container, radius, makeElement) {
var uniqueID = random_generator();

@@ -229,2 +231,15 @@ globalTimeOut["" + uniqueID] = { timeOut: 0, type: 'Fluent', radius: radius };

*/
function createFluent2Spinner(container, radius, makeElement) {
var uniqueID = random_generator();
globalTimeOut["" + uniqueID] = { timeOut: 0, type: 'Fluent2', radius: radius };
create_fabric_element(container, uniqueID, CLS_FLUENT2SPIN, makeElement);
fb_calculate_attributes(radius, container, CLS_FLUENT2SPIN);
}
/**
*
* @param {HTMLElement} container - specifies the element
* @param {number} radius - specifies the radius
* @param {createElementParams} makeElement - specifies the element
* @returns {void}
*/
function createTailwindSpinner(container, radius, makeElement) {

@@ -283,4 +298,7 @@ var uniqueID = random_generator();

case 'Fluent':
createFluentSinner(innerContainer, radius, makeElement);
createFluentSpinner(innerContainer, radius, makeElement);
break;
case 'Fluent2':
createFluent2Spinner(innerContainer, radius, makeElement);
break;
case 'Bootstrap':

@@ -375,4 +393,4 @@ createBootstrapSpinner(innerContainer, radius, makeElement);

var end = stop;
// eslint-disable-next-line
var increment = false, count = 1;
var increment = false;
var count = 1;
formSeries(start);

@@ -488,2 +506,5 @@ /**

break;
case 'Fluent2':
defaultSize = DEFT_FLUENT2_WIDTH;
break;
case 'Bootstrap4':

@@ -638,6 +659,8 @@ defaultSize = DEFT_BOOT4_WIDTH;

var svg = void 0;
if (!isNullOrUndefined(container.querySelector('svg.e-spin-material')) && !isNullOrUndefined(container.querySelector('svg.e-spin-material').querySelector('path.e-path-circle'))) {
if (!isNullOrUndefined(container.querySelector('svg.e-spin-material')) &&
!isNullOrUndefined(container.querySelector('svg.e-spin-material').querySelector('path.e-path-circle'))) {
svg = container.querySelector('svg.e-spin-material');
}
else if (!isNullOrUndefined(container.querySelector('svg.e-spin-material3')) && !isNullOrUndefined(container.querySelector('svg.e-spin-material3').querySelector('path.e-path-circle'))) {
else if (!isNullOrUndefined(container.querySelector('svg.e-spin-material3')) &&
!isNullOrUndefined(container.querySelector('svg.e-spin-material3').querySelector('path.e-path-circle'))) {
svg = container.querySelector('svg.e-spin-material3');

@@ -672,3 +695,3 @@ }

path.setAttribute('d', drawArc(diameter, strokeSize));
if (type === 'Material' || type === 'Material3') {
if (type === 'Material' || type === 'Material3' || type === 'Fluent2') {
path.setAttribute('stroke-width', strokeSize + '');

@@ -744,4 +767,4 @@ path.setAttribute('stroke-dasharray', ((diameter - strokeSize) * Math.PI * 0.75) + '');

var diameter = radius * 2;
// eslint-disable-next-line
var startArc = 315, endArc = 45;
var startArc = 315;
var endArc = 45;
var svg = innerConainer.querySelector('.' + trgClass);

@@ -833,5 +856,3 @@ var circle = svg.querySelector('.e-path-circle');

for (var i = 0; i < spinWrapCollection.length; i++) {
// eslint-disable-next-line
if (spinWrapCollection[i].parentElement && spinWrapCollection[i].parentElement === container) {
// eslint-disable-next-line
spinnerWrap = spinWrapCollection[i];

@@ -849,5 +870,4 @@ break;

var inner = spinnerWrap.querySelector('.' + CLS_SPININWRAP);
var spinCheck = void 0;
// eslint-disable-next-line
spinCheck = isHide ? !spinnerWrap.classList.contains(CLS_SPINTEMPLATE) && !spinnerWrap.classList.contains(CLS_HIDESPIN) :
var spinCheck = isHide ? !spinnerWrap.classList.contains(CLS_SPINTEMPLATE) &&
!spinnerWrap.classList.contains(CLS_HIDESPIN) :
!spinnerWrap.classList.contains(CLS_SPINTEMPLATE) && !spinnerWrap.classList.contains(CLS_SHOWSPIN);

@@ -864,13 +884,25 @@ if (spinCheck) {

case 'Material3':
// eslint-disable-next-line
isHide ? clearTimeout(globalTimeOut[id].timeOut) : startMatAnimate(inner, id, globalTimeOut[id].radius);
if (isHide) {
clearTimeout(globalTimeOut[id].timeOut);
}
else {
startMatAnimate(inner, id, globalTimeOut[id].radius);
}
break;
case 'Bootstrap':
// eslint-disable-next-line
isHide ? clearTimeout(globalTimeOut[id].timeOut) : animateBootstrap(inner);
if (isHide) {
clearTimeout(globalTimeOut[id].timeOut);
}
else {
animateBootstrap(inner);
}
break;
}
}
// eslint-disable-next-line
isHide ? classList(spinnerWrap, [CLS_HIDESPIN], [CLS_SHOWSPIN]) : classList(spinnerWrap, [CLS_SHOWSPIN], [CLS_HIDESPIN]);
if (isHide) {
classList(spinnerWrap, [CLS_HIDESPIN], [CLS_SHOWSPIN]);
}
else {
classList(spinnerWrap, [CLS_SHOWSPIN], [CLS_HIDESPIN]);
}
container = null;

@@ -890,14 +922,13 @@ }

}
// eslint-disable-next-line
/**
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : setSpinner({ cssClass: 'custom-css'; type: 'Material' });
* ```
*
* @param {SetSpinnerArgs} args - specifies the args
* @param {createElementParams} internalCreateElement - specifies the element params
* @returns {void}
* @private
*/
* Function to change the Spinners in a page globally from application end.
* ```
* E.g : setSpinner({ cssClass: 'custom-css'; type: 'Material' });
* ```
*
* @param {SetSpinnerArgs} args - specifies the args
* @param {createElementParams} internalCreateElement - specifies the element params
* @returns {void}
* @private
*/
export function setSpinner(args, internalCreateElement) {

@@ -904,0 +935,0 @@ var makeElement = !isNullOrUndefined(internalCreateElement) ? internalCreateElement : createElement;

@@ -133,3 +133,3 @@ import { Component, Property, ChildProperty, Event, BaseEventArgs, append, compile } from '@syncfusion/ej2-base';import { EventHandler, EmitType, Touch, TapEventArgs, Browser, Animation as PopupAnimation, animationMode } from '@syncfusion/ej2-base';import { isNullOrUndefined, getUniqueID, formatUnit, select, selectAll } from '@syncfusion/ej2-base';import { attributes, closest, removeClass, addClass, remove } from '@syncfusion/ej2-base';import { NotifyPropertyChanges, INotifyPropertyChanged, Complex, SanitizeHtmlHelper } from '@syncfusion/ej2-base';import { Popup } from '../popup/popup';import { OffsetPosition, calculatePosition } from '../common/position';import { isCollide, fit, destroy as collisionDestroy } from '../common/collision';

* to know more about this property with demo.
*
*
* {% codeBlock src="tooltip/tippointerposition/index.md" %}{% endcodeBlock %}

@@ -145,3 +145,3 @@ *

* If it is in touch device, it will show the Tooltip content when tap and holding on the target element.
*
*
* {% codeBlock src="tooltip/openson/index.md" %}{% endcodeBlock %}

@@ -158,3 +158,3 @@ * {% codeBlock src="tooltip/opensOn-api/index.ts" %}{% endcodeBlock %}

* to know more about this property with demo.
*
*
* {% codeBlock src="tooltip/mousetrail/index.md" %}{% endcodeBlock %}

@@ -171,3 +171,3 @@ * {% codeBlock src="tooltip/offsetX-api/index.ts" %}{% endcodeBlock %}

* to know more about this property with demo.
*
*
* {% codeBlock src="tooltip/issticky/index.md" %}{% endcodeBlock %}

@@ -183,3 +183,3 @@ *

* to know more about this property with demo.
*
*
* {% codeBlock src="tooltip/animation/index.md" %}{% endcodeBlock %}

@@ -225,3 +225,3 @@ * {% codeBlock src="tooltip/animation-api/index.ts" %}{% endcodeBlock %}

* accepts n number of attributes in a key-value pair format.
*
*
* {% codeBlock src='tooltip/htmlAttributes/index.md' %}{% endcodeBlock %}

@@ -242,3 +242,3 @@ *

*
* @event
* @event beforeRender
*/

@@ -252,6 +252,6 @@ beforeRender?: EmitType<TooltipEventArgs>;

* set customized styles in it and so on.
*
*
* {% codeBlock src="tooltip/beforeOpen/index.md" %}{% endcodeBlock %}
*
* @event
* @event beforeOpen
*/

@@ -262,6 +262,6 @@ beforeOpen?: EmitType<TooltipEventArgs>;

* We can trigger `afterOpen` event after the Tooltip Component gets opened.
*
*
* {% codeBlock src="tooltip/afterOpen/index.md" %}{% endcodeBlock %}
*
* @event
* @event afterOpen
*/

@@ -272,6 +272,6 @@ afterOpen?: EmitType<TooltipEventArgs>;

* We can trigger `beforeClose` event before the Tooltip hides from the screen. If returned false, then the Tooltip is no more hidden.
*
*
* {% codeBlock src="tooltip/beforeClose/index.md" %}{% endcodeBlock %}
*
* @event
* @event beforeClose
*/

@@ -282,6 +282,6 @@ beforeClose?: EmitType<TooltipEventArgs>;

* We can trigger `afterClose` event when the Tooltip Component gets closed.
*
*
* {% codeBlock src="tooltip/afterClose/index.md" %}{% endcodeBlock %}
*
* @event
* @event afterClose
*/

@@ -292,6 +292,6 @@ afterClose?: EmitType<TooltipEventArgs>;

* We can trigger `beforeCollision` event for every collision fit calculation.
*
*
* {% codeBlock src="tooltip/beforeCollision/index.md" %}{% endcodeBlock %}
*
* @event
* @event beforeCollision
*/

@@ -303,3 +303,3 @@ beforeCollision?: EmitType<TooltipEventArgs>;

*
* @event
* @event created
*/

@@ -311,3 +311,3 @@ created?: EmitType<Object>;

*
* @event
* @event destroyed
*/

@@ -314,0 +314,0 @@ destroyed?: EmitType<Object>;

@@ -348,3 +348,3 @@ import { Component, ChildProperty, BaseEventArgs } from '@syncfusion/ej2-base';

*
* @event
* @event beforeRender
*/

@@ -360,3 +360,3 @@ beforeRender: EmitType<TooltipEventArgs>;

*
* @event
* @event beforeOpen
*/

@@ -369,3 +369,3 @@ beforeOpen: EmitType<TooltipEventArgs>;

*
* @event
* @event afterOpen
*/

@@ -378,3 +378,3 @@ afterOpen: EmitType<TooltipEventArgs>;

*
* @event
* @event beforeClose
*/

@@ -387,3 +387,3 @@ beforeClose: EmitType<TooltipEventArgs>;

*
* @event
* @event afterClose
*/

@@ -396,3 +396,3 @@ afterClose: EmitType<TooltipEventArgs>;

*
* @event
* @event beforeCollision
*/

@@ -403,3 +403,3 @@ beforeCollision: EmitType<TooltipEventArgs>;

*
* @event
* @event created
*/

@@ -410,5 +410,9 @@ created: EmitType<Object>;

*
* @event
* @event destroyed
*/
destroyed: EmitType<Object>;
private windowResizeBound;
private keyDownBound;
private touchEndBound;
private scrollWheelBound;
/**

@@ -561,3 +565,5 @@ * Constructor for creating the Tooltip Component

/**
*
* It is used to destroy the Tooltip component.
*
* @method destroy

@@ -564,0 +570,0 @@ * @returns {void}

@@ -82,3 +82,2 @@ var __extends = (this && this.__extends) || (function () {

__extends(Tooltip, _super);
/* eslint-enable */
/**

@@ -105,2 +104,4 @@ * Constructor for creating the Tooltip Component

var _a, _b;
if (!this.position)
return;
if (this.position.indexOf('Top') === 0 || this.position.indexOf('Bottom') === 0) {

@@ -152,6 +153,6 @@ _a = this.position.split(/(?=[A-Z])/), this.tooltipPositionY = _a[0], this.tooltipPositionX = _a[1];

var elementsWithTransform = target.closest('[style*="transform: scale"]');
if (elementsWithTransform && elementsWithTransform != this.tooltipEle && elementsWithTransform.contains(this.tooltipEle)) {
if (elementsWithTransform && elementsWithTransform !== this.tooltipEle && elementsWithTransform.contains(this.tooltipEle)) {
var computedStyle = window.getComputedStyle(elementsWithTransform);
var transformValue = computedStyle.getPropertyValue("transform");
var matrixValues = transformValue.match(/matrix\(([^)]+)\)/)[1].split(",").map(parseFloat);
var transformValue = computedStyle.getPropertyValue('transform');
var matrixValues = transformValue.match(/matrix\(([^)]+)\)/)[1].split(',').map(parseFloat);
scalingFactors.x = matrixValues[0];

@@ -167,2 +168,3 @@ scalingFactors.y = matrixValues[3];

if (!parentWithZoomStyle.contains(this.tooltipEle)) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
this.tooltipEle.style.zoom = getComputedStyle(parentWithZoomStyle).zoom;

@@ -201,8 +203,13 @@ }

Tooltip.prototype.closePopupHandler = function () {
if (this.isReact && !(this.opensOn === 'Click' && typeof (this.content) === 'function')) {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
if (this.isReact && !(this.opensOn === 'Click' || typeof (this.content) === 'function')) {
this.clearTemplate(['content']);
}
this.clear();
this.trigger('afterClose', this.tooltipEventArgs);
this.tooltipEventArgs = null;
var tooltipAfterCloseEventArgs = {
type: this.tooltipEventArgs.event ? this.tooltipEventArgs.event.type : null, cancel: false, target: this.tooltipEventArgs.target, event: this.tooltipEventArgs.event ? this.tooltipEventArgs.event : null,
element: this.tooltipEle, isInteracted: !isNullOrUndefined(this.tooltipEventArgs.event)
};
this.trigger('afterClose', tooltipAfterCloseEventArgs);
tooltipAfterCloseEventArgs = null;
};

@@ -213,5 +220,11 @@ Tooltip.prototype.calculateTooltipOffset = function (position, xScalingFactor, yScalingFactor) {

var pos = { top: 0, left: 0 };
var tipWidth, tipHeight, tooltipEleWidth, tooltipEleHeight, arrowEle;
var tipAdjust, tipHeightAdjust, tipWidthAdjust;
if (xScalingFactor != 1 || yScalingFactor != 1) {
var tipWidth;
var tipHeight;
var tooltipEleWidth;
var tooltipEleHeight;
var arrowEle;
var tipAdjust;
var tipHeightAdjust;
var tipWidthAdjust;
if (xScalingFactor !== 1 || yScalingFactor !== 1) {
var tooltipEleRect = this.tooltipEle.getBoundingClientRect();

@@ -374,2 +387,3 @@ var arrowEleRect = void 0;

Tooltip.prototype.renderContent = function (target) {
var _this = this;
var tooltipContent = select('.' + CONTENT, this.tooltipEle);

@@ -389,5 +403,8 @@ if (this.cssClass) {

else if (typeof this.content === 'string') {
if (this.enableHtmlSanitizer) {
if (this.isAngular) {
this.setProperties({ content: SanitizeHtmlHelper.sanitize(this.content) }, true);
}
else {
this.content = (this.enableHtmlSanitizer) ? SanitizeHtmlHelper.sanitize(this.content) : this.content;
}
if (this.enableHtmlParse) {

@@ -406,5 +423,13 @@ var tempFunction = compile(this.content);

var templateFunction = compile(this.content);
var tempArr = templateFunction({}, this, 'content', this.element.id + 'content', undefined, undefined, tooltipContent);
if (tempArr) {
append(tempArr, tooltipContent);
var tempArr_1 = templateFunction({}, this, 'content', this.element.id + 'content', undefined, undefined, tooltipContent);
if (tempArr_1) {
if (this.isAngular) {
setTimeout(function () {
append(tempArr_1, tooltipContent);
_this.reposition(target);
}, 0);
}
else {
append(tempArr_1, tooltipContent);
}
}

@@ -459,3 +484,3 @@ this.renderReactTemplates();

};
Tooltip.prototype.touchEndHandler = function (e) {
Tooltip.prototype.touchEndHandler = function () {
var _this = this;

@@ -615,3 +640,4 @@ if (this.isSticky) {

};
if (ctrlObj.needTemplateReposition() && !ctrlObj.mouseTrail && (showAnimation.effect == 'None' ||
if (ctrlObj.needTemplateReposition() && !ctrlObj.mouseTrail && (showAnimation.effect === 'None' || showAnimation.effect == 'FadeIn' ||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
(this.isReact && typeof ctrlObj.content != 'string'))) {

@@ -672,2 +698,3 @@ ctrlObj.tooltipEle.style.display = 'none';

return !isNullOrUndefined(tooltip.viewContainerRef)
// eslint-disable-next-line @typescript-eslint/no-explicit-any
&& typeof tooltip.viewContainerRef !== 'string' || this.isReact;

@@ -693,3 +720,4 @@ };

this.isBodyContainer ? pos.top + offsetPos.top :
(pos.top - this.containerElement.getBoundingClientRect().top) + offsetPos.top + window.pageYOffset + this.containerElement.scrollTop];
(pos.top - this.containerElement.getBoundingClientRect().top) +
offsetPos.top + window.pageYOffset + this.containerElement.scrollTop];
};

@@ -809,3 +837,2 @@ Tooltip.prototype.collisionFlipFit = function (target, x, y) {

});
this.tooltipEventArgs = null;
};

@@ -858,3 +885,3 @@ Tooltip.prototype.popupHide = function (hideAnimation, target, e) {

};
Tooltip.prototype.tooltipHover = function (e) {
Tooltip.prototype.tooltipHover = function () {
if (this.tooltipEle) {

@@ -878,3 +905,3 @@ this.isTooltipOpen = true;

this.hideTooltip(this.animation.close, e, this.findTarget());
if (this.closeDelay === 0 && this.animation.close.effect == 'None') {
if (this.closeDelay === 0 && (this.animation.close.effect === 'None' || (this.isReact && typeof this.content != 'string'))) {
this.clear();

@@ -888,2 +915,5 @@ }

}
if (this.popupObj && !this.popupObj.element.classList.contains(POPUP_OPEN)) {
this.clear();
}
};

@@ -895,3 +925,3 @@ Tooltip.prototype.tooltipElementMouseOut = function (e) {

};
Tooltip.prototype.onStickyClose = function (e) {
Tooltip.prototype.onStickyClose = function () {
this.close();

@@ -1007,8 +1037,15 @@ };

}
EventHandler.add(document, 'touchend', this.touchEnd, this);
EventHandler.add(document, 'scroll wheel', this.scrollHandler, this);
EventHandler.add(window, 'resize', this.windowResize, this);
EventHandler.add(document, 'keydown', this.keyDown, this);
this.windowResizeBound = this.windowResize.bind(this);
this.keyDownBound = this.keyDown.bind(this);
this.touchEndBound = this.touchEnd.bind(this);
this.scrollWheelBound = this.scrollHandler.bind(this);
document.addEventListener('wheel', this.scrollWheelBound);
document.addEventListener('scroll', this.scrollWheelBound);
document.addEventListener('touchend', this.touchEndBound);
document.addEventListener('keydown', this.keyDownBound);
window.addEventListener('resize', this.windowResizeBound);
};
Tooltip.prototype.getTriggerList = function (trigger) {
if (!trigger)
return [];
if (trigger === 'Auto') {

@@ -1093,6 +1130,11 @@ trigger = (Browser.isDevice) ? 'Hover' : 'Hover Focus';

}
EventHandler.remove(document, 'touchend', this.touchEnd);
EventHandler.remove(document, 'scroll wheel', this.scrollHandler);
EventHandler.remove(window, 'resize', this.windowResize);
EventHandler.remove(document, 'keydown', this.keyDown);
document.removeEventListener('touchend', this.touchEndBound);
this.touchEndBound = null;
document.removeEventListener('wheel', this.scrollWheelBound);
document.removeEventListener('scroll', this.scrollWheelBound);
this.scrollWheelBound = null;
window.removeEventListener('resize', this.windowResizeBound);
this.windowResizeBound = null;
document.removeEventListener('keydown', this.keyDownBound);
this.keyDownBound = null;
};

@@ -1316,3 +1358,5 @@ Tooltip.prototype.unwireFocusEvents = function () {

/**
*
* It is used to destroy the Tooltip component.
*
* @method destroy

@@ -1341,2 +1385,13 @@ * @returns {void}

}
this.containerElement = null;
this.tipClass = null;
this.tooltipPositionX = null;
this.tooltipPositionY = null;
this.ctrlId = null;
this.tooltipEventArgs = null;
this.touchModule = null;
this.mouseMoveEvent = null;
this.mouseMoveTarget = null;
this.containerElement = null;
this.targetsList = null;
};

@@ -1343,0 +1398,0 @@ __decorate([

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

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