@akashjs/runtime 0.1.0 → 0.1.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +21 -0
- package/dist/index.cjs +52 -6
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +52 -7
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
package/dist/index.js
CHANGED
|
@@ -755,10 +755,6 @@ function useToggle(initial = false) {
|
|
|
755
755
|
};
|
|
756
756
|
}
|
|
757
757
|
function usePrevious(source) {
|
|
758
|
-
signal(void 0);
|
|
759
|
-
effect(() => {
|
|
760
|
-
source();
|
|
761
|
-
});
|
|
762
758
|
let lastValue;
|
|
763
759
|
const tracked = signal(void 0);
|
|
764
760
|
effect(() => {
|
|
@@ -921,6 +917,55 @@ function useWindowSize() {
|
|
|
921
917
|
height: (() => height())
|
|
922
918
|
};
|
|
923
919
|
}
|
|
920
|
+
function useClickOutside(target, handler, options = {}) {
|
|
921
|
+
if (typeof document === "undefined") return () => {
|
|
922
|
+
};
|
|
923
|
+
const {
|
|
924
|
+
events = ["pointerdown"],
|
|
925
|
+
ignore = [],
|
|
926
|
+
active = true
|
|
927
|
+
} = options;
|
|
928
|
+
let isActive = active;
|
|
929
|
+
function getTarget() {
|
|
930
|
+
return typeof target === "function" ? target() : target;
|
|
931
|
+
}
|
|
932
|
+
function shouldIgnore(event) {
|
|
933
|
+
const eventTarget = event.target;
|
|
934
|
+
if (!eventTarget) return false;
|
|
935
|
+
for (const pattern of ignore) {
|
|
936
|
+
if (typeof pattern === "string") {
|
|
937
|
+
if (eventTarget.closest(pattern)) return true;
|
|
938
|
+
} else {
|
|
939
|
+
if (pattern === eventTarget || pattern.contains(eventTarget)) return true;
|
|
940
|
+
}
|
|
941
|
+
}
|
|
942
|
+
return false;
|
|
943
|
+
}
|
|
944
|
+
function listener(event) {
|
|
945
|
+
if (!isActive) return;
|
|
946
|
+
const el = getTarget();
|
|
947
|
+
if (!el) return;
|
|
948
|
+
const eventTarget = event.target;
|
|
949
|
+
if (el === eventTarget || el.contains(eventTarget)) return;
|
|
950
|
+
if (shouldIgnore(event)) return;
|
|
951
|
+
handler(event);
|
|
952
|
+
}
|
|
953
|
+
for (const eventName of events) {
|
|
954
|
+
document.addEventListener(eventName, listener, { passive: true, capture: true });
|
|
955
|
+
}
|
|
956
|
+
const dispose = () => {
|
|
957
|
+
for (const eventName of events) {
|
|
958
|
+
document.removeEventListener(eventName, listener, { capture: true });
|
|
959
|
+
}
|
|
960
|
+
};
|
|
961
|
+
dispose.enable = () => {
|
|
962
|
+
isActive = true;
|
|
963
|
+
};
|
|
964
|
+
dispose.disable = () => {
|
|
965
|
+
isActive = false;
|
|
966
|
+
};
|
|
967
|
+
return dispose;
|
|
968
|
+
}
|
|
924
969
|
|
|
925
970
|
// src/portal.ts
|
|
926
971
|
var Portal = defineComponent((ctx) => {
|
|
@@ -3298,9 +3343,9 @@ function animateSpring(el, target, options = {}) {
|
|
|
3298
3343
|
} = options;
|
|
3299
3344
|
const current = {};
|
|
3300
3345
|
const velocity = {};
|
|
3301
|
-
const
|
|
3346
|
+
const computed4 = window.getComputedStyle(el);
|
|
3302
3347
|
for (const prop of Object.keys(target)) {
|
|
3303
|
-
current[prop] = parseFloat(
|
|
3348
|
+
current[prop] = parseFloat(computed4.getPropertyValue(prop)) || 0;
|
|
3304
3349
|
velocity[prop] = 0;
|
|
3305
3350
|
}
|
|
3306
3351
|
let animating = true;
|
|
@@ -4546,6 +4591,6 @@ function globalEventBus() {
|
|
|
4546
4591
|
return globalBus;
|
|
4547
4592
|
}
|
|
4548
4593
|
|
|
4549
|
-
export { Await, ErrorBoundary, HYDRATE_ATTR, Image, LWWRegister, Portal, Suspense, Switch, Transition, VirtualFor, animate, animateGroup, animateSequence, animateSpring, animateStagger, applyDirective, applyStyles, assignTransitionName, awaitSignal, bindClass, bindClasses, bindDimensions, bindElement, bindGroup, bindGroupItem, bindScroll, bindStyle, bindStyles, calculateRange, capitalize, chain, checkForLeaks, claimElement, claimText, clearProviders, clearQueryState, clearStores, collectSSRHead, countOps, createApp, createDataTable, createEventBus, createFlip, createInjector, createLocalTransport, createMachine, createOfflineStore, createSlots, createSync, createTimer, createToaster, createWebSocketTransport, css, currency, cx, date, deepSignal, defer, defineAsyncComponent, defineCustomElement, defineDirective, defineFormAction, definePipe, definePlugin, defineProvider, defineSnippet, defineStates, defineStore, directiveFromFn, disableLeakDetection, discoverStaticRoutes, easings, enableLeakDetection, enableSnapshots, enterTransition, escapeHtml, exitTransition, findHydrationBoundaries, flip, formatProfile, generatePaths, generateSWScript, generateSitemap, generateTransitionCSS, getActiveEffects, getLeakDetectionStats, getProfileSummary, getQueryParams, getSuspenseContext, getTransitionClasses, globalEventBus, hasSlot, hydrate, injectProvider, inspect, isDeepSignal, isHydrationActive, isLeakDetectionEnabled, isProfiling, isServerRendering, json, keyframes, longestIncreasingSubsequence, lowercase, match, measureAsync, measureSync, nodeToHtml, number, onEvent, percent, pipe, plural, prerender, progressiveHydrate, reconcileKeys, recordPerfEntry, registerPending, registerServiceWorker, relativeTime, removeDirectives, removeQueryState, renderHeadToString, renderNodes, renderSlot, renderSwitch, renderToStream, renderToString, renderToStringSync, reportLeaks, resetQueryState, sitemapFromResults, ssrElement, ssrRaw, ssrText, startProfiling, startViewTransition, stopProfiling, subscribePush, supportsViewTransitions, titleCase, toCustomElement, toRaw, trackEffect, trim, truncate, tweened, untrackEffect, updateDirective, uppercase, urlToFilePath, useAnnounce, useBreakpoint, useClipboard, useCounter, useDebounce, useFocusTrap, useGeolocation, useHead, useInfiniteScroll, useInterval, useKeyboard, useMediaQuery, useOnline, useOpenGraph, usePrevious, useQueryState, useQueryStates, useSEO, useStorage, useStructuredData, useTheme, useThrottle, useTimeout, useToggle, useTwitterCard, useVirtualList, useWindowSize, vAutoFocus, vClickOutside, vIntersect, vLongPress, vResize, viewTransitionCSS, watch, watchDebounced, watchOnce, withModifiers };
|
|
4594
|
+
export { Await, ErrorBoundary, HYDRATE_ATTR, Image, LWWRegister, Portal, Suspense, Switch, Transition, VirtualFor, animate, animateGroup, animateSequence, animateSpring, animateStagger, applyDirective, applyStyles, assignTransitionName, awaitSignal, bindClass, bindClasses, bindDimensions, bindElement, bindGroup, bindGroupItem, bindScroll, bindStyle, bindStyles, calculateRange, capitalize, chain, checkForLeaks, claimElement, claimText, clearProviders, clearQueryState, clearStores, collectSSRHead, countOps, createApp, createDataTable, createEventBus, createFlip, createInjector, createLocalTransport, createMachine, createOfflineStore, createSlots, createSync, createTimer, createToaster, createWebSocketTransport, css, currency, cx, date, deepSignal, defer, defineAsyncComponent, defineCustomElement, defineDirective, defineFormAction, definePipe, definePlugin, defineProvider, defineSnippet, defineStates, defineStore, directiveFromFn, disableLeakDetection, discoverStaticRoutes, easings, enableLeakDetection, enableSnapshots, enterTransition, escapeHtml, exitTransition, findHydrationBoundaries, flip, formatProfile, generatePaths, generateSWScript, generateSitemap, generateTransitionCSS, getActiveEffects, getLeakDetectionStats, getProfileSummary, getQueryParams, getSuspenseContext, getTransitionClasses, globalEventBus, hasSlot, hydrate, injectProvider, inspect, isDeepSignal, isHydrationActive, isLeakDetectionEnabled, isProfiling, isServerRendering, json, keyframes, longestIncreasingSubsequence, lowercase, match, measureAsync, measureSync, nodeToHtml, number, onEvent, percent, pipe, plural, prerender, progressiveHydrate, reconcileKeys, recordPerfEntry, registerPending, registerServiceWorker, relativeTime, removeDirectives, removeQueryState, renderHeadToString, renderNodes, renderSlot, renderSwitch, renderToStream, renderToString, renderToStringSync, reportLeaks, resetQueryState, sitemapFromResults, ssrElement, ssrRaw, ssrText, startProfiling, startViewTransition, stopProfiling, subscribePush, supportsViewTransitions, titleCase, toCustomElement, toRaw, trackEffect, trim, truncate, tweened, untrackEffect, updateDirective, uppercase, urlToFilePath, useAnnounce, useBreakpoint, useClickOutside, useClipboard, useCounter, useDebounce, useFocusTrap, useGeolocation, useHead, useInfiniteScroll, useInterval, useKeyboard, useMediaQuery, useOnline, useOpenGraph, usePrevious, useQueryState, useQueryStates, useSEO, useStorage, useStructuredData, useTheme, useThrottle, useTimeout, useToggle, useTwitterCard, useVirtualList, useWindowSize, vAutoFocus, vClickOutside, vIntersect, vLongPress, vResize, viewTransitionCSS, watch, watchDebounced, watchOnce, withModifiers };
|
|
4550
4595
|
//# sourceMappingURL=index.js.map
|
|
4551
4596
|
//# sourceMappingURL=index.js.map
|