UNPKG

@asadi/angular-date-components

Version:

`Angular Date Components` is a comprehensive angular library of date-related components designed to meet the needs of applications that require localization based on various calendar systems. While the package currently includes two powerful components (S

24 lines 7.14 kB
import { debounceTime, distinctUntilChanged, fromEvent, map, merge, switchMap, takeUntil } from "rxjs"; export class Interactions { static { this.click = (element, destroy) => fromEvent(element, 'click').pipe(takeUntil(destroy), map(e => e)); } static { this.tooltip = (element, delay, destroy, scrollableContainer = null) => { const mouseEnter$ = fromEvent(element, 'mouseenter'); const mouseLeave$ = fromEvent(element, 'mouseleave').pipe(map(e => { return { state: 'hide', coordinates: { x: e.clientX, y: e.clientY } }; })); const mouseMove$ = fromEvent(element, 'mousemove'); const scrollObservables = [ fromEvent(window, 'scroll'), ...(scrollableContainer ? [fromEvent(scrollableContainer, 'scroll')] : []) ]; const scroll$ = merge(...scrollObservables).pipe(map(() => ({ state: 'hide', coordinates: { x: 0, y: 0 } }))); return mouseEnter$.pipe(switchMap(() => merge(mouseMove$.pipe(map((e) => { return { state: 'hide', coordinates: { x: e.clientX, y: e.clientY } }; })), // Hide on every move mouseMove$.pipe(debounceTime(delay), map((e) => { return { state: 'show', coordinates: { x: e.clientX, y: e.clientY } }; })), // Show after delay if steady mouseLeave$, scroll$).pipe(takeUntil(mouseLeave$), distinctUntilChanged((prev, curr) => prev.state === curr.state))), takeUntil(destroy)); }; } } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW50ZXJhY3Rpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYXNhZGkvYW5ndWxhci1kYXRlLWNvbXBvbmVudHMvY29yZS9zcmMvSW50ZXJhY3Rpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsb0JBQW9CLEVBQVMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQTZCLFNBQVMsRUFBRSxTQUFTLEVBQU8sTUFBTSxNQUFNLENBQUM7QUFFOUksTUFBTSxPQUFPLFlBQVk7YUFFTCxVQUFLLEdBQUcsQ0FBQyxPQUFvQixFQUFFLE9BQXlCLEVBQTBCLEVBQUUsQ0FDaEcsU0FBUyxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQWUsQ0FBQyxDQUFDLENBQUM7YUFFcEUsWUFBTyxHQUFHLENBQUMsT0FBb0IsRUFBRSxLQUFhLEVBQUUsT0FBeUIsRUFBRSxzQkFBMEMsSUFBSSxFQUE2RSxFQUFFO1FBRXBOLE1BQU0sV0FBVyxHQUFHLFNBQVMsQ0FBYSxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUM7UUFDakUsTUFBTSxXQUFXLEdBQUcsU0FBUyxDQUFhLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFO1lBQzFFLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBZSxFQUFFLFdBQVcsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFDLEVBQUMsQ0FBQTtRQUM5RSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ0osTUFBTSxVQUFVLEdBQUcsU0FBUyxDQUFhLE9BQU8sRUFBRSxXQUFXLENBQUMsQ0FBQztRQUUvRCxNQUFNLGlCQUFpQixHQUFHO1lBQ3RCLFNBQVMsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO1lBQzNCLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsbUJBQW1CLEVBQUUsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQzNFLENBQUM7UUFFSixNQUFNLE9BQU8sR0FBRyxLQUFLLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxDQUFDLElBQUksQ0FDNUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsTUFBZSxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUNyRSxDQUFDO1FBRUosT0FBTyxXQUFXLENBQUMsSUFBSSxDQUNuQixTQUFTLENBQUMsR0FBRyxFQUFFLENBQ1gsS0FBSyxDQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7WUFDdEIsT0FBTyxFQUFDLEtBQUssRUFBRSxNQUFlLEVBQUUsV0FBVyxFQUFFLEVBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUMsRUFBQyxDQUFBO1FBQzlFLENBQUMsQ0FBQyxDQUFDLEVBQUUscUJBQXFCO1FBQzFCLFVBQVUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLEtBQUssQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFO1lBQzNDLE9BQU8sRUFBQyxLQUFLLEVBQUUsTUFBZSxFQUFFLFdBQVcsRUFBRSxFQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxFQUFDLEVBQUMsQ0FBQTtRQUM5RSxDQUFDLENBQUMsQ0FBQyxFQUFFLDZCQUE2QjtRQUNsQyxXQUFXLEVBQ1gsT0FBTyxDQUNWLENBQUMsSUFBSSxDQUNGLFNBQVMsQ0FBQyxXQUFXLENBQUMsRUFDdEIsb0JBQW9CLENBQUMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FDbEUsQ0FDSixFQUNELFNBQVMsQ0FBQyxPQUFPLENBQUMsQ0FDckIsQ0FBQztJQUNOLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIEVNUFRZLCBmcm9tRXZlbnQsIG1hcCwgbWVyZ2UsIE9ic2VydmFibGUsIG9mLCBzdGFydFdpdGgsIHN3aXRjaE1hcCwgdGFrZVVudGlsLCB0YXAgfSBmcm9tIFwicnhqc1wiO1xyXG5cclxuZXhwb3J0IGNsYXNzIEludGVyYWN0aW9uc1xyXG57XHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgY2xpY2sgPSAoZWxlbWVudDogSFRNTEVsZW1lbnQsIGRlc3Ryb3k6IE9ic2VydmFibGU8dm9pZD4pOiBPYnNlcnZhYmxlPE1vdXNlRXZlbnQ+ID0+XHJcbiAgICAgICAgZnJvbUV2ZW50KGVsZW1lbnQsICdjbGljaycpLnBpcGUodGFrZVVudGlsKGRlc3Ryb3kpLCBtYXAoZSA9PiBlIGFzIE1vdXNlRXZlbnQpKTtcclxuXHJcbiAgICBzdGF0aWMgcmVhZG9ubHkgdG9vbHRpcCA9IChlbGVtZW50OiBIVE1MRWxlbWVudCwgZGVsYXk6IG51bWJlciwgZGVzdHJveTogT2JzZXJ2YWJsZTx2b2lkPiwgc2Nyb2xsYWJsZUNvbnRhaW5lcjogSFRNTEVsZW1lbnQgfCBudWxsID0gbnVsbCk6IE9ic2VydmFibGU8e3N0YXRlOiAnc2hvdycgfCAnaGlkZScsIGNvb3JkaW5hdGVzOiB7eDogbnVtYmVyLCB5OiBudW1iZXJ9fT4gPT4ge1xyXG5cclxuICAgICAgICBjb25zdCBtb3VzZUVudGVyJCA9IGZyb21FdmVudDxNb3VzZUV2ZW50PihlbGVtZW50LCAnbW91c2VlbnRlcicpO1xyXG4gICAgICAgIGNvbnN0IG1vdXNlTGVhdmUkID0gZnJvbUV2ZW50PE1vdXNlRXZlbnQ+KGVsZW1lbnQsICdtb3VzZWxlYXZlJykucGlwZShtYXAoZSA9PiB7XHJcbiAgICAgICAgICAgIHJldHVybiB7c3RhdGU6ICdoaWRlJyBhcyBjb25zdCwgY29vcmRpbmF0ZXM6IHt4OiBlLmNsaWVudFgsIHk6IGUuY2xpZW50WX19XHJcbiAgICAgICAgfSkpO1xyXG4gICAgICAgIGNvbnN0IG1vdXNlTW92ZSQgPSBmcm9tRXZlbnQ8TW91c2VFdmVudD4oZWxlbWVudCwgJ21vdXNlbW92ZScpO1xyXG5cclxuICAgICAgICBjb25zdCBzY3JvbGxPYnNlcnZhYmxlcyA9IFtcclxuICAgICAgICAgICAgZnJvbUV2ZW50KHdpbmRvdywgJ3Njcm9sbCcpLFxyXG4gICAgICAgICAgICAuLi4oc2Nyb2xsYWJsZUNvbnRhaW5lciA/IFtmcm9tRXZlbnQoc2Nyb2xsYWJsZUNvbnRhaW5lciwgJ3Njcm9sbCcpXSA6IFtdKVxyXG4gICAgICAgICAgXTtcclxuICAgICAgICBcclxuICAgICAgICBjb25zdCBzY3JvbGwkID0gbWVyZ2UoLi4uc2Nyb2xsT2JzZXJ2YWJsZXMpLnBpcGUoXHJcbiAgICAgICAgICAgIG1hcCgoKSA9PiAoeyBzdGF0ZTogJ2hpZGUnIGFzIGNvbnN0LCBjb29yZGluYXRlczogeyB4OiAwLCB5OiAwIH0gfSkpXHJcbiAgICAgICAgICApO1xyXG5cclxuICAgICAgICByZXR1cm4gbW91c2VFbnRlciQucGlwZShcclxuICAgICAgICAgICAgc3dpdGNoTWFwKCgpID0+IFxyXG4gICAgICAgICAgICAgICAgbWVyZ2UoXHJcbiAgICAgICAgICAgICAgICAgICAgbW91c2VNb3ZlJC5waXBlKG1hcCgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3N0YXRlOiAnaGlkZScgYXMgY29uc3QsIGNvb3JkaW5hdGVzOiB7eDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFl9fVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKSwgLy8gSGlkZSBvbiBldmVyeSBtb3ZlXHJcbiAgICAgICAgICAgICAgICAgICAgbW91c2VNb3ZlJC5waXBlKGRlYm91bmNlVGltZShkZWxheSksIG1hcCgoZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4ge3N0YXRlOiAnc2hvdycgYXMgY29uc3QsIGNvb3JkaW5hdGVzOiB7eDogZS5jbGllbnRYLCB5OiBlLmNsaWVudFl9fVxyXG4gICAgICAgICAgICAgICAgICAgIH0pKSwgLy8gU2hvdyBhZnRlciBkZWxheSBpZiBzdGVhZHlcclxuICAgICAgICAgICAgICAgICAgICBtb3VzZUxlYXZlJCxcclxuICAgICAgICAgICAgICAgICAgICBzY3JvbGwkXHJcbiAgICAgICAgICAgICAgICApLnBpcGUoXHJcbiAgICAgICAgICAgICAgICAgICAgdGFrZVVudGlsKG1vdXNlTGVhdmUkKSxcclxuICAgICAgICAgICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgocHJldiwgY3VycikgPT4gcHJldi5zdGF0ZSA9PT0gY3Vyci5zdGF0ZSlcclxuICAgICAgICAgICAgICAgIClcclxuICAgICAgICAgICAgKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKGRlc3Ryb3kpXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufVxyXG5cclxuIl19