You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

corvu

Package Overview
Dependencies
Maintainers
1
Versions
25
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

corvu - npm Package Compare versions

Comparing version

to
0.4.8

111

dist/primitives/drawer/index.js

@@ -7,3 +7,4 @@ import { Close_default, Description_default, Label_default, Trigger_default, useDialogContext, Portal_default, Root_default, useInternalDialogContext, Content_default, Overlay_default } from '../../chunk/URDTOASL.js';

import { createContext, useContext, mergeProps as mergeProps$1, splitProps, createSignal, createMemo, createEffect, untrack, batch, onCleanup } from 'solid-js';
import { afterPaint, access } from '@corvu/utils';
import { afterPaint } from '@corvu/utils';
import createTransitionSize from 'solid-transition-size';
import { createWritableMemo } from '@solid-primitives/memo';

@@ -90,106 +91,2 @@ import { getScrollAtLocation } from '@corvu/utils/scroll';

};
function createTransitionSize(props) {
const defaultedProps = mergeProps$1(
{
enabled: true,
property: "both"
},
props
);
const [transitioning, setTransitioning] = createSignal(false);
const [transitionSize, setTransitionSize] = createSignal(null);
let startSize = null;
createEffect(() => {
const element = access(defaultedProps.element);
const enabled = access(defaultedProps.enabled);
if (!element || !enabled)
return;
const observer = new ResizeObserver(resizeObserverCallback);
observer.observe(element);
element.addEventListener("transitionend", reset);
onCleanup(() => {
observer.disconnect();
element.removeEventListener("transitionend", reset);
reset();
});
});
const resizeObserverCallback = (entries) => {
if (transitioning())
return;
for (const entry of entries) {
const target = entry.target;
if (target !== access(defaultedProps.element))
continue;
const currentSize = [
target.offsetWidth,
target.offsetHeight
];
const property = access(defaultedProps.property);
if (property === "both") {
if (!startSize) {
startSize = currentSize;
} else if (startSize[0] !== currentSize[0] && startSize[1] !== currentSize[1]) {
batch(() => {
setTransitionSize(startSize);
setTransitioning(true);
});
afterPaint(() => {
setTransitionSize(currentSize);
const transitionDuration = parseFloat(
getComputedStyle(entry.target).transitionDuration
);
if (transitionDuration === 0) {
reset();
}
});
}
} else {
if (!startSize) {
startSize = currentSize;
} else if (getSizeProperty(property, startSize) !== getSizeProperty(property, currentSize)) {
batch(() => {
setTransitionSize(getSizeProperty(property, startSize));
setTransitioning(true);
});
afterPaint(() => {
setTransitionSize(getSizeProperty(property, currentSize));
const transitionDuration = parseFloat(
getComputedStyle(entry.target).transitionDuration
);
if (transitionDuration === 0) {
reset();
}
});
}
}
}
};
const reset = () => {
if (!transitioning())
return;
const element = access(defaultedProps.element);
if (element) {
startSize = [element.offsetWidth, element.offsetHeight];
} else {
startSize = null;
}
batch(() => {
setTransitioning(false);
setTransitionSize(null);
});
};
return {
transitioning: () => transitioning() === true,
transitionSize
};
}
var getSizeProperty = (property, size) => {
switch (property) {
case "width":
return size[0];
case "height":
return size[1];
}
};
var transitionSize_default = createTransitionSize;

@@ -307,6 +204,6 @@ // src/primitives/drawer/lib.ts

