@tstdl/base 0.90.84 → 0.90.85
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/dom/index.d.ts +1 -0
- package/dom/index.js +1 -0
- package/dom/observation/index.d.ts +6 -0
- package/dom/observation/index.js +6 -0
- package/{rxjs → dom/observation}/intersection-observer.d.ts +3 -1
- package/{rxjs → dom/observation}/intersection-observer.js +8 -3
- package/dom/observation/media-query-observer.d.ts +12 -0
- package/dom/observation/media-query-observer.js +17 -0
- package/{rxjs → dom/observation}/mutation-observer.d.ts +1 -1
- package/{rxjs → dom/observation}/mutation-observer.js +3 -3
- package/{rxjs → dom/observation}/performance-observer.d.ts +1 -1
- package/{rxjs → dom/observation}/performance-observer.js +3 -3
- package/{rxjs → dom/observation}/resize-observer.d.ts +3 -1
- package/{rxjs → dom/observation}/resize-observer.js +7 -3
- package/{rxjs/touch.d.ts → dom/observation/touch-observer.d.ts} +3 -3
- package/{rxjs/touch.js → dom/observation/touch-observer.js} +2 -2
- package/package.json +3 -3
- package/rxjs/index.d.ts +0 -6
- package/rxjs/index.js +0 -6
- package/rxjs/media-query.d.ts +0 -6
- package/rxjs/media-query.js +0 -9
package/dom/index.d.ts
CHANGED
package/dom/index.js
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
|
+
import { Signal } from '../../signals/api.js';
|
|
1
2
|
import { Observable } from 'rxjs';
|
|
2
3
|
export type ObserveIntersectionOptions = IntersectionObserverInit & {
|
|
3
4
|
takeRecordsTrigger?: Observable<any>;
|
|
4
5
|
observeTrigger?: Observable<Element>;
|
|
5
6
|
unobserveTrigger?: Observable<Element>;
|
|
6
7
|
};
|
|
7
|
-
export declare function observeIntersection(elements: Element | Element[], options?: ObserveIntersectionOptions): Observable<IntersectionObserverEntry[]>;
|
|
8
|
+
export declare function observeIntersection$(elements: Element | Element[], options?: ObserveIntersectionOptions): Observable<IntersectionObserverEntry[]>;
|
|
9
|
+
export declare function observeIntersection(elements: Element | Element[], options?: ObserveIntersectionOptions): Signal<IntersectionObserverEntry[]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { toSignal } from '../../signals/api.js';
|
|
2
|
+
import { toArray } from '../../utils/array/array.js';
|
|
3
|
+
import { isDefined } from '../../utils/type-guards.js';
|
|
3
4
|
import { Observable } from 'rxjs';
|
|
4
|
-
export function observeIntersection(elements, options = {}) {
|
|
5
|
+
export function observeIntersection$(elements, options = {}) {
|
|
5
6
|
const { takeRecordsTrigger, observeTrigger, unobserveTrigger, ...init } = options;
|
|
6
7
|
return new Observable((subscriber) => {
|
|
7
8
|
const observer = new IntersectionObserver((entries) => subscriber.next(entries), init);
|
|
@@ -18,9 +19,13 @@ export function observeIntersection(elements, options = {}) {
|
|
|
18
19
|
if (isDefined(unobserveTrigger)) {
|
|
19
20
|
subscriptions.push(unobserveTrigger.subscribe({ next: (element) => observer.unobserve(element) }));
|
|
20
21
|
}
|
|
22
|
+
subscriber.next(observer.takeRecords());
|
|
21
23
|
return () => {
|
|
22
24
|
observer.disconnect();
|
|
23
25
|
subscriptions.forEach((subscription) => subscription.unsubscribe());
|
|
24
26
|
};
|
|
25
27
|
});
|
|
26
28
|
}
|
|
29
|
+
export function observeIntersection(elements, options) {
|
|
30
|
+
return toSignal(observeIntersection$(elements, options), { requireSync: true });
|
|
31
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { type Signal } from '../../signals/api.js';
|
|
2
|
+
import { type Observable } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an observable that emits whether the query matches
|
|
5
|
+
* @param query query to watch
|
|
6
|
+
*/
|
|
7
|
+
export declare function observeMediaQuery$(query: string): Observable<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Creates an signal that signals whether the query matches
|
|
10
|
+
* @param query query to watch
|
|
11
|
+
*/
|
|
12
|
+
export declare function observeMediaQuery(query: string): Signal<boolean>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { toSignal } from '../../signals/api.js';
|
|
2
|
+
import { fromEvent, map, startWith } from 'rxjs';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an observable that emits whether the query matches
|
|
5
|
+
* @param query query to watch
|
|
6
|
+
*/
|
|
7
|
+
export function observeMediaQuery$(query) {
|
|
8
|
+
const mediaQueryList = window.matchMedia(query);
|
|
9
|
+
return fromEvent(mediaQueryList, 'change').pipe(startWith(mediaQueryList), map(() => mediaQueryList.matches));
|
|
10
|
+
}
|
|
11
|
+
/**
|
|
12
|
+
* Creates an signal that signals whether the query matches
|
|
13
|
+
* @param query query to watch
|
|
14
|
+
*/
|
|
15
|
+
export function observeMediaQuery(query) {
|
|
16
|
+
return toSignal(observeMediaQuery$(query), { requireSync: true });
|
|
17
|
+
}
|
|
@@ -3,4 +3,4 @@ export type ObserveMutationOptions = MutationObserverInit & {
|
|
|
3
3
|
takeRecordsTrigger?: Observable<any>;
|
|
4
4
|
observeTrigger?: Observable<Node | [Node, MutationObserverInit?]>;
|
|
5
5
|
};
|
|
6
|
-
export declare function observeMutation(nodes: Node | (Node | [Node, MutationObserverInit?])[], options?: ObserveMutationOptions): Observable<MutationRecord[]>;
|
|
6
|
+
export declare function observeMutation$(nodes: Node | (Node | [Node, MutationObserverInit?])[], options?: ObserveMutationOptions): Observable<MutationRecord[]>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { toArray } from '
|
|
2
|
-
import { isArray, isDefined } from '
|
|
1
|
+
import { toArray } from '../../utils/array/array.js';
|
|
2
|
+
import { isArray, isDefined } from '../../utils/type-guards.js';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
export function observeMutation(nodes, options = {}) {
|
|
4
|
+
export function observeMutation$(nodes, options = {}) {
|
|
5
5
|
const { takeRecordsTrigger, observeTrigger, ...defaultInit } = options;
|
|
6
6
|
return new Observable((subscriber) => {
|
|
7
7
|
const observer = new MutationObserver((entries) => subscriber.next(entries));
|
|
@@ -5,4 +5,4 @@ export type ObservePerformanceOptions = {
|
|
|
5
5
|
};
|
|
6
6
|
export interface PerformanceObserverEntryListLike extends PerformanceObserverEntryList {
|
|
7
7
|
}
|
|
8
|
-
export declare function observePerformance(inits?: PerformanceObserverInit | PerformanceObserverInit[], options?: ObservePerformanceOptions): Observable<PerformanceObserverEntryListLike>;
|
|
8
|
+
export declare function observePerformance$(inits?: PerformanceObserverInit | PerformanceObserverInit[], options?: ObservePerformanceOptions): Observable<PerformanceObserverEntryListLike>;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { toArray } from '
|
|
2
|
-
import { isDefined } from '
|
|
1
|
+
import { toArray } from '../../utils/array/array.js';
|
|
2
|
+
import { isDefined } from '../../utils/type-guards.js';
|
|
3
3
|
import { Observable } from 'rxjs';
|
|
4
|
-
export function observePerformance(inits, options = {}) {
|
|
4
|
+
export function observePerformance$(inits, options = {}) {
|
|
5
5
|
const { takeRecordsTrigger, observeTrigger } = options;
|
|
6
6
|
return new Observable((subscriber) => {
|
|
7
7
|
const observer = new PerformanceObserver((entries) => subscriber.next(entries));
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
import { Signal } from '../../signals/api.js';
|
|
1
2
|
import { Observable } from 'rxjs';
|
|
2
3
|
export type ObserveResizeOptions = ResizeObserverOptions & {
|
|
3
4
|
observeTrigger?: Observable<Element>;
|
|
4
5
|
unobserveTrigger?: Observable<Element>;
|
|
5
6
|
};
|
|
6
|
-
export declare function observeResize(elements: Element | (Element | [Element, ResizeObserverOptions])[], options?: ObserveResizeOptions): Observable<ResizeObserverEntry[]>;
|
|
7
|
+
export declare function observeResize$(elements: Element | (Element | [Element, ResizeObserverOptions])[], options?: ObserveResizeOptions): Observable<ResizeObserverEntry[]>;
|
|
8
|
+
export declare function observeResize(elements: Element | (Element | [Element, ResizeObserverOptions])[], options?: ObserveResizeOptions): Signal<ResizeObserverEntry[]>;
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
1
|
+
import { toSignal } from '../../signals/api.js';
|
|
2
|
+
import { toArray } from '../../utils/array/array.js';
|
|
3
|
+
import { isArray, isDefined } from '../../utils/type-guards.js';
|
|
3
4
|
import { Observable } from 'rxjs';
|
|
4
|
-
export function observeResize(elements, options = {}) {
|
|
5
|
+
export function observeResize$(elements, options = {}) {
|
|
5
6
|
const { observeTrigger, unobserveTrigger, ...defaultOptions } = options;
|
|
6
7
|
return new Observable((subscriber) => {
|
|
7
8
|
const observer = new ResizeObserver((entries) => subscriber.next(entries));
|
|
@@ -21,6 +22,9 @@ export function observeResize(elements, options = {}) {
|
|
|
21
22
|
};
|
|
22
23
|
});
|
|
23
24
|
}
|
|
25
|
+
export function observeResize(elements, options) {
|
|
26
|
+
return toSignal(observeResize$(elements, options), { requireSync: true });
|
|
27
|
+
}
|
|
24
28
|
function observe(observer, element, defaultOptions) {
|
|
25
29
|
if (isArray(element)) {
|
|
26
30
|
observer.observe(element[0], element[1] ?? defaultOptions);
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type
|
|
1
|
+
import { type Observable } from 'rxjs';
|
|
2
2
|
import type { EventListenerOptions } from 'rxjs/internal/observable/fromEvent';
|
|
3
3
|
export type TouchEvents = {
|
|
4
4
|
start: TouchEvent | undefined;
|
|
@@ -7,7 +7,7 @@ export type TouchEvents = {
|
|
|
7
7
|
cancel: TouchEvent | undefined;
|
|
8
8
|
};
|
|
9
9
|
/**
|
|
10
|
-
*
|
|
10
|
+
* Creates an observable that emits object with the latest state from all touch events. Values are reset on every new start event
|
|
11
11
|
* @param element element to observe touches on
|
|
12
12
|
*/
|
|
13
|
-
export declare function observeTouch(element: HTMLElement, options?: EventListenerOptions): Observable<TouchEvents>;
|
|
13
|
+
export declare function observeTouch$(element: HTMLElement, options?: EventListenerOptions): Observable<TouchEvents>;
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
import { combineLatestWith, fromEvent, map, of, startWith, switchMap } from 'rxjs';
|
|
2
2
|
/**
|
|
3
|
-
*
|
|
3
|
+
* Creates an observable that emits object with the latest state from all touch events. Values are reset on every new start event
|
|
4
4
|
* @param element element to observe touches on
|
|
5
5
|
*/
|
|
6
|
-
export function observeTouch(element, options = {}) {
|
|
6
|
+
export function observeTouch$(element, options = {}) {
|
|
7
7
|
const start$ = fromEvent(element, 'touchstart', options).pipe(startWith(undefined));
|
|
8
8
|
const move$ = fromEvent(element, 'touchmove', options).pipe(startWith(undefined));
|
|
9
9
|
const end$ = fromEvent(element, 'touchend', options).pipe(startWith(undefined));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tstdl/base",
|
|
3
|
-
"version": "0.90.
|
|
3
|
+
"version": "0.90.85",
|
|
4
4
|
"author": "Patrick Hein",
|
|
5
5
|
"publishConfig": {
|
|
6
6
|
"access": "public"
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"eslint-plugin-import": "2.29",
|
|
131
131
|
"tsc-alias": "1.8",
|
|
132
132
|
"typedoc": "0.25",
|
|
133
|
-
"typedoc-plugin-missing-exports": "2.
|
|
133
|
+
"typedoc-plugin-missing-exports": "2.3",
|
|
134
134
|
"typescript": "5.4"
|
|
135
135
|
},
|
|
136
136
|
"peerDependencies": {
|
|
@@ -151,7 +151,7 @@
|
|
|
151
151
|
"playwright": "^1.44",
|
|
152
152
|
"preact": "^10.22",
|
|
153
153
|
"preact-render-to-string": "^6.5",
|
|
154
|
-
"undici": "^6.
|
|
154
|
+
"undici": "^6.19",
|
|
155
155
|
"urlpattern-polyfill": "^10.0"
|
|
156
156
|
},
|
|
157
157
|
"peerDependenciesMeta": {
|
package/rxjs/index.d.ts
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
export * from './cast.js';
|
|
2
|
-
export * from './intersection-observer.js';
|
|
3
|
-
export * from './media-query.js';
|
|
4
|
-
export * from './mutation-observer.js';
|
|
5
2
|
export * from './noop.js';
|
|
6
|
-
export * from './performance-observer.js';
|
|
7
3
|
export * from './reject-error.js';
|
|
8
|
-
export * from './resize-observer.js';
|
|
9
4
|
export * from './retry-backoff.js';
|
|
10
5
|
export * from './slow-array.js';
|
|
11
6
|
export * from './start-with-provider.js';
|
|
12
7
|
export * from './teardown.js';
|
|
13
8
|
export * from './timing.js';
|
|
14
|
-
export * from './touch.js';
|
|
15
9
|
export * from './untrack.js';
|
package/rxjs/index.js
CHANGED
|
@@ -1,15 +1,9 @@
|
|
|
1
1
|
export * from './cast.js';
|
|
2
|
-
export * from './intersection-observer.js';
|
|
3
|
-
export * from './media-query.js';
|
|
4
|
-
export * from './mutation-observer.js';
|
|
5
2
|
export * from './noop.js';
|
|
6
|
-
export * from './performance-observer.js';
|
|
7
3
|
export * from './reject-error.js';
|
|
8
|
-
export * from './resize-observer.js';
|
|
9
4
|
export * from './retry-backoff.js';
|
|
10
5
|
export * from './slow-array.js';
|
|
11
6
|
export * from './start-with-provider.js';
|
|
12
7
|
export * from './teardown.js';
|
|
13
8
|
export * from './timing.js';
|
|
14
|
-
export * from './touch.js';
|
|
15
9
|
export * from './untrack.js';
|
package/rxjs/media-query.d.ts
DELETED
package/rxjs/media-query.js
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { fromEvent, map, startWith } from 'rxjs';
|
|
2
|
-
/**
|
|
3
|
-
* creates an observable that emits whether the query matches
|
|
4
|
-
* @param query query to watch
|
|
5
|
-
*/
|
|
6
|
-
export function observeMediaQuery(query) {
|
|
7
|
-
const mediaQueryList = window.matchMedia(query);
|
|
8
|
-
return fromEvent(mediaQueryList, 'change').pipe(startWith(mediaQueryList), map(() => mediaQueryList.matches));
|
|
9
|
-
}
|