@taiga-ui/cdk 4.0.0-rc.3 → 4.0.0-rc.4

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.
@@ -1 +1 @@
1
- export declare const TUI_VERSION = "4.0.0-rc.3";
1
+ export declare const TUI_VERSION = "4.0.0-rc.4";
@@ -1,4 +1,4 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.TUI_VERSION = void 0;
4
- exports.TUI_VERSION = '4.0.0-rc.3';
4
+ exports.TUI_VERSION = '4.0.0-rc.4';
@@ -1,2 +1,2 @@
1
- export const TUI_VERSION = '4.0.0-rc.3';
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuMC4wLXJjLjMnO1xuIl19
1
+ export const TUI_VERSION = '4.0.0-rc.4';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay9jb25zdGFudHMvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsWUFBWSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFRVSV9WRVJTSU9OID0gJzQuMC4wLXJjLjQnO1xuIl19
@@ -0,0 +1,7 @@
1
+ import { toSignal } from '@angular/core/rxjs-interop';
2
+ import { TUI_FALSE_HANDLER, TUI_TRUE_HANDLER } from '@taiga-ui/cdk/constants';
3
+ import { fromEvent, map, merge } from 'rxjs';
4
+ export function tuiFocusedIn(node) {
5
+ return toSignal(merge(fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)), fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER))), { initialValue: false });
6
+ }
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9jdXNlZC1pbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nkay91dGlscy9mb2N1cy9mb2N1c2VkLWluLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSw0QkFBNEIsQ0FBQztBQUNwRCxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUM1RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFM0MsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUFVO0lBQ25DLE9BQU8sUUFBUSxDQUNYLEtBQUssQ0FDRCxTQUFTLENBQUMsSUFBSSxFQUFFLFNBQVMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxFQUN0RCxTQUFTLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxDQUMzRCxFQUNELEVBQUMsWUFBWSxFQUFFLEtBQUssRUFBQyxDQUN4QixDQUFDO0FBQ04sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHtTaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHt0b1NpZ25hbH0gZnJvbSAnQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3AnO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUiwgVFVJX1RSVUVfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1hcCwgbWVyZ2V9IGZyb20gJ3J4anMnO1xuXG5leHBvcnQgZnVuY3Rpb24gdHVpRm9jdXNlZEluKG5vZGU6IE5vZGUpOiBTaWduYWw8Ym9vbGVhbj4ge1xuICAgIHJldHVybiB0b1NpZ25hbChcbiAgICAgICAgbWVyZ2UoXG4gICAgICAgICAgICBmcm9tRXZlbnQobm9kZSwgJ2ZvY3VzaW4nKS5waXBlKG1hcChUVUlfVFJVRV9IQU5ETEVSKSksXG4gICAgICAgICAgICBmcm9tRXZlbnQobm9kZSwgJ2ZvY3Vzb3V0JykucGlwZShtYXAoVFVJX0ZBTFNFX0hBTkRMRVIpKSxcbiAgICAgICAgKSxcbiAgICAgICAge2luaXRpYWxWYWx1ZTogZmFsc2V9LFxuICAgICk7XG59XG4iXX0=
@@ -1,4 +1,5 @@
1
1
  export * from './blur-native-focused';
2
+ export * from './focused-in';
2
3
  export * from './get-closest-focusable';
3
4
  export * from './get-native-focused';
4
5
  export * from './is-native-focused';
@@ -6,4 +7,4 @@ export * from './is-native-focused-in';
6
7
  export * from './is-native-keyboard-focusable';
7
8
  export * from './is-native-mouse-focusable';
8
9
  export * from './move-focus';
9
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmx1ci1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1jbG9zZXN0LWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2dldC1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLWZvY3VzZWQtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1uYXRpdmUta2V5Ym9hcmQtZm9jdXNhYmxlJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLW1vdXNlLWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL21vdmUtZm9jdXMnO1xuIl19
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvZm9jdXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyx1QkFBdUIsQ0FBQztBQUN0QyxjQUFjLGNBQWMsQ0FBQztBQUM3QixjQUFjLHlCQUF5QixDQUFDO0FBQ3hDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLHdCQUF3QixDQUFDO0FBQ3ZDLGNBQWMsZ0NBQWdDLENBQUM7QUFDL0MsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gJy4vYmx1ci1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2ZvY3VzZWQtaW4nO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtY2xvc2VzdC1mb2N1c2FibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtbmF0aXZlLWZvY3VzZWQnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1uYXRpdmUtZm9jdXNlZCc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1mb2N1c2VkLWluJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtbmF0aXZlLWtleWJvYXJkLWZvY3VzYWJsZSc7XG5leHBvcnQgKiBmcm9tICcuL2lzLW5hdGl2ZS1tb3VzZS1mb2N1c2FibGUnO1xuZXhwb3J0ICogZnJvbSAnLi9tb3ZlLWZvY3VzJztcbiJdfQ==
@@ -192,7 +192,7 @@ const TUI_USED_ICONS = [
192
192
  '@tui.clock',
193
193
  ];
