@venizia/ardor-react 0.4.7 → 0.4.8-1

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.
Files changed (68) hide show
  1. package/README.md +1 -1
  2. package/dist/hooks/element-target.d.ts +9 -0
  3. package/dist/hooks/element-target.js +7 -0
  4. package/dist/hooks/index.d.ts +6 -1
  5. package/dist/hooks/index.js +5 -1
  6. package/dist/hooks/redux/use-app-selector.js +27 -2
  7. package/dist/hooks/resize-observation.d.ts +19 -0
  8. package/dist/hooks/resize-observation.js +67 -0
  9. package/dist/hooks/use-artifact.js +2 -2
  10. package/dist/hooks/use-copy-to-clipboard.d.ts +8 -1
  11. package/dist/hooks/use-copy-to-clipboard.js +26 -15
  12. package/dist/hooks/use-document-visibility.d.ts +3 -0
  13. package/dist/hooks/use-document-visibility.js +10 -0
  14. package/dist/hooks/use-element-size.d.ts +2 -1
  15. package/dist/hooks/use-element-size.js +11 -20
  16. package/dist/hooks/use-injectable.d.ts +1 -1
  17. package/dist/hooks/use-injectable.js +3 -3
  18. package/dist/hooks/use-intersection.d.ts +16 -0
  19. package/dist/hooks/use-intersection.js +38 -0
  20. package/dist/hooks/use-media-query.d.ts +5 -0
  21. package/dist/hooks/use-media-query.js +14 -0
  22. package/dist/hooks/use-online-status.d.ts +3 -0
  23. package/dist/hooks/use-online-status.js +14 -0
  24. package/dist/hooks/use-resize-effect.d.ts +19 -0
  25. package/dist/hooks/use-resize-effect.js +30 -0
  26. package/dist/hooks/use-stored-state.d.ts +13 -1
  27. package/dist/hooks/use-stored-state.js +39 -15
  28. package/package.json +15 -15
  29. package/dist/contexts/application.d.ts.map +0 -1
  30. package/dist/contexts/application.js.map +0 -1
  31. package/dist/contexts/index.d.ts.map +0 -1
  32. package/dist/contexts/index.js.map +0 -1
  33. package/dist/hooks/index.d.ts.map +0 -1
  34. package/dist/hooks/index.js.map +0 -1
  35. package/dist/hooks/redux/index.d.ts.map +0 -1
  36. package/dist/hooks/redux/index.js.map +0 -1
  37. package/dist/hooks/redux/use-app-dispatch.d.ts.map +0 -1
  38. package/dist/hooks/redux/use-app-dispatch.js.map +0 -1
  39. package/dist/hooks/redux/use-app-selector.d.ts.map +0 -1
  40. package/dist/hooks/redux/use-app-selector.js.map +0 -1
  41. package/dist/hooks/use-application-context.d.ts.map +0 -1
  42. package/dist/hooks/use-application-context.js.map +0 -1
  43. package/dist/hooks/use-artifact.d.ts.map +0 -1
  44. package/dist/hooks/use-artifact.js.map +0 -1
  45. package/dist/hooks/use-autosave.d.ts.map +0 -1
  46. package/dist/hooks/use-autosave.js.map +0 -1
  47. package/dist/hooks/use-before-unload.d.ts.map +0 -1
  48. package/dist/hooks/use-before-unload.js.map +0 -1
  49. package/dist/hooks/use-confirm.d.ts.map +0 -1
  50. package/dist/hooks/use-confirm.js.map +0 -1
  51. package/dist/hooks/use-copy-to-clipboard.d.ts.map +0 -1
  52. package/dist/hooks/use-copy-to-clipboard.js.map +0 -1
  53. package/dist/hooks/use-debounce.d.ts.map +0 -1
  54. package/dist/hooks/use-debounce.js.map +0 -1
  55. package/dist/hooks/use-element-size.d.ts.map +0 -1
  56. package/dist/hooks/use-element-size.js.map +0 -1
  57. package/dist/hooks/use-injectable.d.ts.map +0 -1
  58. package/dist/hooks/use-injectable.js.map +0 -1
  59. package/dist/hooks/use-sizer.d.ts +0 -10
  60. package/dist/hooks/use-sizer.d.ts.map +0 -1
  61. package/dist/hooks/use-sizer.js +0 -23
  62. package/dist/hooks/use-sizer.js.map +0 -1
  63. package/dist/hooks/use-stored-state.d.ts.map +0 -1
  64. package/dist/hooks/use-stored-state.js.map +0 -1
  65. package/dist/hooks/use-window-dimensions.d.ts.map +0 -1
  66. package/dist/hooks/use-window-dimensions.js.map +0 -1
  67. package/dist/index.d.ts.map +0 -1
  68. package/dist/index.js.map +0 -1
package/README.md CHANGED
@@ -17,7 +17,7 @@ which re-exports this package.
17
17
  | Context | `ApplicationContext`, `useApplicationContext`, `useApplicationLogger` |
18
18
  | Injection | `useInjectable` - resolve a binding by key or by class |
19
19
  | Redux | `DispatchHooks.create`, `SelectorHooks.create` - factories that bind your `RootState` and `AppDispatch` (the old `createAppDispatch` and `createAppSelectors` are removed; `bun run ardor codemod namespace` moves your code) |
20
- | UI hooks | `useDebounce`, `useAutosave`, `useConfirm`, `useBeforeUnload`, `useCopyToClipboard`, `useSizer`, `useWindowDimensions` |
20
+ | UI hooks | `useDebounce`, `useAutosave`, `useConfirm`, `useBeforeUnload`, `useCopyToClipboard`, `useWindowDimensions` |
21
21
  | Types | `TUseInjectableKeys` |
22
22
 
23
23
  ## Typing your own binding keys
@@ -0,0 +1,9 @@
1
+ import type React from 'react';
2
+ /** An element, a ref to one, or `null` for none yet. */
3
+ export type TElementTarget = React.RefObject<Element | null> | Element | null;
4
+ export declare class ElementTargets {
5
+ static resolve(opts: {
6
+ target: TElementTarget;
7
+ }): Element | null;
8
+ }
9
+ //# sourceMappingURL=element-target.d.ts.map
@@ -0,0 +1,7 @@
1
+ export class ElementTargets {
2
+ static resolve(opts) {
3
+ const { target } = opts;
4
+ return target && 'current' in target ? target.current : target;
5
+ }
6
+ }
7
+ //# sourceMappingURL=element-target.js.map
@@ -1,3 +1,4 @@
1
+ export type { TElementTarget } from './element-target.js';
1
2
  export * from './redux/index.js';
2
3
  export * from './use-application-context.js';
3
4
  export * from './use-artifact.js';
@@ -6,9 +7,13 @@ export * from './use-before-unload.js';
6
7
  export * from './use-confirm.js';
7
8
  export * from './use-copy-to-clipboard.js';
8
9
  export * from './use-debounce.js';
10
+ export * from './use-document-visibility.js';
9
11
  export * from './use-element-size.js';
10
12
  export * from './use-injectable.js';
11
- export * from './use-sizer.js';
13
+ export * from './use-intersection.js';
14
+ export * from './use-media-query.js';
15
+ export * from './use-online-status.js';
16
+ export * from './use-resize-effect.js';
12
17
  export * from './use-stored-state.js';
13
18
  export * from './use-window-dimensions.js';
14
19
  //# sourceMappingURL=index.d.ts.map
@@ -6,9 +6,13 @@ export * from './use-before-unload.js';
6
6
  export * from './use-confirm.js';
7
7
  export * from './use-copy-to-clipboard.js';
8
8
  export * from './use-debounce.js';
9
+ export * from './use-document-visibility.js';
9
10
  export * from './use-element-size.js';