transitionSize
} = transitionSize_default({
} = createTransitionSize({
element: () => dialogContext()?.contentRef() ?? null,
enabled: () => open() && localProps.transitionResize,
property: () => {
dimension: () => {
switch (localProps.side) {

@@ -313,0 +210,0 @@ case "top":

@@ -115,128 +115,13 @@ import {

import {
batch as batch2,
createEffect as createEffect2,
createMemo,
createSignal as createSignal2,
mergeProps as mergeProps2,
onCleanup as onCleanup2,
splitProps,
untrack
} from "solid-js";
import { afterPaint as afterPaint2 } from "@corvu/utils";
// src/lib/create/transitionSize.ts
import { access, afterPaint } from "@corvu/utils";
import {
batch,
createEffect,
createMemo,
createSignal,
mergeProps,
onCleanup
onCleanup,
splitProps,
untrack
} from "solid-js";
function createTransitionSize(props) {
const defaultedProps = mergeProps(
{
enabled: true,
property: "both"
},
props
);
const [transitioning, setTransitioning] = createSignal(false);
const [transitionSize, setTransitionSize] = createSignal(null);
let startSize = null;
createEffect(() => {
const element = access(defaultedProps.element);
const enabled = access(defaultedProps.enabled);
if (!element || !enabled)
return;
const observer = new ResizeObserver(resizeObserverCallback);
observer.observe(element);
element.addEventListener("transitionend", reset);
onCleanup(() => {
observer.disconnect();
element.removeEventListener("transitionend", reset);
reset();
});
});
const resizeObserverCallback = (entries) => {
if (transitioning())
return;
for (const entry of entries) {
const target = entry.target;
if (target !== access(defaultedProps.element))
continue;
const currentSize = [
target.offsetWidth,
target.offsetHeight
];
const property = access(defaultedProps.property);
if (property === "both") {
if (!startSize) {
startSize = currentSize;
} else if (startSize[0] !== currentSize[0] && startSize[1] !== currentSize[1]) {
batch(() => {
setTransitionSize(startSize);
setTransitioning(true);
});
afterPaint(() => {
setTransitionSize(currentSize);
const transitionDuration = parseFloat(
getComputedStyle(entry.target).transitionDuration
);
if (transitionDuration === 0) {
reset();
}
});
}
} else {
if (!startSize) {
startSize = currentSize;
} else if (getSizeProperty(property, startSize) !== getSizeProperty(property, currentSize)) {
batch(() => {
setTransitionSize(getSizeProperty(property, startSize));
setTransitioning(true);
});
afterPaint(() => {
setTransitionSize(getSizeProperty(property, currentSize));
const transitionDuration = parseFloat(
getComputedStyle(entry.target).transitionDuration
);
if (transitionDuration === 0) {
reset();
}
});
}
}
}
};
const reset = () => {
if (!transitioning())
return;
const element = access(defaultedProps.element);
if (element) {
startSize = [element.offsetWidth, element.offsetHeight];
} else {
startSize = null;
}
batch(() => {
setTransitioning(false);
setTransitionSize(null);
});
};
return {
transitioning: () => transitioning() === true,
transitionSize
};
}
var getSizeProperty = (property, size) => {
switch (property) {
case "width":
return size[0];
case "height":
return size[1];
}
};
var transitionSize_default = createTransitionSize;
// src/primitives/drawer/Root.tsx
import { afterPaint } from "@corvu/utils";
import createTransitionSize from "solid-transition-size";
import { createWritableMemo } from "@solid-primitives/memo";

@@ -322,3 +207,3 @@

var DrawerRoot = (props) => {
const defaultedProps = mergeProps2(
const defaultedProps = mergeProps(
{

@@ -374,7 +259,7 @@ initialOpen: false,

});
const [dialogContext, setDialogContext] = createSignal2();
const { transitioning: sizeTransitioning, transitionSize } = transitionSize_default({
const [dialogContext, setDialogContext] = createSignal();
const { transitioning: sizeTransitioning, transitionSize } = createTransitionSize({
element: () => dialogContext()?.contentRef() ?? null,
enabled: () => open() && localProps.transitionResize,
property: () => {
dimension: () => {
switch (localProps.side) {

@@ -390,3 +275,3 @@ case "top":

});
const [isDragging, setIsDragging] = createSignal2(false);
const [isDragging, setIsDragging] = createSignal(false);
const [transitionState, setTransitionState] = createWritableMemo(() => {

@@ -403,4 +288,4 @@ if (sizeTransitioning())

});
const [transitionAwareOpen, setTransitionAwareOpen] = createSignal2(false);
createEffect2(() => {
const [transitionAwareOpen, setTransitionAwareOpen] = createSignal(false);
createEffect(() => {
const _open = open();

@@ -413,4 +298,4 @@ untrack(() => {

setTransitionAwareOpen(true);
afterPaint2(() => {
batch2(() => {
afterPaint(() => {
batch(() => {
setTransitionState("opening");

@@ -427,7 +312,7 @@ setActiveSnapPoint(localProps.defaultSnapPoint);

} else {
batch2(() => {
batch(() => {
setTransitionState("closing");
setActiveSnapPoint(0);
});
afterPaint2(() => {
afterPaint(() => {
const transitionDuration = parseFloat(

@@ -444,3 +329,3 @@ drawerStyles().transitionDuration

const closeDrawer = () => {
batch2(() => {
batch(() => {
setTransitionAwareOpen(false);

@@ -450,4 +335,4 @@ setTransitionState(null);

};
const [drawerSize, setDrawerSize] = createSignal2(0);
createEffect2(() => {
const [drawerSize, setDrawerSize] = createSignal(0);
createEffect(() => {
const element = dialogContext()?.contentRef();

@@ -459,3 +344,3 @@ if (!element)

observer.observe(element);
onCleanup2(() => {
onCleanup(() => {
observer.disconnect();

@@ -549,3 +434,3 @@ });

if (isFunction(children)) {
const mergedProps = mergeProps2(dialogChildrenProps, childrenProps);
const mergedProps = mergeProps(dialogChildrenProps, childrenProps);
return children(mergedProps);

@@ -620,6 +505,6 @@ }

import {
batch as batch3,
createEffect as createEffect3,
batch as batch2,
createEffect as createEffect2,
createMemo as createMemo2,
onCleanup as onCleanup3,
onCleanup as onCleanup2,
splitProps as splitProps2

@@ -685,3 +570,3 @@ } from "solid-js";

});
createEffect3(() => {
createEffect2(() => {
if (!dialogContext().open())

@@ -693,3 +578,3 @@ return;

document.addEventListener("touchend", onPointerUp);
onCleanup3(() => {
onCleanup2(() => {
document.removeEventListener("pointermove", onPointerMove);

@@ -765,3 +650,3 @@ document.removeEventListener("touchmove", onTouchMove);

cachedTranslate = drawerContext().translate();
batch3(() => {
batch2(() => {
drawerContext().setIsDragging(true);

@@ -812,7 +697,7 @@ drawerContext().setTransitionState(null);

);
batch3(() => {
batch2(() => {
drawerContext().setTransitionState("snapping");
drawerContext().setIsDragging(false);
});
batch3(() => {
batch2(() => {
drawerContext().setActiveSnapPoint(closestSnapPoint.value);

@@ -843,3 +728,3 @@ if (closestSnapPoint.offset === drawerContext().drawerSize()) {

onTransitionEnd={() => {
batch3(() => {
batch2(() => {
if (drawerContext().transitionState() === "closing") {

@@ -846,0 +731,0 @@ drawerContext().closeDrawer();

8

package.json
{
"name": "corvu",
"version": "0.4.7",
"version": "0.4.8",
"private": false,

@@ -73,6 +73,7 @@ "description": "Unstyled, accessible and customizable UI primitives for SolidJS",

"@floating-ui/dom": "^1.6.3",
"@solid-primitives/memo": "^1.3.6",
"@solid-primitives/memo": "^1.3.7",
"solid-focus-trap": "~0.1",
"solid-presence": "~0.1",
"solid-prevent-scroll": "~0.1"
"solid-prevent-scroll": "~0.1",
"solid-transition-size": "~0.1"
},

@@ -84,3 +85,2 @@ "devDependencies": {

"eslint-config-prettier": "^9.1.0",
"eslint-plugin-prettier": "^5.1.3",
"eslint-plugin-solid": "^0.13.1",

@@ -87,0 +87,0 @@ "prettier": "^3.2.5",