@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/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 computed5 = window.getComputedStyle(el);
3346
+ const computed4 = window.getComputedStyle(el);
3302
3347
  for (const prop of Object.keys(target)) {
3303
- current[prop] = parseFloat(computed5.getPropertyValue(prop)) || 0;
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