10
11
  export * from './use-injectable.js';
11
- export * from './use-sizer.js';
12
+ export * from './use-intersection.js';
13
+ export * from './use-media-query.js';
14
+ export * from './use-online-status.js';
15
+ export * from './use-resize-effect.js';
12
16
  export * from './use-stored-state.js';
13
17
  export * from './use-window-dimensions.js';
14
18
  //# sourceMappingURL=index.js.map
@@ -1,5 +1,30 @@
1
- import isEqual from 'lodash/isEqual.js';
2
1
  import { shallowEqual, useSelector } from 'react-redux';
2
+ const isPlain = (value) => {
3
+ return (typeof value === 'object' &&
4
+ value !== null &&
5
+ (Array.isArray(value) || [Object.prototype, null].includes(Object.getPrototypeOf(value))));
6
+ };
7
+ /**
8
+ * Equality by value for what a selector returns: primitives, plain objects, arrays and dates, none
9
+ * of them cyclic; `0` equals `-0`, and `NaN` equals `NaN`. Any other object (a `Map`, a class
10
+ * instance) is equal only to itself.
11
+ */
12
+ const deepEqual = (a, b) => {
13
+ if (a === b || Object.is(a, b)) {
14
+ return true;
15
+ }
16
+ if (a instanceof Date && b instanceof Date) {
17
+ return Object.is(a.getTime(), b.getTime());
18
+ }
19
+ if (!isPlain(a) || !isPlain(b) || Array.isArray(a) !== Array.isArray(b)) {
20
+ return false;
21
+ }
22
+ const keys = Object.keys(a);
23
+ return (keys.length === Object.keys(b).length &&
24
+ keys.every((key) => {
25
+ return Object.hasOwn(b, key) && deepEqual(Reflect.get(a, key), Reflect.get(b, key));
26
+ }));
27
+ };
3
28
  export class SelectorHooks {
4
29
  /** The three typed selector hooks of a store: bind your `RootState` once, and export what comes back. */
5
30
  static create() {
@@ -8,7 +33,7 @@ export class SelectorHooks {
8
33
  return useAppSelector(selector, shallowEqual);
9
34
  };
10
35
  const useDeepEqualSelector = (selector) => {
11
- return useAppSelector(selector, isEqual);
36
+ return useAppSelector(selector, deepEqual);
12
37
  };
13
38
  return {
14
39
  useAppSelector,
@@ -0,0 +1,19 @@
1
+ /** The boxes `useElementSize` and `useResizeEffect` read. */
2
+ export type TResizeBox = Exclude<ResizeObserverBoxOptions, 'device-pixel-content-box'>;
3
+ export interface IResizeObservationOptions {
4
+ box: TResizeBox;
5
+ /** Also observe the direct children of each target, and again whenever they change. */
6
+ children?: boolean;
7
+ /** Called at most once per animation frame, with the latest entry of each element that resized. */
8
+ onFrame: (entries: ResizeObserverEntry[]) => void;
9
+ }
10
+ export interface IResizeObservation {
11
+ /** Observes these elements and stops observing the ones no longer listed. */
12
+ sync: (targets: Element[]) => void;
13
+ stop: () => void;
14
+ }
15
+ export declare class ResizeObservation {
16
+ /** Does nothing without `ResizeObserver`. */
17
+ static observe(opts: IResizeObservationOptions): IResizeObservation;
18
+ }
19
+ //# sourceMappingURL=resize-observation.d.ts.map
@@ -0,0 +1,67 @@
1
+ export class ResizeObservation {
2
+ /** Does nothing without `ResizeObserver`. */
3
+ static observe(opts) {
4
+ const { box, children = false, onFrame } = opts;
5
+ if (typeof ResizeObserver === 'undefined') {
6
+ return { sync: () => { }, stop: () => { } };
7
+ }
8
+ const latest = new Map();
9
+ let watched = new Set();
10
+ let current = [];
11
+ let frame;
12
+ const observer = new ResizeObserver((entries) => {
13
+ for (const entry of entries) {
14
+ latest.set(entry.target, entry);
15
+ }
16
+ if (frame !== undefined) {
17
+ return;
18
+ }
19
+ frame = requestAnimationFrame(() => {
20
+ frame = undefined;
21
+ const batch = [...latest.values()];
22
+ latest.clear();
23
+ if (batch.length > 0) {
24
+ onFrame(batch);
25
+ }
26
+ });
27
+ });
28
+ const update = (targets) => {
29
+ const wanted = new Set(children ? targets.flatMap((target) => [target, ...target.children]) : targets);
30
+ for (const element of watched) {
31
+ if (!wanted.has(element)) {
32
+ observer.unobserve(element);
33
+ latest.delete(element);
34
+ }
35
+ }
36
+ for (const element of wanted) {
37
+ if (!watched.has(element)) {
38
+ observer.observe(element, { box });
39
+ }
40
+ }
41
+ watched = wanted;
42
+ };
43
+ const mutations = children ? new MutationObserver(() => update(current)) : undefined;
44
+ return {
45
+ sync: (targets) => {
46
+ if (targets.length === current.length &&
47
+ targets.every((target, index) => target === current[index])) {
48
+ return;
49
+ }
50
+ current = targets;
51
+ update(targets);
52
+ // A removed target stays registered on `mutations` until `stop`; its callback only updates the current targets.
53
+ for (const target of targets) {
54
+ mutations?.observe(target, { childList: true });
55
+ }
56
+ },
57
+ stop: () => {
58
+ mutations?.disconnect();
59
+ observer.disconnect();
60
+ if (frame !== undefined) {
61
+ cancelAnimationFrame(frame);
62
+ }
63
+ },
64
+ };
65
+ }
66
+ }
67
+ //# sourceMappingURL=resize-observation.js.map
@@ -1,6 +1,6 @@
1
1
  import { BindingNamespaces } from '@venizia/ardor-kernel';
2
2
  import { getError } from '@venizia/ignis-inversion';
3
- import { useInjectable, useInjectableContainer, } from './use-injectable.js';
3
+ import { useInjectable, useApplicationContainer, } from './use-injectable.js';
4
4
  /**
5
5
  * `useService`, `useRepository`, `useProvider`, `useComponent`, `useConfiguration`. Unlike
6
6
  * `useInjectable`, a `{ target }` must be bound under the hook's namespace, or it throws.
@@ -8,7 +8,7 @@ import { useInjectable, useInjectableContainer, } from './use-injectable.js';
8
8
  const useArtifactInNamespace = (opts) => {
9
9
  const { options, namespace, hook } = opts;
10
10
  // Same inputs as `useInjectable`, so the check and the resolve read one container.
11
- const container = useInjectableContainer({ container: options.container });
11
+ const container = useApplicationContainer({ container: options.container });
12
12
  // A `key` carries its namespace in the string; only a `target` is checked.
13
13
  if (options.target) {
14
14
  const key = container.getMetadataRegistry().getBindingKey({ target: options.target });
@@ -1,7 +1,14 @@
1
+ export interface IUseCopyToClipboardOptions {
2
+ /** Set `isCopied` back to `false` this many milliseconds after a copy; 0 or less never resets. @default 0 */
3
+ resetMs?: number;
4
+ }
1
5
  export interface IUseCopyToClipboardReturn {
6
+ /** Resolves `true` when the text is on the clipboard and `false` otherwise, and never throws. */
2
7
  copy: (opts: {
3
8
  value: string;
4
9
  }) => Promise<boolean>;
10
+ /** The result of the last copy, until `resetMs` has passed. */
11
+ isCopied: boolean;
5
12
  }
6
- export declare const useCopyToClipboard: () => IUseCopyToClipboardReturn;
13
+ export declare const useCopyToClipboard: (opts?: IUseCopyToClipboardOptions) => IUseCopyToClipboardReturn;
7
14
  //# sourceMappingURL=use-copy-to-clipboard.d.ts.map
@@ -1,21 +1,32 @@
1
+ import React from 'react';
1
2
  import { LoggerFactory } from '@venizia/ignis-helpers/core';
3
+ import { BrowserClipboard } from '@venizia/ardor-kernel';
2
4
  const logger = LoggerFactory.getLogger(['useCopyToClipboard']);
3
- // A hook is never handed an async function, so the copy lives outside it; it holds no state, which is
4
- // why the hook returns the same function on every render, as `useCallback(..., [])` did.
5
+ // A hook is never handed an async function, so the copy lives outside it.
5
6
  const copyToClipboard = async (opts) => {
6
- if (!navigator?.clipboard) {
7
- logger.warn('[copy] The clipboard is not supported');
8
- return false;
9
- }
10
- const { value } = opts;
11
- try {
12
- await navigator.clipboard.writeText(value);
13
- return true;
14
- }
15
- catch (error) {
16
- logger.warn('[copy] Copy failed | error: %s', error);
17
- return false;
7
+ const isCopied = await BrowserClipboard.writeText({ text: opts.value });
8
+ if (!isCopied) {
9
+ logger.warn('[copy] The clipboard did not take the text');
18
10
  }
11
+ return isCopied;
12
+ };
13
+ export const useCopyToClipboard = (opts = {}) => {
14
+ const { resetMs = 0 } = opts;
15
+ const [isCopied, setCopied] = React.useState(false);
16
+ const timerRef = React.useRef(undefined);
17
+ React.useEffect(() => {
18
+ return () => clearTimeout(timerRef.current);
19
+ }, []);
20
+ const copy = React.useCallback((copyOpts) => {
21
+ return copyToClipboard(copyOpts).then((isDone) => {
22
+ clearTimeout(timerRef.current);
23
+ setCopied(isDone);
24
+ if (isDone && resetMs > 0) {
25
+ timerRef.current = setTimeout(() => setCopied(false), resetMs);
26
+ }
27
+ return isDone;
28
+ });
29
+ }, [resetMs]);
30
+ return { copy, isCopied };
19
31
  };
20
- export const useCopyToClipboard = () => ({ copy: copyToClipboard });
21
32
  //# sourceMappingURL=use-copy-to-clipboard.js.map
@@ -0,0 +1,3 @@
1
+ /** `'visible'` or `'hidden'`, as the document says. `'visible'` in a server render. */
2
+ export declare const useDocumentVisibility: () => DocumentVisibilityState;
3
+ //# sourceMappingURL=use-document-visibility.d.ts.map
@@ -0,0 +1,10 @@
1
+ import React from 'react';
2
+ const subscribe = (listener) => {
3
+ document.addEventListener('visibilitychange', listener);
4
+ return () => document.removeEventListener('visibilitychange', listener);
5
+ };
6
+ /** `'visible'` or `'hidden'`, as the document says. `'visible'` in a server render. */
7
+ export const useDocumentVisibility = () => {
8
+ return React.useSyncExternalStore(subscribe, () => document.visibilityState, () => 'visible');
9
+ };
10
+ //# sourceMappingURL=use-document-visibility.js.map
@@ -1,9 +1,10 @@
1
1
  import React from 'react';
2
+ import { type TResizeBox } from './resize-observation.js';
2
3
  export interface IUseElementSizeOptions {
3
4
  /** The element to measure. Leave it out to measure the element the returned `ref` is given to. */
4
5
  ref?: React.RefObject<Element | null>;
5
6
  /** @default 'content-box' */
6
- box?: 'content-box' | 'border-box';
7
+ box?: TResizeBox;
7
8
  /** Round width and height to whole pixels, so a fractional size does not render again. @default false */
8
9
  round?: boolean;
9
10
  }
@@ -1,4 +1,5 @@
1
1
  import React from 'react';
2
+ import { ResizeObservation } from './resize-observation.js';
2
3
  const ZERO_SIZE = { width: 0, height: 0, measured: false };
3
4
  const readSize = (opts) => {
4
5
  const { entry, box, round } = opts;
@@ -16,36 +17,26 @@ export function useElementSize(opts = {}) {
16
17
  React.useEffect(() => {
17
18
  setSize((current) => (current.measured ? ZERO_SIZE : current));
18
19
  const target = ref ? ref.current : element;
19
- if (!target || typeof ResizeObserver === 'undefined') {
20
+ if (!target) {
20
21
  return () => { };
21
22
  }
22
- let frame;
23
- let latest;
24
- const observer = new ResizeObserver((entries) => {
25
- latest = entries[entries.length - 1];
26
- if (frame !== undefined) {
27
- return;
28
- }
29
- frame = requestAnimationFrame(() => {
30
- frame = undefined;
31
- if (!latest) {
23
+ const observation = ResizeObservation.observe({
24
+ box,
25
+ onFrame: (entries) => {
26
+ const entry = entries.at(-1);
27
+ if (!entry) {
32
28
  return;
33
29
  }
34
- const next = readSize({ entry: latest, box, round });
30
+ const next = readSize({ entry, box, round });
35
31
  setSize((current) => {
36
32
  return current.measured && current.width === next.width && current.height === next.height
37
33
  ? current
38
34
  : next;
39
35
  });
40
- });
36
+ },
41
37
  });
42
- observer.observe(target, { box });
43
- return () => {
44
- observer.disconnect();
45
- if (frame !== undefined) {
46
- cancelAnimationFrame(frame);
47
- }
48
- };
38
+ observation.sync([target]);
39
+ return observation.stop;
49
40
  }, [ref, element, box, round]);
50
41
  return ref ? size : { ...size, ref: setElement };
51
42
  }
@@ -17,7 +17,7 @@ export type TUseInjectableOptions = {
17
17
  * The container an injectable hook resolves from: the one passed in, else the application's. Shared,
18
18
  * so a hook never checks one container and resolves from another.
19
19
  */
20
- export declare const useInjectableContainer: (opts?: {
20
+ export declare const useApplicationContainer: (opts?: {
21
21
  container?: Container;
22
22
  }) => Container;
23
23
  export declare const useInjectable: <TInstance>(opts: TUseInjectableOptions) => TInstance;
@@ -5,18 +5,18 @@ import { ApplicationContext } from '../contexts/application.js';
5
5
  * The container an injectable hook resolves from: the one passed in, else the application's. Shared,
6
6
  * so a hook never checks one container and resolves from another.
7
7
  */
8
- export const useInjectableContainer = (opts) => {
8
+ export const useApplicationContainer = (opts) => {
9
9
  const applicationContext = React.useContext(ApplicationContext);
10
10
  const container = opts?.container ?? applicationContext.container;
11
11
  if (!container) {
12
12
  throw getError({
13
- message: '[useInjectable] Failed to determine injectable container!',
13
+ message: '[useApplicationContainer] Failed to determine the application container!',
14
14
  });
15
15
  }
16
16
  return container;
17
17
  };
18
18
  export const useInjectable = (opts) => {
19
- const container = useInjectableContainer({ container: opts?.container });
19
+ const container = useApplicationContainer({ container: opts?.container });
20
20
  const { key, target } = opts;
21
21
  if (key) {
22
22
  if (!container.isBound({ key })) {
@@ -0,0 +1,16 @@
1
+ import { type TElementTarget } from './element-target.js';
2
+ export interface IUseIntersectionOptions {
3
+ /** Read after every render: an element, a ref to one, or `null`. */
4
+ target: TElementTarget;
5
+ /** @default '0px' */
6
+ rootMargin?: string;
7
+ /** The ratio of the element in view at which an entry is delivered. @default 0 */
8
+ threshold?: number;
9
+ }
10
+ /**
11
+ * The latest `IntersectionObserverEntry` of the target, or `undefined` before the first one and
12
+ * where there is no `IntersectionObserver`. The state changes only when `isIntersecting` or the
13
+ * ratio changed. A new element, `rootMargin` or `threshold` starts again from `undefined`.
14
+ */
15
+ export declare const useIntersection: (opts: IUseIntersectionOptions) => IntersectionObserverEntry | undefined;
16
+ //# sourceMappingURL=use-intersection.d.ts.map
@@ -0,0 +1,38 @@
1
+ import React from 'react';
2
+ import { ElementTargets } from './element-target.js';
3
+ /**
4
+ * The latest `IntersectionObserverEntry` of the target, or `undefined` before the first one and
5
+ * where there is no `IntersectionObserver`. The state changes only when `isIntersecting` or the
6
+ * ratio changed. A new element, `rootMargin` or `threshold` starts again from `undefined`.
7
+ */
8
+ export const useIntersection = (opts) => {
9
+ const { target, rootMargin, threshold } = opts;
10
+ const [element, setElement] = React.useState(null);
11
+ const [entry, setEntry] = React.useState();
12
+ // oxlint-disable-next-line react-hooks/exhaustive-deps -- the target is read after every render, and a state set to the same element renders nothing
13
+ React.useEffect(() => {
14
+ setElement(ElementTargets.resolve({ target }));
15
+ });
16
+ React.useEffect(() => {
17
+ setEntry(undefined);
18
+ if (!element || typeof IntersectionObserver === 'undefined') {
19
+ return () => { };
20
+ }
21
+ const observer = new IntersectionObserver((entries) => {
22
+ const latest = entries.at(-1);
23
+ if (!latest) {
24
+ return;
25
+ }
26
+ setEntry((current) => {
27
+ return current?.isIntersecting === latest.isIntersecting &&
28
+ current.intersectionRatio === latest.intersectionRatio
29
+ ? current
30
+ : latest;
31
+ });
32
+ }, { rootMargin, threshold });
33
+ observer.observe(element);
34
+ return () => observer.disconnect();
35
+ }, [element, rootMargin, threshold]);
36
+ return entry;
37
+ };
38
+ //# sourceMappingURL=use-intersection.js.map
@@ -0,0 +1,5 @@
1
+ /** Whether the media query matches now, and again after each change. `false` in a server render. */
2
+ export declare const useMediaQuery: (opts: {
3
+ query: string;
4
+ }) => boolean;
5
+ //# sourceMappingURL=use-media-query.d.ts.map
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ /** Whether the media query matches now, and again after each change. `false` in a server render. */
3
+ export const useMediaQuery = (opts) => {
4
+ const { query } = opts;
5
+ const subscribe = React.useMemo(() => {
6
+ return (listener) => {
7
+ const list = window.matchMedia(query);
8
+ list.addEventListener('change', listener);
9
+ return () => list.removeEventListener('change', listener);
10
+ };
11
+ }, [query]);
12
+ return React.useSyncExternalStore(subscribe, () => window.matchMedia(query).matches, () => false);
13
+ };
14
+ //# sourceMappingURL=use-media-query.js.map
@@ -0,0 +1,3 @@
1
+ /** Whether the browser is online, kept by the `online` and `offline` events. `true` in a server render. */
2
+ export declare const useOnlineStatus: () => boolean;
3
+ //# sourceMappingURL=use-online-status.d.ts.map
@@ -0,0 +1,14 @@
1
+ import React from 'react';
2
+ const subscribe = (listener) => {
3
+ window.addEventListener('online', listener);
4
+ window.addEventListener('offline', listener);
5
+ return () => {
6
+ window.removeEventListener('online', listener);
7
+ window.removeEventListener('offline', listener);
8
+ };
9
+ };
10
+ /** Whether the browser is online, kept by the `online` and `offline` events. `true` in a server render. */
11
+ export const useOnlineStatus = () => {
12
+ return React.useSyncExternalStore(subscribe, () => navigator.onLine, () => true);
13
+ };
14
+ //# sourceMappingURL=use-online-status.js.map
@@ -0,0 +1,19 @@
1
+ import { type TElementTarget } from './element-target.js';
2
+ import { type TResizeBox } from './resize-observation.js';
3
+ export interface IUseResizeEffectOptions {
4
+ /** Read after every render: an element, a ref to one, or `null`, which is skipped. */
5
+ targets: TElementTarget[];
6
+ /** Receives the latest entry of each element that resized since the last call. */
7
+ onResize: (entries: ResizeObserverEntry[]) => void;
8
+ /** @default 'content-box' */
9
+ box?: TResizeBox;
10
+ /** Also observe the direct children of each target, and again whenever they change. @default false */
11
+ children?: boolean;
12
+ }
13
+ /**
14
+ * Calls `onResize` at most once per animation frame when any of the targets resizes. A new
15
+ * `onResize` is used without observing again, and the targets are read after every render, so an
16
+ * element held in state, a ref whose element changed and a list that grows or shrinks are followed.
17
+ */
18
+ export declare const useResizeEffect: (opts: IUseResizeEffectOptions) => void;
19
+ //# sourceMappingURL=use-resize-effect.d.ts.map
@@ -0,0 +1,30 @@
1
+ import React from 'react';
2
+ import { ElementTargets } from './element-target.js';
3
+ import { ResizeObservation } from './resize-observation.js';
4
+ /**
5
+ * Calls `onResize` at most once per animation frame when any of the targets resizes. A new
6
+ * `onResize` is used without observing again, and the targets are read after every render, so an
7
+ * element held in state, a ref whose element changed and a list that grows or shrinks are followed.
8
+ */
9
+ export const useResizeEffect = (opts) => {
10
+ const { targets, onResize, box = 'content-box', children = false } = opts;
11
+ const handleResize = React.useRef(onResize);
12
+ const observation = React.useRef(undefined);
13
+ React.useEffect(() => {
14
+ handleResize.current = onResize;
15
+ return () => { };
16
+ }, [onResize]);
17
+ React.useEffect(() => {
18
+ const created = ResizeObservation.observe({
19
+ box,
20
+ children,
21
+ onFrame: (entries) => handleResize.current(entries),
22
+ });
23
+ observation.current = created;
24
+ return created.stop;
25
+ }, [box, children]);
26
+ React.useEffect(() => {
27
+ observation.current?.sync(targets.flatMap((target) => ElementTargets.resolve({ target }) ?? []));
28
+ });
29
+ };
30
+ //# sourceMappingURL=use-resize-effect.js.map
@@ -6,16 +6,28 @@ export interface IUseStoredStateOptions<TValue> {
6
6
  storage?: TStorageArea;
7
7
  /** @default JSON */
8
8
  codec?: IStorageCodec<TValue>;
9
+ /** Write storage once, this many milliseconds after the last `setValue`; `value` changes at once. @default 0 */
10
+ writeDelayMs?: number;
9
11
  }
10
12
  export interface IUseStoredStateReturn<TValue> {
11
13
  value: TValue;
12
14
  setValue: (next: TValue | ((current: TValue) => TValue)) => void;
13
15
  remove: () => void;
14
16
  }
17
+ export interface IUseStoredState {
18
+ /** With a codec, the value type is the codec's: a literal `defaultValue` is checked against it, not widened past it. */
19
+ <TValue>(opts: Omit<IUseStoredStateOptions<TValue>, 'defaultValue' | 'codec'> & {
20
+ defaultValue: NoInfer<TValue>;
21
+ codec: IStorageCodec<TValue>;
22
+ }): IUseStoredStateReturn<TValue>;
23
+ <TValue>(opts: IUseStoredStateOptions<TValue>): IUseStoredStateReturn<TValue>;
24
+ }
15
25
  /**
16
26
  * A value kept in `localStorage` or `sessionStorage`, in step with other hooks on the key, with code
17
27
  * that writes through `BrowserStorage`, and with other tabs. Pass a stable `codec` and `defaultValue`.
18
28
  * A write or a removal that the storage refuses is kept in this hook until the storage next changes.
29
+ * With `writeDelayMs` the value waits in the same place for the delay: a change of the storage from
30
+ * outside drops it, and an unmount or a new key or storage writes it at once.
19
31
  */
20
- export declare const useStoredState: <TValue>(opts: IUseStoredStateOptions<TValue>) => IUseStoredStateReturn<TValue>;
32
+ export declare const useStoredState: IUseStoredState;
21
33
  //# sourceMappingURL=use-stored-state.d.ts.map
@@ -1,30 +1,48 @@
1
1
  import React from 'react';
2
- import { BrowserStorage } from '@venizia/ardor-kernel';
3
- /** Reads the stored text as it is, `null` when there is none. */
4
- const RAW_TEXT = {
5
- encode: (text) => text ?? '',
6
- decode: (text) => text,
7
- };
2
+ import { BrowserStorage, StorageCodecs, } from '@venizia/ardor-kernel';
3
+ const RAW_TEXT = StorageCodecs.text();
8
4
  const isUpdater = (next) => typeof next === 'function';
9
5
  /**
10
6
  * A value kept in `localStorage` or `sessionStorage`, in step with other hooks on the key, with code
11
7
  * that writes through `BrowserStorage`, and with other tabs. Pass a stable `codec` and `defaultValue`.
12
8
  * A write or a removal that the storage refuses is kept in this hook until the storage next changes.
9
+ * With `writeDelayMs` the value waits in the same place for the delay: a change of the storage from
10
+ * outside drops it, and an unmount or a new key or storage writes it at once.
13
11
  */
14
12
  export const useStoredState = (opts) => {
15
- const { key, defaultValue, storage, codec } = opts;
13
+ const { key, defaultValue, storage, codec, writeDelayMs = 0 } = opts;
16
14
  const decoded = React.useRef(undefined);
15
+ const keptRef = React.useRef(undefined);
16
+ const timerRef = React.useRef(undefined);
17
17
  const [kept, setKept] = React.useState();
18
+ // Every change of the kept value ends a pending write; only a delayed setValue starts one.
19
+ const keep = React.useCallback((next) => {
20
+ clearTimeout(timerRef.current);
21
+ timerRef.current = undefined;
22
+ keptRef.current = next;
23
+ setKept(next);
24
+ }, []);
25
+ const write = React.useCallback((entry) => {
26
+ keep(BrowserStorage.set(entry) ? undefined : entry);
27
+ }, [keep]);
28
+ // A new key or storage, and an unmount, write the pending value to the key it was set for.
29
+ React.useEffect(() => {
30
+ return () => {
31
+ if (timerRef.current !== undefined && keptRef.current) {
32
+ write(keptRef.current);
33
+ }
34
+ };
35
+ }, [key, storage, write]);
18
36
  const subscribe = React.useCallback((listener) => {
19
37
  return BrowserStorage.subscribe({
20
38
  key,
21
39
  storage,
22
40
  listener: () => {
23
- setKept(undefined);
41
+ keep(undefined);
24
42
  listener();
25
43
  },
26
44
  });
27
- }, [key, storage]);
45
+ }, [key, storage, keep]);
28
46
  const getSnapshot = React.useCallback(() => {
29
47
  const text = BrowserStorage.get({ key, storage, fallback: null, codec: RAW_TEXT });
30
48
  if (text === null) {
@@ -41,14 +59,20 @@ export const useStoredState = (opts) => {
41
59
  const stored = React.useSyncExternalStore(subscribe, getSnapshot, () => defaultValue);
42
60
  const value = kept?.key === key && kept.storage === storage ? kept.value : stored;
43
61
  const setValue = React.useCallback((next) => {
44
- const resolved = isUpdater(next) ? next(value) : next;
45
- const isStored = BrowserStorage.set({ key, value: resolved, storage, codec });
46
- setKept(isStored ? undefined : { key, storage, value: resolved });
47
- }, [key, storage, codec, value]);
62
+ const hit = keptRef.current;
63
+ const current = hit?.key === key && hit.storage === storage ? hit.value : getSnapshot();
64
+ const entry = { key, storage, codec, value: isUpdater(next) ? next(current) : next };
65
+ if (!(writeDelayMs > 0)) {
66
+ write(entry);
67
+ return;
68
+ }
69
+ keep(entry);
70
+ timerRef.current = setTimeout(() => write(entry), writeDelayMs);
71
+ }, [key, storage, codec, writeDelayMs, getSnapshot, keep, write]);
48
72
  const remove = React.useCallback(() => {
49
73
  const isRemoved = BrowserStorage.remove({ key, storage });
50
- setKept(isRemoved ? undefined : { key, storage, value: defaultValue });
51
- }, [key, storage, defaultValue]);
74
+ keep(isRemoved ? undefined : { key, storage, value: defaultValue });
75
+ }, [key, storage, defaultValue, keep]);
52
76
  return { value, setValue, remove };
53
77
  };
54
78
  //# sourceMappingURL=use-stored-state.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ardor-react",
3
- "version": "0.4.7",
3
+ "version": "0.4.8-1",
4
4
  "description": "ARDOR React bindings - the application context, the injectable and logger hooks that read it, typed Redux hook factories, and the framework-agnostic UI hooks (debounce, autosave, confirm, clipboard, sizer, window dimensions). No react-admin.",
5
5
  "keywords": [
6
6
  "ardor",
@@ -35,6 +35,7 @@
35
35
  "LICENSE.md",
36
36
  "dist",
37
37
  "!/**/__tests__",
38
+ "!**/*.map",
38
39
  "!**/*.tsbuildinfo"
39
40
  ],
40
41
  "type": "module",
@@ -58,8 +59,7 @@
58
59
  "prepublishOnly": "make rebuild"
59
60
  },
60
61
  "dependencies": {
61
- "@venizia/ardor-kernel": "0.4.7",
62
- "lodash": "^4.18.1"
62
+ "@venizia/ardor-kernel": "0.4.8-1"
63
63
  },
64
64
  "devDependencies": {
65
65
  "@happy-dom/global-registrator": "^21.0.4",
@@ -67,17 +67,18 @@
67
67
  "@size-limit/preset-small-lib": "^14.2.0",
68
68
  "@testing-library/react": "^16.3.3",
69
69
  "@types/bun": "^1.4.3",
70
- "@types/lodash": "^4.17.27",
71
70
  "@types/react": "^19",
72
- "@venizia/dev-configs": "^0.4.7",
73
- "@venizia/ignis-filter": "^0.4.6",
74
- "@venizia/ignis-helpers": "^0.4.7",
75
- "@venizia/ignis-inversion": "^0.4.6",
76
- "@venizia/ignis-kernel": "^0.4.7",
71
+ "@types/react-dom": "^19",
72
+ "@venizia/dev-configs": "^0.4.8-0",
73
+ "@venizia/ignis-filter": "^0.4.7-0",
74
+ "@venizia/ignis-helpers": "^0.4.8-0",
75
+ "@venizia/ignis-inversion": "^0.4.7-0",
76
+ "@venizia/ignis-kernel": "^0.4.8-0",
77
77
  "eslint": "^10.13.0",
78
78
  "oxlint": "1.89.0",
79
79
  "oxlint-tsgolint": "7.0.2004",
80
80
  "react": "^19.3.1",
81
+ "react-dom": "^19.3.1",
81
82
  "react-redux": "^9.3.0",
82
83
  "reflect-metadata": "^0.2.2",
83
84
  "size-limit": "^14.2.0",
@@ -86,10 +87,10 @@
86
87
  },
87
88
  "peerDependencies": {
88
89
  "@reduxjs/toolkit": ">=2.13.0",
89
- "@venizia/ignis-filter": "^0.4.6",
90
- "@venizia/ignis-helpers": "^0.4.7",
91
- "@venizia/ignis-inversion": "^0.4.6",
92
- "@venizia/ignis-kernel": "^0.4.7",
90
+ "@venizia/ignis-filter": "^0.4.7-0",
91
+ "@venizia/ignis-helpers": "^0.4.8-0",
92
+ "@venizia/ignis-inversion": "^0.4.7-0",
93
+ "@venizia/ignis-kernel": "^0.4.8-0",
93
94
  "react": ">=19.3.1",
94
95
  "react-redux": ">=9.3.0",
95
96
  "reflect-metadata": ">=0.2.2"
@@ -107,11 +108,10 @@
107
108
  "@reduxjs/toolkit",
108
109
  "@venizia/ardor-kernel",
109
110
  "@venizia/ignis-inversion",
110
- "lodash",
111
111
  "react",
112
112
  "react-redux"
113
113
  ],
114
- "limit": "2.55 KB"
114
+ "limit": "3450 B"
115
115
  }
116
116
  ],
117
117
  "engines": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.d.ts","sourceRoot":"","sources":["../../src/contexts/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAC;AAE1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,WAAW,wBAAwB;IACvC,SAAS,EAAE,SAAS,GAAG,IAAI,CAAC;IAC5B,MAAM,EAAE,OAAO,GAAG,IAAI,CAAC;CACxB;AAED,eAAO,MAAM,kBAAkB,yCAG7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"application.js","sourceRoot":"","sources":["../../src/contexts/application.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,MAAM,CAAC,MAAM,kBAAkB,GAAG,KAAK,CAAC,aAAa,CAA2B;IAC9E,SAAS,EAAE,IAAI;IACf,MAAM,EAAE,IAAI;CACb,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/contexts/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/hooks/index.ts"],"names":[],"mappings":"AAAA,cAAc,SAAS,CAAC;AACxB,cAAc,2BAA2B,CAAC;AAC1C,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,qBAAqB,CAAC;AACpC,cAAc,eAAe,CAAC;AAC9B,cAAc,yBAAyB,CAAC;AACxC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,kBAAkB,CAAC;AACjC,cAAc,aAAa,CAAC;AAC5B,cAAc,oBAAoB,CAAC;AACnC,cAAc,yBAAyB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/hooks/redux/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/hooks/redux/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,oBAAoB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-app-dispatch.d.ts","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-dispatch.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAGhE,qBAAa,aAAa;IACxB,qGAAqG;IACrG,MAAM,CAAC,MAAM,CAAC,SAAS,SAAS,QAAQ,CAAC,aAAa,CAAC,GAAG,QAAQ,CAAC,aAAa,CAAC;;mDAS9D,0BAAoB;;CAkBxC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-app-dispatch.js","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-dispatch.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAG1B,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,OAAO,aAAa;IACxB,qGAAqG;IACrG,MAAM,CAAC,MAAM;QACX,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAa,CAAC;QAE1D,MAAM,sBAAsB,GAAG,GAAG,EAAE;YAClC,MAAM,QAAQ,GAAG,cAAc,EAAE,CAAC;YAIlC,MAAM,gBAAgB,GAAG,KAAK,CAAC,WAAW,CACxC,CAAC,GAAG,OAA6B,EAAE,EAAE;gBACnC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;oBACzB,IAAI,MAAM,EAAE,CAAC;wBACX,QAAQ,CAAC,MAAM,CAAC,CAAC;oBACnB,CAAC;gBACH,CAAC,CAAC,CAAC;YACL,CAAC,EACD,CAAC,QAAQ,CAAC,CACX,CAAC;YAEF,OAAO,gBAAgB,CAAC;QAC1B,CAAC,CAAC;QAEF,OAAO;YACL,cAAc;YACd,sBAAsB;SACvB,CAAC;IACJ,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-app-selector.d.ts","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-selector.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,yGAAyG;IACzG,MAAM,CAAC,MAAM,CAAC,MAAM;;kCAGe,SAAS,YAAY,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS;+BAIpD,SAAS,YAAY,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS;;CAUlF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-app-selector.js","sourceRoot":"","sources":["../../../src/hooks/redux/use-app-selector.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,mBAAmB,CAAC;AACxC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAExD,MAAM,OAAO,aAAa;IACxB,yGAAyG;IACzG,MAAM,CAAC,MAAM;QACX,MAAM,cAAc,GAAG,WAAW,CAAC,SAAS,EAAU,CAAC;QAEvD,MAAM,uBAAuB,GAAG,CAAY,QAAsC,EAAE,EAAE;YACpF,OAAO,cAAc,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QAChD,CAAC,CAAC;QAEF,MAAM,oBAAoB,GAAG,CAAY,QAAsC,EAAE,EAAE;YACjF,OAAO,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,CAAC;QAEF,OAAO;YACL,cAAc;YACd,uBAAuB;YACvB,oBAAoB;SACrB,CAAC;IACJ,CAAC;CACF"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-application-context.d.ts","sourceRoot":"","sources":["../../src/hooks/use-application-context.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,qBAAqB,oDAUjC,CAAC;AAEF,eAAO,MAAM,oBAAoB,qDAUhC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-application-context.js","sourceRoot":"","sources":["../../src/hooks/use-application-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAEpD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAE7D,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACxC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAErD,IAAI,CAAC,OAAO,EAAE,SAAS,EAAE,CAAC;QACxB,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,0EAA0E;SACpF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,SAAS,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACvC,MAAM,OAAO,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAErD,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;QACrB,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,yEAAyE;SACnF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,OAAO,CAAC,MAAM,CAAC;AACxB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-artifact.d.ts","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EAGL,KAAK,kBAAkB,EAExB,MAAM,kBAAkB,CAAC;AAE1B,6DAA6D;AAC7D,MAAM,WAAW,oBAAoB,CAAC,SAAS;IAC7C,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IAC1B,GAAG,CAAC,EAAE,KAAK,CAAC;CACb;AAED,4CAA4C;AAC5C,MAAM,WAAW,iBAAiB;IAChC,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,GAAG,EAAE,kBAAkB,CAAC;IACxB,MAAM,CAAC,EAAE,KAAK,CAAC;CAChB;AAgCD,eAAO,MAAM,UAAU,GAAI,SAAS,GAAG,OAAO,EAC5C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,WAAW,GAAI,SAAS,GAAG,OAAO,EAC7C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,YAAY,GAAI,SAAS,GAAG,OAAO,EAC9C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,gBAAgB,GAAI,SAAS,GAAG,OAAO,EAClD,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC;AAEL,eAAO,MAAM,aAAa,GAAI,SAAS,GAAG,OAAO,EAC/C,MAAM,oBAAoB,CAAC,SAAS,CAAC,GAAG,iBAAiB,KACxD,SAKC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-artifact.js","sourceRoot":"","sources":["../../src/hooks/use-artifact.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAC;AAC1D,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAEjF,OAAO,EACL,aAAa,EACb,sBAAsB,GAGvB,MAAM,kBAAkB,CAAC;AAgB1B;;;GAGG;AACH,MAAM,sBAAsB,GAAG,CAAY,IAI1C,EAAa,EAAE;IACd,MAAM,EAAE,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAE1C,mFAAmF;IACnF,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IAE3E,2EAA2E;IAC3E,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,GAAG,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACtF,4EAA4E;QAC5E,MAAM,KAAK,GAAG,GAAG,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAE1D,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,SAAS,GAAG,CAAC,EAAE,CAAC;YAChD,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,IAAI,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,IAAI,iBAAiB,KAAK,iBAAiB,SAAS,4EAA4E;aACtK,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,OAAO,aAAa,CAAY,OAAO,CAAC,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CACxB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,OAAO;IACpC,IAAI,EAAE,YAAY;CACnB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,QAAQ;IACrC,IAAI,EAAE,aAAa;CACpB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,YAAY,GAAG,CAC1B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,SAAS;IACtC,IAAI,EAAE,cAAc;CACrB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAC9B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,aAAa;IAC1C,IAAI,EAAE,kBAAkB;CACzB,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,aAAa,GAAG,CAC3B,IAAyD,EAC9C,EAAE,CACb,sBAAsB,CAAY;IAChC,OAAO,EAAE,IAAI;IACb,SAAS,EAAE,iBAAiB,CAAC,UAAU;IACvC,IAAI,EAAE,eAAe;CACtB,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-autosave.d.ts","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAMA,MAAM,WAAW,mBAAmB,CAAC,KAAK,EAAE,OAAO;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC;IAC3D,oBAAoB;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAC9B,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAID,eAAO,MAAM,WAAW,GAAI,KAAK,EAAE,OAAO,EAAE,MAAM,mBAAmB,CAAC,KAAK,EAAE,OAAO,CAAC,SA4CpF,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-autosave.js","sourceRoot":"","sources":["../../src/hooks/use-autosave.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAY7C,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AAExD,MAAM,CAAC,MAAM,WAAW,GAAG,CAAiB,IAAyC,EAAE,EAAE;IACvF,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAG,IAAI,EAAE,mBAAmB,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAEpF,MAAM,cAAc,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAC1C,MAAM,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IACzC,MAAM,UAAU,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAExC,MAAM,EAAE,cAAc,EAAE,oBAAoB,EAAE,GAAG,WAAW,CAAC;QAC3D,KAAK,EAAE,IAAI;QACX,KAAK,EAAE,QAAQ;QACf,OAAO;KACR,CAAC,CAAC;IAEH,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,aAAa,CAAC,OAAO,EAAE,CAAC;YAC1B,aAAa,CAAC,OAAO,GAAG,KAAK,CAAC;YAC9B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;YACjF,MAAM,CAAC,KAAK,CAAC,0DAA0D,EAAE,KAAK,CAAC,CAAC;QAClF,CAAC,CAAC,CAAC;QACH,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,oBAAoB,CAAC,CAAC,CAAC;IAE3B,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,cAAc,CAAC,OAAO,GAAG,IAAI,CAAC;QAC9B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;IAEX,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,UAAU,CAAC,OAAO,GAAG,MAAM,CAAC;QAC5B,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;IAClB,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IAEb,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,mBAAmB,EAAE,CAAC;gBACzB,OAAO;YACT,CAAC;YACD,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,KAAc,EAAE,EAAE;gBACnF,MAAM,CAAC,KAAK,CAAC,2DAA2D,EAAE,KAAK,CAAC,CAAC;YACnF,CAAC,CAAC,CAAC;QACL,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,mBAAmB,CAAC,CAAC,CAAC;AAC5B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-before-unload.d.ts","sourceRoot":"","sources":["../../src/hooks/use-before-unload.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,uBAAuB;IACtC,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,eAAe,GAAI,MAAM,uBAAuB,SA0B5D,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-before-unload.js","sourceRoot":"","sources":["../../src/hooks/use-before-unload.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAQ1B,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAA6B,EAAE,EAAE;IAC/D,MAAM,EAAE,OAAO,GAAG,IAAI,EAAE,OAAO,EAAE,GAAG,IAAI,CAAC;IAEzC,MAAM,kBAAkB,GAAG,KAAK,CAAC,WAAW,CAC1C,CAAC,KAAwB,EAAE,EAAE;QAC3B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO;QACT,CAAC;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QAEvB,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,WAAW,GAAG,OAAO,CAAC;QAC9B,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC,EACD,CAAC,OAAO,EAAE,OAAO,CAAC,CACnB,CAAC;IAEF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,CAAC,gBAAgB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QAC5D,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,cAAc,EAAE,kBAAkB,CAAC,CAAC;QACjE,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,kBAAkB,CAAC,CAAC,CAAC;AAC3B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-confirm.d.ts","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,iBAAiB;IAChC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACzD,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,WAAW,EAAE,MAAM,IAAI,CAAC;CACzB;AAED,eAAO,MAAM,UAAU,QAAO,iBA+B7B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-confirm.js","sourceRoot":"","sources":["../../src/hooks/use-confirm.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAU1B,MAAM,CAAC,MAAM,UAAU,GAAG,GAAsB,EAAE;IAChD,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAA+C,SAAS,CAAC,CAAC;IAErF,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,KAAK,CAAC,QAAQ,EAAU,CAAC;IAEvD,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,IAAyB,EAAE,EAAE;QAC9D,uFAAuF;QACvF,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QAExB,OAAO,IAAI,OAAO,CAAU,CAAC,OAAO,EAAE,EAAE;YACtC,MAAM,CAAC,OAAO,GAAG,OAAO,CAAC;YACzB,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC3B,CAAC,CAAC,CAAC;IACL,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC;QAC3B,UAAU,CAAC,SAAS,CAAC,CAAC;IACxB,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QAC3C,MAAM,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC;QACvB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,CAAC,GAAG,EAAE;QACzC,MAAM,CAAC,OAAO,EAAE,CAAC,KAAK,CAAC,CAAC;QACxB,WAAW,EAAE,CAAC;IAChB,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,WAAW,EAAE,CAAC;AACvE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-copy-to-clipboard.d.ts","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,CAAC,IAAI,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CACrD;AAqBD,eAAO,MAAM,kBAAkB,QAAO,yBAAwD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-copy-to-clipboard.js","sourceRoot":"","sources":["../../src/hooks/use-copy-to-clipboard.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAE5D,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC;AAM/D,sGAAsG;AACtG,yFAAyF;AACzF,MAAM,eAAe,GAAG,KAAK,EAAE,IAAuB,EAAoB,EAAE;IAC1E,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,CAAC;QAC1B,MAAM,CAAC,IAAI,CAAC,uCAAuC,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC;IAEvB,IAAI,CAAC;QACH,MAAM,SAAS,CAAC,SAAS,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACrD,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,GAA8B,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-debounce.d.ts","sourceRoot":"","sources":["../../src/hooks/use-debounce.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB,CAAC,MAAM;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,oBAAoB;IACpB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,kBAAkB,CAAC,MAAM;IACxC,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,WAAW,GAAI,MAAM,EAChC,MAAM,mBAAmB,CAAC,MAAM,CAAC,KAChC,kBAAkB,CAAC,MAAM,CAoB3B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-debounce.js","sourceRoot":"","sources":["../../src/hooks/use-debounce.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,GAAG,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAa5D,MAAM,CAAC,MAAM,WAAW,GAAG,CACzB,IAAiC,EACL,EAAE;IAC9B,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,GAAG,IAAI,CAAC;IAE9C,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,KAAK,CAAC,CAAC;IAE1E,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,IAAI,CAAC,cAAc,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE;YAC5B,iBAAiB,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC,EAAE,KAAK,IAAI,GAAG,CAAC,qBAAqB,CAAC,CAAC;QAEvC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,KAAK,CAAC,CAAC;QACtB,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,CAAC;IAE5B,OAAO,EAAE,cAAc,EAAE,CAAC;AAC5B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-element-size.d.ts","sourceRoot":"","sources":["../../src/hooks/use-element-size.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,WAAW,sBAAsB;IACrC,kGAAkG;IAClG,GAAG,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAC;IACtC,6BAA6B;IAC7B,GAAG,CAAC,EAAE,aAAa,GAAG,YAAY,CAAC;IACnC,yGAAyG;IACzG,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,qBAAqB;IACpC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,iGAAiG;IACjG,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,wBAAyB,SAAQ,qBAAqB;IACrE,GAAG,EAAE,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;CACjC;AAmBD;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,sBAAsB,GAAG;IAAE,GAAG,EAAE,KAAK,CAAC,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC,CAAA;CAAE,GACtE,qBAAqB,CAAC;AACzB,wBAAgB,cAAc,CAC5B,IAAI,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,KAAK,CAAC,GACzC,wBAAwB,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-element-size.js","sourceRoot":"","sources":["../../src/hooks/use-element-size.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-injectable.d.ts","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,SAAS,EAAY,KAAK,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAEjF,OAAO,KAAK,EAAE,YAAY,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAGnE,MAAM,WAAW,2BAA2B;CAAG;AAE/C,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAAC,OAAO,CAAC,OAAO,YAAY,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,MAAM,kBAAkB,GAAG,yBAAyB,GAAG,MAAM,2BAA2B,CAAC;AAE/F,MAAM,MAAM,qBAAqB,GAC7B;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,EAAE,kBAAkB,CAAC;IAAC,MAAM,CAAC,EAAE,KAAK,CAAA;CAAE,GAClE;IAAE,SAAS,CAAC,EAAE,SAAS,CAAC;IAAC,GAAG,CAAC,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;AAEpE;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,OAAO;IAAE,SAAS,CAAC,EAAE,SAAS,CAAA;CAAE,KAAG,SAWzE,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,SAAS,EAAE,MAAM,qBAAqB,cA6BnE,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-injectable.js","sourceRoot":"","sources":["../../src/hooks/use-injectable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAkB,QAAQ,EAAe,MAAM,0BAA0B,CAAC;AAGjF,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAC;AAY7D;;;GAGG;AACH,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,IAAgC,EAAa,EAAE;IACpF,MAAM,kBAAkB,GAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;IAChE,MAAM,SAAS,GAAG,IAAI,EAAE,SAAS,IAAI,kBAAkB,CAAC,SAAS,CAAC;IAElE,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,2DAA2D;SACrE,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAY,IAA2B,EAAE,EAAE;IACtE,MAAM,SAAS,GAAG,sBAAsB,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,CAAC,CAAC;IAEzE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IAE7B,IAAI,GAAG,EAAE,CAAC;QACR,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC;YAChC,MAAM,QAAQ,CAAC;gBACb,OAAO,EAAE,gBAAgB,GAAG,sNAAsN;aACnP,CAAC,CAAC;QACL,CAAC;QAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,+EAA+E;SACzF,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAG,SAAS,CAAC,mBAAmB,EAAE,CAAC,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC,CAAC;IAC3E,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,QAAQ,CAAC;YACb,OAAO,EAAE,iDAAiD,MAAM,CAAC,IAAI,iKAAiK;SACvO,CAAC,CAAC;IACL,CAAC;IAED,OAAO,SAAS,CAAC,GAAG,CAAY,EAAE,GAAG,EAAE,QAAQ,EAAE,CAAC,CAAC;AACrD,CAAC,CAAC"}
@@ -1,10 +0,0 @@
1
- export interface IUseSizerOptions {
2
- containerId: string;
3
- }
4
- export interface IUseSizerReturn {
5
- width: number;
6
- height: number;
7
- }
8
- /** The offset size of the element with the id, kept up to date by a `ResizeObserver`. */
9
- export declare const useSizer: (opts: IUseSizerOptions) => IUseSizerReturn;
10
- //# sourceMappingURL=use-sizer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-sizer.d.ts","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,yFAAyF;AACzF,eAAO,MAAM,QAAQ,GAAI,MAAM,gBAAgB,KAAG,eAuBjD,CAAC"}
@@ -1,23 +0,0 @@
1
- import React from 'react';
2
- /** The offset size of the element with the id, kept up to date by a `ResizeObserver`. */
3
- export const useSizer = (opts) => {
4
- const { containerId } = opts;
5
- const [width, setWidth] = React.useState(0);
6
- const [height, setHeight] = React.useState(0);
7
- React.useEffect(() => {
8
- const container = document.getElementById(containerId);
9
- if (!container) {
10
- return () => { };
11
- }
12
- const sizeObserver = new ResizeObserver(() => {
13
- setWidth(container.offsetWidth);
14
- setHeight(container.offsetHeight);
15
- });
16
- sizeObserver.observe(container);
17
- return () => {
18
- sizeObserver.disconnect();
19
- };
20
- }, [containerId]);
21
- return { width, height };
22
- };
23
- //# sourceMappingURL=use-sizer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-sizer.js","sourceRoot":"","sources":["../../src/hooks/use-sizer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAW1B,yFAAyF;AACzF,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,IAAsB,EAAmB,EAAE;IAClE,MAAM,EAAE,WAAW,EAAE,GAAG,IAAI,CAAC;IAC7B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IACpD,MAAM,CAAC,MAAM,EAAE,SAAS,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAS,CAAC,CAAC,CAAC;IAEtD,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,SAAS,GAAG,QAAQ,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,OAAO,GAAG,EAAE,GAAE,CAAC,CAAC;QAClB,CAAC;QAED,MAAM,YAAY,GAAG,IAAI,cAAc,CAAC,GAAG,EAAE;YAC3C,QAAQ,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;YAChC,SAAS,CAAC,SAAS,CAAC,YAAY,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;QACH,YAAY,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAEhC,OAAO,GAAG,EAAE;YACV,YAAY,CAAC,UAAU,EAAE,CAAC;QAC5B,CAAC,CAAC;IACJ,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAC;IAElB,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stored-state.d.ts","sourceRoot":"","sources":["../../src/hooks/use-stored-state.ts"],"names":[],"mappings":"AAEA,OAAO,EAAkB,KAAK,aAAa,EAAE,KAAK,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAE9F,MAAM,WAAW,sBAAsB,CAAC,MAAM;IAC5C,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,uBAAuB;IACvB,OAAO,CAAC,EAAE,YAAY,CAAC;IACvB,oBAAoB;IACpB,KAAK,CAAC,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;CAC/B;AAED,MAAM,WAAW,qBAAqB,CAAC,MAAM;IAC3C,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,CAAC,CAAC,OAAO,EAAE,MAAM,KAAK,MAAM,CAAC,KAAK,IAAI,CAAC;IACjE,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AA0BD;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,MAAM,EACnC,MAAM,sBAAsB,CAAC,MAAM,CAAC,KACnC,qBAAqB,CAAC,MAAM,CAuD9B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-stored-state.js","sourceRoot":"","sources":["../../src/hooks/use-stored-state.ts"],"names":[],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-window-dimensions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAWA,eAAO,MAAM,mBAAmB;;;CAkB/B,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"use-window-dimensions.js","sourceRoot":"","sources":["../../src/hooks/use-window-dimensions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,8FAA8F;IAC9F,OAAO,cAAc,CAAC,SAAS,EAAE;QAC/B,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,WAAW,EAAE;QAC1D,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,GAAG,EAAE;IACtC,MAAM,CAAC,gBAAgB,EAAE,mBAAmB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,oBAAoB,CAAC,CAAC;IAErF,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE;QACnB,MAAM,aAAa,GAAG,GAAG,EAAE;YACzB,mBAAmB,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAC9C,CAAC,CAAC;QAEF,sDAAsD;QACtD,aAAa,EAAE,CAAC;QAChB,MAAM,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAEjD,OAAO,GAAG,EAAE;YACV,MAAM,CAAC,mBAAmB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QACtD,CAAC,CAAC;IACJ,CAAC,EAAE,EAAE,CAAC,CAAC;IAEP,OAAO,gBAAgB,CAAC;AAC1B,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,SAAS,CAAC"}