@taiga-ui/cdk
Version:
Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance
31 lines • 5.5 kB
JavaScript
import { ElementRef, InjectionToken, NgZone, Renderer2 } from '@angular/core';
import { WA_ANIMATION_FRAME, WA_WINDOW } from '@ng-web-apis/common';
import { TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
import { tuiCreateOptions } from '@taiga-ui/cdk/utils';
import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
import { TuiIosAutofocusHandler } from './handlers/ios.handler';
export const [TUI_AUTOFOCUS_OPTIONS, tuiAutoFocusOptionsProvider] = tuiCreateOptions({
delay: NaN,
query: 'input, textarea, select, [contenteditable]',
preventScroll: false,
});
export const TUI_AUTOFOCUS_HANDLER = new InjectionToken(ngDevMode ? 'TUI_AUTOFOCUS_HANDLER' : '');
export const TUI_AUTOFOCUS_PROVIDERS = [
{
provide: TUI_AUTOFOCUS_HANDLER,
deps: [
ElementRef,
WA_ANIMATION_FRAME,
Renderer2,
NgZone,
WA_WINDOW,
TUI_IS_IOS,
TUI_AUTOFOCUS_OPTIONS,
],
// eslint-disable-next-line @typescript-eslint/max-params,max-params
useFactory: (el, animationFrame$, renderer, zone, win, isIos, options) => isIos
? new TuiIosAutofocusHandler(el, renderer, zone, win, options)
: new TuiDefaultAutofocusHandler(el, animationFrame$, zone, options),
},
];
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvZGlyZWN0aXZlcy9hdXRvLWZvY3VzL2F1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxVQUFVLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDNUUsT0FBTyxFQUFDLGtCQUFrQixFQUFFLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQ2xFLE9BQU8sRUFBQyxVQUFVLEVBQUMsTUFBTSxzQkFBc0IsQ0FBQztBQUNoRCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUdyRCxPQUFPLEVBQUMsMEJBQTBCLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUN0RSxPQUFPLEVBQUMsc0JBQXNCLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQztBQVk5RCxNQUFNLENBQUMsTUFBTSxDQUFDLHFCQUFxQixFQUFFLDJCQUEyQixDQUFDLEdBQzdELGdCQUFnQixDQUFzQjtJQUNsQyxLQUFLLEVBQUUsR0FBRztJQUNWLEtBQUssRUFBRSw0Q0FBNEM7SUFDbkQsYUFBYSxFQUFFLEtBQUs7Q0FDdkIsQ0FBQyxDQUFDO0FBRVAsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELFNBQVMsQ0FBQyxDQUFDLENBQUMsdUJBQXVCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FDM0MsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHO0lBQ25DO1FBQ0ksT0FBTyxFQUFFLHFCQUFxQjtRQUM5QixJQUFJLEVBQUU7WUFDRixVQUFVO1lBQ1Ysa0JBQWtCO1lBQ2xCLFNBQVM7WUFDVCxNQUFNO1lBQ04sU0FBUztZQUNULFVBQVU7WUFDVixxQkFBcUI7U0FDeEI7UUFFRCxvRUFBb0U7UUFDcEUsVUFBVSxFQUFFLENBQ1IsRUFBMkIsRUFDM0IsZUFBbUMsRUFDbkMsUUFBbUIsRUFDbkIsSUFBWSxFQUNaLEdBQVcsRUFDWCxLQUFjLEVBQ2QsT0FBNEIsRUFDOUIsRUFBRSxDQUNBLEtBQUs7WUFDRCxDQUFDLENBQUMsSUFBSSxzQkFBc0IsQ0FBQyxFQUFFLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsT0FBTyxDQUFDO1lBQzlELENBQUMsQ0FBQyxJQUFJLDBCQUEwQixDQUFDLEVBQUUsRUFBRSxlQUFlLEVBQUUsSUFBSSxFQUFFLE9BQU8sQ0FBQztLQUMvRTtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0VsZW1lbnRSZWYsIEluamVjdGlvblRva2VuLCBOZ1pvbmUsIFJlbmRlcmVyMn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1dBX0FOSU1BVElPTl9GUkFNRSwgV0FfV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VFVJX0lTX0lPU30gZnJvbSAnQHRhaWdhLXVpL2Nkay90b2tlbnMnO1xuaW1wb3J0IHt0dWlDcmVhdGVPcHRpb25zfSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzJztcbmltcG9ydCB7dHlwZSBPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9kZWZhdWx0LmhhbmRsZXInO1xuaW1wb3J0IHtUdWlJb3NBdXRvZm9jdXNIYW5kbGVyfSBmcm9tICcuL2hhbmRsZXJzL2lvcy5oYW5kbGVyJztcblxuZXhwb3J0IGludGVyZmFjZSBUdWlBdXRvZm9jdXNIYW5kbGVyIHtcbiAgICBzZXRGb2N1cygpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFR1aUF1dG9mb2N1c09wdGlvbnMge1xuICAgIHJlYWRvbmx5IGRlbGF5OiBudW1iZXI7XG4gICAgcmVhZG9ubHkgcXVlcnk6IHN0cmluZztcbiAgICByZWFkb25seSBwcmV2ZW50U2Nyb2xsOiBib29sZWFuO1xufVxuXG5leHBvcnQgY29uc3QgW1RVSV9BVVRPRk9DVVNfT1BUSU9OUywgdHVpQXV0b0ZvY3VzT3B0aW9uc1Byb3ZpZGVyXSA9XG4gICAgdHVpQ3JlYXRlT3B0aW9uczxUdWlBdXRvZm9jdXNPcHRpb25zPih7XG4gICAgICAgIGRlbGF5OiBOYU4sIC8vIE5hTiA9IG5vIGRlbGF5L3N5bmNcbiAgICAgICAgcXVlcnk6ICdpbnB1dCwgdGV4dGFyZWEsIHNlbGVjdCwgW2NvbnRlbnRlZGl0YWJsZV0nLFxuICAgICAgICBwcmV2ZW50U2Nyb2xsOiBmYWxzZSxcbiAgICB9KTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlBdXRvZm9jdXNIYW5kbGVyPihcbiAgICBuZ0Rldk1vZGUgPyAnVFVJX0FVVE9GT0NVU19IQU5ETEVSJyA6ICcnLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICBkZXBzOiBbXG4gICAgICAgICAgICBFbGVtZW50UmVmLFxuICAgICAgICAgICAgV0FfQU5JTUFUSU9OX0ZSQU1FLFxuICAgICAgICAgICAgUmVuZGVyZXIyLFxuICAgICAgICAgICAgTmdab25lLFxuICAgICAgICAgICAgV0FfV0lORE9XLFxuICAgICAgICAgICAgVFVJX0lTX0lPUyxcbiAgICAgICAgICAgIFRVSV9BVVRPRk9DVVNfT1BUSU9OUyxcbiAgICAgICAgXSxcblxuICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L21heC1wYXJhbXMsbWF4LXBhcmFtc1xuICAgICAgICB1c2VGYWN0b3J5OiAoXG4gICAgICAgICAgICBlbDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgICAgICAgICBhbmltYXRpb25GcmFtZSQ6IE9ic2VydmFibGU8bnVtYmVyPixcbiAgICAgICAgICAgIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgICAgICAgICB6b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICB3aW46IFdpbmRvdyxcbiAgICAgICAgICAgIGlzSW9zOiBib29sZWFuLFxuICAgICAgICAgICAgb3B0aW9uczogVHVpQXV0b2ZvY3VzT3B0aW9ucyxcbiAgICAgICAgKSA9PlxuICAgICAgICAgICAgaXNJb3NcbiAgICAgICAgICAgICAgICA/IG5ldyBUdWlJb3NBdXRvZm9jdXNIYW5kbGVyKGVsLCByZW5kZXJlciwgem9uZSwgd2luLCBvcHRpb25zKVxuICAgICAgICAgICAgICAgIDogbmV3IFR1aURlZmF1bHRBdXRvZm9jdXNIYW5kbGVyKGVsLCBhbmltYXRpb25GcmFtZSQsIHpvbmUsIG9wdGlvbnMpLFxuICAgIH0sXG5dO1xuIl19