New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@nextui-org/react-utils

Package Overview
Dependencies
Maintainers
1
Versions
329
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nextui-org/react-utils - npm Package Compare versions

Comparing version 0.0.0-dev-v2-20230428203230 to 0.0.0-dev-v2-20230613212244

dist/children.d.ts

4

dist/index.d.ts

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

export { CSSTransition, CSSTransitionProps } from './css-transition.js';
export { CreateContextOptions, CreateContextReturn, createContext } from './context.js';
export { getValidChildren, pickChildren } from './children.js';
export { ReactRef, assignRef, mergeRefs } from './refs.js';
import 'react';

@@ -0,1 +1,2 @@

"use client";
"use strict";

@@ -29,76 +30,83 @@ var __create = Object.create;

__export(src_exports, {
CSSTransition: () => CSSTransition
assignRef: () => assignRef,
createContext: () => createContext2,
getValidChildren: () => getValidChildren,
mergeRefs: () => mergeRefs,
pickChildren: () => pickChildren
});
module.exports = __toCommonJS(src_exports);
// src/css-transition.tsx
var import_react = __toESM(require("react"));
// src/context.ts
var React = __toESM(require("react"));
function createContext2(options = {}) {
const {
strict = true,
errorMessage = "useContext: `context` is undefined. Seems you forgot to wrap component within the Provider",
name
} = options;
const Context = React.createContext(void 0);
Context.displayName = name;
function useContext2() {
var _a;
const context = React.useContext(Context);
if (!context && strict) {
const error = new Error(errorMessage);
error.name = "ContextError";
(_a = Error.captureStackTrace) == null ? void 0 : _a.call(Error, error, useContext2);
throw error;
}
return context;
}
return [Context.Provider, useContext2, Context];
}
// src/children.ts
var import_react = require("react");
function getValidChildren(children) {
return import_react.Children.toArray(children).filter(
(child) => (0, import_react.isValidElement)(child)
);
}
var pickChildren = (children, targetChild) => {
let target = [];
const withoutTargetChildren = import_react.Children.map(children, (item) => {
if (!(0, import_react.isValidElement)(item))
return item;
if (item.type === targetChild) {
target.push(item);
return null;
}
return item;
});
const targetChildren = target.length >= 0 ? target : void 0;
return [withoutTargetChildren, targetChildren];
};
// src/refs.ts
var import_shared_utils = require("@nextui-org/shared-utils");
var CSSTransition = import_react.default.memo(
({
children,
onExited,
onEntered,
className,
childrenRef,
enterTime = 60,
leaveTime = 60,
clearTime = 60,
isVisible = false,
name = "transition",
...otherProps
}) => {
const [classes, setClasses] = (0, import_react.useState)("");
const [statusClassName, setStatusClassName] = (0, import_react.useState)("");
const [renderable, setRenderable] = (0, import_react.useState)(isVisible);
(0, import_react.useLayoutEffect)(() => {
const statusClassName2 = isVisible ? "enter" : "leave";
if (isVisible && !renderable)
setRenderable(true);
setClasses(`${name}-${statusClassName2}`);
setStatusClassName(statusClassName2);
const time = isVisible ? enterTime : leaveTime;
const timer = setTimeout(() => {
setClasses(`${name}-${statusClassName2} ${name}-${statusClassName2}-active`);
setStatusClassName(`${statusClassName2}-active`);
if (statusClassName2 === "leave") {
onExited == null ? void 0 : onExited();
} else {
onEntered == null ? void 0 : onEntered();
}
clearTimeout(timer);
}, time);
const clearClassesTimer = setTimeout(() => {
if (!isVisible) {
setClasses("");
setRenderable(false);
}
clearTimeout(clearClassesTimer);
}, time + clearTime);
return () => {
clearTimeout(timer);
clearTimeout(clearClassesTimer);
};
}, [isVisible, renderable]);
(0, import_react.useEffect)(() => {
if (!(childrenRef == null ? void 0 : childrenRef.current))
return;
const classesArr = classes.split(" ");
const refClassesArr = childrenRef.current.className.split(" ");
const newRefClassesArr = refClassesArr.filter((item) => !item.includes(name));
childrenRef.current.className = (0, import_shared_utils.clsx)(newRefClassesArr, classesArr);
}, [childrenRef, classes]);
if (!import_react.default.isValidElement(children) || !renderable)
return null;
return import_react.default.cloneElement(children, {
...otherProps,
"data-transition": statusClassName,
className: (0, import_shared_utils.clsx)(children.props.className, className, !(childrenRef == null ? void 0 : childrenRef.current) && classes)
});
function assignRef(ref, value) {
if (ref == null)
return;
if ((0, import_shared_utils.isFunction)(ref)) {
ref(value);
return;
}
);
CSSTransition.displayName = "NextUI.CSSTransition";
try {
ref.current = value;
} catch (error) {
throw new Error(`Cannot assign value '${value}' to ref '${ref}'`);
}
}
function mergeRefs(...refs) {
return (node) => {
refs.forEach((ref) => assignRef(ref, node));
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
CSSTransition
assignRef,
createContext,
getValidChildren,
mergeRefs,
pickChildren
});
{
"name": "@nextui-org/react-utils",
"version": "0.0.0-dev-v2-20230428203230",
"description": "A package for sharing react components and utilities",
"version": "0.0.0-dev-v2-20230613212244",
"description": "A set of utilities for react on client side",
"keywords": [

@@ -27,9 +27,8 @@ "react-utils"

},
"dependencies": {
"@nextui-org/system": "0.0.0-dev-v2-20230428203230",
"@nextui-org/shared-utils": "0.0.0-dev-v2-20230428203230"
},
"peerDependencies": {
"react": ">=18"
},
"dependencies": {
"@nextui-org/shared-utils": "0.0.0-dev-v2-20230613212244"
},
"devDependencies": {

@@ -40,10 +39,2 @@ "clean-package": "2.2.0",

"clean-package": "../../../clean-package.config.json",
"tsup": {
"clean": true,
"target": "es2019",
"format": [
"cjs",
"esm"
]
},
"module": "dist/index.mjs",

@@ -61,7 +52,7 @@ "types": "dist/index.d.ts",

"build": "tsup src --dts",
"build:fast": "tsup src",
"dev": "yarn build:fast -- --watch",
"clean": "rimraf dist .turbo",
"typecheck": "tsc --noEmit",
"build:fast": "tsup src"
"typecheck": "tsc --noEmit"
}
}

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