194
194
 
195
- const TUI_VERSION = '4.0.0-rc.3';
195
+ const TUI_VERSION = '4.0.0-rc.4';
196
196
 
197
197
  /**
198
198
  * Generated bundle index. Do not edit.
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.0.0-rc.3';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-constants.mjs","sources":["../../../projects/cdk/constants/empty.ts","../../../projects/cdk/constants/handlers.ts","../../../projects/cdk/constants/matchers.ts","../../../projects/cdk/constants/regexp.ts","../../../projects/cdk/constants/svg-node-filter.ts","../../../projects/cdk/constants/unicode-chars.ts","../../../projects/cdk/constants/used-icons.ts","../../../projects/cdk/constants/version.ts","../../../projects/cdk/constants/taiga-ui-cdk-constants.ts"],"sourcesContent":["import {QueryList} from '@angular/core';\n\nconst rect = {\n bottom: 0,\n height: 0,\n left: 0,\n right: 0,\n top: 0,\n width: 0,\n x: 0,\n y: 0,\n} as const;\n\n/**\n * For type safety when using @ContentChildren and @ViewChildren\n *\n * NOTE: Be careful subscribing to 'changes'\n */\nexport const EMPTY_QUERY = new QueryList<any>();\nexport const EMPTY_ARRAY: [] = [];\nexport const EMPTY_FUNCTION: (...args: any[]) => void = () => {};\nexport const EMPTY_CLIENT_RECT: DOMRect = {\n ...rect,\n toJSON: () => rect,\n};\n","/**\n * Handler that always returns `false`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_FALSE_HANDLER = (): false => false;\n\n/**\n * Handler that always returns `true`.\n */\n// eslint-disable-next-line no-restricted-syntax\nexport const TUI_TRUE_HANDLER = (): true => true;\n","import type {TuiHandler, TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\nfunction bothEmpty(item1: unknown, item2: unknown): boolean {\n return Array.isArray(item1) && Array.isArray(item2) && !item1.length && !item2.length;\n}\n\n/**\n * Default handler for matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_DEFAULT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase().includes(search.toLowerCase());\n\n/**\n * Default handler for strict matching stringified version of an item and a search query\n * @param item arbitrary element to match with a string\n * @param search search query\n * @param stringify handler to turn item into a string\n */\nexport const TUI_STRICT_MATCHER = <T>(\n item: T,\n search: string,\n stringify: TuiHandler<T, string> = String,\n): boolean => stringify(item).toLowerCase() === search.toLowerCase();\n\n/**\n * Default handler to match equality of two elements\n * ATTENTION: considers two empty arrays equal\n *\n * @param item1 first element\n * @param item2 second element\n */\nexport const TUI_DEFAULT_IDENTITY_MATCHER: TuiIdentityMatcher<unknown> = (item1, item2) =>\n item1 === item2 || bothEmpty(item1, item2);\n","export const TUI_DIGIT_REGEXP = /\\d/;\nexport const TUI_NON_DIGIT_REGEXP = /\\D/;\nexport const TUI_NON_DIGITS_REGEXP = /\\D+/g;\n","export const svgNodeFilter: Exclude<NodeFilter, (node: Node) => number> = {\n acceptNode(node: Node): number {\n return 'ownerSVGElement' in node\n ? NodeFilter.FILTER_REJECT\n : NodeFilter.FILTER_ACCEPT;\n },\n};\n","/**\n * {@link https://unicode-table.com/en/00A0/ Non-breaking space}.\n */\nexport const CHAR_NO_BREAK_SPACE = '\\u00A0';\n\n/**\n * {@link https://unicode-table.com/en/2013/ EN dash}\n * is used to indicate a range of numbers or a span of time.\n * @example 2006–2022\n * ___\n * Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EN_DASH = '\\u2013';\n\n/**\n * {@link https://unicode-table.com/en/2014/ EM dash}\n * is used to mark a break in a sentence.\n * @example Taiga UI — powerful set of open source components for Angular\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!\n */\nexport const CHAR_EM_DASH = '\\u2014';\n\n/**\n * {@link https://unicode-table.com/en/00AB/ Left-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_LAQUO = '\\u00AB';\n\n/**\n * {@link https://unicode-table.com/en/00BB/ Right-Pointing Double Angle Quotation Mark}\n */\nexport const CHAR_RAQUO = '\\u00BB';\n\n/**\n * {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}\n * is used to combine words.\n * @example well-behaved\n * ___\n * Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!\n */\nexport const CHAR_HYPHEN = '\\u002D';\n\n/**\n * {@link https://unicode-table.com/en/2212/ Minus}\n * is used as math operator symbol or before negative digits.\n * ---\n * Can be used as `&minus;`. Don't confuse with {@link CHAR_HYPHEN}\n */\nexport const CHAR_MINUS = '\\u2212';\n\n/**\n * {@link https://unicode-table.com/en/002B/ Plus}\n */\nexport const CHAR_PLUS = '\\u002B';\n\n/**\n * {@link https://unicode-table.com/en/2022/ Bullet}.\n */\nexport const CHAR_BULLET = '\\u2022';\n\n/**\n * {@link https://unicode-table.com/en/2026/ Suspension points}.\n */\nexport const CHAR_ELLIPSIS = '\\u2026';\n\n/**\n * {@link https://unicode-table.com/en/00A4/ Suspension points}.\n */\nexport const CHAR_CURRENCY_SIGN = '\\u00A4';\n\n/**\n * {@link https://unicode-table.com/en/200b/ Suspension points}.\n */\nexport const CHAR_ZERO_WIDTH_SPACE = '\\u200B';\n","/**\n * @description:\n * AUTOGENERATED\n *\n * Array of icons used in taiga-ui components\n */\nexport const TUI_USED_ICONS = [\n '@tui.mir',\n '@tui.visa',\n '@tui.electron',\n '@tui.mastercard',\n '@tui.maestro',\n '@tui.amex',\n '@tui.diners-club',\n '@tui.discover',\n '@tui.humo',\n '@tui.jcb',\n '@tui.ru-pay',\n '@tui.union-pay',\n '@tui.uzcard',\n '@tui.verve',\n '@tui.search',\n '@tui.sun',\n '@tui.moon',\n '@tui.code',\n '@tui.menu',\n '@tui.copy',\n '@tui.check',\n '@tui.link',\n '@tui.eye-off',\n '@tui.eye',\n '@tui.grip-vertical',\n '@tui.chevron-up',\n '@tui.chevron-down',\n '@tui.chevrons-up-down',\n '@tui.info',\n '@tui.circle-check',\n '@tui.circle-x',\n '@tui.circle-alert',\n '@tui.circle-help',\n '@tui.x',\n '@tui.chevron-right',\n '@tui.chevron-left',\n '@tui.calendar',\n '@tui.minus',\n '@tui.file',\n '@tui.trash',\n '@tui.star',\n '@tui.rotate-ccw-square',\n '@tui.arrow-left',\n '@tui.arrow-right',\n '@tui.plus',\n '@tui.minimize',\n '@tui.clock',\n] as const;\n","export const TUI_VERSION = '4.0.0-rc.4';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import { tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
2
- import { svgNodeFilter } from '@taiga-ui/cdk/constants';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { TUI_TRUE_HANDLER, TUI_FALSE_HANDLER, svgNodeFilter } from '@taiga-ui/cdk/constants';
4
+ import { merge, fromEvent, map } from 'rxjs';
3
5
 
