@taiga-ui/cdk 2.47.0 → 2.49.1
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/abstract/controller.d.ts +6 -0
- package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js +12 -0
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-classes.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-alert-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.js +29 -2
- package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +96 -35
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-auto-focus.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js +5 -4
- package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-for-async.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-let.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-let.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-enums.umd.js +12 -0
- package/bundles/taiga-ui-cdk-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-enums.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-enums.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.js +18 -0
- package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.js +2 -2
- package/bundles/taiga-ui-cdk-utils-browser.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-browser.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-utils-focus.umd.min.js.map +1 -1
- package/classes/validation-error.d.ts +1 -1
- package/components/alert-host/alert-host.component.d.ts +1 -1
- package/constants/stringify.d.ts +1 -1
- package/constants/taiga-ui-cdk-constants.metadata.json +1 -1
- package/constants/unicode-chars.d.ts +25 -1
- package/directives/auto-focus/autofocus.options.d.ts +1 -1
- package/directives/auto-focus/handlers/ios.handler.d.ts +26 -1
- package/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.metadata.json +1 -1
- package/directives/let/let.directive.d.ts +1 -1
- package/enums/autocomplete.d.ts +10 -0
- package/enums/taiga-ui-cdk-enums.metadata.json +1 -1
- package/esm2015/abstract/controller.js +7 -1
- package/esm2015/classes/validation-error.js +1 -1
- package/esm2015/components/alert-host/alert-host.component.js +1 -1
- package/esm2015/constants/stringify.js +1 -1
- package/esm2015/constants/unicode-chars.js +27 -3
- package/esm2015/directives/auto-focus/autofocus.options.js +7 -6
- package/esm2015/directives/auto-focus/handlers/ios.handler.js +80 -29
- package/esm2015/directives/for-async/for-async.directive.js +5 -5
- package/esm2015/directives/let/let.directive.js +1 -1
- package/esm2015/enums/autocomplete.js +12 -1
- package/esm2015/observables/is-alive.js +1 -1
- package/esm2015/tokens/index.js +4 -1
- package/esm2015/tokens/is-chromium.js +6 -0
- package/esm2015/tokens/is-firefox.js +9 -0
- package/esm2015/tokens/is-webkit.js +6 -0
- package/esm2015/utils/browser/is-edge-older-than.js +2 -2
- package/esm2015/utils/browser/is-safari.js +2 -2
- package/esm2015/utils/focus/get-native-focused.js +2 -2
- package/esm5/abstract/controller.js +14 -1
- package/esm5/classes/validation-error.js +1 -1
- package/esm5/components/alert-host/alert-host.component.js +1 -1
- package/esm5/constants/stringify.js +1 -1
- package/esm5/constants/unicode-chars.js +27 -3
- package/esm5/directives/auto-focus/autofocus.options.js +7 -6
- package/esm5/directives/auto-focus/handlers/ios.handler.js +92 -30
- package/esm5/directives/for-async/for-async.directive.js +7 -6
- package/esm5/directives/let/let.directive.js +1 -1
- package/esm5/enums/autocomplete.js +12 -1
- package/esm5/observables/is-alive.js +1 -1
- package/esm5/tokens/index.js +4 -1
- package/esm5/tokens/is-chromium.js +6 -0
- package/esm5/tokens/is-firefox.js +9 -0
- package/esm5/tokens/is-webkit.js +6 -0
- package/esm5/utils/browser/is-edge-older-than.js +2 -2
- package/esm5/utils/browser/is-safari.js +2 -2
- package/esm5/utils/focus/get-native-focused.js +2 -2
- package/fesm2015/taiga-ui-cdk-abstract.js +7 -1
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-constants.js +27 -3
- package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js +84 -33
- package/fesm2015/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-for-async.js +4 -4
- package/fesm2015/taiga-ui-cdk-directives-for-async.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-enums.js +11 -0
- package/fesm2015/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-tokens.js +16 -1
- package/fesm2015/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-browser.js +2 -2
- package/fesm2015/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js +1 -1
- package/fesm2015/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +12 -1
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-classes.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-alert-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-constants.js +27 -3
- package/fesm5/taiga-ui-cdk-constants.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js +96 -34
- package/fesm5/taiga-ui-cdk-directives-auto-focus.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-for-async.js +6 -5
- package/fesm5/taiga-ui-cdk-directives-for-async.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-let.js.map +1 -1
- package/fesm5/taiga-ui-cdk-enums.js +11 -0
- package/fesm5/taiga-ui-cdk-enums.js.map +1 -1
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-tokens.js +16 -1
- package/fesm5/taiga-ui-cdk-tokens.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-browser.js +2 -2
- package/fesm5/taiga-ui-cdk-utils-browser.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js +1 -1
- package/fesm5/taiga-ui-cdk-utils-focus.js.map +1 -1
- package/observables/is-alive.d.ts +1 -1
- package/package.json +1 -1
- package/schematics/ng-update/constants/consts.js +49 -0
- package/schematics/ng-update/constants/enums.js +22 -0
- package/schematics/ng-update/constants/modules.d.ts +6 -0
- package/schematics/ng-update/constants/modules.js +5 -0
- package/schematics/ng-update/constants/services.d.ts +8 -0
- package/schematics/ng-update/constants/services.js +43 -0
- package/schematics/ng-update/constants/templates.d.ts +27 -0
- package/schematics/ng-update/constants/templates.js +74 -0
- package/schematics/ng-update/constants/tui-interactive-selectors.d.ts +1 -0
- package/schematics/ng-update/constants/tui-interactive-selectors.js +54 -0
- package/schematics/ng-update/constants/types.d.ts +1 -0
- package/schematics/ng-update/constants/types.js +34 -0
- package/schematics/ng-update/constants/warnings.js +72 -0
- package/schematics/ng-update/index.js +8 -0
- package/schematics/ng-update/interfaces/template-resourse.d.ts +8 -0
- package/schematics/ng-update/interfaces/template-resourse.js +2 -0
- package/schematics/ng-update/steps/migrate-sliders/index.d.ts +2 -0
- package/schematics/ng-update/steps/migrate-sliders/index.js +7 -0
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.d.ts +2 -0
- package/schematics/ng-update/steps/migrate-sliders/migrate-input-slider.js +24 -0
- package/schematics/ng-update/steps/migrate-templates.d.ts +2 -0
- package/schematics/ng-update/steps/migrate-templates.js +67 -0
- package/schematics/ng-update/steps/remove-module.d.ts +2 -0
- package/schematics/ng-update/steps/remove-module.js +24 -0
- package/schematics/ng-update/steps/rename-types.js +26 -17
- package/schematics/ng-update/steps/replace-const.js +4 -4
- package/schematics/ng-update/steps/replace-enums.js +2 -2
- package/schematics/ng-update/steps/replace-services.d.ts +1 -0
- package/schematics/ng-update/steps/replace-services.js +51 -0
- package/schematics/ng-update/steps/show-warnings.js +26 -9
- package/schematics/utils/add-unique-import.js +1 -1
- package/schematics/utils/angular/ng-component.d.ts +3 -0
- package/schematics/utils/angular/ng-component.js +7 -0
- package/schematics/utils/angular/ng-module.d.ts +7 -0
- package/schematics/utils/angular/ng-module.js +21 -0
- package/schematics/utils/{remove-import.d.ts → import-manipulations.d.ts} +1 -0
- package/schematics/utils/import-manipulations.js +19 -0
- package/schematics/utils/templates/elements.d.ts +19 -0
- package/schematics/utils/templates/elements.js +76 -0
- package/schematics/utils/templates/get-component-templates.d.ts +4 -0
- package/schematics/utils/templates/get-component-templates.js +36 -0
- package/schematics/utils/templates/ng-component-input-manipulations.d.ts +45 -0
- package/schematics/utils/templates/ng-component-input-manipulations.js +83 -0
- package/schematics/utils/templates/template-resource.d.ts +5 -0
- package/schematics/utils/templates/template-resource.js +21 -0
- package/tokens/index.d.ts +3 -0
- package/tokens/is-chromium.d.ts +2 -0
- package/tokens/is-firefox.d.ts +2 -0
- package/tokens/is-webkit.d.ts +2 -0
- package/tokens/taiga-ui-cdk-tokens.metadata.json +1 -1
- package/schematics/utils/remove-import.js +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-focus.umd.js","sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element && element.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\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 isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && 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 {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' || isNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/** @deprecated use getClosestFocusable */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n","import {getNativeFocused} 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 isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n","import {getNativeFocused} 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 isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-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 moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === 'function') {\n element.dispatchEvent(new Event('mousedown', {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent('Event');\n\n event.initEvent('mousedown', true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n"],"names":["svgNodeFilter"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-focus.umd.js","sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\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 isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && 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 {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' || isNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/** @deprecated use getClosestFocusable */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n","import {getNativeFocused} 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 isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n","import {getNativeFocused} 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 isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-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 moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === 'function') {\n element.dispatchEvent(new Event('mousedown', {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent('Event');\n\n event.initEvent('mousedown', true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n"],"names":["svgNodeFilter"],"mappings":"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"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/cdk/constants")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/focus",["exports","@taiga-ui/cdk/constants"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].cdk=e["taiga-ui"].cdk||{},e["taiga-ui"].cdk.utils=e["taiga-ui"].cdk.utils||{},e["taiga-ui"].cdk.utils.focus={}),e["taiga-ui"].cdk.constants)}(this,(function(e,t){"use strict";function n(e){if(!e.activeElement||!e.activeElement.shadowRoot)return e.activeElement;for(var t=e.activeElement.shadowRoot.activeElement;t
|
|
1
|
+
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@taiga-ui/cdk/constants")):"function"==typeof define&&define.amd?define("@taiga-ui/cdk/utils/focus",["exports","@taiga-ui/cdk/constants"],t):t(((e=e||self)["taiga-ui"]=e["taiga-ui"]||{},e["taiga-ui"].cdk=e["taiga-ui"].cdk||{},e["taiga-ui"].cdk.utils=e["taiga-ui"].cdk.utils||{},e["taiga-ui"].cdk.utils.focus={}),e["taiga-ui"].cdk.constants)}(this,(function(e,t){"use strict";function n(e){if(!e.activeElement||!e.activeElement.shadowRoot)return e.activeElement;for(var t=e.activeElement.shadowRoot.activeElement;null==t?void 0:t.shadowRoot;)t=t.shadowRoot.activeElement;return t}function i(e,t,n){void 0===t&&(t=!0),void 0===n&&(n=!1),t?e.focus({preventScroll:n}):e.blur()}function o(e){if(e.hasAttribute("disabled")||"-1"===e.getAttribute("tabIndex"))return!1;if(e instanceof HTMLElement&&e.isContentEditable||"0"===e.getAttribute("tabIndex"))return!0;switch(e.tagName){case"BUTTON":case"SELECT":case"TEXTAREA":return!0;case"VIDEO":case"AUDIO":return e.hasAttribute("controls");case"INPUT":return"hidden"!==e.getAttribute("type");case"A":case"LINK":return e.hasAttribute("href");default:return!1}}function u(e){return!e.hasAttribute("disabled")&&("-1"===e.getAttribute("tabIndex")||o(e))}function a(e,n,i,a){if(void 0===n&&(n=!1),void 0===a&&(a=!0),!i.ownerDocument)return null;var r=a?o:u,c=i.ownerDocument.createTreeWalker(i,NodeFilter.SHOW_ELEMENT,t.svgNodeFilter,!1);for(c.currentNode=e;n?c.previousNode():c.nextNode();)if(c.currentNode instanceof HTMLElement&&(e=c.currentNode),r(e))return e;return null}var r=a;function c(e){return!!e&&!!e.ownerDocument&&n(e.ownerDocument)===e}e.blurNativeFocused=function(e){var t=n(e);t instanceof HTMLElement&&i(t,!1)},e.getClosestFocusable=a,e.getClosestKeyboardFocusable=r,e.getNativeFocused=n,e.isNativeFocused=c,e.isNativeFocusedIn=function(e){if(!e.ownerDocument||!e.contains)return!1;var t=n(e.ownerDocument);return null!==t&&e.contains(t)},e.isNativeKeyboardFocusable=o,e.isNativeMouseFocusable=u,e.moveFocus=function(e,t,n){for(e+=n;e>=0&&e<t.length;){if(i(t[e]),c(t[e]))return;e+=n}},e.setNativeFocused=i,e.setNativeMouseFocused=function(e,t,n){if(void 0===t&&(t=!0),void 0===n&&(n=!1),e.ownerDocument){if("function"==typeof Event)e.dispatchEvent(new Event("mousedown",{bubbles:!0,cancelable:!0}));else{var o=e.ownerDocument.createEvent("Event");o.initEvent("mousedown",!0,!0),e.dispatchEvent(o)}i(e,t,n)}},Object.defineProperty(e,"__esModule",{value:!0})}));
|
|
2
2
|
//# sourceMappingURL=taiga-ui-cdk-utils-focus.umd.min.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts"],"names":["getNativeFocused","documentRef","activeElement","shadowRoot","element","setNativeFocused","focused","preventScroll","focus","blur","isNativeKeyboardFocusable","hasAttribute","getAttribute","HTMLElement","isContentEditable","tagName","isNativeMouseFocusable","getClosestFocusable","initial","prev","root","keyboard","ownerDocument","check","treeWalker","createTreeWalker","NodeFilter","SHOW_ELEMENT","svgNodeFilter","currentNode","previousNode","nextNode","getClosestKeyboardFocusable","isNativeFocused","node","contains","nativeFocused","currentIndex","elements","step","length","Event","dispatchEvent","bubbles","cancelable","event_1","createEvent","initEvent"],"mappings":"udAKgBA,EAAiBC,GAC7B,IAAKA,EAAYC,gBAAkBD,EAAYC,cAAcC,WACzD,OAAOF,EAAYC,cAKvB,IAFA,IAAIE,EAAUH,EAAYC,cAAcC,WAAWD,cAE5CE,GAAWA,EAAQD,YACtBC,EAAUA,EAAQD,WAAWD,cAGjC,OAAOE,WCPKC,EACZD,EACAE,EACAC,QADA,IAAAD,IAAAA,GAAA,QACA,IAAAC,IAAAA,GAAA,GAEID,EACAF,EAAQI,MAAM,CAACD,cAAaA,IAE5BH,EAAQK,gBCXAC,EAA0BN,GACtC,GAAIA,EAAQO,aAAa,aAAoD,OAArCP,EAAQQ,aAAa,YACzD,OAAO,EAIX,GACKR,aAAmBS,aAAeT,EAAQU,mBACN,MAArCV,EAAQQ,aAAa,YAErB,OAAO,EAGX,OAAQR,EAAQW,SACZ,IAAK,SACL,IAAK,SACL,IAAK,WACD,OAAO,EACX,IAAK,QACL,IAAK,QACD,OAAOX,EAAQO,aAAa,YAChC,IAAK,QACD,MAAwC,WAAjCP,EAAQQ,aAAa,QAChC,IAAK,IACL,IAAK,OACD,OAAOR,EAAQO,aAAa,QAChC,QACI,OAAO,YC/BHK,EAAuBZ,GACnC,OACKA,EAAQO,aAAa,cACgB,OAArCP,EAAQQ,aAAa,aAAwBF,EAA0BN,aCShEa,EACZC,EACAC,EACAC,EACAC,GAEA,QAJA,IAAAF,IAAAA,GAAA,QAEA,IAAAE,IAAAA,GAAA,IAEKD,EAAKE,cACN,OAAO,KAGX,IAAMC,EAAQF,EAAWX,EAA4BM,EAI/CQ,EAAaJ,EAAKE,cAAcG,iBAClCL,EACAM,WAAWC,aACXC,EAAAA,eACA,GAKJ,IAFAJ,EAAWK,YAAcX,EAElBC,EAAOK,EAAWM,eAAiBN,EAAWO,YAMjD,GAJIP,EAAWK,uBAAuBhB,cAClCK,EAAUM,EAAWK,aAGrBN,EAAML,GACN,OAAOA,EAIf,OAAO,SAIEc,EAA8Bf,WC1C3BgB,EAAgBC,GAC5B,QACMA,KAAUA,EAAKZ,eAAiBtB,EAAiBkC,EAAKZ,iBAAmBY,+BCNjDjC,GAC9B,IAAMC,EAAgBF,EAAiBC,GAGnCC,aAAyBW,aACzBR,EAAiBH,GAAe,kICHNgC,GAE9B,IAAKA,EAAKZ,gBAAkBY,EAAKC,SAC7B,OAAO,EAGX,IAAMC,EAAgBpC,EAAiBkC,EAAKZ,eAE5C,OAAyB,OAAlBc,GAA0BF,EAAKC,SAASC,kFCL/CC,EACAC,EACAC,GAIA,IAFAF,GAAgBE,EAETF,GAAgB,GAAKA,EAAeC,EAASE,QAAQ,CAGxD,GAFAnC,EAAiBiC,EAASD,IAEtBJ,EAAgBK,EAASD,IACzB,OAGJA,GAAgBE,0DCdpBnC,EACAE,EACAC,GAEA,QAHA,IAAAD,IAAAA,GAAA,QACA,IAAAC,IAAAA,GAAA,GAEKH,EAAQkB,cAAb,CAIA,GAAqB,mBAAVmB,MACPrC,EAAQsC,cAAc,IAAID,MAAM,YAAa,CAACE,SAAS,EAAMC,YAAY,SACtE,CACH,IAAMC,EAAQzC,EAAQkB,cAAcwB,YAAY,SAEhDD,EAAME,UAAU,aAAa,GAAM,GACnC3C,EAAQsC,cAAcG,GAG1BxC,EAAiBD,EAASE,EAASC","sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element && element.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\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 isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && 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 {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' || isNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/** @deprecated use getClosestFocusable */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n","import {getNativeFocused} 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 isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\n}\n","import {getNativeFocused} 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 isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-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 moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === 'function') {\n element.dispatchEvent(new Event('mousedown', {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent('Event');\n\n event.initEvent('mousedown', true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["ng://@taiga-ui/cdk/utils/focus/get-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/set-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-mouse-focusable.ts","ng://@taiga-ui/cdk/utils/focus/get-closest-keyboard-focusable.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/blur-native-focused.ts","ng://@taiga-ui/cdk/utils/focus/is-native-focused-in.ts","ng://@taiga-ui/cdk/utils/focus/move-focus.ts","ng://@taiga-ui/cdk/utils/focus/set-native-mouse-focused.ts"],"names":["getNativeFocused","documentRef","activeElement","shadowRoot","element","setNativeFocused","focused","preventScroll","focus","blur","isNativeKeyboardFocusable","hasAttribute","getAttribute","HTMLElement","isContentEditable","tagName","isNativeMouseFocusable","getClosestFocusable","initial","prev","root","keyboard","ownerDocument","check","treeWalker","createTreeWalker","NodeFilter","SHOW_ELEMENT","svgNodeFilter","currentNode","previousNode","nextNode","getClosestKeyboardFocusable","isNativeFocused","node","contains","nativeFocused","currentIndex","elements","step","length","Event","dispatchEvent","bubbles","cancelable","event_1","createEvent","initEvent"],"mappings":"udAKgBA,EAAiBC,GAC7B,IAAKA,EAAYC,gBAAkBD,EAAYC,cAAcC,WACzD,OAAOF,EAAYC,cAKvB,IAFA,IAAIE,EAAUH,EAAYC,cAAcC,WAAWD,cAE5CE,MAAAA,OAAO,EAAPA,EAASD,YACZC,EAAUA,EAAQD,WAAWD,cAGjC,OAAOE,WCPKC,EACZD,EACAE,EACAC,QADA,IAAAD,IAAAA,GAAA,QACA,IAAAC,IAAAA,GAAA,GAEID,EACAF,EAAQI,MAAM,CAACD,cAAaA,IAE5BH,EAAQK,gBCXAC,EAA0BN,GACtC,GAAIA,EAAQO,aAAa,aAAoD,OAArCP,EAAQQ,aAAa,YACzD,OAAO,EAIX,GACKR,aAAmBS,aAAeT,EAAQU,mBACN,MAArCV,EAAQQ,aAAa,YAErB,OAAO,EAGX,OAAQR,EAAQW,SACZ,IAAK,SACL,IAAK,SACL,IAAK,WACD,OAAO,EACX,IAAK,QACL,IAAK,QACD,OAAOX,EAAQO,aAAa,YAChC,IAAK,QACD,MAAwC,WAAjCP,EAAQQ,aAAa,QAChC,IAAK,IACL,IAAK,OACD,OAAOR,EAAQO,aAAa,QAChC,QACI,OAAO,YC/BHK,EAAuBZ,GACnC,OACKA,EAAQO,aAAa,cACgB,OAArCP,EAAQQ,aAAa,aAAwBF,EAA0BN,aCShEa,EACZC,EACAC,EACAC,EACAC,GAEA,QAJA,IAAAF,IAAAA,GAAA,QAEA,IAAAE,IAAAA,GAAA,IAEKD,EAAKE,cACN,OAAO,KAGX,IAAMC,EAAQF,EAAWX,EAA4BM,EAI/CQ,EAAaJ,EAAKE,cAAcG,iBAClCL,EACAM,WAAWC,aACXC,EAAAA,eACA,GAKJ,IAFAJ,EAAWK,YAAcX,EAElBC,EAAOK,EAAWM,eAAiBN,EAAWO,YAMjD,GAJIP,EAAWK,uBAAuBhB,cAClCK,EAAUM,EAAWK,aAGrBN,EAAML,GACN,OAAOA,EAIf,OAAO,SAIEc,EAA8Bf,WC1C3BgB,EAAgBC,GAC5B,QACMA,KAAUA,EAAKZ,eAAiBtB,EAAiBkC,EAAKZ,iBAAmBY,+BCNjDjC,GAC9B,IAAMC,EAAgBF,EAAiBC,GAGnCC,aAAyBW,aACzBR,EAAiBH,GAAe,kICHNgC,GAE9B,IAAKA,EAAKZ,gBAAkBY,EAAKC,SAC7B,OAAO,EAGX,IAAMC,EAAgBpC,EAAiBkC,EAAKZ,eAE5C,OAAyB,OAAlBc,GAA0BF,EAAKC,SAASC,kFCL/CC,EACAC,EACAC,GAIA,IAFAF,GAAgBE,EAETF,GAAgB,GAAKA,EAAeC,EAASE,QAAQ,CAGxD,GAFAnC,EAAiBiC,EAASD,IAEtBJ,EAAgBK,EAASD,IACzB,OAGJA,GAAgBE,0DCdpBnC,EACAE,EACAC,GAEA,QAHA,IAAAD,IAAAA,GAAA,QACA,IAAAC,IAAAA,GAAA,GAEKH,EAAQkB,cAAb,CAIA,GAAqB,mBAAVmB,MACPrC,EAAQsC,cAAc,IAAID,MAAM,YAAa,CAACE,SAAS,EAAMC,YAAY,SACtE,CACH,IAAMC,EAAQzC,EAAQkB,cAAcwB,YAAY,SAEhDD,EAAME,UAAU,aAAa,GAAM,GACnC3C,EAAQsC,cAAcG,GAG1BxC,EAAiBD,EAASE,EAASC","sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function getNativeFocused(documentRef: Document): Element | null {\n if (!documentRef.activeElement || !documentRef.activeElement.shadowRoot) {\n return documentRef.activeElement;\n }\n\n let element = documentRef.activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","/**\n * @deprecated: use native element.focus()\n * TODO: remove in v3.0\n * Focuses or blurs and element\n *\n * @param element native element\n * @param focused boolean focused state\n * @param preventScroll optional flag to prevent native scroll to the element\n */\nexport function setNativeFocused(\n element: HTMLOrSVGElement,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (focused) {\n element.focus({preventScroll});\n } else {\n element.blur();\n }\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 isNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n // TODO: iframe warning\n if (\n (element instanceof HTMLElement && 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 {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function isNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' || isNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\n\nimport {isNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {isNativeMouseFocusable} from './is-native-mouse-focusable';\n\n/**\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n *\n * @param initial current HTML element\n * @param prev should it look backwards instead (find item that will be focused with Shift + Tab)\n * @param root top Node limiting the search area\n * @param keyboard determine if only keyboard focus is of interest\n *\n */\nexport function getClosestFocusable(\n initial: HTMLElement,\n prev: boolean = false,\n root: Node,\n keyboard: boolean = true,\n): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? isNativeKeyboardFocusable : isNativeMouseFocusable;\n\n // Deprecated but ony this overload works in IE\n // Filter must be a function in IE, other modern browsers are compliant to this format\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n false,\n );\n\n treeWalker.currentNode = initial;\n\n while (prev ? treeWalker.previousNode() : treeWalker.nextNode()) {\n // TODO: iframe warning\n if (treeWalker.currentNode instanceof HTMLElement) {\n initial = treeWalker.currentNode;\n }\n\n if (check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n\n/** @deprecated use getClosestFocusable */\nexport const getClosestKeyboardFocusable = getClosestFocusable;\n","import {getNativeFocused} 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 isNativeFocused(node: Node | null): boolean {\n return (\n !!node && !!node.ownerDocument && getNativeFocused(node.ownerDocument) === node\n );\n}\n","import {getNativeFocused} from './get-native-focused';\nimport {setNativeFocused} from './set-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function blurNativeFocused(documentRef: Document): void {\n const activeElement = getNativeFocused(documentRef);\n\n // TODO: iframe warning\n if (activeElement instanceof HTMLElement) {\n setNativeFocused(activeElement, false);\n }\n}\n","import {getNativeFocused} 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 isNativeFocusedIn(node: Node): boolean {\n // !node.contains - check for IE11\n if (!node.ownerDocument || !node.contains) {\n return false;\n }\n\n const nativeFocused = getNativeFocused(node.ownerDocument);\n\n return nativeFocused !== null && node.contains(nativeFocused);\n}\n","import {isNativeFocused} from './is-native-focused';\nimport {setNativeFocused} from './set-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 moveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n setNativeFocused(elements[currentIndex]);\n\n if (isNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","import {setNativeFocused} from './set-native-focused';\n\n/**\n * Focuses or blurs element with mouse action imitation (to spoof {@link TuiFocusVisibleService})\n *\n * @param element\n * @param focused desired focused state\n * @param preventScroll optionally prevent native browser scroll after focus\n */\nexport function setNativeMouseFocused(\n element: HTMLOrSVGElement & Element,\n focused: boolean = true,\n preventScroll: boolean = false,\n): void {\n if (!element.ownerDocument) {\n return;\n }\n\n if (typeof Event === 'function') {\n element.dispatchEvent(new Event('mousedown', {bubbles: true, cancelable: true}));\n } else {\n const event = element.ownerDocument.createEvent('Event');\n\n event.initEvent('mousedown', true, true);\n element.dispatchEvent(event);\n }\n\n setNativeFocused(element, focused, preventScroll);\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { PolymorpheusContent } from '@tinkoff/ng-polymorpheus';
|
|
2
|
-
export declare class TuiValidationError<T extends object = Record<string,
|
|
2
|
+
export declare class TuiValidationError<T extends object = Record<string, unknown>> {
|
|
3
3
|
readonly message: PolymorpheusContent<T>;
|
|
4
4
|
readonly context: T;
|
|
5
5
|
constructor(message: PolymorpheusContent<T>, context?: T);
|
|
@@ -5,5 +5,5 @@ export declare class TuiAlertHostComponent<T extends TuiDialog<unknown, unknown>
|
|
|
5
5
|
readonly alerts: Array<Observable<readonly T[]>>;
|
|
6
6
|
private readonly injector;
|
|
7
7
|
constructor(alerts: Array<Observable<readonly T[]>>, injector: Injector);
|
|
8
|
-
readonly mapper: TuiMapper<
|
|
8
|
+
readonly mapper: TuiMapper<unknown, Injector>;
|
|
9
9
|
}
|
package/constants/stringify.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"ALWAYS_FALSE_HANDLER":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":36,"module":"./always-false-handler"},"ALWAYS_TRUE_HANDLER":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":35,"module":"./always-true-handler"},"CHROMIUM_EDGE_START_VERSION":79,"EMPTY_QUERY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"QueryList","line":8,"character":31}},"EMPTY_ARRAY":[],"EMPTY_FUNCTION":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":56,"module":"./empty"},"EMPTY_VALIDATOR":{"__symbolic":"error","message":"Lambda not supported","line":12,"character":44,"module":"./empty"},"TUI_DEFAULT_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":35,"module":"./matcher"},"TUI_STRICT_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":34,"module":"./matcher"},"TUI_DEFAULT_IDENTITY_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":35,"character":73,"module":"./matcher"},"TUI_PARENT_ANIMATION":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":2,"character":36},"arguments":["tuiParentAnimation",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":3,"character":4},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":4,"character":8},"arguments":[{"overflow":"hidden"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"query","line":5,"character":8},"arguments":["@*",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animateChild","line":5,"character":21}}],{"optional":true}]}]]}]]},"POLLING_TIME":66.66666666666667,"TUI_DEFAULT_STRINGIFY":{"__symbolic":"error","message":"Lambda not supported","line":5,"character":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"ALWAYS_FALSE_HANDLER":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":36,"module":"./always-false-handler"},"ALWAYS_TRUE_HANDLER":{"__symbolic":"error","message":"Lambda not supported","line":3,"character":35,"module":"./always-true-handler"},"CHROMIUM_EDGE_START_VERSION":79,"EMPTY_QUERY":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"QueryList","line":8,"character":31}},"EMPTY_ARRAY":[],"EMPTY_FUNCTION":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":56,"module":"./empty"},"EMPTY_VALIDATOR":{"__symbolic":"error","message":"Lambda not supported","line":12,"character":44,"module":"./empty"},"TUI_DEFAULT_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":10,"character":35,"module":"./matcher"},"TUI_STRICT_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":22,"character":34,"module":"./matcher"},"TUI_DEFAULT_IDENTITY_MATCHER":{"__symbolic":"error","message":"Lambda not supported","line":35,"character":73,"module":"./matcher"},"TUI_PARENT_ANIMATION":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":2,"character":36},"arguments":["tuiParentAnimation",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":3,"character":4},"arguments":["* => void",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":4,"character":8},"arguments":[{"overflow":"hidden"}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"query","line":5,"character":8},"arguments":["@*",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animateChild","line":5,"character":21}}],{"optional":true}]}]]}]]},"POLLING_TIME":66.66666666666667,"TUI_DEFAULT_STRINGIFY":{"__symbolic":"error","message":"Lambda not supported","line":5,"character":64,"module":"./stringify"},"svgNodeFilter":{"__symbolic":"error","message":"Lambda not supported","line":2,"character":42,"module":"./svg-node-filter"},"CHAR_NO_BREAK_SPACE":" ","CHAR_EN_DASH":"–","CHAR_EM_DASH":"—","CHAR_HYPHEN":"-","CHAR_PLUS":"+","CHAR_BULLET":"•","CHAR_ELLIPSIS":"…","CHAR_CURRENCY_SIGN":"¤","CHAR_ZERO_WIDTH_SPACE":""},"origins":{"ALWAYS_FALSE_HANDLER":"./always-false-handler","ALWAYS_TRUE_HANDLER":"./always-true-handler","CHROMIUM_EDGE_START_VERSION":"./browser","EMPTY_QUERY":"./empty","EMPTY_ARRAY":"./empty","EMPTY_FUNCTION":"./empty","EMPTY_VALIDATOR":"./empty","TUI_DEFAULT_MATCHER":"./matcher","TUI_STRICT_MATCHER":"./matcher","TUI_DEFAULT_IDENTITY_MATCHER":"./matcher","TUI_PARENT_ANIMATION":"./parent-animation","POLLING_TIME":"./polling-time","TUI_DEFAULT_STRINGIFY":"./stringify","svgNodeFilter":"./svg-node-filter","CHAR_NO_BREAK_SPACE":"./unicode-chars","CHAR_EN_DASH":"./unicode-chars","CHAR_EM_DASH":"./unicode-chars","CHAR_HYPHEN":"./unicode-chars","CHAR_PLUS":"./unicode-chars","CHAR_BULLET":"./unicode-chars","CHAR_ELLIPSIS":"./unicode-chars","CHAR_CURRENCY_SIGN":"./unicode-chars","CHAR_ZERO_WIDTH_SPACE":"./unicode-chars"},"importAs":"@taiga-ui/cdk/constants"}
|
|
@@ -3,9 +3,33 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export declare const CHAR_NO_BREAK_SPACE = "\u00A0";
|
|
5
5
|
/**
|
|
6
|
-
* {@link https://unicode-table.com/en/2013/ EN dash}
|
|
6
|
+
* {@link https://unicode-table.com/en/2013/ EN dash}
|
|
7
|
+
* is used to indicate a range of numbers or a span of time.
|
|
8
|
+
* @example 2006–2022
|
|
9
|
+
* ___
|
|
10
|
+
* Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!
|
|
7
11
|
*/
|
|
8
12
|
export declare const CHAR_EN_DASH = "\u2013";
|
|
13
|
+
/**
|
|
14
|
+
* {@link https://unicode-table.com/en/2014/ EM dash}
|
|
15
|
+
* is used to mark a break in a sentence.
|
|
16
|
+
* @example Taiga UI — powerful set of open source components for Angular
|
|
17
|
+
* ___
|
|
18
|
+
* Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!
|
|
19
|
+
*/
|
|
20
|
+
export declare const CHAR_EM_DASH = "\u2014";
|
|
21
|
+
/**
|
|
22
|
+
* {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}
|
|
23
|
+
* is used to combine words or as minus sign before digits.
|
|
24
|
+
* @example well-behaved, -42
|
|
25
|
+
* ___
|
|
26
|
+
* Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!
|
|
27
|
+
*/
|
|
28
|
+
export declare const CHAR_HYPHEN = "-";
|
|
29
|
+
/**
|
|
30
|
+
* {@link https://unicode-table.com/en/002B/ Plus}
|
|
31
|
+
*/
|
|
32
|
+
export declare const CHAR_PLUS = "+";
|
|
9
33
|
/**
|
|
10
34
|
* {@link https://unicode-table.com/en/2022/ Bullet}.
|
|
11
35
|
*/
|
|
@@ -5,7 +5,7 @@ export interface TuiAutofocusHandler {
|
|
|
5
5
|
setFocus(): void;
|
|
6
6
|
}
|
|
7
7
|
export declare const TUI_AUTOFOCUS_HANDLER: InjectionToken<TuiAutofocusHandler>;
|
|
8
|
-
export declare function tuiAutofocusHandlerFactory(tuiFocusableComponent: TuiFocusableElementAccessor | null, elementRef: ElementRef<HTMLElement>, animationFrame$: Observable<number>, renderer: Renderer2, ngZone: NgZone): TuiAutofocusHandler;
|
|
8
|
+
export declare function tuiAutofocusHandlerFactory(tuiFocusableComponent: TuiFocusableElementAccessor | null, elementRef: ElementRef<HTMLElement>, animationFrame$: Observable<number>, renderer: Renderer2, ngZone: NgZone, windowRef: Window): TuiAutofocusHandler;
|
|
9
9
|
export declare const TUI_AUTOFOCUS_PROVIDERS: {
|
|
10
10
|
provide: InjectionToken<TuiAutofocusHandler>;
|
|
11
11
|
useFactory: typeof tuiAutofocusHandlerFactory;
|
|
@@ -4,7 +4,32 @@ import { AbstractTuiAutofocusHandler } from './abstract.handler';
|
|
|
4
4
|
export declare class TuiIosAutofocusHandler extends AbstractTuiAutofocusHandler {
|
|
5
5
|
private readonly renderer;
|
|
6
6
|
private readonly ngZone;
|
|
7
|
-
|
|
7
|
+
private readonly windowRef;
|
|
8
|
+
constructor(tuiFocusableComponent: TuiFocusableElementAccessor | null, elementRef: ElementRef<HTMLElement>, renderer: Renderer2, ngZone: NgZone, windowRef: Window);
|
|
8
9
|
setFocus(): void;
|
|
9
10
|
private iosWebkitAutofocus;
|
|
11
|
+
/**
|
|
12
|
+
* @note:
|
|
13
|
+
* emulate textfield position in layout with cursor
|
|
14
|
+
* before focus to real textfield element
|
|
15
|
+
*/
|
|
16
|
+
private makeFakeInput;
|
|
17
|
+
private getDurationTimeBeforeFocus;
|
|
18
|
+
/**
|
|
19
|
+
* @note:
|
|
20
|
+
* unfortunately, in older versions of iOS
|
|
21
|
+
* there is a bug that the fake input cursor
|
|
22
|
+
* will move along with the dialog animation
|
|
23
|
+
* and then that dialog will be shaking
|
|
24
|
+
*/
|
|
25
|
+
private insideDialog;
|
|
26
|
+
/**
|
|
27
|
+
* @note:
|
|
28
|
+
* This is necessary so that the viewport isn't recalculated
|
|
29
|
+
* and then the dialogs don't shake.
|
|
30
|
+
*
|
|
31
|
+
* Also, we need to fixed height viewport,
|
|
32
|
+
* so that when focusing the dialogs don't shake
|
|
33
|
+
*/
|
|
34
|
+
private patchCssStyles;
|
|
10
35
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TuiAutoFocusDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1},"arguments":[{"selector":"[tuiAutoFocus]","providers":{"__symbolic":"reference","name":"TUI_AUTOFOCUS_PROVIDERS"}}]}],"members":{"autoFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_AUTOFOCUS_HANDLER"}]}]],"parameters":[{"__symbolic":"reference","name":"TuiAutofocusHandler"}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"TuiAutoFocusModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiAutoFocusDirective"}],"exports":[{"__symbolic":"reference","name":"TuiAutoFocusDirective"}]}]}],"members":{}},"TuiAutofocusHandler":{"__symbolic":"interface"},"TUI_AUTOFOCUS_HANDLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":21,"character":41},"arguments":["Autofocusing handler"]},"tuiAutofocusHandlerFactory":{"__symbolic":"function","parameters":["tuiFocusableComponent","elementRef","animationFrame$","renderer","ngZone"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"inject","line":
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TuiAutoFocusDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":9,"character":1},"arguments":[{"selector":"[tuiAutoFocus]","providers":{"__symbolic":"reference","name":"TUI_AUTOFOCUS_PROVIDERS"}}]}],"members":{"autoFocus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":5}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","name":"TUI_AUTOFOCUS_HANDLER"}]}]],"parameters":[{"__symbolic":"reference","name":"TuiAutofocusHandler"}]}],"ngAfterViewInit":[{"__symbolic":"method"}]}},"TuiAutoFocusModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"TuiAutoFocusDirective"}],"exports":[{"__symbolic":"reference","name":"TuiAutoFocusDirective"}]}]}],"members":{}},"TuiAutofocusHandler":{"__symbolic":"interface"},"TUI_AUTOFOCUS_HANDLER":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":21,"character":41},"arguments":["Autofocusing handler"]},"tuiAutofocusHandlerFactory":{"__symbolic":"function","parameters":["tuiFocusableComponent","elementRef","animationFrame$","renderer","ngZone","windowRef"],"value":{"__symbolic":"if","condition":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"inject","line":34,"character":11},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk/tokens","name":"TUI_IS_IOS","line":34,"character":18}]},"thenExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"TuiIosAutofocusHandler"},"arguments":[{"__symbolic":"reference","name":"tuiFocusableComponent"},{"__symbolic":"reference","name":"elementRef"},{"__symbolic":"reference","name":"renderer"},{"__symbolic":"reference","name":"ngZone"},{"__symbolic":"reference","name":"windowRef"}]},"elseExpression":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"TuiDefaultAutofocusHandler"},"arguments":[{"__symbolic":"reference","name":"tuiFocusableComponent"},{"__symbolic":"reference","name":"elementRef"},{"__symbolic":"reference","name":"animationFrame$"}]}}},"TUI_AUTOFOCUS_PROVIDERS":[{"provide":{"__symbolic":"reference","name":"TUI_AUTOFOCUS_HANDLER"},"useFactory":{"__symbolic":"reference","name":"tuiAutofocusHandlerFactory"},"deps":[[{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":55,"character":17}},{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":55,"character":33}},{"__symbolic":"reference","module":"@taiga-ui/cdk/tokens","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":55,"character":41}],{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":56,"character":12},{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":57,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":58,"character":12},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":59,"character":12},{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":60,"character":12}]}],"AbstractTuiAutofocusHandler":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":8,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk/interfaces","name":"TuiFocusableElementAccessor","line":11,"character":50},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":12,"character":50,"context":{"typeName":"HTMLElement"},"module":"./handlers/abstract.handler"}]}]}],"setFocus":[{"__symbolic":"method"}]}},"TuiDefaultAutofocusHandler":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractTuiAutofocusHandler"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":13,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":16,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":17,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk/tokens","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":18,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":20,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":20,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":21,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"ANIMATION_FRAME","line":21,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk/interfaces","name":"TuiFocusableElementAccessor","line":19,"character":31},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":20,"character":51,"context":{"typeName":"HTMLElement"},"module":"./handlers/default.handler"}]},{"__symbolic":"reference","name":"Observable","module":"rxjs","arguments":[{"__symbolic":"reference","name":"number"}]}]}],"setFocus":[{"__symbolic":"method"}]}},"TuiIosAutofocusHandler":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"AbstractTuiAutofocusHandler"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":17,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":20,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Self","line":21,"character":9}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":22,"character":9},"arguments":[{"__symbolic":"reference","module":"@taiga-ui/cdk/tokens","name":"TUI_FOCUSABLE_ITEM_ACCESSOR","line":22,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":24,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":24,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":25,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":26,"character":9},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":26,"character":16}]}],[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":9},"arguments":[{"__symbolic":"reference","module":"@ng-web-apis/common","name":"WINDOW","line":27,"character":16}]}]],"parameters":[{"__symbolic":"reference","module":"@taiga-ui/cdk/interfaces","name":"TuiFocusableElementAccessor","line":23,"character":31},{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":24,"character":51,"context":{"typeName":"HTMLElement"},"module":"./handlers/ios.handler"}]},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":25,"character":54},{"__symbolic":"reference","module":"@angular/core","name":"NgZone","line":26,"character":49},{"__symbolic":"error","message":"Could not resolve type","line":27,"character":52,"context":{"typeName":"Window"},"module":"./handlers/ios.handler"}]}],"setFocus":[{"__symbolic":"method"}],"iosWebkitAutofocus":[{"__symbolic":"method"}],"makeFakeInput":[{"__symbolic":"method"}],"getDurationTimeBeforeFocus":[{"__symbolic":"method"}],"insideDialog":[{"__symbolic":"method"}],"patchCssStyles":[{"__symbolic":"method"}]}}},"origins":{"TuiAutoFocusDirective":"./autofocus.directive","TuiAutoFocusModule":"./autofocus.module","TuiAutofocusHandler":"./autofocus.options","TUI_AUTOFOCUS_HANDLER":"./autofocus.options","tuiAutofocusHandlerFactory":"./autofocus.options","TUI_AUTOFOCUS_PROVIDERS":"./autofocus.options","AbstractTuiAutofocusHandler":"./handlers/abstract.handler","TuiDefaultAutofocusHandler":"./handlers/default.handler","TuiIosAutofocusHandler":"./handlers/ios.handler"},"importAs":"@taiga-ui/cdk/directives/auto-focus"}
|
|
@@ -13,5 +13,5 @@ export declare class TuiLetDirective<T> {
|
|
|
13
13
|
* The presence of this method is a signal to the Ivy template type-check compiler that the
|
|
14
14
|
* `TuiLet` structural directive renders its template with a specific context type.
|
|
15
15
|
*/
|
|
16
|
-
static ngTemplateContextGuard<T>(_dir: TuiLetDirective<T>, _ctx:
|
|
16
|
+
static ngTemplateContextGuard<T>(_dir: TuiLetDirective<T>, _ctx: unknown): _ctx is TuiLetDirective<Exclude<T, null | undefined>>;
|
|
17
17
|
}
|
package/enums/autocomplete.d.ts
CHANGED
|
@@ -3,7 +3,17 @@ export declare const enum TuiCreditCardAutofillName {
|
|
|
3
3
|
CcName = "cc-name",
|
|
4
4
|
CcNumber = "cc-number",
|
|
5
5
|
CcCsc = "cc-csc",
|
|
6
|
+
CcExpMonth = "cc-exp-month",
|
|
7
|
+
/**
|
|
8
|
+
* @deprecated
|
|
9
|
+
* TODO: 3.0 replace with {@link CcExpMonth}
|
|
10
|
+
*/
|
|
6
11
|
CcExp_mounth = "cc-exp-month",
|
|
12
|
+
CcExpYear = "cc-exp-year",
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated
|
|
15
|
+
* TODO: 3.0 replace with {@link CcExpYear}
|
|
16
|
+
*/
|
|
7
17
|
CcExp_year = "cc-exp-year",
|
|
8
18
|
CcExp = "cc-exp",
|
|
9
19
|
CcType = "cc-type"
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"TuiCreditCardAutofillName":{"Off":"off","CcName":"cc-name","CcNumber":"cc-number","CcCsc":"cc-csc","CcExp_mounth":"cc-exp-month","CcExp_year":"cc-exp-year","CcExp":"cc-exp","CcType":"cc-type"},"TuiNameAutofillName":{"Off":"off","Name":"name","GivenName":"given-name","AdditionalName":"additional-name","FamilyName":"family-name"},"TuiAccountAutofillName":{"Off":"off","Username":"username","NewPassword":"new-password","CurrentPassword":"current-password"},"TuiEmailAutofillName":{"Off":"off","Email":"email"},"TuiAddressAutofillName":{"Off":"off","StreetAddress":"street-address","PostalCode":"postal-code","CountryName":"country-name"},"TuiPhoneAutofillName":{"Off":"off","Tel":"tel"},"TuiDateAutofillName":{"Off":"off","Bday":"bday"},"TuiTransactionAutofillName":{"Off":"off","TransactionCurrency":"transaction-currency","TransactionAmount":"transaction-amount"},"TuiAutofillFieldNameT":{"__symbolic":"interface"},"TuiAutofillFieldName":{"__symbolic":"interface"},"TuiDayOfWeek":{"Sunday":0,"Monday":1,"Tuesday":2,"Wednesday":3,"Thursday":4,"Friday":5,"Saturday":6},"TuiInputMode":{"None":"none","Text":"text","Decimal":"decimal","Numeric":"numeric","Tel":"tel","Email":"email","Url":"url","Search":"search"},"TuiInputType":{"Text":"text","Tel":"tel","Email":"email","Url":"url","Password":"password"},"TuiMonthNumber":{"January":0,"February":1,"March":2,"April":3,"May":4,"June":5,"July":6,"August":7,"September":8,"October":9,"November":10,"December":11},"TuiOverscrollMode":{"All":"all","Scroll":"scroll","None":"none"}},"origins":{"TuiCreditCardAutofillName":"./autocomplete","TuiNameAutofillName":"./autocomplete","TuiAccountAutofillName":"./autocomplete","TuiEmailAutofillName":"./autocomplete","TuiAddressAutofillName":"./autocomplete","TuiPhoneAutofillName":"./autocomplete","TuiDateAutofillName":"./autocomplete","TuiTransactionAutofillName":"./autocomplete","TuiAutofillFieldNameT":"./autocomplete","TuiAutofillFieldName":"./autocomplete","TuiDayOfWeek":"./day-of-week","TuiInputMode":"./input-mode","TuiInputType":"./input-type","TuiMonthNumber":"./month-number","TuiOverscrollMode":"./overscroll-mode"},"importAs":"@taiga-ui/cdk/enums"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"TuiCreditCardAutofillName":{"Off":"off","CcName":"cc-name","CcNumber":"cc-number","CcCsc":"cc-csc","CcExpMonth":"cc-exp-month","CcExp_mounth":"cc-exp-month","CcExpYear":"cc-exp-year","CcExp_year":"cc-exp-year","CcExp":"cc-exp","CcType":"cc-type"},"TuiNameAutofillName":{"Off":"off","Name":"name","GivenName":"given-name","AdditionalName":"additional-name","FamilyName":"family-name"},"TuiAccountAutofillName":{"Off":"off","Username":"username","NewPassword":"new-password","CurrentPassword":"current-password"},"TuiEmailAutofillName":{"Off":"off","Email":"email"},"TuiAddressAutofillName":{"Off":"off","StreetAddress":"street-address","PostalCode":"postal-code","CountryName":"country-name"},"TuiPhoneAutofillName":{"Off":"off","Tel":"tel"},"TuiDateAutofillName":{"Off":"off","Bday":"bday"},"TuiTransactionAutofillName":{"Off":"off","TransactionCurrency":"transaction-currency","TransactionAmount":"transaction-amount"},"TuiAutofillFieldNameT":{"__symbolic":"interface"},"TuiAutofillFieldName":{"__symbolic":"interface"},"TuiDayOfWeek":{"Sunday":0,"Monday":1,"Tuesday":2,"Wednesday":3,"Thursday":4,"Friday":5,"Saturday":6},"TuiInputMode":{"None":"none","Text":"text","Decimal":"decimal","Numeric":"numeric","Tel":"tel","Email":"email","Url":"url","Search":"search"},"TuiInputType":{"Text":"text","Tel":"tel","Email":"email","Url":"url","Password":"password"},"TuiMonthNumber":{"January":0,"February":1,"March":2,"April":3,"May":4,"June":5,"July":6,"August":7,"September":8,"October":9,"November":10,"December":11},"TuiOverscrollMode":{"All":"all","Scroll":"scroll","None":"none"}},"origins":{"TuiCreditCardAutofillName":"./autocomplete","TuiNameAutofillName":"./autocomplete","TuiAccountAutofillName":"./autocomplete","TuiEmailAutofillName":"./autocomplete","TuiAddressAutofillName":"./autocomplete","TuiPhoneAutofillName":"./autocomplete","TuiDateAutofillName":"./autocomplete","TuiTransactionAutofillName":"./autocomplete","TuiAutofillFieldNameT":"./autocomplete","TuiAutofillFieldName":"./autocomplete","TuiDayOfWeek":"./day-of-week","TuiInputMode":"./input-mode","TuiInputType":"./input-type","TuiMonthNumber":"./month-number","TuiOverscrollMode":"./overscroll-mode"},"importAs":"@taiga-ui/cdk/enums"}
|
|
@@ -1,4 +1,8 @@
|
|
|
1
1
|
import { Subject } from 'rxjs';
|
|
2
|
+
/**
|
|
3
|
+
* @deprecated
|
|
4
|
+
* TODO: 3.0 replace with {@link AbstractTuiController}
|
|
5
|
+
*/
|
|
2
6
|
export class TuiController {
|
|
3
7
|
constructor() {
|
|
4
8
|
this.change$ = new Subject();
|
|
@@ -7,4 +11,6 @@ export class TuiController {
|
|
|
7
11
|
this.change$.next();
|
|
8
12
|
}
|
|
9
13
|
}
|
|
10
|
-
|
|
14
|
+
export class AbstractTuiController extends TuiController {
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvYWJzdHJhY3QvIiwic291cmNlcyI6WyJjb250cm9sbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxNQUFNLENBQUM7QUFFN0I7OztHQUdHO0FBQ0gsTUFBTSxPQUFnQixhQUFhO0lBQW5DO1FBQ2EsWUFBTyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFLM0MsQ0FBQztJQUhHLFdBQVc7UUFDUCxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDO0lBQ3hCLENBQUM7Q0FDSjtBQUVELE1BQU0sT0FBZ0IscUJBQXNCLFNBQVEsYUFBYTtDQUFHIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25hbWluZy1jb252ZW50aW9uICovXG5pbXBvcnQge09uQ2hhbmdlc30gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1N1YmplY3R9IGZyb20gJ3J4anMnO1xuXG4vKipcbiAqIEBkZXByZWNhdGVkXG4gKiBUT0RPOiAzLjAgcmVwbGFjZSB3aXRoIHtAbGluayBBYnN0cmFjdFR1aUNvbnRyb2xsZXJ9XG4gKi9cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBUdWlDb250cm9sbGVyIGltcGxlbWVudHMgT25DaGFuZ2VzIHtcbiAgICByZWFkb25seSBjaGFuZ2UkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcblxuICAgIG5nT25DaGFuZ2VzKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmNoYW5nZSQubmV4dCgpO1xuICAgIH1cbn1cblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIEFic3RyYWN0VHVpQ29udHJvbGxlciBleHRlbmRzIFR1aUNvbnRyb2xsZXIge31cbiJdfQ==
|
|
@@ -4,4 +4,4 @@ export class TuiValidationError {
|
|
|
4
4
|
this.context = context;
|
|
5
5
|
}
|
|
6
6
|
}
|
|
7
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbi1lcnJvci5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvY2xhc3Nlcy8iLCJzb3VyY2VzIjpbInZhbGlkYXRpb24tZXJyb3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsTUFBTSxPQUFPLGtCQUFrQjtJQUMzQixZQUNhLE9BQStCLEVBQy9CLFVBQWEsRUFBTztRQURwQixZQUFPLEdBQVAsT0FBTyxDQUF3QjtRQUMvQixZQUFPLEdBQVAsT0FBTyxDQUFhO0lBQzlCLENBQUM7Q0FDUCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcblxuZXhwb3J0IGNsYXNzIFR1aVZhbGlkYXRpb25FcnJvcjxUIGV4dGVuZHMgb2JqZWN0ID0gUmVjb3JkPHN0cmluZywgdW5rbm93bj4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgcmVhZG9ubHkgbWVzc2FnZTogUG9seW1vcnBoZXVzQ29udGVudDxUPixcbiAgICAgICAgcmVhZG9ubHkgY29udGV4dDogVCA9IHt9IGFzIFQsXG4gICAgKSB7fVxufVxuIl19
|
|
@@ -35,4 +35,4 @@ TuiAlertHostComponent = __decorate([
|
|
|
35
35
|
__param(1, Inject(INJECTOR))
|
|
36
36
|
], TuiAlertHostComponent);
|
|
37
37
|
export { TuiAlertHostComponent };
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
38
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWxlcnQtaG9zdC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2NvbXBvbmVudHMvYWxlcnQtaG9zdC8iLCJzb3VyY2VzIjpbImFsZXJ0LWhvc3QuY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxNQUFNLEVBQ04sUUFBUSxFQUNSLFFBQVEsRUFDUixpQkFBaUIsR0FDcEIsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0seUJBQXlCLENBQUM7QUFDN0QsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRWhELE9BQU8sRUFBQyxvQkFBb0IsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBVzlELElBQWEscUJBQXFCLEdBQWxDLE1BQWEscUJBQXFCO0lBQzlCLFlBQ2lDLE1BQXVDLEVBQ2pDLFFBQWtCO1FBRHhCLFdBQU0sR0FBTixNQUFNLENBQWlDO1FBQ2pDLGFBQVEsR0FBUixRQUFRLENBQVU7UUFHaEQsV0FBTSxHQUFpQyxRQUFRLENBQUMsRUFBRSxDQUN2RCxRQUFRLENBQUMsTUFBTSxDQUFDO1lBQ1osU0FBUyxFQUFFO2dCQUNQO29CQUNJLE9BQU8sRUFBRSxvQkFBb0I7b0JBQzdCLFFBQVE7aUJBQ1g7YUFDSjtZQUNELE1BQU0sRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDLENBQUM7SUFYSixDQUFDO0NBWVAsQ0FBQTs7WUFkNEMsS0FBSyx1QkFBekMsTUFBTSxTQUFDLFVBQVU7WUFDMkIsUUFBUSx1QkFBcEQsTUFBTSxTQUFDLFFBQVE7O0FBSFgscUJBQXFCO0lBUmpDLFNBQVMsQ0FBQztRQUNQLFFBQVEsRUFBRSxnQkFBZ0I7UUFDMUIsdVZBQXlDO1FBRXpDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO1FBQy9DLFVBQVUsRUFBRSxDQUFDLG9CQUFvQixDQUFDO1FBQ2xDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJOztLQUN4QyxDQUFDO0lBR08sV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7R0FIWixxQkFBcUIsQ0FnQmpDO1NBaEJZLHFCQUFxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ29tcG9uZW50LFxuICAgIEluamVjdCxcbiAgICBJTkpFQ1RPUixcbiAgICBJbmplY3RvcixcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1RVSV9QQVJFTlRfQU5JTUFUSU9OfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2NvbnN0YW50cyc7XG5pbXBvcnQge1RVSV9BTEVSVFN9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7VHVpRGlhbG9nLCBUdWlNYXBwZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuaW1wb3J0IHtQT0xZTU9SUEhFVVNfQ09OVEVYVH0gZnJvbSAnQHRpbmtvZmYvbmctcG9seW1vcnBoZXVzJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWFsZXJ0LWhvc3QnLFxuICAgIHRlbXBsYXRlVXJsOiAnLi9hbGVydC1ob3N0LnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL2FsZXJ0LWhvc3Quc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGFuaW1hdGlvbnM6IFtUVUlfUEFSRU5UX0FOSU1BVElPTl0sXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpQWxlcnRIb3N0Q29tcG9uZW50PFQgZXh0ZW5kcyBUdWlEaWFsb2c8dW5rbm93biwgdW5rbm93bj4+IHtcbiAgICBjb25zdHJ1Y3RvcihcbiAgICAgICAgQEluamVjdChUVUlfQUxFUlRTKSByZWFkb25seSBhbGVydHM6IEFycmF5PE9ic2VydmFibGU8cmVhZG9ubHkgVFtdPj4sXG4gICAgICAgIEBJbmplY3QoSU5KRUNUT1IpIHByaXZhdGUgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yLFxuICAgICkge31cblxuICAgIHJlYWRvbmx5IG1hcHBlcjogVHVpTWFwcGVyPHVua25vd24sIEluamVjdG9yPiA9IHVzZVZhbHVlID0+XG4gICAgICAgIEluamVjdG9yLmNyZWF0ZSh7XG4gICAgICAgICAgICBwcm92aWRlcnM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICAgIHByb3ZpZGU6IFBPTFlNT1JQSEVVU19DT05URVhULFxuICAgICAgICAgICAgICAgICAgICB1c2VWYWx1ZSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgXSxcbiAgICAgICAgICAgIHBhcmVudDogdGhpcy5pbmplY3RvcixcbiAgICAgICAgfSk7XG59XG4iXX0=
|
|
@@ -2,4 +2,4 @@
|
|
|
2
2
|
* Default method to turn arbitrary object into string
|
|
3
3
|
*/
|
|
4
4
|
export const TUI_DEFAULT_STRINGIFY = item => String(item);
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyaW5naWZ5LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHRhaWdhLXVpL2Nkay9jb25zdGFudHMvIiwic291cmNlcyI6WyJzdHJpbmdpZnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUE7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxxQkFBcUIsR0FBOEIsSUFBSSxDQUFDLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1R1aVN0cmluZ0hhbmRsZXJ9IGZyb20gJ0B0YWlnYS11aS9jZGsvdHlwZXMnO1xuXG4vKipcbiAqIERlZmF1bHQgbWV0aG9kIHRvIHR1cm4gYXJiaXRyYXJ5IG9iamVjdCBpbnRvIHN0cmluZ1xuICovXG5leHBvcnQgY29uc3QgVFVJX0RFRkFVTFRfU1RSSU5HSUZZOiBUdWlTdHJpbmdIYW5kbGVyPHVua25vd24+ID0gaXRlbSA9PiBTdHJpbmcoaXRlbSk7XG4iXX0=
|
|
@@ -3,9 +3,33 @@
|
|
|
3
3
|
*/
|
|
4
4
|
export const CHAR_NO_BREAK_SPACE = '\u00A0';
|
|
5
5
|
/**
|
|
6
|
-
* {@link https://unicode-table.com/en/2013/ EN dash}
|
|
6
|
+
* {@link https://unicode-table.com/en/2013/ EN dash}
|
|
7
|
+
* is used to indicate a range of numbers or a span of time.
|
|
8
|
+
* @example 2006–2022
|
|
9
|
+
* ___
|
|
10
|
+
* Don't confuse with {@link CHAR_EM_DASH} or {@link CHAR_HYPHEN}!
|
|
7
11
|
*/
|
|
8
12
|
export const CHAR_EN_DASH = '\u2013';
|
|
13
|
+
/**
|
|
14
|
+
* {@link https://unicode-table.com/en/2014/ EM dash}
|
|
15
|
+
* is used to mark a break in a sentence.
|
|
16
|
+
* @example Taiga UI — powerful set of open source components for Angular
|
|
17
|
+
* ___
|
|
18
|
+
* Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_HYPHEN}!
|
|
19
|
+
*/
|
|
20
|
+
export const CHAR_EM_DASH = '\u2014';
|
|
21
|
+
/**
|
|
22
|
+
* {@link https://unicode-table.com/en/002D/ Hyphen (minus sign)}
|
|
23
|
+
* is used to combine words or as minus sign before digits.
|
|
24
|
+
* @example well-behaved, -42
|
|
25
|
+
* ___
|
|
26
|
+
* Don't confuse with {@link CHAR_EN_DASH} or {@link CHAR_EM_DASH}!
|
|
27
|
+
*/
|
|
28
|
+
export const CHAR_HYPHEN = '\u002D';
|
|
29
|
+
/**
|
|
30
|
+
* {@link https://unicode-table.com/en/002B/ Plus}
|
|
31
|
+
*/
|
|
32
|
+
export const CHAR_PLUS = '\u002B';
|
|
9
33
|
/**
|
|
10
34
|
* {@link https://unicode-table.com/en/2022/ Bullet}.
|
|
11
35
|
*/
|
|
@@ -21,5 +45,5 @@ export const CHAR_CURRENCY_SIGN = '\u00A4';
|
|
|
21
45
|
/**
|
|
22
46
|
* {@link https://unicode-table.com/en/200b/ Suspension points}.
|
|
23
47
|
*/
|
|
24
|
-
export const CHAR_ZERO_WIDTH_SPACE = '\
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
48
|
+
export const CHAR_ZERO_WIDTH_SPACE = '\u200B';
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pY29kZS1jaGFycy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9jZGsvY29uc3RhbnRzLyIsInNvdXJjZXMiOlsidW5pY29kZS1jaGFycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG1CQUFtQixHQUFHLFFBQVEsQ0FBQztBQUU1Qzs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsUUFBUSxDQUFDO0FBRXJDOzs7Ozs7R0FNRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyxRQUFRLENBQUM7QUFFckM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUVwQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUM7QUFFbEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsUUFBUSxDQUFDO0FBRXBDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQztBQUV0Qzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLFFBQVEsQ0FBQztBQUUzQzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICoge0BsaW5rIGh0dHBzOi8vdW5pY29kZS10YWJsZS5jb20vZW4vMDBBMC8gTm9uLWJyZWFraW5nIHNwYWNlfS5cbiAqL1xuZXhwb3J0IGNvbnN0IENIQVJfTk9fQlJFQUtfU1BBQ0UgPSAnXFx1MDBBMCc7XG5cbi8qKlxuICoge0BsaW5rIGh0dHBzOi8vdW5pY29kZS10YWJsZS5jb20vZW4vMjAxMy8gRU4gZGFzaH1cbiAqIGlzIHVzZWQgdG8gaW5kaWNhdGUgYSByYW5nZSBvZiBudW1iZXJzIG9yIGEgc3BhbiBvZiB0aW1lLlxuICogQGV4YW1wbGUgMjAwNuKAkzIwMjJcbiAqIF9fX1xuICogRG9uJ3QgY29uZnVzZSB3aXRoIHtAbGluayBDSEFSX0VNX0RBU0h9IG9yIHtAbGluayBDSEFSX0hZUEhFTn0hXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX0VOX0RBU0ggPSAnXFx1MjAxMyc7XG5cbi8qKlxuICoge0BsaW5rIGh0dHBzOi8vdW5pY29kZS10YWJsZS5jb20vZW4vMjAxNC8gRU0gZGFzaH1cbiAqIGlzIHVzZWQgdG8gbWFyayBhIGJyZWFrIGluIGEgc2VudGVuY2UuXG4gKiBAZXhhbXBsZSBUYWlnYSBVSSDigJQgcG93ZXJmdWwgc2V0IG9mIG9wZW4gc291cmNlIGNvbXBvbmVudHMgZm9yIEFuZ3VsYXJcbiAqIF9fX1xuICogRG9uJ3QgY29uZnVzZSB3aXRoIHtAbGluayBDSEFSX0VOX0RBU0h9IG9yIHtAbGluayBDSEFSX0hZUEhFTn0hXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX0VNX0RBU0ggPSAnXFx1MjAxNCc7XG5cbi8qKlxuICoge0BsaW5rIGh0dHBzOi8vdW5pY29kZS10YWJsZS5jb20vZW4vMDAyRC8gSHlwaGVuIChtaW51cyBzaWduKX1cbiAqIGlzIHVzZWQgdG8gY29tYmluZSB3b3JkcyBvciBhcyBtaW51cyBzaWduIGJlZm9yZSBkaWdpdHMuXG4gKiBAZXhhbXBsZSB3ZWxsLWJlaGF2ZWQsIC00MlxuICogX19fXG4gKiBEb24ndCBjb25mdXNlIHdpdGgge0BsaW5rIENIQVJfRU5fREFTSH0gb3Ige0BsaW5rIENIQVJfRU1fREFTSH0hXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX0hZUEhFTiA9ICdcXHUwMDJEJztcblxuLyoqXG4gKiB7QGxpbmsgaHR0cHM6Ly91bmljb2RlLXRhYmxlLmNvbS9lbi8wMDJCLyBQbHVzfVxuICovXG5leHBvcnQgY29uc3QgQ0hBUl9QTFVTID0gJ1xcdTAwMkInO1xuXG4vKipcbiAqIHtAbGluayBodHRwczovL3VuaWNvZGUtdGFibGUuY29tL2VuLzIwMjIvIEJ1bGxldH0uXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX0JVTExFVCA9ICdcXHUyMDIyJztcblxuLyoqXG4gKiB7QGxpbmsgaHR0cHM6Ly91bmljb2RlLXRhYmxlLmNvbS9lbi8yMDI2LyBTdXNwZW5zaW9uIHBvaW50c30uXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX0VMTElQU0lTID0gJ1xcdTIwMjYnO1xuXG4vKipcbiAqIHtAbGluayBodHRwczovL3VuaWNvZGUtdGFibGUuY29tL2VuLzAwQTQvIFN1c3BlbnNpb24gcG9pbnRzfS5cbiAqL1xuZXhwb3J0IGNvbnN0IENIQVJfQ1VSUkVOQ1lfU0lHTiA9ICdcXHUwMEE0JztcblxuLyoqXG4gKiB7QGxpbmsgaHR0cHM6Ly91bmljb2RlLXRhYmxlLmNvbS9lbi8yMDBiLyBTdXNwZW5zaW9uIHBvaW50c30uXG4gKi9cbmV4cG9ydCBjb25zdCBDSEFSX1pFUk9fV0lEVEhfU1BBQ0UgPSAnXFx1MjAwQic7XG4iXX0=
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import { ElementRef, inject, InjectionToken, NgZone, Optional, Renderer2, Self, } from '@angular/core';
|
|
2
|
-
import { ANIMATION_FRAME } from '@ng-web-apis/common';
|
|
3
|
-
import { TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
2
|
+
import { ANIMATION_FRAME, WINDOW } from '@ng-web-apis/common';
|
|
3
|
+
import { TUI_FOCUSABLE_ITEM_ACCESSOR, TUI_IS_IOS } from '@taiga-ui/cdk/tokens';
|
|
4
4
|
import { TuiDefaultAutofocusHandler } from './handlers/default.handler';
|
|
5
5
|
import { TuiIosAutofocusHandler } from './handlers/ios.handler';
|
|
6
6
|
export const TUI_AUTOFOCUS_HANDLER = new InjectionToken('Autofocusing handler');
|
|
7
7
|
// TODO: 3.0 remove in ivy compilation
|
|
8
|
-
export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone) {
|
|
9
|
-
return inject(
|
|
10
|
-
? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone)
|
|
8
|
+
export function tuiAutofocusHandlerFactory(tuiFocusableComponent, elementRef, animationFrame$, renderer, ngZone, windowRef) {
|
|
9
|
+
return inject(TUI_IS_IOS)
|
|
10
|
+
? new TuiIosAutofocusHandler(tuiFocusableComponent, elementRef, renderer, ngZone, windowRef)
|
|
11
11
|
: new TuiDefaultAutofocusHandler(tuiFocusableComponent, elementRef, animationFrame$);
|
|
12
12
|
}
|
|
13
13
|
export const TUI_AUTOFOCUS_PROVIDERS = [
|
|
@@ -21,7 +21,8 @@ export const TUI_AUTOFOCUS_PROVIDERS = [
|
|
|
21
21
|
ANIMATION_FRAME,
|
|
22
22
|
Renderer2,
|
|
23
23
|
NgZone,
|
|
24
|
+
WINDOW,
|
|
24
25
|
],
|
|
25
26
|
},
|
|
26
27
|
];
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
28
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0b2ZvY3VzLm9wdGlvbnMuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AdGFpZ2EtdWkvY2RrL2RpcmVjdGl2ZXMvYXV0by1mb2N1cy8iLCJzb3VyY2VzIjpbImF1dG9mb2N1cy5vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDSCxVQUFVLEVBQ1YsTUFBTSxFQUNOLGNBQWMsRUFDZCxNQUFNLEVBQ04sUUFBUSxFQUNSLFNBQVMsRUFDVCxJQUFJLEdBQ1AsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLGVBQWUsRUFBRSxNQUFNLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUU1RCxPQUFPLEVBQUMsMkJBQTJCLEVBQUUsVUFBVSxFQUFDLE1BQU0sc0JBQXNCLENBQUM7QUFHN0UsT0FBTyxFQUFDLDBCQUEwQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDdEUsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0sd0JBQXdCLENBQUM7QUFNOUQsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsSUFBSSxjQUFjLENBQ25ELHNCQUFzQixDQUN6QixDQUFDO0FBRUYsc0NBQXNDO0FBQ3RDLE1BQU0sVUFBVSwwQkFBMEIsQ0FDdEMscUJBQXlELEVBQ3pELFVBQW1DLEVBQ25DLGVBQW1DLEVBQ25DLFFBQW1CLEVBQ25CLE1BQWMsRUFDZCxTQUFpQjtJQUVqQixPQUFPLE1BQU0sQ0FBQyxVQUFVLENBQUM7UUFDckIsQ0FBQyxDQUFDLElBQUksc0JBQXNCLENBQ3RCLHFCQUFxQixFQUNyQixVQUFVLEVBQ1YsUUFBUSxFQUNSLE1BQU0sRUFDTixTQUFTLENBQ1o7UUFDSCxDQUFDLENBQUMsSUFBSSwwQkFBMEIsQ0FDMUIscUJBQXFCLEVBQ3JCLFVBQVUsRUFDVixlQUFlLENBQ2xCLENBQUM7QUFDWixDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sdUJBQXVCLEdBQUc7SUFDbkM7UUFDSSxPQUFPLEVBQUUscUJBQXFCO1FBQzlCLG9DQUFvQztRQUNwQyxVQUFVLEVBQUUsMEJBQTBCO1FBQ3RDLElBQUksRUFBRTtZQUNGLENBQUMsSUFBSSxRQUFRLEVBQUUsRUFBRSxJQUFJLElBQUksRUFBRSxFQUFFLDJCQUEyQixDQUFDO1lBQ3pELFVBQVU7WUFDVixlQUFlO1lBQ2YsU0FBUztZQUNULE1BQU07WUFDTixNQUFNO1NBQ1Q7S0FDSjtDQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIEluamVjdGlvblRva2VuLFxuICAgIE5nWm9uZSxcbiAgICBPcHRpb25hbCxcbiAgICBSZW5kZXJlcjIsXG4gICAgU2VsZixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge0FOSU1BVElPTl9GUkFNRSwgV0lORE9XfSBmcm9tICdAbmctd2ViLWFwaXMvY29tbW9uJztcbmltcG9ydCB7VHVpRm9jdXNhYmxlRWxlbWVudEFjY2Vzc29yfSBmcm9tICdAdGFpZ2EtdWkvY2RrL2ludGVyZmFjZXMnO1xuaW1wb3J0IHtUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsIFRVSV9JU19JT1N9IGZyb20gJ0B0YWlnYS11aS9jZGsvdG9rZW5zJztcbmltcG9ydCB7T2JzZXJ2YWJsZX0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpRGVmYXVsdEF1dG9mb2N1c0hhbmRsZXJ9IGZyb20gJy4vaGFuZGxlcnMvZGVmYXVsdC5oYW5kbGVyJztcbmltcG9ydCB7VHVpSW9zQXV0b2ZvY3VzSGFuZGxlcn0gZnJvbSAnLi9oYW5kbGVycy9pb3MuaGFuZGxlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHVpQXV0b2ZvY3VzSGFuZGxlciB7XG4gICAgc2V0Rm9jdXMoKTogdm9pZDtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfSEFORExFUiA9IG5ldyBJbmplY3Rpb25Ub2tlbjxUdWlBdXRvZm9jdXNIYW5kbGVyPihcbiAgICAnQXV0b2ZvY3VzaW5nIGhhbmRsZXInLFxuKTtcblxuLy8gVE9ETzogMy4wIHJlbW92ZSBpbiBpdnkgY29tcGlsYXRpb25cbmV4cG9ydCBmdW5jdGlvbiB0dWlBdXRvZm9jdXNIYW5kbGVyRmFjdG9yeShcbiAgICB0dWlGb2N1c2FibGVDb21wb25lbnQ6IFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvciB8IG51bGwsXG4gICAgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXG4gICAgYW5pbWF0aW9uRnJhbWUkOiBPYnNlcnZhYmxlPG51bWJlcj4sXG4gICAgcmVuZGVyZXI6IFJlbmRlcmVyMixcbiAgICBuZ1pvbmU6IE5nWm9uZSxcbiAgICB3aW5kb3dSZWY6IFdpbmRvdyxcbik6IFR1aUF1dG9mb2N1c0hhbmRsZXIge1xuICAgIHJldHVybiBpbmplY3QoVFVJX0lTX0lPUylcbiAgICAgICAgPyBuZXcgVHVpSW9zQXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICByZW5kZXJlcixcbiAgICAgICAgICAgICAgbmdab25lLFxuICAgICAgICAgICAgICB3aW5kb3dSZWYsXG4gICAgICAgICAgKVxuICAgICAgICA6IG5ldyBUdWlEZWZhdWx0QXV0b2ZvY3VzSGFuZGxlcihcbiAgICAgICAgICAgICAgdHVpRm9jdXNhYmxlQ29tcG9uZW50LFxuICAgICAgICAgICAgICBlbGVtZW50UmVmLFxuICAgICAgICAgICAgICBhbmltYXRpb25GcmFtZSQsXG4gICAgICAgICAgKTtcbn1cblxuZXhwb3J0IGNvbnN0IFRVSV9BVVRPRk9DVVNfUFJPVklERVJTID0gW1xuICAgIHtcbiAgICAgICAgcHJvdmlkZTogVFVJX0FVVE9GT0NVU19IQU5ETEVSLFxuICAgICAgICAvLyBUT0RPOiByZXBsYWNlIHRvIHVzZUNsYXNzIGluIHYzLjBcbiAgICAgICAgdXNlRmFjdG9yeTogdHVpQXV0b2ZvY3VzSGFuZGxlckZhY3RvcnksXG4gICAgICAgIGRlcHM6IFtcbiAgICAgICAgICAgIFtuZXcgT3B0aW9uYWwoKSwgbmV3IFNlbGYoKSwgVFVJX0ZPQ1VTQUJMRV9JVEVNX0FDQ0VTU09SXSxcbiAgICAgICAgICAgIEVsZW1lbnRSZWYsXG4gICAgICAgICAgICBBTklNQVRJT05fRlJBTUUsXG4gICAgICAgICAgICBSZW5kZXJlcjIsXG4gICAgICAgICAgICBOZ1pvbmUsXG4gICAgICAgICAgICBXSU5ET1csXG4gICAgICAgIF0sXG4gICAgfSxcbl07XG4iXX0=
|