Socket
Book a DemoInstallSign in
Socket

@react-aria/combobox

Package Overview
Dependencies
Maintainers
2
Versions
1031
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@react-aria/combobox - npm Package Compare versions

Comparing version

to
3.0.0-nightly-8c5b7a011-250827

46

dist/useComboBox.main.js

@@ -6,2 +6,3 @@ var $8d1e5da058b86bb9$exports = require("./intlStrings.main.js");

var $BGXP4$reactariautils = require("@react-aria/utils");
var $BGXP4$reactariafocus = require("@react-aria/focus");
var $BGXP4$react = require("react");

@@ -47,5 +48,8 @@ var $BGXP4$reactstatelycollections = require("@react-stately/collections");

function $242452271d1e4c0e$export$8c18d1b4f7232bbf(props, state) {
let { buttonRef: buttonRef, popoverRef: popoverRef, inputRef: inputRef, listBoxRef: listBoxRef, keyboardDelegate: keyboardDelegate, layoutDelegate: layoutDelegate, shouldFocusWrap: // completionMode = 'suggest',
shouldFocusWrap, isReadOnly: isReadOnly, isDisabled: isDisabled } = props;
let backupBtnRef = (0, $BGXP4$react.useRef)(null);
buttonRef = buttonRef !== null && buttonRef !== void 0 ? buttonRef : backupBtnRef;
let stringFormatter = (0, $BGXP4$reactariai18n.useLocalizedStringFormatter)((0, ($parcel$interopDefault($8d1e5da058b86bb9$exports))), '@react-aria/combobox');

@@ -97,9 +101,7 @@ let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $BGXP4$reactariamenu.useMenuTrigger)({

// If the focused item is a link, trigger opening it. Items that are links are not selectable.
if (state.isOpen && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
if (e.key === 'Enter') {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
}
if (state.isOpen && listBoxRef.current && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (e.key === 'Enter' && item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
if (collectionItem) router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
}

@@ -146,2 +148,3 @@ state.close();

value: state.inputValue,
defaultValue: state.defaultInputValue,
onFocus: onFocus,

@@ -155,4 +158,5 @@ autoComplete: 'off',

if (e.pointerType === 'touch') {
// Focus the input field in case it isn't focused yet
inputRef.current.focus();
var // Focus the input field in case it isn't focused yet
_inputRef_current;
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
state.toggle(null, 'manual');

@@ -163,3 +167,4 @@ }

if (e.pointerType !== 'touch') {
inputRef.current.focus();
var _inputRef_current;
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
state.toggle(e.pointerType === 'keyboard' || e.pointerType === 'virtual' ? 'first' : null, 'manual');

@@ -184,4 +189,5 @@ }

if (e.timeStamp - lastEventTime.current < 500) {
var _inputRef_current;
e.preventDefault();
inputRef.current.focus();
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
return;

@@ -194,4 +200,5 @@ }

if (touch.clientX === centerX && touch.clientY === centerY) {
var _inputRef_current1;
e.preventDefault();
inputRef.current.focus();
(_inputRef_current1 = inputRef.current) === null || _inputRef_current1 === void 0 ? void 0 : _inputRef_current1.focus();
state.toggle(null, 'manual');

@@ -212,8 +219,9 @@ lastEventTime.current = e.timeStamp;

(0, $BGXP4$react.useEffect)(()=>{
if ((0, $BGXP4$reactariautils.isAppleDevice)() && focusedItem != null && itemKey !== lastItem.current) {
if ((0, $BGXP4$reactariautils.isAppleDevice)() && focusedItem != null && itemKey != null && itemKey !== lastItem.current) {
let isSelected = state.selectionManager.isSelected(itemKey);
let section = sectionKey != null ? state.collection.getItem(sectionKey) : null;
let sectionTitle = (section === null || section === void 0 ? void 0 : section['aria-label']) || (typeof (section === null || section === void 0 ? void 0 : section.rendered) === 'string' ? section.rendered : '') || '';
var _ref;
let announcement = stringFormatter.format('focusAnnouncement', {
isGroupChange: section && sectionKey !== lastSection.current,
isGroupChange: (_ref = section && sectionKey !== lastSection.current) !== null && _ref !== void 0 ? _ref : false,
groupTitle: sectionTitle,

@@ -265,3 +273,3 @@ groupCount: section ? [

popoverRef.current
]);
].filter((element)=>element != null));
}, [

@@ -272,2 +280,8 @@ state.isOpen,

]);
(0, $BGXP4$reactariautils.useUpdateEffect)(()=>{
// Re-show focus ring when there is no virtually focused item.
if (!focusedItem && inputRef.current && (0, $BGXP4$reactariautils.getActiveElement)((0, $BGXP4$reactariautils.getOwnerDocument)(inputRef.current)) === inputRef.current) (0, $BGXP4$reactariafocus.dispatchVirtualFocus)(inputRef.current, null);
}, [
focusedItem
]);
return {

@@ -298,3 +312,3 @@ labelProps: labelProps,

listBoxProps: (0, $BGXP4$reactariautils.mergeProps)(menuProps, listBoxProps, {
autoFocus: state.focusStrategy,
autoFocus: state.focusStrategy || true,
shouldUseVirtualFocus: true,

@@ -301,0 +315,0 @@ shouldSelectOnPressUp: true,

@@ -5,4 +5,5 @@ import $dShfP$intlStringsmodulejs from "./intlStrings.module.js";

import {listData as $dShfP$listData, getItemId as $dShfP$getItemId} from "@react-aria/listbox";
import {useRouter as $dShfP$useRouter, chain as $dShfP$chain, useLabels as $dShfP$useLabels, isAppleDevice as $dShfP$isAppleDevice, mergeProps as $dShfP$mergeProps} from "@react-aria/utils";
import {useMemo as $dShfP$useMemo, useRef as $dShfP$useRef, useEffect as $dShfP$useEffect} from "react";
import {useRouter as $dShfP$useRouter, chain as $dShfP$chain, useLabels as $dShfP$useLabels, isAppleDevice as $dShfP$isAppleDevice, useUpdateEffect as $dShfP$useUpdateEffect, getActiveElement as $dShfP$getActiveElement, getOwnerDocument as $dShfP$getOwnerDocument, mergeProps as $dShfP$mergeProps} from "@react-aria/utils";
import {dispatchVirtualFocus as $dShfP$dispatchVirtualFocus} from "@react-aria/focus";
import {useRef as $dShfP$useRef, useMemo as $dShfP$useMemo, useEffect as $dShfP$useEffect} from "react";
import {getChildNodes as $dShfP$getChildNodes, getItemCount as $dShfP$getItemCount} from "@react-stately/collections";

@@ -41,5 +42,8 @@ import {ListKeyboardDelegate as $dShfP$ListKeyboardDelegate, useSelectableCollection as $dShfP$useSelectableCollection} from "@react-aria/selection";

function $c350ade66beef0af$export$8c18d1b4f7232bbf(props, state) {
let { buttonRef: buttonRef, popoverRef: popoverRef, inputRef: inputRef, listBoxRef: listBoxRef, keyboardDelegate: keyboardDelegate, layoutDelegate: layoutDelegate, shouldFocusWrap: // completionMode = 'suggest',
shouldFocusWrap, isReadOnly: isReadOnly, isDisabled: isDisabled } = props;
let backupBtnRef = (0, $dShfP$useRef)(null);
buttonRef = buttonRef !== null && buttonRef !== void 0 ? buttonRef : backupBtnRef;
let stringFormatter = (0, $dShfP$useLocalizedStringFormatter)((0, ($parcel$interopDefault($dShfP$intlStringsmodulejs))), '@react-aria/combobox');

@@ -91,9 +95,7 @@ let { menuTriggerProps: menuTriggerProps, menuProps: menuProps } = (0, $dShfP$useMenuTrigger)({

// If the focused item is a link, trigger opening it. Items that are links are not selectable.
if (state.isOpen && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
if (e.key === 'Enter') {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
}
if (state.isOpen && listBoxRef.current && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (e.key === 'Enter' && item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
if (collectionItem) router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions);
}

@@ -140,2 +142,3 @@ state.close();

value: state.inputValue,
defaultValue: state.defaultInputValue,
onFocus: onFocus,

@@ -149,4 +152,5 @@ autoComplete: 'off',

if (e.pointerType === 'touch') {
// Focus the input field in case it isn't focused yet
inputRef.current.focus();
var // Focus the input field in case it isn't focused yet
_inputRef_current;
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
state.toggle(null, 'manual');

@@ -157,3 +161,4 @@ }

if (e.pointerType !== 'touch') {
inputRef.current.focus();
var _inputRef_current;
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
state.toggle(e.pointerType === 'keyboard' || e.pointerType === 'virtual' ? 'first' : null, 'manual');

@@ -178,4 +183,5 @@ }

if (e.timeStamp - lastEventTime.current < 500) {
var _inputRef_current;
e.preventDefault();
inputRef.current.focus();
(_inputRef_current = inputRef.current) === null || _inputRef_current === void 0 ? void 0 : _inputRef_current.focus();
return;

@@ -188,4 +194,5 @@ }

if (touch.clientX === centerX && touch.clientY === centerY) {
var _inputRef_current1;
e.preventDefault();
inputRef.current.focus();
(_inputRef_current1 = inputRef.current) === null || _inputRef_current1 === void 0 ? void 0 : _inputRef_current1.focus();
state.toggle(null, 'manual');

@@ -206,8 +213,9 @@ lastEventTime.current = e.timeStamp;

(0, $dShfP$useEffect)(()=>{
if ((0, $dShfP$isAppleDevice)() && focusedItem != null && itemKey !== lastItem.current) {
if ((0, $dShfP$isAppleDevice)() && focusedItem != null && itemKey != null && itemKey !== lastItem.current) {
let isSelected = state.selectionManager.isSelected(itemKey);
let section = sectionKey != null ? state.collection.getItem(sectionKey) : null;
let sectionTitle = (section === null || section === void 0 ? void 0 : section['aria-label']) || (typeof (section === null || section === void 0 ? void 0 : section.rendered) === 'string' ? section.rendered : '') || '';
var _ref;
let announcement = stringFormatter.format('focusAnnouncement', {
isGroupChange: section && sectionKey !== lastSection.current,
isGroupChange: (_ref = section && sectionKey !== lastSection.current) !== null && _ref !== void 0 ? _ref : false,
groupTitle: sectionTitle,

@@ -259,3 +267,3 @@ groupCount: section ? [

popoverRef.current
]);
].filter((element)=>element != null));
}, [

@@ -266,2 +274,8 @@ state.isOpen,

]);
(0, $dShfP$useUpdateEffect)(()=>{
// Re-show focus ring when there is no virtually focused item.
if (!focusedItem && inputRef.current && (0, $dShfP$getActiveElement)((0, $dShfP$getOwnerDocument)(inputRef.current)) === inputRef.current) (0, $dShfP$dispatchVirtualFocus)(inputRef.current, null);
}, [
focusedItem
]);
return {

@@ -292,3 +306,3 @@ labelProps: labelProps,

listBoxProps: (0, $dShfP$mergeProps)(menuProps, listBoxProps, {
autoFocus: state.focusStrategy,
autoFocus: state.focusStrategy || true,
shouldUseVirtualFocus: true,

@@ -295,0 +309,0 @@ shouldSelectOnPressUp: true,

{
"name": "@react-aria/combobox",
"version": "3.0.0-nightly-8ab4f20de-240913",
"version": "3.0.0-nightly-8c5b7a011-250827",
"description": "Spectrum UI components in React",

@@ -9,3 +9,7 @@ "license": "Apache-2.0",

"exports": {
"types": "./dist/types.d.ts",
"source": "./src/index.ts",
"types": [
"./dist/types.d.ts",
"./src/index.ts"
],
"import": "./dist/import.mjs",

@@ -26,26 +30,26 @@ "require": "./dist/main.js"

"dependencies": {
"@react-aria/i18n": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/listbox": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/live-announcer": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/menu": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/overlays": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/selection": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/textfield": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/utils": "^3.0.0-nightly-8ab4f20de-240913",
"@react-stately/collections": "^3.0.0-nightly-8ab4f20de-240913",
"@react-stately/combobox": "^3.0.0-nightly-8ab4f20de-240913",
"@react-stately/form": "^3.0.0-nightly-8ab4f20de-240913",
"@react-types/button": "^3.0.0-nightly-8ab4f20de-240913",
"@react-types/combobox": "^3.0.0-nightly-8ab4f20de-240913",
"@react-types/shared": "^3.0.0-nightly-8ab4f20de-240913",
"@react-aria/focus": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/i18n": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/listbox": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/live-announcer": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/menu": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/overlays": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/selection": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/textfield": "3.0.0-nightly-8c5b7a011-250827",
"@react-aria/utils": "3.0.0-nightly-8c5b7a011-250827",
"@react-stately/collections": "3.0.0-nightly-8c5b7a011-250827",
"@react-stately/combobox": "3.0.0-nightly-8c5b7a011-250827",
"@react-stately/form": "3.0.0-nightly-8c5b7a011-250827",
"@react-types/button": "3.0.0-nightly-8c5b7a011-250827",
"@react-types/combobox": "3.0.0-nightly-8c5b7a011-250827",
"@react-types/shared": "3.0.0-nightly-8c5b7a011-250827",
"@swc/helpers": "^0.5.0"
},
"peerDependencies": {
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0"
"react": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1",
"react-dom": "^16.8.0 || ^17.0.0-rc.1 || ^18.0.0 || ^19.0.0-rc.1"
},
"publishConfig": {
"access": "public"
},
"stableVersion": "3.10.3"
}
}
# @react-aria/combobox
This package is part of [react-spectrum](https://github.com/adobe-private/react-spectrum-v3). See the repo for more details.
This package is part of [react-spectrum](https://github.com/adobe/react-spectrum). See the repo for more details.

@@ -19,4 +19,5 @@ /*

import {BaseEvent, DOMAttributes, KeyboardDelegate, LayoutDelegate, PressEvent, RefObject, RouterOptions, ValidationResult} from '@react-types/shared';
import {chain, isAppleDevice, mergeProps, useLabels, useRouter} from '@react-aria/utils';
import {chain, getActiveElement, getOwnerDocument, isAppleDevice, mergeProps, useLabels, useRouter, useUpdateEffect} from '@react-aria/utils';
import {ComboBoxState} from '@react-stately/combobox';
import {dispatchVirtualFocus} from '@react-aria/focus';
import {FocusEvent, InputHTMLAttributes, KeyboardEvent, TouchEvent, useEffect, useMemo, useRef} from 'react';

@@ -85,2 +86,4 @@ import {getChildNodes, getItemCount} from '@react-stately/collections';

} = props;
let backupBtnRef = useRef(null);
buttonRef = buttonRef ?? backupBtnRef;

@@ -141,7 +144,7 @@ let stringFormatter = useLocalizedStringFormatter(intlMessages, '@react-aria/combobox');

// If the focused item is a link, trigger opening it. Items that are links are not selectable.
if (state.isOpen && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
if (e.key === 'Enter') {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
if (state.isOpen && listBoxRef.current && state.selectionManager.focusedKey != null && state.selectionManager.isLink(state.selectionManager.focusedKey)) {
let item = listBoxRef.current.querySelector(`[data-key="${CSS.escape(state.selectionManager.focusedKey.toString())}"]`);
if (e.key === 'Enter' && item instanceof HTMLAnchorElement) {
let collectionItem = state.collection.getItem(state.selectionManager.focusedKey);
if (collectionItem) {
router.open(item, e, collectionItem.props.href, collectionItem.props.routerOptions as RouterOptions);

@@ -213,2 +216,3 @@ }

value: state.inputValue,
defaultValue: state.defaultInputValue,
onFocus,

@@ -224,3 +228,3 @@ autoComplete: 'off',

// Focus the input field in case it isn't focused yet
inputRef.current.focus();
inputRef.current?.focus();
state.toggle(null, 'manual');

@@ -232,3 +236,3 @@ }

if (e.pointerType !== 'touch') {
inputRef.current.focus();
inputRef.current?.focus();
state.toggle((e.pointerType === 'keyboard' || e.pointerType === 'virtual') ? 'first' : null, 'manual');

@@ -260,3 +264,3 @@ }

e.preventDefault();
inputRef.current.focus();
inputRef.current?.focus();
return;

@@ -273,3 +277,3 @@ }

e.preventDefault();
inputRef.current.focus();
inputRef.current?.focus();
state.toggle(null, 'manual');

@@ -292,3 +296,3 @@

useEffect(() => {
if (isAppleDevice() && focusedItem != null && itemKey !== lastItem.current) {
if (isAppleDevice() && focusedItem != null && itemKey != null && itemKey !== lastItem.current) {
let isSelected = state.selectionManager.isSelected(itemKey);

@@ -299,3 +303,3 @@ let section = sectionKey != null ? state.collection.getItem(sectionKey) : null;

let announcement = stringFormatter.format('focusAnnouncement', {
isGroupChange: section && sectionKey !== lastSection.current,
isGroupChange: (section && sectionKey !== lastSection.current) ?? false,
groupTitle: sectionTitle,

@@ -349,6 +353,13 @@ groupCount: section ? [...getChildNodes(section, state.collection)].length : 0,

if (state.isOpen) {
return ariaHideOutside([inputRef.current, popoverRef.current]);
return ariaHideOutside([inputRef.current, popoverRef.current].filter(element => element != null));
}
}, [state.isOpen, inputRef, popoverRef]);
useUpdateEffect(() => {
// Re-show focus ring when there is no virtually focused item.
if (!focusedItem && inputRef.current && getActiveElement(getOwnerDocument(inputRef.current)) === inputRef.current) {
dispatchVirtualFocus(inputRef.current, null);
}
}, [focusedItem]);
return {

@@ -379,3 +390,3 @@ labelProps,

listBoxProps: mergeProps(menuProps, listBoxProps, {
autoFocus: state.focusStrategy,
autoFocus: state.focusStrategy || true,
shouldUseVirtualFocus: true,

@@ -382,0 +393,0 @@ shouldSelectOnPressUp: true,

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.