solid-presence
Advanced tools
Comparing version
import { MaybeAccessor } from '@corvu/utils/reactivity'; | ||
export { MaybeAccessor } from '@corvu/utils/reactivity'; | ||
import { Accessor, Setter } from 'solid-js'; | ||
import { Accessor } from 'solid-js'; | ||
@@ -10,6 +10,6 @@ /** | ||
* @param props.element - The element which animations should be tracked. | ||
* @param props.onStateChange - Callback fired when the presence state changes. | ||
* @returns ```typescript | ||
* { | ||
* present: Accessor<boolean> | ||
* state: Accessor<'present' | 'hiding' | 'hidden'> | ||
* } | ||
@@ -21,8 +21,8 @@ * ``` | ||
element: MaybeAccessor<HTMLElement | null>; | ||
onStateChange?: (state: "present" | "hiding" | "hidden") => void; | ||
}) => { | ||
present: Accessor<boolean>; | ||
state: Accessor<"present" | "hiding" | "hidden">; | ||
setState: Setter<"present" | "hiding" | "hidden">; | ||
}; | ||
export { createPresence as default }; |
@@ -14,3 +14,7 @@ import { access } from '@corvu/utils/reactivity'; | ||
}; | ||
const [presentState, setPresentState] = createSignal(access(props.show) ? "present" : "hidden"); | ||
const [presentState, setPresentStateInternal] = createSignal(access(props.show) ? "present" : "hidden"); | ||
const setPresentState = (state) => { | ||
setPresentStateInternal(state); | ||
props.onStateChange?.(state); | ||
}; | ||
let animationName = "none"; | ||
@@ -37,3 +41,3 @@ createEffect((prevShow) => { | ||
return show; | ||
}); | ||
}, access(props.show)); | ||
createEffect(() => { | ||
@@ -67,4 +71,3 @@ const element = access(props.element); | ||
present: () => presentState() === "present" || presentState() === "hiding", | ||
state: presentState, | ||
setState: setPresentState | ||
state: presentState | ||
}; | ||
@@ -75,4 +78,4 @@ }; | ||
// src/index.ts | ||
var src_default = presence_default; | ||
var index_default = presence_default; | ||
export { src_default as default }; | ||
export { index_default as default }; |
@@ -19,3 +19,7 @@ // src/presence.ts | ||
}; | ||
const [presentState, setPresentState] = createSignal(access(props.show) ? "present" : "hidden"); | ||
const [presentState, setPresentStateInternal] = createSignal(access(props.show) ? "present" : "hidden"); | ||
const setPresentState = (state) => { | ||
setPresentStateInternal(state); | ||
props.onStateChange?.(state); | ||
}; | ||
let animationName = "none"; | ||
@@ -42,3 +46,3 @@ createEffect((prevShow) => { | ||
return show; | ||
}); | ||
}, access(props.show)); | ||
createEffect(() => { | ||
@@ -72,4 +76,3 @@ const element = access(props.element); | ||
present: () => presentState() === "present" || presentState() === "hiding", | ||
state: presentState, | ||
setState: setPresentState | ||
state: presentState | ||
}; | ||
@@ -80,5 +83,5 @@ }; | ||
// src/index.ts | ||
var src_default = presence_default; | ||
var index_default = presence_default; | ||
export { | ||
src_default as default | ||
index_default as default | ||
}; |
{ | ||
"name": "solid-presence", | ||
"version": "0.1.8", | ||
"version": "0.2.0", | ||
"private": false, | ||
@@ -49,15 +49,17 @@ "description": "SolidJS utility that manages the presence of an element in the DOM while being aware of pending animations.", | ||
"dependencies": { | ||
"@corvu/utils": "~0.4.0" | ||
"@corvu/utils": "~0.4.2" | ||
}, | ||
"devDependencies": { | ||
"@typescript-eslint/eslint-plugin": "^8.0.0", | ||
"@typescript-eslint/parser": "^8.21.0", | ||
"esbuild-plugin-solid": "^0.6.0", | ||
"eslint": "^8.57.0", | ||
"eslint-config-prettier": "^9.1.0", | ||
"eslint-plugin-solid": "^0.14.1", | ||
"prettier": "^3.3.3", | ||
"solid-js": "^1.8.19", | ||
"tsup": "^8.2.4", | ||
"typedoc": "^0.26.5", | ||
"typescript": "^5.5.4" | ||
"eslint": "^9.18.0", | ||
"eslint-config-prettier": "^10.0.1", | ||
"eslint-plugin-prettier": "^5.2.3", | ||
"eslint-plugin-solid": "^0.14.5", | ||
"prettier": "^3.4.2", | ||
"solid-js": "^1.9.4", | ||
"tsup": "^8.3.5", | ||
"typedoc": "^0.27.6", | ||
"typescript": "^5.7.3", | ||
"typescript-eslint": "^8.21.0" | ||
}, | ||
@@ -64,0 +66,0 @@ "peerDependencies": { |
Sorry, the diff of this file is not supported yet
10318
3.34%180
3.45%12
20%Updated