UNPKG

@taiga-ui/core

Version:

Core library for creating Angular components and applications using Taiga UI

31 lines 5.52 kB
import { Optional, SkipSelf, } from '@angular/core'; import { tuiProvide } from '@taiga-ui/cdk/utils/miscellaneous'; export class TuiAccessor { } export class TuiPositionAccessor extends TuiAccessor { } export class TuiRectAccessor extends TuiAccessor { } export function tuiProvideAccessor(provide, type, fallback) { return { provide, deps: [[new SkipSelf(), new Optional(), provide], fallback], useFactory: tuiFallbackAccessor(type), }; } export function tuiFallbackAccessor(type) { return (accessors, fallback) => accessors?.find?.((accessor) => accessor !== fallback && accessor.type === type) || fallback; } export function tuiPositionAccessorFor(type, fallback) { return tuiProvideAccessor(TuiPositionAccessor, type, fallback); } export function tuiRectAccessorFor(type, fallback) { return tuiProvideAccessor(TuiRectAccessor, type, fallback); } export function tuiAsPositionAccessor(accessor) { return tuiProvide(TuiPositionAccessor, accessor, true); } export function tuiAsRectAccessor(accessor) { return tuiProvide(TuiRectAccessor, accessor, true); } //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWNjZXNzb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jbGFzc2VzL2FjY2Vzc29ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBSUgsUUFBUSxFQUNSLFFBQVEsR0FFWCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sbUNBQW1DLENBQUM7QUFHN0QsTUFBTSxPQUFnQixXQUFXO0NBRWhDO0FBRUQsTUFBTSxPQUFnQixtQkFBb0IsU0FBUSxXQUFXO0NBSzVEO0FBRUQsTUFBTSxPQUFnQixlQUFnQixTQUFRLFdBQVc7Q0FFeEQ7QUFFRCxNQUFNLFVBQVUsa0JBQWtCLENBQzlCLE9BQXdCLEVBQ3hCLElBQVksRUFDWixRQUFpQjtJQUVqQixPQUFPO1FBQ0gsT0FBTztRQUNQLElBQUksRUFBRSxDQUFDLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxFQUFFLFFBQVEsQ0FBQztRQUMzRCxVQUFVLEVBQUUsbUJBQW1CLENBQUksSUFBSSxDQUFDO0tBQzNDLENBQUM7QUFDTixDQUFDO0FBRUQsTUFBTSxVQUFVLG1CQUFtQixDQUMvQixJQUFZO0lBRVosT0FBTyxDQUFDLFNBQVMsRUFBRSxRQUFRLEVBQUUsRUFBRSxDQUMzQixTQUFTLEVBQUUsSUFBSSxFQUFFLENBQ2IsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxDQUFDLElBQUksS0FBSyxJQUFJLENBQ2hFLElBQUksUUFBUSxDQUFDO0FBQ3RCLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ2xDLElBQVksRUFDWixRQUFtQztJQUVuQyxPQUFPLGtCQUFrQixDQUFDLG1CQUFtQixFQUFFLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQztBQUNuRSxDQUFDO0FBRUQsTUFBTSxVQUFVLGtCQUFrQixDQUM5QixJQUFZLEVBQ1osUUFBK0I7SUFFL0IsT0FBTyxrQkFBa0IsQ0FBQyxlQUFlLEVBQUUsSUFBSSxFQUFFLFFBQVEsQ0FBQyxDQUFDO0FBQy9ELENBQUM7QUFFRCxNQUFNLFVBQVUscUJBQXFCLENBQ2pDLFFBQW1DO0lBRW5DLE9BQU8sVUFBVSxDQUFDLG1CQUFtQixFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsQ0FBQztBQUMzRCxDQUFDO0FBRUQsTUFBTSxVQUFVLGlCQUFpQixDQUFDLFFBQStCO0lBQzdELE9BQU8sVUFBVSxDQUFDLGVBQWUsRUFBRSxRQUFRLEVBQUUsSUFBSSxDQUFDLENBQUM7QUFDdkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgdHlwZSBBYnN0cmFjdFR5cGUsXG4gICAgdHlwZSBFeGlzdGluZ1Byb3ZpZGVyLFxuICAgIHR5cGUgRmFjdG9yeVByb3ZpZGVyLFxuICAgIE9wdGlvbmFsLFxuICAgIFNraXBTZWxmLFxuICAgIHR5cGUgVHlwZSxcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge3R1aVByb3ZpZGV9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge3R5cGUgVHVpUG9pbnR9IGZyb20gJ0B0YWlnYS11aS9jb3JlL3R5cGVzJztcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aUFjY2Vzc29yIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgcmVhZG9ubHkgdHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgVHVpUG9zaXRpb25BY2Nlc3NvciBleHRlbmRzIFR1aUFjY2Vzc29yIHtcbiAgICAvKlxuICAgICAqIFRPRE8gQGRlcHJlY2F0ZWQgc3dpdGNoaW5nIGZyb20gRE9NUmVjdCB0byBIVE1MRWxlbWVudCBpbiB2NVxuICAgICAqL1xuICAgIHB1YmxpYyBhYnN0cmFjdCBnZXRQb3NpdGlvbihyZWN0OiBET01SZWN0LCBlbGVtZW50PzogSFRNTEVsZW1lbnQpOiBUdWlQb2ludDtcbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIFR1aVJlY3RBY2Nlc3NvciBleHRlbmRzIFR1aUFjY2Vzc29yIHtcbiAgICBwdWJsaWMgYWJzdHJhY3QgZ2V0Q2xpZW50UmVjdCgpOiBET01SZWN0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUHJvdmlkZUFjY2Vzc29yPFQgZXh0ZW5kcyBUdWlBY2Nlc3Nvcj4oXG4gICAgcHJvdmlkZTogQWJzdHJhY3RUeXBlPFQ+LFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBmYWxsYmFjazogVHlwZTxUPixcbik6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgcHJvdmlkZSxcbiAgICAgICAgZGVwczogW1tuZXcgU2tpcFNlbGYoKSwgbmV3IE9wdGlvbmFsKCksIHByb3ZpZGVdLCBmYWxsYmFja10sXG4gICAgICAgIHVzZUZhY3Rvcnk6IHR1aUZhbGxiYWNrQWNjZXNzb3I8VD4odHlwZSksXG4gICAgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUZhbGxiYWNrQWNjZXNzb3I8VCBleHRlbmRzIFR1aUFjY2Vzc29yPihcbiAgICB0eXBlOiBzdHJpbmcsXG4pOiAoYWNjZXNzb3JzOiByZWFkb25seSBUW10gfCBudWxsLCBmYWxsYmFjazogVCkgPT4gVCB7XG4gICAgcmV0dXJuIChhY2Nlc3NvcnMsIGZhbGxiYWNrKSA9PlxuICAgICAgICBhY2Nlc3NvcnM/LmZpbmQ/LihcbiAgICAgICAgICAgIChhY2Nlc3NvcikgPT4gYWNjZXNzb3IgIT09IGZhbGxiYWNrICYmIGFjY2Vzc29yLnR5cGUgPT09IHR5cGUsXG4gICAgICAgICkgfHwgZmFsbGJhY2s7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlQb3NpdGlvbkFjY2Vzc29yRm9yKFxuICAgIHR5cGU6IHN0cmluZyxcbiAgICBmYWxsYmFjazogVHlwZTxUdWlQb3NpdGlvbkFjY2Vzc29yPixcbik6IEZhY3RvcnlQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGVBY2Nlc3NvcihUdWlQb3NpdGlvbkFjY2Vzc29yLCB0eXBlLCBmYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlSZWN0QWNjZXNzb3JGb3IoXG4gICAgdHlwZTogc3RyaW5nLFxuICAgIGZhbGxiYWNrOiBUeXBlPFR1aVJlY3RBY2Nlc3Nvcj4sXG4pOiBGYWN0b3J5UHJvdmlkZXIge1xuICAgIHJldHVybiB0dWlQcm92aWRlQWNjZXNzb3IoVHVpUmVjdEFjY2Vzc29yLCB0eXBlLCBmYWxsYmFjayk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc1Bvc2l0aW9uQWNjZXNzb3IoXG4gICAgYWNjZXNzb3I6IFR5cGU8VHVpUG9zaXRpb25BY2Nlc3Nvcj4sXG4pOiBFeGlzdGluZ1Byb3ZpZGVyIHtcbiAgICByZXR1cm4gdHVpUHJvdmlkZShUdWlQb3NpdGlvbkFjY2Vzc29yLCBhY2Nlc3NvciwgdHJ1ZSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlBc1JlY3RBY2Nlc3NvcihhY2Nlc3NvcjogVHlwZTxUdWlSZWN0QWNjZXNzb3I+KTogRXhpc3RpbmdQcm92aWRlciB7XG4gICAgcmV0dXJuIHR1aVByb3ZpZGUoVHVpUmVjdEFjY2Vzc29yLCBhY2Nlc3NvciwgdHJ1ZSk7XG59XG4iXX0=