4
6
  /**
5
7
  * Returns current active element, including shadow dom
@@ -27,6 +29,10 @@ function tuiBlurNativeFocused(doc) {
27
29
  }
28
30
  }
29
31
 
32
+ function tuiFocusedIn(node) {
33
+ return toSignal(merge(fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)), fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER))), { initialValue: false });
34
+ }
35
+
30
36
  /**
31
37
  * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to
32
38
  * only target natural focus order. Not checking the possibility of an element to
@@ -134,5 +140,5 @@ function tuiMoveFocus(currentIndex, elements, step) {
134
140
  * Generated bundle index. Do not edit.
135
141
  */
136
142
 
137
- export { tuiBlurNativeFocused, tuiGetClosestFocusable, tuiGetNativeFocused, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, tuiIsNativeMouseFocusable, tuiMoveFocus };
143
+ export { tuiBlurNativeFocused, tuiFocusedIn, tuiGetClosestFocusable, tuiGetNativeFocused, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, tuiIsNativeMouseFocusable, tuiMoveFocus };
138
144
  //# sourceMappingURL=taiga-ui-cdk-utils-focus.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-focus.mjs","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node?: Node | null): boolean {\n return (\n !!node?.ownerDocument &&\n tuiGetNativeFocused(node.ownerDocument) === node &&\n node.ownerDocument.hasFocus()\n );\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node?: Node | null): boolean {\n const focused = node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument);\n\n return !!focused && node.contains(focused) && !!node.ownerDocument?.hasFocus();\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-focus.mjs","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/focused-in.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import type {Signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {fromEvent, map, merge} from 'rxjs';\n\nexport function tuiFocusedIn(node: Node): Signal<boolean> {\n return toSignal(\n merge(\n fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)),\n fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER)),\n ),\n {initialValue: false},\n );\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node?: Node | null): boolean {\n return (\n !!node?.ownerDocument &&\n tuiGetNativeFocused(node.ownerDocument) === node &&\n node.ownerDocument.hasFocus()\n );\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node?: Node | null): boolean {\n const focused = node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument);\n\n return !!focused && node.contains(focused) && !!node.ownerDocument?.hasFocus();\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,69 +1,359 @@
1
1
  {
2
- "name": "@taiga-ui/cdk",
3
- "version": "4.0.0-rc.3",
4
- "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
- "keywords": [
6
- "angular",
7
- "cdk",
8
- "component",
9
- "development",
10
- "kit",
11
- "service",
12
- "directive"
13
- ],
14
- "homepage": "https://github.com/taiga-family/taiga-ui",
15
- "repository": "https://github.com/taiga-family/taiga-ui",
16
- "license": "Apache-2.0",
17
- "dependencies": {
18
- "tslib": "2.6.3"
19
- },
20
- "devDependencies": {
21
- "@angular-devkit/core": "16.2.12",
22
- "@angular-devkit/schematics": "16.2.12",
23
- "@angular-devkit/schematics-cli": "16.2.12",
24
- "@schematics/angular": "16.2.12"
25
- },
26
- "peerDependencies": {
27
- "@angular/animations": ">=16.0.0",
28
- "@angular/cdk": ">=16.0.0",
29
- "@angular/common": ">=16.0.0",
30
- "@angular/core": ">=16.0.0",
31
- "@angular/forms": ">=16.0.0",
32
- "@ng-web-apis/common": "^4.1.2",
33
- "@ng-web-apis/mutation-observer": "^4.1.2",
34
- "@ng-web-apis/resize-observer": "^4.1.2",
35
- "@taiga-ui/event-plugins": "^4.0.1",
36
- "@taiga-ui/polymorpheus": "^4.6.4",
37
- "rxjs": ">=7.0.0"
38
- },
39
- "optionalDependencies": {
40
- "@angular-devkit/core": ">=16.0.0",
41
- "@angular-devkit/schematics": ">=16.0.0",
42
- "@schematics/angular": ">=16.0.0",
43
- "ng-morph": "^4.5.2",
44
- "parse5": "^7.1.2"
45
- },
46
- "ng-update": {
47
- "migrations": "./schematics/migration.json",
48
- "packageGroup": [
49
- "@taiga-ui/i18n",
50
- "@taiga-ui/cdk",
51
- "@taiga-ui/core",
52
- "@taiga-ui/kit",
53
- "@taiga-ui/styles",
54
- "@taiga-ui/testing",
55
- "@taiga-ui/addon-doc",
56
- "@taiga-ui/addon-charts",
57
- "@taiga-ui/addon-commerce",
58
- "@taiga-ui/icons",
59
- "@taiga-ui/addon-table",
60
- "@taiga-ui/addon-mobile",
61
- "@taiga-ui/layout",
62
- "@taiga-ui/experimental",
63
- "@taiga-ui/proprietary",
64
- "@taiga-ui/legacy",
65
- "ng-morph"
66
- ]
67
- },
68
- "schematics": "./schematics/collection.json"
2
+ "name": "@taiga-ui/cdk",
3
+ "version": "4.0.0-rc.4",
4
+ "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
+ "keywords": [
6
+ "angular",
7
+ "cdk",
8
+ "component",
9
+ "development",
10
+ "kit",
11
+ "service",
12
+ "directive"
13
+ ],
14
+ "homepage": "https://github.com/taiga-family/taiga-ui",
15
+ "repository": "https://github.com/taiga-family/taiga-ui",
16
+ "license": "Apache-2.0",
17
+ "dependencies": {
18
+ "tslib": "2.6.3"
19
+ },
20
+ "peerDependencies": {
21
+ "@angular/animations": ">=16.0.0",
22
+ "@angular/cdk": ">=16.0.0",
23
+ "@angular/common": ">=16.0.0",
24
+ "@angular/core": ">=16.0.0",
25
+ "@angular/forms": ">=16.0.0",
26
+ "@ng-web-apis/common": "^4.1.2",
27
+ "@ng-web-apis/mutation-observer": "^4.1.2",
28
+ "@ng-web-apis/resize-observer": "^4.1.2",
29
+ "@taiga-ui/event-plugins": "^4.0.1",
30
+ "@taiga-ui/polymorpheus": "^4.6.4",
31
+ "rxjs": ">=7.0.0"
32
+ },
33
+ "optionalDependencies": {
34
+ "@angular-devkit/core": ">=16.0.0",
35
+ "@angular-devkit/schematics": ">=16.0.0",
36
+ "@schematics/angular": ">=16.0.0",
37
+ "ng-morph": "^4.5.2",
38
+ "parse5": "^7.1.2"
39
+ },
40
+ "ng-update": {
41
+ "migrations": "./schematics/migration.json",
42
+ "packageGroup": [
43
+ "@taiga-ui/i18n",
44
+ "@taiga-ui/cdk",
45
+ "@taiga-ui/core",
46
+ "@taiga-ui/kit",
47
+ "@taiga-ui/styles",
48
+ "@taiga-ui/testing",
49
+ "@taiga-ui/addon-doc",
50
+ "@taiga-ui/addon-charts",
51
+ "@taiga-ui/addon-commerce",
52
+ "@taiga-ui/icons",
53
+ "@taiga-ui/addon-table",
54
+ "@taiga-ui/addon-mobile",
55
+ "@taiga-ui/layout",
56
+ "@taiga-ui/experimental",
57
+ "@taiga-ui/proprietary",
58
+ "@taiga-ui/legacy",
59
+ "ng-morph"
60
+ ]
61
+ },
62
+ "schematics": "./schematics/collection.json",
63
+ "module": "fesm2022/taiga-ui-cdk.mjs",
64
+ "typings": "index.d.ts",
65
+ "exports": {
66
+ "./package.json": {
67
+ "default": "./package.json"
68
+ },
69
+ ".": {
70
+ "types": "./index.d.ts",
71
+ "esm2022": "./esm2022/taiga-ui-cdk.mjs",
72
+ "esm": "./esm2022/taiga-ui-cdk.mjs",
73
+ "default": "./fesm2022/taiga-ui-cdk.mjs"
74
+ },
75
+ "./classes": {
76
+ "types": "./classes/index.d.ts",
77
+ "esm2022": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
78
+ "esm": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
79
+ "default": "./fesm2022/taiga-ui-cdk-classes.mjs"
80
+ },
81
+ "./constants": {
82
+ "types": "./constants/index.d.ts",
83
+ "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
84
+ "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
85
+ "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
86
+ },
87
+ "./date-time": {
88
+ "types": "./date-time/index.d.ts",
89
+ "esm2022": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
90
+ "esm": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
91
+ "default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
92
+ },
93
+ "./directives": {
94
+ "types": "./directives/index.d.ts",
95
+ "esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
96
+ "esm": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
97
+ "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
98
+ },
99
+ "./observables": {
100
+ "types": "./observables/index.d.ts",
101
+ "esm2022": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
102
+ "esm": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
103
+ "default": "./fesm2022/taiga-ui-cdk-observables.mjs"
104
+ },
105
+ "./pipes": {
106
+ "types": "./pipes/index.d.ts",
107
+ "esm2022": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
108
+ "esm": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
109
+ "default": "./fesm2022/taiga-ui-cdk-pipes.mjs"
110
+ },
111
+ "./services": {
112
+ "types": "./services/index.d.ts",
113
+ "esm2022": "./esm2022/services/taiga-ui-cdk-services.mjs",
114
+ "esm": "./esm2022/services/taiga-ui-cdk-services.mjs",
115
+ "default": "./fesm2022/taiga-ui-cdk-services.mjs"
116
+ },
117
+ "./tokens": {
118
+ "types": "./tokens/index.d.ts",
119
+ "esm2022": "./esm2022/tokens/taiga-ui-cdk-tokens.mjs",
120
+ "esm": "./esm2022/tokens/taiga-ui-cdk-tokens.mjs",
121
+ "default": "./fesm2022/taiga-ui-cdk-tokens.mjs"
122
+ },
123
+ "./types": {
124
+ "types": "./types/index.d.ts",
125
+ "esm2022": "./esm2022/types/taiga-ui-cdk-types.mjs",
126
+ "esm": "./esm2022/types/taiga-ui-cdk-types.mjs",
127
+ "default": "./fesm2022/taiga-ui-cdk-types.mjs"
128
+ },
129
+ "./utils": {
130
+ "types": "./utils/index.d.ts",
131
+ "esm2022": "./esm2022/utils/taiga-ui-cdk-utils.mjs",
132
+ "esm": "./esm2022/utils/taiga-ui-cdk-utils.mjs",
133
+ "default": "./fesm2022/taiga-ui-cdk-utils.mjs"
134
+ },
135
+ "./directives/active-zone": {
136
+ "types": "./directives/active-zone/index.d.ts",
137
+ "esm2022": "./esm2022/directives/active-zone/taiga-ui-cdk-directives-active-zone.mjs",
138
+ "esm": "./esm2022/directives/active-zone/taiga-ui-cdk-directives-active-zone.mjs",
139
+ "default": "./fesm2022/taiga-ui-cdk-directives-active-zone.mjs"
140
+ },
141
+ "./directives/auto-focus": {
142
+ "types": "./directives/auto-focus/index.d.ts",
143
+ "esm2022": "./esm2022/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.mjs",
144
+ "esm": "./esm2022/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.mjs",
145
+ "default": "./fesm2022/taiga-ui-cdk-directives-auto-focus.mjs"
146
+ },
147
+ "./directives/click-outside": {
148
+ "types": "./directives/click-outside/index.d.ts",
149
+ "esm2022": "./esm2022/directives/click-outside/taiga-ui-cdk-directives-click-outside.mjs",
150
+ "esm": "./esm2022/directives/click-outside/taiga-ui-cdk-directives-click-outside.mjs",
151
+ "default": "./fesm2022/taiga-ui-cdk-directives-click-outside.mjs"
152
+ },
153
+ "./directives/control": {
154
+ "types": "./directives/control/index.d.ts",
155
+ "esm2022": "./esm2022/directives/control/taiga-ui-cdk-directives-control.mjs",
156
+ "esm": "./esm2022/directives/control/taiga-ui-cdk-directives-control.mjs",
157
+ "default": "./fesm2022/taiga-ui-cdk-directives-control.mjs"
158
+ },
159
+ "./directives/copy-processor": {
160
+ "types": "./directives/copy-processor/index.d.ts",
161
+ "esm2022": "./esm2022/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.mjs",
162
+ "esm": "./esm2022/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.mjs",
163
+ "default": "./fesm2022/taiga-ui-cdk-directives-copy-processor.mjs"
164
+ },
165
+ "./directives/droppable": {
166
+ "types": "./directives/droppable/index.d.ts",
167
+ "esm2022": "./esm2022/directives/droppable/taiga-ui-cdk-directives-droppable.mjs",
168
+ "esm": "./esm2022/directives/droppable/taiga-ui-cdk-directives-droppable.mjs",
169
+ "default": "./fesm2022/taiga-ui-cdk-directives-droppable.mjs"
170
+ },
171
+ "./directives/element": {
172
+ "types": "./directives/element/index.d.ts",
173
+ "esm2022": "./esm2022/directives/element/taiga-ui-cdk-directives-element.mjs",
174
+ "esm": "./esm2022/directives/element/taiga-ui-cdk-directives-element.mjs",
175
+ "default": "./fesm2022/taiga-ui-cdk-directives-element.mjs"
176
+ },
177
+ "./directives/focus-trap": {
178
+ "types": "./directives/focus-trap/index.d.ts",
179
+ "esm2022": "./esm2022/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.mjs",
180
+ "esm": "./esm2022/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.mjs",
181
+ "default": "./fesm2022/taiga-ui-cdk-directives-focus-trap.mjs"
182
+ },
183
+ "./directives/for": {
184
+ "types": "./directives/for/index.d.ts",
185
+ "esm2022": "./esm2022/directives/for/taiga-ui-cdk-directives-for.mjs",
186
+ "esm": "./esm2022/directives/for/taiga-ui-cdk-directives-for.mjs",
187
+ "default": "./fesm2022/taiga-ui-cdk-directives-for.mjs"
188
+ },
189
+ "./directives/high-dpi": {
190
+ "types": "./directives/high-dpi/index.d.ts",
191
+ "esm2022": "./esm2022/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.mjs",
192
+ "esm": "./esm2022/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.mjs",
193
+ "default": "./fesm2022/taiga-ui-cdk-directives-high-dpi.mjs"
194
+ },
195
+ "./directives/hovered": {
196
+ "types": "./directives/hovered/index.d.ts",
197
+ "esm2022": "./esm2022/directives/hovered/taiga-ui-cdk-directives-hovered.mjs",
198
+ "esm": "./esm2022/directives/hovered/taiga-ui-cdk-directives-hovered.mjs",
199
+ "default": "./fesm2022/taiga-ui-cdk-directives-hovered.mjs"
200
+ },
201
+ "./directives/item": {
202
+ "types": "./directives/item/index.d.ts",
203
+ "esm2022": "./esm2022/directives/item/taiga-ui-cdk-directives-item.mjs",
204
+ "esm": "./esm2022/directives/item/taiga-ui-cdk-directives-item.mjs",
205
+ "default": "./fesm2022/taiga-ui-cdk-directives-item.mjs"
206
+ },
207
+ "./directives/let": {
208
+ "types": "./directives/let/index.d.ts",
209
+ "esm2022": "./esm2022/directives/let/taiga-ui-cdk-directives-let.mjs",
210
+ "esm": "./esm2022/directives/let/taiga-ui-cdk-directives-let.mjs",
211
+ "default": "./fesm2022/taiga-ui-cdk-directives-let.mjs"
212
+ },
213
+ "./directives/media": {
214
+ "types": "./directives/media/index.d.ts",
215
+ "esm2022": "./esm2022/directives/media/taiga-ui-cdk-directives-media.mjs",
216
+ "esm": "./esm2022/directives/media/taiga-ui-cdk-directives-media.mjs",
217
+ "default": "./fesm2022/taiga-ui-cdk-directives-media.mjs"
218
+ },
219
+ "./directives/native-validator": {
220
+ "types": "./directives/native-validator/index.d.ts",
221
+ "esm2022": "./esm2022/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs",
222
+ "esm": "./esm2022/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs",
223
+ "default": "./fesm2022/taiga-ui-cdk-directives-native-validator.mjs"
224
+ },
225
+ "./directives/obscured": {
226
+ "types": "./directives/obscured/index.d.ts",
227
+ "esm2022": "./esm2022/directives/obscured/taiga-ui-cdk-directives-obscured.mjs",
228
+ "esm": "./esm2022/directives/obscured/taiga-ui-cdk-directives-obscured.mjs",
229
+ "default": "./fesm2022/taiga-ui-cdk-directives-obscured.mjs"
230
+ },
231
+ "./directives/pan": {
232
+ "types": "./directives/pan/index.d.ts",
233
+ "esm2022": "./esm2022/directives/pan/taiga-ui-cdk-directives-pan.mjs",
234
+ "esm": "./esm2022/directives/pan/taiga-ui-cdk-directives-pan.mjs",
235
+ "default": "./fesm2022/taiga-ui-cdk-directives-pan.mjs"
236
+ },
237
+ "./directives/platform": {
238
+ "types": "./directives/platform/index.d.ts",
239
+ "esm2022": "./esm2022/directives/platform/taiga-ui-cdk-directives-platform.mjs",
240
+ "esm": "./esm2022/directives/platform/taiga-ui-cdk-directives-platform.mjs",
241
+ "default": "./fesm2022/taiga-ui-cdk-directives-platform.mjs"
242
+ },
243
+ "./directives/popover": {
244
+ "types": "./directives/popover/index.d.ts",
245
+ "esm2022": "./esm2022/directives/popover/taiga-ui-cdk-directives-popover.mjs",
246
+ "esm": "./esm2022/directives/popover/taiga-ui-cdk-directives-popover.mjs",
247
+ "default": "./fesm2022/taiga-ui-cdk-directives-popover.mjs"
248
+ },
249
+ "./directives/repeat-times": {
250
+ "types": "./directives/repeat-times/index.d.ts",
251
+ "esm2022": "./esm2022/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.mjs",
252
+ "esm": "./esm2022/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.mjs",
253
+ "default": "./fesm2022/taiga-ui-cdk-directives-repeat-times.mjs"
254
+ },
255
+ "./directives/resizer": {
256
+ "types": "./directives/resizer/index.d.ts",
257
+ "esm2022": "./esm2022/directives/resizer/taiga-ui-cdk-directives-resizer.mjs",
258
+ "esm": "./esm2022/directives/resizer/taiga-ui-cdk-directives-resizer.mjs",
259
+ "default": "./fesm2022/taiga-ui-cdk-directives-resizer.mjs"
260
+ },
261
+ "./directives/swipe": {
262
+ "types": "./directives/swipe/index.d.ts",
263
+ "esm2022": "./esm2022/directives/swipe/taiga-ui-cdk-directives-swipe.mjs",
264
+ "esm": "./esm2022/directives/swipe/taiga-ui-cdk-directives-swipe.mjs",
265
+ "default": "./fesm2022/taiga-ui-cdk-directives-swipe.mjs"
266
+ },
267
+ "./directives/validator": {
268
+ "types": "./directives/validator/index.d.ts",
269
+ "esm2022": "./esm2022/directives/validator/taiga-ui-cdk-directives-validator.mjs",
270
+ "esm": "./esm2022/directives/validator/taiga-ui-cdk-directives-validator.mjs",
271
+ "default": "./fesm2022/taiga-ui-cdk-directives-validator.mjs"
272
+ },
273
+ "./directives/value-changes": {
274
+ "types": "./directives/value-changes/index.d.ts",
275
+ "esm2022": "./esm2022/directives/value-changes/taiga-ui-cdk-directives-value-changes.mjs",
276
+ "esm": "./esm2022/directives/value-changes/taiga-ui-cdk-directives-value-changes.mjs",
277
+ "default": "./fesm2022/taiga-ui-cdk-directives-value-changes.mjs"
278
+ },
279
+ "./directives/zoom": {
280
+ "types": "./directives/zoom/index.d.ts",
281
+ "esm2022": "./esm2022/directives/zoom/taiga-ui-cdk-directives-zoom.mjs",
282
+ "esm": "./esm2022/directives/zoom/taiga-ui-cdk-directives-zoom.mjs",
283
+ "default": "./fesm2022/taiga-ui-cdk-directives-zoom.mjs"
284
+ },
285
+ "./pipes/filter": {
286
+ "types": "./pipes/filter/index.d.ts",
287
+ "esm2022": "./esm2022/pipes/filter/taiga-ui-cdk-pipes-filter.mjs",
288
+ "esm": "./esm2022/pipes/filter/taiga-ui-cdk-pipes-filter.mjs",
289
+ "default": "./fesm2022/taiga-ui-cdk-pipes-filter.mjs"
290
+ },
291
+ "./pipes/is-present": {
292
+ "types": "./pipes/is-present/index.d.ts",
293
+ "esm2022": "./esm2022/pipes/is-present/taiga-ui-cdk-pipes-is-present.mjs",
294
+ "esm": "./esm2022/pipes/is-present/taiga-ui-cdk-pipes-is-present.mjs",
295
+ "default": "./fesm2022/taiga-ui-cdk-pipes-is-present.mjs"
296
+ },
297
+ "./pipes/keys": {
298
+ "types": "./pipes/keys/index.d.ts",
299
+ "esm2022": "./esm2022/pipes/keys/taiga-ui-cdk-pipes-keys.mjs",
300
+ "esm": "./esm2022/pipes/keys/taiga-ui-cdk-pipes-keys.mjs",
301
+ "default": "./fesm2022/taiga-ui-cdk-pipes-keys.mjs"
302
+ },
303
+ "./pipes/mapper": {
304
+ "types": "./pipes/mapper/index.d.ts",
305
+ "esm2022": "./esm2022/pipes/mapper/taiga-ui-cdk-pipes-mapper.mjs",
306
+ "esm": "./esm2022/pipes/mapper/taiga-ui-cdk-pipes-mapper.mjs",
307
+ "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
308
+ },
309
+ "./pipes/replace": {
310
+ "types": "./pipes/replace/index.d.ts",
311
+ "esm2022": "./esm2022/pipes/replace/taiga-ui-cdk-pipes-replace.mjs",
312
+ "esm": "./esm2022/pipes/replace/taiga-ui-cdk-pipes-replace.mjs",
313
+ "default": "./fesm2022/taiga-ui-cdk-pipes-replace.mjs"
314
+ },
315
+ "./pipes/to-array": {
316
+ "types": "./pipes/to-array/index.d.ts",
317
+ "esm2022": "./esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs",
318
+ "esm": "./esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs",
319
+ "default": "./fesm2022/taiga-ui-cdk-pipes-to-array.mjs"
320
+ },
321
+ "./utils/browser": {
322
+ "types": "./utils/browser/index.d.ts",
323
+ "esm2022": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
324
+ "esm": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
325
+ "default": "./fesm2022/taiga-ui-cdk-utils-browser.mjs"
326
+ },
327
+ "./utils/color": {
328
+ "types": "./utils/color/index.d.ts",
329
+ "esm2022": "./esm2022/utils/color/taiga-ui-cdk-utils-color.mjs",
330
+ "esm": "./esm2022/utils/color/taiga-ui-cdk-utils-color.mjs",
331
+ "default": "./fesm2022/taiga-ui-cdk-utils-color.mjs"
332
+ },
333
+ "./utils/dom": {
334
+ "types": "./utils/dom/index.d.ts",
335
+ "esm2022": "./esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs",
336
+ "esm": "./esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs",
337
+ "default": "./fesm2022/taiga-ui-cdk-utils-dom.mjs"
338
+ },
339
+ "./utils/focus": {
340
+ "types": "./utils/focus/index.d.ts",
341
+ "esm2022": "./esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs",
342
+ "esm": "./esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs",
343
+ "default": "./fesm2022/taiga-ui-cdk-utils-focus.mjs"
344
+ },
345
+ "./utils/math": {
346
+ "types": "./utils/math/index.d.ts",
347
+ "esm2022": "./esm2022/utils/math/taiga-ui-cdk-utils-math.mjs",
348
+ "esm": "./esm2022/utils/math/taiga-ui-cdk-utils-math.mjs",
349
+ "default": "./fesm2022/taiga-ui-cdk-utils-math.mjs"
350
+ },
351
+ "./utils/miscellaneous": {
352
+ "types": "./utils/miscellaneous/index.d.ts",
353
+ "esm2022": "./esm2022/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.mjs",
354
+ "esm": "./esm2022/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.mjs",
355
+ "default": "./fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs"
356
+ }
357
+ },
358
+ "sideEffects": false
69
359
  }
@@ -1,10 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.updatePackages = void 0;
4
- const tslib_1 = require("tslib");
5
4
  const ng_morph_1 = require("ng-morph");
6
5
  const version_1 = require("../../../../constants/version");
7
- const package_json_1 = tslib_1.__importDefault(require("../../../../package.json"));
8
6
  const steps_1 = require("../../steps");
9
7
  function updatePackages({ tree }, _) {
10
8
  const packagesToRemove = ['@taiga-ui/addon-tablebars', '@taiga-ui/addon-preview'];
@@ -17,11 +15,11 @@ function updatePackages({ tree }, _) {
17
15
  });
18
16
  (0, steps_1.replacePackageName)('@tinkoff/ng-polymorpheus', {
19
17
  name: '@taiga-ui/polymorpheus',
20
- version: package_json_1.default.peerDependencies['@taiga-ui/polymorpheus'],
18
+ version: '^4.6.4',
21
19
  }, tree);
22
20
  (0, steps_1.replacePackageName)('@tinkoff/ng-event-plugins', {
23
21
  name: '@taiga-ui/event-plugins',
24
- version: package_json_1.default.peerDependencies['@taiga-ui/event-plugins'],
22
+ version: '^4.0.1',
25
23
  }, tree);
26
24
  (0, steps_1.replacePackageName)('@tinkoff/tui-editor', {
27
25
  name: '@taiga-ui/editor',
@@ -0,0 +1,2 @@
1
+ import type { Signal } from '@angular/core';
2
+ export declare function tuiFocusedIn(node: Node): Signal<boolean>;
@@ -1,4 +1,5 @@
1
1
  export * from './blur-native-focused';
2
+ export * from './focused-in';
2
3
  export * from './get-closest-focusable';
3
4
  export * from './get-native-focused';
4
5
  export * from './is-native-focused';