@taiga-ui/cdk 4.0.0-alpha.0 → 4.0.0-rc.10

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.
Files changed (199) hide show
  1. package/classes/index.d.ts +0 -1
  2. package/constants/used-icons.d.ts +1 -1
  3. package/constants/version.d.ts +1 -1
  4. package/constants/version.js +1 -1
  5. package/esm2022/classes/index.mjs +1 -2
  6. package/esm2022/constants/used-icons.mjs +9 -1
  7. package/esm2022/constants/version.mjs +2 -2
  8. package/esm2022/directives/auto-focus/autofocus.options.mjs +3 -3
  9. package/esm2022/directives/copy-processor/copy-processor.directive.mjs +3 -3
  10. package/esm2022/directives/high-dpi/high-dpi.directive.mjs +3 -3
  11. package/esm2022/directives/obscured/obscured.service.mjs +3 -3
  12. package/esm2022/services/index.mjs +2 -2
  13. package/esm2022/services/scroll.service.mjs +4 -4
  14. package/esm2022/services/theme-color.service.mjs +30 -0
  15. package/esm2022/tokens/active-element.mjs +3 -3
  16. package/esm2022/tokens/environment.mjs +15 -7
  17. package/esm2022/tokens/removed-element.mjs +3 -3
  18. package/esm2022/tokens/window-size.mjs +3 -3
  19. package/esm2022/utils/focus/focused-in.mjs +7 -0
  20. package/esm2022/utils/focus/index.mjs +2 -1
  21. package/fesm2022/taiga-ui-cdk-classes.mjs +1 -15
  22. package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-cdk-constants.mjs +9 -1
  24. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +2 -2
  26. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +2 -2
  28. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +2 -2
  30. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +2 -2
  32. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-cdk-services.mjs +22 -25
  34. package/fesm2022/taiga-ui-cdk-services.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-cdk-tokens.mjs +19 -12
  36. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +8 -2
  38. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  39. package/package.json +356 -67
  40. package/schematics/ng-update/interfaces/html-comment.d.ts +3 -2
  41. package/schematics/ng-update/interfaces/replacement-attribute-value.d.ts +6 -2
  42. package/schematics/ng-update/interfaces/replacement-identifier.d.ts +4 -10
  43. package/schematics/ng-update/interfaces/replacement-type.d.ts +4 -0
  44. package/schematics/ng-update/steps/rename-types.js +6 -2
  45. package/schematics/ng-update/steps/replace-identifier.js +30 -8
  46. package/schematics/ng-update/steps/replace-package-name.js +4 -5
  47. package/schematics/ng-update/utils/templates/replace-attr-values.js +39 -10
  48. package/schematics/ng-update/utils/templates/template-comments.js +7 -1
  49. package/schematics/ng-update/v4/index.js +9 -1
  50. package/schematics/ng-update/v4/migrate-icons/index.js +2 -2
  51. package/schematics/ng-update/v4/migrate-icons/rename-icons.js +13 -5
  52. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.d.ts +2 -1
  53. package/schematics/ng-update/v4/migrate-icons/rename-proprietary-icons.js +19 -6
  54. package/schematics/ng-update/v4/steps/constants/attr-to-directive-replace.js +3 -2
  55. package/schematics/ng-update/v4/steps/constants/attr-with-values-to-replace.js +44 -3
  56. package/schematics/ng-update/v4/steps/constants/attrs-to-replace.js +107 -21
  57. package/schematics/ng-update/v4/steps/constants/html-comments.js +9 -0
  58. package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +552 -213
  59. package/schematics/ng-update/v4/steps/constants/index.d.ts +1 -0
  60. package/schematics/ng-update/v4/steps/constants/index.js +1 -0
  61. package/schematics/ng-update/v4/steps/constants/inputs-to-remove.js +1 -0
  62. package/schematics/ng-update/v4/steps/constants/migration-warnings.js +20 -0
  63. package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +20 -0
  64. package/schematics/ng-update/v4/steps/constants/modules-to-replace.d.ts +7 -6
  65. package/schematics/ng-update/v4/steps/constants/modules-to-replace.js +1 -0
  66. package/schematics/ng-update/v4/steps/constants/services.d.ts +2 -0
  67. package/schematics/ng-update/v4/steps/constants/services.js +15 -0
  68. package/schematics/ng-update/v4/steps/constants/tags-to-replace.js +14 -2
  69. package/schematics/ng-update/v4/steps/constants/types.js +33 -1
  70. package/schematics/ng-update/v4/steps/index.d.ts +4 -1
  71. package/schematics/ng-update/v4/steps/index.js +4 -1
  72. package/schematics/ng-update/v4/steps/migrate-alert-service.d.ts +2 -0
  73. package/schematics/ng-update/v4/steps/migrate-alert-service.js +110 -0
  74. package/schematics/ng-update/v4/steps/migrate-month-context.d.ts +2 -0
  75. package/schematics/ng-update/v4/steps/migrate-month-context.js +39 -0
  76. package/schematics/ng-update/v4/steps/migrate-number-format-settings.d.ts +2 -0
  77. package/schematics/ng-update/v4/steps/migrate-number-format-settings.js +64 -0
  78. package/schematics/ng-update/v4/steps/migrate-root.d.ts +3 -0
  79. package/schematics/ng-update/v4/steps/migrate-root.js +61 -0
  80. package/schematics/ng-update/v4/steps/migrate-templates.js +10 -2
  81. package/schematics/ng-update/v4/steps/styles/index.js +38 -0
  82. package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.d.ts +1 -0
  83. package/schematics/ng-update/v4/steps/styles/migrate-less-scss-constants.js +13 -0
  84. package/schematics/ng-update/v4/steps/styles/migrate-scrollbar-behavior.d.ts +1 -0
  85. package/schematics/ng-update/v4/steps/styles/migrate-scrollbar-behavior.js +10 -0
  86. package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.d.ts +1 -0
  87. package/schematics/ng-update/v4/steps/styles/migrate-shadow-mixins.js +23 -0
  88. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.d.ts +1 -0
  89. package/schematics/ng-update/v4/steps/styles/migrate-space-mixins.js +20 -0
  90. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.d.ts +1 -0
  91. package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +54 -0
  92. package/schematics/ng-update/v4/steps/templates/index.d.ts +6 -0
  93. package/schematics/ng-update/v4/steps/templates/index.js +6 -0
  94. package/schematics/ng-update/v4/steps/templates/migrate-avatar.js +10 -5
  95. package/schematics/ng-update/{v3/steps/migrate-polymorpheus.d.ts → v4/steps/templates/migrate-axes.d.ts} +2 -2
  96. package/schematics/ng-update/v4/steps/templates/migrate-axes.js +26 -0
  97. package/schematics/ng-update/v4/steps/templates/migrate-badge.js +15 -6
  98. package/schematics/ng-update/v4/steps/templates/migrate-badged-content.js +1 -1
  99. package/schematics/ng-update/{v3/steps/migrate-textfield-controller.d.ts → v4/steps/templates/migrate-blocked.d.ts} +2 -2
  100. package/schematics/ng-update/v4/steps/templates/migrate-blocked.js +35 -0
  101. package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.d.ts +8 -0
  102. package/schematics/ng-update/v4/steps/templates/migrate-button-appearance.js +41 -0
  103. package/schematics/ng-update/v4/steps/templates/migrate-expandable.js +3 -2
  104. package/schematics/ng-update/v4/steps/templates/migrate-focusable.js +7 -4
  105. package/schematics/ng-update/v4/steps/templates/migrate-label.d.ts +8 -0
  106. package/schematics/ng-update/v4/steps/templates/migrate-label.js +39 -0
  107. package/schematics/ng-update/v4/steps/templates/migrate-labeled.js +5 -7
  108. package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.d.ts +8 -0
  109. package/schematics/ng-update/v4/steps/templates/migrate-mobile-tabs.js +45 -0
  110. package/schematics/ng-update/v4/steps/templates/migrate-notification.d.ts +8 -0
  111. package/schematics/ng-update/v4/steps/templates/migrate-notification.js +64 -0
  112. package/schematics/ng-update/v4/steps/templates/migrate-number-precision.d.ts +8 -0
  113. package/schematics/ng-update/v4/steps/templates/migrate-number-precision.js +36 -0
  114. package/schematics/ng-update/v4/steps/templates/migrate-overscroll.js +4 -6
  115. package/schematics/ng-update/v4/steps/templates/migrate-thumbnail-card.js +2 -1
  116. package/schematics/ng-update/v4/steps/templates/toggles/common.js +3 -2
  117. package/schematics/ng-update/v4/steps/templates/toggles/migrate-checkbox.js +36 -0
  118. package/schematics/ng-update/v4/steps/update-packages.js +21 -8
  119. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.d.ts +1 -11
  120. package/schematics/ng-update/v4/steps/utils/replace-modules-with-providers.js +8 -4
  121. package/schematics/utils/get-named-import-references.js +4 -2
  122. package/schematics/utils/templates/elements.js +2 -1
  123. package/schematics/utils/templates/inputs.js +2 -1
  124. package/services/index.d.ts +1 -1
  125. package/services/theme-color.service.d.ts +16 -0
  126. package/tokens/environment.d.ts +1 -0
  127. package/utils/focus/focused-in.d.ts +2 -0
  128. package/utils/focus/index.d.ts +1 -0
  129. package/classes/controller.d.ts +0 -9
  130. package/esm2022/classes/controller.mjs +0 -18
  131. package/esm2022/services/static-request.service.mjs +0 -33
  132. package/schematics/ng-update/v3/constants/breakpoints.d.ts +0 -82
  133. package/schematics/ng-update/v3/constants/breakpoints.js +0 -34
  134. package/schematics/ng-update/v3/constants/constants.d.ts +0 -2
  135. package/schematics/ng-update/v3/constants/constants.js +0 -466
  136. package/schematics/ng-update/v3/constants/deprecated-functions.d.ts +0 -2
  137. package/schematics/ng-update/v3/constants/deprecated-functions.js +0 -680
  138. package/schematics/ng-update/v3/constants/enums.d.ts +0 -2
  139. package/schematics/ng-update/v3/constants/enums.js +0 -284
  140. package/schematics/ng-update/v3/constants/modules.d.ts +0 -2
  141. package/schematics/ng-update/v3/constants/modules.js +0 -9
  142. package/schematics/ng-update/v3/constants/services.d.ts +0 -2
  143. package/schematics/ng-update/v3/constants/services.js +0 -53
  144. package/schematics/ng-update/v3/constants/templates.d.ts +0 -57
  145. package/schematics/ng-update/v3/constants/templates.js +0 -744
  146. package/schematics/ng-update/v3/constants/tui-interactive-selectors.d.ts +0 -1
  147. package/schematics/ng-update/v3/constants/tui-interactive-selectors.js +0 -55
  148. package/schematics/ng-update/v3/constants/types.d.ts +0 -2
  149. package/schematics/ng-update/v3/constants/types.js +0 -156
  150. package/schematics/ng-update/v3/constants/warnings.d.ts +0 -2
  151. package/schematics/ng-update/v3/constants/warnings.js +0 -111
  152. package/schematics/ng-update/v3/index.d.ts +0 -3
  153. package/schematics/ng-update/v3/index.js +0 -105
  154. package/schematics/ng-update/v3/schema.json +0 -13
  155. package/schematics/ng-update/v3/steps/migrate-date-time.d.ts +0 -2
  156. package/schematics/ng-update/v3/steps/migrate-date-time.js +0 -207
  157. package/schematics/ng-update/v3/steps/migrate-polymorpheus.js +0 -78
  158. package/schematics/ng-update/v3/steps/migrate-progress.d.ts +0 -8
  159. package/schematics/ng-update/v3/steps/migrate-progress.js +0 -49
  160. package/schematics/ng-update/v3/steps/migrate-sliders/index.d.ts +0 -3
  161. package/schematics/ng-update/v3/steps/migrate-sliders/index.js +0 -19
  162. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.d.ts +0 -3
  163. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-range.js +0 -103
  164. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.d.ts +0 -3
  165. package/schematics/ng-update/v3/steps/migrate-sliders/migrate-input-slider.js +0 -90
  166. package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.d.ts +0 -3
  167. package/schematics/ng-update/v3/steps/migrate-taiga-proprietary-icons.js +0 -70
  168. package/schematics/ng-update/v3/steps/migrate-templates.d.ts +0 -4
  169. package/schematics/ng-update/v3/steps/migrate-templates.js +0 -216
  170. package/schematics/ng-update/v3/steps/migrate-textfield-controller.js +0 -98
  171. package/schematics/ng-update/v3/steps/miscellaneous.d.ts +0 -2
  172. package/schematics/ng-update/v3/steps/miscellaneous.js +0 -81
  173. package/schematics/ng-update/v3/steps/replace-functions.d.ts +0 -2
  174. package/schematics/ng-update/v3/steps/replace-functions.js +0 -138
  175. package/schematics/ng-update/v3/steps/replace-styles.d.ts +0 -3
  176. package/schematics/ng-update/v3/steps/replace-styles.js +0 -33
  177. package/schematics/ng-update/v3-30/constants/constants.d.ts +0 -2
  178. package/schematics/ng-update/v3-30/constants/constants.js +0 -8
  179. package/schematics/ng-update/v3-30/constants/icons.d.ts +0 -4
  180. package/schematics/ng-update/v3-30/constants/icons.js +0 -993
  181. package/schematics/ng-update/v3-30/index.d.ts +0 -3
  182. package/schematics/ng-update/v3-30/index.js +0 -33
  183. package/schematics/ng-update/v3-35/constants/constants.d.ts +0 -2
  184. package/schematics/ng-update/v3-35/constants/constants.js +0 -8
  185. package/schematics/ng-update/v3-35/constants/icons.d.ts +0 -4
  186. package/schematics/ng-update/v3-35/constants/icons.js +0 -2537
  187. package/schematics/ng-update/v3-35/index.d.ts +0 -3
  188. package/schematics/ng-update/v3-35/index.js +0 -33
  189. package/schematics/ng-update/v3-36/index.d.ts +0 -3
  190. package/schematics/ng-update/v3-36/index.js +0 -23
  191. package/schematics/ng-update/v3-40/index.d.ts +0 -3
  192. package/schematics/ng-update/v3-40/index.js +0 -62
  193. package/schematics/ng-update/v3-5/index.d.ts +0 -3
  194. package/schematics/ng-update/v3-5/index.js +0 -20
  195. package/schematics/ng-update/v3-5/steps/migrate-expand-templates.d.ts +0 -3
  196. package/schematics/ng-update/v3-5/steps/migrate-expand-templates.js +0 -44
  197. package/schematics/ng-update/v4/steps/migrate-styles.js +0 -20
  198. package/services/static-request.service.d.ts +0 -8
  199. /package/schematics/ng-update/v4/steps/{migrate-styles.d.ts → styles/index.d.ts} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-tokens.mjs","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/environment.ts","../../../projects/cdk/tokens/fallback-value.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject, InjectFlags} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, map, share, startWith, switchMap, timer} from 'rxjs';\n\n/**\n * Element currently being removed by AnimationEngine\n */\nexport const TUI_REMOVED_ELEMENT = tuiCreateTokenFromFactory(() => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(AnimationEngine, InjectFlags.Optional) || stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete.call(engine, element, context);\n };\n\n return element$.pipe(\n switchMap((element) =>\n timer(0).pipe(\n map(() => null),\n startWith(element),\n ),\n ),\n share(),\n );\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n merge,\n of,\n repeat,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n timer,\n withLatestFrom,\n} from 'rxjs';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n tuiGetDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled or under disabled fieldset\n !target.matches(':disabled') &&\n // Not due to element being removed from DOM\n !removedElement?.contains(target)\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n tuiTypedFromEvent(root, 'focusin').pipe(map(({target}) => target)),\n tuiTypedFromEvent(root, 'focusout').pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n\n/**\n * Active element on the document for ActiveZone\n */\nexport const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory<\n Observable<EventTarget | null>\n>(() => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const win = inject(WINDOW);\n const doc = inject(DOCUMENT);\n const focusout$ = tuiTypedFromEvent(win, 'focusout', {capture: true});\n const focusin$ = tuiTypedFromEvent(win, 'focusin', {capture: true});\n const blur$ = tuiTypedFromEvent(win, 'blur');\n const mousedown$ = tuiTypedFromEvent(win, 'mousedown');\n const mouseup$ = tuiTypedFromEvent(win, 'mouseup');\n\n return merge(\n focusout$.pipe(\n takeUntil(mousedown$),\n repeat({delay: () => mouseup$}),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(tuiGetActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => doc.activeElement),\n filter((element) => !!element?.matches('iframe')),\n ),\n focusin$.pipe(\n switchMap((event) => {\n const target = tuiGetActualTarget(event);\n const root = tuiGetDocumentOrShadowRoot(target) as Document;\n\n return root === doc\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap((event) => {\n const actualTargetInCurrentTime = tuiGetActualTarget(event);\n\n return !doc.activeElement || doc.activeElement === doc.body\n ? of(actualTargetInCurrentTime)\n : focusout$.pipe(\n take(1),\n map(\n /**\n * Do not use `map(() => tuiGetActualTarget(event))`\n * because we have different result in runtime\n */\n () => actualTargetInCurrentTime,\n ),\n takeUntil(timer(0)),\n );\n }),\n ),\n ).pipe(distinctUntilChanged(), share());\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_BASE_HREF = tuiCreateTokenFromFactory(\n () => inject(DOCUMENT).querySelector('base')?.href ?? '',\n);\n","import {inject} from '@angular/core';\nimport {NAVIGATOR, USER_AGENT, WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;\n\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(USER_AGENT).slice(0, 4).toLowerCase()),\n);\n\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(NAVIGATOR)));\n\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () => !!inject<any>(WINDOW)?.webkitConvertPointFromNodeToPage,\n);\n\nexport const TUI_PLATFORM = tuiCreateTokenFromFactory<'android' | 'ios' | 'web'>(() => {\n if (inject(TUI_IS_IOS)) {\n return 'ios';\n }\n\n return inject(TUI_IS_ANDROID) ? 'android' : 'web';\n});\n\n/**\n * Detect if app is running under Cypress\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = tuiCreateTokenFromFactory(\n () => !!inject<any>(WINDOW).Cypress,\n);\n\n/**\n * Manually provide `true` when running tests in Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(TUI_FALSE_HANDLER);\n\n/**\n * Detect if app is running under any of test frameworks\n */\nexport const TUI_IS_E2E = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT),\n);\n","import type {ValueProvider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\n\nexport const TUI_FALLBACK_VALUE = new InjectionToken('');\n\nexport function tuiFallbackValueProvider<T>(useValue: T): ValueProvider {\n return {\n provide: TUI_FALLBACK_VALUE,\n useValue,\n };\n}\n","import {isPlatformBrowser} from '@angular/common';\nimport {inject, PLATFORM_ID} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * SSR safe default empty Range\n */\nexport const TUI_RANGE = tuiCreateTokenFromFactory(() =>\n isPlatformBrowser(inject(PLATFORM_ID)) ? new Range() : ({} as unknown as Range),\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport type {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<DOMRect>>(\n '[TUI_WINDOW_SIZE]',\n {\n factory: () => {\n const w = inject(WINDOW);\n\n return tuiTypedFromEvent(w, 'resize').pipe(\n startWith(null),\n map(() => {\n const width = Math.max(\n w.document.documentElement.clientWidth || 0,\n w.innerWidth || 0,\n w.visualViewport?.width || 0,\n );\n const height = Math.max(\n w.document.documentElement.clientHeight || 0,\n w.innerHeight || 0,\n w.visualViewport?.height || 0,\n );\n const rect = {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AnimationEngine"],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-tokens.mjs","sources":["../../../projects/cdk/tokens/removed-element.ts","../../../projects/cdk/tokens/active-element.ts","../../../projects/cdk/tokens/base-href.ts","../../../projects/cdk/tokens/environment.ts","../../../projects/cdk/tokens/fallback-value.ts","../../../projects/cdk/tokens/range.ts","../../../projects/cdk/tokens/window-size.ts","../../../projects/cdk/tokens/taiga-ui-cdk-tokens.ts"],"sourcesContent":["import {ɵAnimationEngine as AnimationEngine} from '@angular/animations/browser';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\nimport {BehaviorSubject, map, share, startWith, switchMap, timer} from 'rxjs';\n\n/**\n * Element currently being removed by AnimationEngine\n */\nexport const TUI_REMOVED_ELEMENT = tuiCreateTokenFromFactory(() => {\n const stub = {onRemovalComplete: () => {}};\n const element$ = new BehaviorSubject<Element | null>(null);\n const engine = inject(AnimationEngine, {optional: true}) || stub;\n const {onRemovalComplete = stub.onRemovalComplete} = engine;\n\n engine.onRemovalComplete = (element, context) => {\n element$.next(element);\n onRemovalComplete.call(engine, element, context);\n };\n\n return element$.pipe(\n switchMap((element) =>\n timer(0).pipe(\n map(() => null),\n startWith(element),\n ),\n ),\n share(),\n );\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n} from '@taiga-ui/cdk/utils';\nimport type {Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n map,\n merge,\n of,\n repeat,\n share,\n startWith,\n switchMap,\n take,\n takeUntil,\n timer,\n withLatestFrom,\n} from 'rxjs';\n\nimport {TUI_REMOVED_ELEMENT} from './removed-element';\n\n// Checks if focusout event should be considered leaving active zone\nfunction isValidFocusout(target: any, removedElement: Element | null = null): boolean {\n return (\n // Not due to switching tabs/going to DevTools\n tuiGetDocumentOrShadowRoot(target).activeElement !== target &&\n // Not due to button/input becoming disabled or under disabled fieldset\n !target.matches(':disabled') &&\n // Not due to element being removed from DOM\n !removedElement?.contains(target)\n );\n}\n\nfunction shadowRootActiveElement(root: Document): Observable<EventTarget | null> {\n return merge(\n tuiTypedFromEvent(root, 'focusin').pipe(map(({target}) => target)),\n tuiTypedFromEvent(root, 'focusout').pipe(\n filter(\n ({target, relatedTarget}) => !!relatedTarget && isValidFocusout(target),\n ),\n map(({relatedTarget}) => relatedTarget),\n ),\n );\n}\n\n/**\n * Active element on the document for ActiveZone\n */\nexport const TUI_ACTIVE_ELEMENT = tuiCreateTokenFromFactory<\n Observable<EventTarget | null>\n>(() => {\n const removedElement$ = inject(TUI_REMOVED_ELEMENT);\n const win = inject(WA_WINDOW);\n const doc = inject(DOCUMENT);\n const focusout$ = tuiTypedFromEvent(win, 'focusout', {capture: true});\n const focusin$ = tuiTypedFromEvent(win, 'focusin', {capture: true});\n const blur$ = tuiTypedFromEvent(win, 'blur');\n const mousedown$ = tuiTypedFromEvent(win, 'mousedown');\n const mouseup$ = tuiTypedFromEvent(win, 'mouseup');\n\n return merge(\n focusout$.pipe(\n takeUntil(mousedown$),\n repeat({delay: () => mouseup$}),\n withLatestFrom(removedElement$),\n filter(([event, removedElement]) =>\n isValidFocusout(tuiGetActualTarget(event), removedElement),\n ),\n map(([{relatedTarget}]) => relatedTarget),\n ),\n blur$.pipe(\n map(() => doc.activeElement),\n filter((element) => !!element?.matches('iframe')),\n ),\n focusin$.pipe(\n switchMap((event) => {\n const target = tuiGetActualTarget(event);\n const root = tuiGetDocumentOrShadowRoot(target) as Document;\n\n return root === doc\n ? of(target)\n : shadowRootActiveElement(root).pipe(startWith(target));\n }),\n ),\n mousedown$.pipe(\n switchMap((event) => {\n const actualTargetInCurrentTime = tuiGetActualTarget(event);\n\n return !doc.activeElement || doc.activeElement === doc.body\n ? of(actualTargetInCurrentTime)\n : focusout$.pipe(\n take(1),\n map(\n /**\n * Do not use `map(() => tuiGetActualTarget(event))`\n * because we have different result in runtime\n */\n () => actualTargetInCurrentTime,\n ),\n takeUntil(timer(0)),\n );\n }),\n ),\n ).pipe(distinctUntilChanged(), share());\n});\n","import {DOCUMENT} from '@angular/common';\nimport {inject} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\nexport const TUI_BASE_HREF = tuiCreateTokenFromFactory(\n () => inject(DOCUMENT).querySelector('base')?.href ?? '',\n);\n","import {inject} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {WA_NAVIGATOR, WA_USER_AGENT, WA_WINDOW} from '@ng-web-apis/common';\nimport {TUI_FALSE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {tuiCreateTokenFromFactory, tuiIsIos} from '@taiga-ui/cdk/utils';\nimport {fromEvent, map} from 'rxjs';\n\n// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/\nconst firstRegex =\n /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/;\n\nexport const TUI_IS_MOBILE = tuiCreateTokenFromFactory(\n () =>\n firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||\n secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()),\n);\n\nexport const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));\n\nexport const TUI_IS_ANDROID = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_MOBILE) && !inject(TUI_IS_IOS),\n);\n\nexport const TUI_IS_WEBKIT = tuiCreateTokenFromFactory(\n () => !!inject<any>(WA_WINDOW)?.webkitConvertPointFromNodeToPage,\n);\n\nexport const TUI_PLATFORM = tuiCreateTokenFromFactory<'android' | 'ios' | 'web'>(() => {\n if (inject(TUI_IS_IOS)) {\n return 'ios';\n }\n\n return inject(TUI_IS_ANDROID) ? 'android' : 'web';\n});\n\nexport const TUI_IS_TOUCH = tuiCreateTokenFromFactory(() => {\n const media = inject(WA_WINDOW).matchMedia('(pointer: coarse)');\n\n return toSignal(fromEvent(media, 'change').pipe(map(() => media.matches)), {\n initialValue: media.matches,\n });\n});\n\n/**\n * Detect if app is running under Cypress\n * {@link https://docs.cypress.io/faq/questions/using-cypress-faq#Is-there-any-way-to-detect-if-my-app-is-running-under-Cypress Cypress docs}\n */\nexport const TUI_IS_CYPRESS = tuiCreateTokenFromFactory(\n () => !!inject<any>(WA_WINDOW).Cypress,\n);\n\n/**\n * Manually provide `true` when running tests in Playwright\n */\nexport const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory<boolean>(TUI_FALSE_HANDLER);\n\n/**\n * Detect if app is running under any of test frameworks\n */\nexport const TUI_IS_E2E = tuiCreateTokenFromFactory(\n () => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT),\n);\n","import type {ValueProvider} from '@angular/core';\nimport {InjectionToken} from '@angular/core';\n\nexport const TUI_FALLBACK_VALUE = new InjectionToken('');\n\nexport function tuiFallbackValueProvider<T>(useValue: T): ValueProvider {\n return {\n provide: TUI_FALLBACK_VALUE,\n useValue,\n };\n}\n","import {isPlatformBrowser} from '@angular/common';\nimport {inject, PLATFORM_ID} from '@angular/core';\nimport {tuiCreateTokenFromFactory} from '@taiga-ui/cdk/utils';\n\n/**\n * SSR safe default empty Range\n */\nexport const TUI_RANGE = tuiCreateTokenFromFactory(() =>\n isPlatformBrowser(inject(PLATFORM_ID)) ? new Range() : ({} as unknown as Range),\n);\n","import {inject, InjectionToken} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport type {Observable} from 'rxjs';\nimport {map, shareReplay, startWith} from 'rxjs';\n\nexport const TUI_WINDOW_SIZE = new InjectionToken<Observable<DOMRect>>(\n '[TUI_WINDOW_SIZE]',\n {\n factory: () => {\n const w = inject(WA_WINDOW);\n\n return tuiTypedFromEvent(w, 'resize').pipe(\n startWith(null),\n map(() => {\n const width = Math.max(\n w.document.documentElement.clientWidth || 0,\n w.innerWidth || 0,\n w.visualViewport?.width || 0,\n );\n const height = Math.max(\n w.document.documentElement.clientHeight || 0,\n w.innerHeight || 0,\n w.visualViewport?.height || 0,\n );\n const rect = {\n width,\n height,\n top: 0,\n left: 0,\n right: width,\n bottom: height,\n x: 0,\n y: 0,\n };\n\n return {\n ...rect,\n toJSON: () => JSON.stringify(rect),\n };\n }),\n shareReplay({bufferSize: 1, refCount: true}),\n );\n },\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["AnimationEngine"],"mappings":";;;;;;;;;;AAKA;;AAEG;AACU,MAAA,mBAAmB,GAAG,yBAAyB,CAAC,MAAK;IAC9D,MAAM,IAAI,GAAG,EAAC,iBAAiB,EAAE,MAAK,GAAG,EAAC,CAAC;AAC3C,IAAA,MAAM,QAAQ,GAAG,IAAI,eAAe,CAAiB,IAAI,CAAC,CAAC;AAC3D,IAAA,MAAM,MAAM,GAAG,MAAM,CAACA,gBAAe,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,IAAI,IAAI,CAAC;IACjE,MAAM,EAAC,iBAAiB,GAAG,IAAI,CAAC,iBAAiB,EAAC,GAAG,MAAM,CAAC;IAE5D,MAAM,CAAC,iBAAiB,GAAG,CAAC,OAAO,EAAE,OAAO,KAAI;AAC5C,QAAA,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACvB,iBAAiB,CAAC,IAAI,CAAC,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;AACrD,KAAC,CAAC;AAEF,IAAA,OAAO,QAAQ,CAAC,IAAI,CAChB,SAAS,CAAC,CAAC,OAAO,KACd,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CACT,GAAG,CAAC,MAAM,IAAI,CAAC,EACf,SAAS,CAAC,OAAO,CAAC,CACrB,CACJ,EACD,KAAK,EAAE,CACV,CAAC;AACN,CAAC;;ACAD;AACA,SAAS,eAAe,CAAC,MAAW,EAAE,iBAAiC,IAAI,EAAA;IACvE;;AAEI,IAAA,0BAA0B,CAAC,MAAM,CAAC,CAAC,aAAa,KAAK,MAAM;;AAE3D,QAAA,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC;;AAE5B,QAAA,CAAC,cAAc,EAAE,QAAQ,CAAC,MAAM,CAAC,EACnC;AACN,CAAC;AAED,SAAS,uBAAuB,CAAC,IAAc,EAAA;AAC3C,IAAA,OAAO,KAAK,CACR,iBAAiB,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,CAAC,CAAC,EAClE,iBAAiB,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC,IAAI,CACpC,MAAM,CACF,CAAC,EAAC,MAAM,EAAE,aAAa,EAAC,KAAK,CAAC,CAAC,aAAa,IAAI,eAAe,CAAC,MAAM,CAAC,CAC1E,EACD,GAAG,CAAC,CAAC,EAAC,aAAa,EAAC,KAAK,aAAa,CAAC,CAC1C,CACJ,CAAC;AACN,CAAC;AAED;;AAEG;AACU,MAAA,kBAAkB,GAAG,yBAAyB,CAEzD,MAAK;AACH,IAAA,MAAM,eAAe,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AACpD,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9B,IAAA,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC;AAC7B,IAAA,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,EAAE,UAAU,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;AACtE,IAAA,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,EAAE,EAAC,OAAO,EAAE,IAAI,EAAC,CAAC,CAAC;IACpE,MAAM,KAAK,GAAG,iBAAiB,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,MAAM,UAAU,GAAG,iBAAiB,CAAC,GAAG,EAAE,WAAW,CAAC,CAAC;IACvD,MAAM,QAAQ,GAAG,iBAAiB,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC;IAEnD,OAAO,KAAK,CACR,SAAS,CAAC,IAAI,CACV,SAAS,CAAC,UAAU,CAAC,EACrB,MAAM,CAAC,EAAC,KAAK,EAAE,MAAM,QAAQ,EAAC,CAAC,EAC/B,cAAc,CAAC,eAAe,CAAC,EAC/B,MAAM,CAAC,CAAC,CAAC,KAAK,EAAE,cAAc,CAAC,KAC3B,eAAe,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,cAAc,CAAC,CAC7D,EACD,GAAG,CAAC,CAAC,CAAC,EAAC,aAAa,EAAC,CAAC,KAAK,aAAa,CAAC,CAC5C,EACD,KAAK,CAAC,IAAI,CACN,GAAG,CAAC,MAAM,GAAG,CAAC,aAAa,CAAC,EAC5B,MAAM,CAAC,CAAC,OAAO,KAAK,CAAC,CAAC,OAAO,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC,CACpD,EACD,QAAQ,CAAC,IAAI,CACT,SAAS,CAAC,CAAC,KAAK,KAAI;AAChB,QAAA,MAAM,MAAM,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;AACzC,QAAA,MAAM,IAAI,GAAG,0BAA0B,CAAC,MAAM,CAAa,CAAC;QAE5D,OAAO,IAAI,KAAK,GAAG;AACf,cAAE,EAAE,CAAC,MAAM,CAAC;AACZ,cAAE,uBAAuB,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC;AAChE,KAAC,CAAC,CACL,EACD,UAAU,CAAC,IAAI,CACX,SAAS,CAAC,CAAC,KAAK,KAAI;AAChB,QAAA,MAAM,yBAAyB,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAE5D,OAAO,CAAC,GAAG,CAAC,aAAa,IAAI,GAAG,CAAC,aAAa,KAAK,GAAG,CAAC,IAAI;AACvD,cAAE,EAAE,CAAC,yBAAyB,CAAC;cAC7B,SAAS,CAAC,IAAI,CACV,IAAI,CAAC,CAAC,CAAC,EACP,GAAG;AACC;;;AAGG;AACH,YAAA,MAAM,yBAAyB,CAClC,EACD,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CACtB,CAAC;AACZ,KAAC,CAAC,CACL,CACJ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;;MC3GY,aAAa,GAAG,yBAAyB,CAClD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;;ACE5D;AACA,MAAM,UAAU,GACZ,yTAAyT,CAAC;AAC9T,MAAM,WAAW,GACb,0hDAA0hD,CAAC;MAElhD,aAAa,GAAG,yBAAyB,CAClD,MACI,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,WAAW,EAAE,CAAC;AACpD,IAAA,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EACvE;AAEW,MAAA,UAAU,GAAG,yBAAyB,CAAC,MAAM,QAAQ,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,EAAE;MAE7E,cAAc,GAAG,yBAAyB,CACnD,MAAM,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,EACpD;AAEW,MAAA,aAAa,GAAG,yBAAyB,CAClD,MAAM,CAAC,CAAC,MAAM,CAAM,SAAS,CAAC,EAAE,gCAAgC,EAClE;AAEW,MAAA,YAAY,GAAG,yBAAyB,CAA4B,MAAK;AAClF,IAAA,IAAI,MAAM,CAAC,UAAU,CAAC,EAAE;AACpB,QAAA,OAAO,KAAK,CAAC;AAChB,KAAA;AAED,IAAA,OAAO,MAAM,CAAC,cAAc,CAAC,GAAG,SAAS,GAAG,KAAK,CAAC;AACtD,CAAC,EAAE;AAEU,MAAA,YAAY,GAAG,yBAAyB,CAAC,MAAK;IACvD,MAAM,KAAK,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;IAEhE,OAAO,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE;QACvE,YAAY,EAAE,KAAK,CAAC,OAAO;AAC9B,KAAA,CAAC,CAAC;AACP,CAAC,EAAE;AAEH;;;AAGG;AACU,MAAA,cAAc,GAAG,yBAAyB,CACnD,MAAM,CAAC,CAAC,MAAM,CAAM,SAAS,CAAC,CAAC,OAAO,EACxC;AAEF;;AAEG;MACU,iBAAiB,GAAG,yBAAyB,CAAU,iBAAiB,EAAE;AAEvF;;AAEG;AACU,MAAA,UAAU,GAAG,yBAAyB,CAC/C,MAAM,MAAM,CAAC,cAAc,CAAC,IAAI,MAAM,CAAC,iBAAiB,CAAC;;MC3DhD,kBAAkB,GAAG,IAAI,cAAc,CAAC,EAAE,EAAE;AAEnD,SAAU,wBAAwB,CAAI,QAAW,EAAA;IACnD,OAAO;AACH,QAAA,OAAO,EAAE,kBAAkB;QAC3B,QAAQ;KACX,CAAC;AACN;;ACNA;;AAEG;AACU,MAAA,SAAS,GAAG,yBAAyB,CAAC,MAC/C,iBAAiB,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,GAAG,IAAI,KAAK,EAAE,GAAI,EAAuB;;MCFtE,eAAe,GAAG,IAAI,cAAc,CAC7C,mBAAmB,EACnB;IACI,OAAO,EAAE,MAAK;AACV,QAAA,MAAM,CAAC,GAAG,MAAM,CAAC,SAAS,CAAC,CAAC;AAE5B,QAAA,OAAO,iBAAiB,CAAC,CAAC,EAAE,QAAQ,CAAC,CAAC,IAAI,CACtC,SAAS,CAAC,IAAI,CAAC,EACf,GAAG,CAAC,MAAK;AACL,YAAA,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAClB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,IAAI,CAAC,EAC3C,CAAC,CAAC,UAAU,IAAI,CAAC,EACjB,CAAC,CAAC,cAAc,EAAE,KAAK,IAAI,CAAC,CAC/B,CAAC;AACF,YAAA,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACnB,CAAC,CAAC,QAAQ,CAAC,eAAe,CAAC,YAAY,IAAI,CAAC,EAC5C,CAAC,CAAC,WAAW,IAAI,CAAC,EAClB,CAAC,CAAC,cAAc,EAAE,MAAM,IAAI,CAAC,CAChC,CAAC;AACF,YAAA,MAAM,IAAI,GAAG;gBACT,KAAK;gBACL,MAAM;AACN,gBAAA,GAAG,EAAE,CAAC;AACN,gBAAA,IAAI,EAAE,CAAC;AACP,gBAAA,KAAK,EAAE,KAAK;AACZ,gBAAA,MAAM,EAAE,MAAM;AACd,gBAAA,CAAC,EAAE,CAAC;AACJ,gBAAA,CAAC,EAAE,CAAC;aACP,CAAC;YAEF,OAAO;AACH,gBAAA,GAAG,IAAI;gBACP,MAAM,EAAE,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;aACrC,CAAC;AACN,SAAC,CAAC,EACF,WAAW,CAAC,EAAC,UAAU,EAAE,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAC,CAAC,CAC/C,CAAC;KACL;AACJ,CAAA;;AC5CL;;AAEG;;;;"}
@@ -1,5 +1,7 @@
1
1
  import { tuiIsHTMLElement } from '@taiga-ui/cdk/utils/dom';
2
- import { svgNodeFilter } from '@taiga-ui/cdk/constants';
2
+ import { toSignal } from '@angular/core/rxjs-interop';
3
+ import { TUI_TRUE_HANDLER, TUI_FALSE_HANDLER, svgNodeFilter } from '@taiga-ui/cdk/constants';
4
+ import { merge, fromEvent, map } from 'rxjs';
3
5
 
4
6
  /**
5
7
  * Returns current active element, including shadow dom
@@ -27,6 +29,10 @@ function tuiBlurNativeFocused(doc) {
27
29
  }
28
30
  }
29
31
 
32
+ function tuiFocusedIn(node) {
33
+ return toSignal(merge(fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)), fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER))), { initialValue: false });
34
+ }
35
+
30
36
  /**
31
37
  * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to
32
38
  * only target natural focus order. Not checking the possibility of an element to
@@ -134,5 +140,5 @@ function tuiMoveFocus(currentIndex, elements, step) {
134
140
  * Generated bundle index. Do not edit.
135
141
  */
136
142
 
137
- export { tuiBlurNativeFocused, tuiGetClosestFocusable, tuiGetNativeFocused, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, tuiIsNativeMouseFocusable, tuiMoveFocus };
143
+ export { tuiBlurNativeFocused, tuiFocusedIn, tuiGetClosestFocusable, tuiGetNativeFocused, tuiIsNativeFocused, tuiIsNativeFocusedIn, tuiIsNativeKeyboardFocusable, tuiIsNativeMouseFocusable, tuiMoveFocus };
138
144
  //# sourceMappingURL=taiga-ui-cdk-utils-focus.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-focus.mjs","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node?: Node | null): boolean {\n return (\n !!node?.ownerDocument &&\n tuiGetNativeFocused(node.ownerDocument) === node &&\n node.ownerDocument.hasFocus()\n );\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node?: Node | null): boolean {\n const focused = node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument);\n\n return !!focused && node.contains(focused) && !!node.ownerDocument?.hasFocus();\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-focus.mjs","sources":["../../../projects/cdk/utils/focus/get-native-focused.ts","../../../projects/cdk/utils/focus/blur-native-focused.ts","../../../projects/cdk/utils/focus/focused-in.ts","../../../projects/cdk/utils/focus/is-native-keyboard-focusable.ts","../../../projects/cdk/utils/focus/is-native-mouse-focusable.ts","../../../projects/cdk/utils/focus/get-closest-focusable.ts","../../../projects/cdk/utils/focus/is-native-focused.ts","../../../projects/cdk/utils/focus/is-native-focused-in.ts","../../../projects/cdk/utils/focus/move-focus.ts","../../../projects/cdk/utils/focus/taiga-ui-cdk-utils-focus.ts"],"sourcesContent":["/**\n * Returns current active element, including shadow dom\n *\n * @return element or null\n */\nexport function tuiGetNativeFocused({activeElement}: Document): Element | null {\n if (!activeElement?.shadowRoot) {\n return activeElement;\n }\n\n let element = activeElement.shadowRoot.activeElement;\n\n while (element?.shadowRoot) {\n element = element.shadowRoot.activeElement;\n }\n\n return element;\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Finds and blurs current active element, including shadow DOM\n */\nexport function tuiBlurNativeFocused(doc: Document): void {\n const activeElement = tuiGetNativeFocused(doc);\n\n if (tuiIsHTMLElement(activeElement)) {\n activeElement.blur();\n }\n}\n","import type {Signal} from '@angular/core';\nimport {toSignal} from '@angular/core/rxjs-interop';\nimport {TUI_FALSE_HANDLER, TUI_TRUE_HANDLER} from '@taiga-ui/cdk/constants';\nimport {fromEvent, map, merge} from 'rxjs';\n\nexport function tuiFocusedIn(node: Node): Signal<boolean> {\n return toSignal(\n merge(\n fromEvent(node, 'focusin').pipe(map(TUI_TRUE_HANDLER)),\n fromEvent(node, 'focusout').pipe(map(TUI_FALSE_HANDLER)),\n ),\n {initialValue: false},\n );\n}\n","import {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\n/**\n * Checks for signs that element can be focused with keyboard. tabIndex above 0 is ignored to\n * only target natural focus order. Not checking the possibility of an element to\n * be focused, for example element can have display: none applied to it or any other\n * circumstances could prevent actual focus.\n */\nexport function tuiIsNativeKeyboardFocusable(element: Element): boolean {\n if (element.hasAttribute('disabled') || element.getAttribute('tabIndex') === '-1') {\n return false;\n }\n\n if (\n (tuiIsHTMLElement(element) && element.isContentEditable) ||\n element.getAttribute('tabIndex') === '0'\n ) {\n return true;\n }\n\n switch (element.tagName) {\n case 'BUTTON':\n case 'SELECT':\n case 'TEXTAREA':\n return true;\n case 'VIDEO':\n case 'AUDIO':\n return element.hasAttribute('controls');\n case 'INPUT':\n return element.getAttribute('type') !== 'hidden';\n case 'A':\n case 'LINK':\n return element.hasAttribute('href');\n default:\n return false;\n }\n}\n","import {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\n\nexport function tuiIsNativeMouseFocusable(element: Element): boolean {\n return (\n !element.hasAttribute('disabled') &&\n (element.getAttribute('tabIndex') === '-1' ||\n tuiIsNativeKeyboardFocusable(element))\n );\n}\n","import {svgNodeFilter} from '@taiga-ui/cdk/constants';\nimport {tuiIsHTMLElement} from '@taiga-ui/cdk/utils/dom';\n\nimport {tuiIsNativeKeyboardFocusable} from './is-native-keyboard-focusable';\nimport {tuiIsNativeMouseFocusable} from './is-native-mouse-focusable';\n\nexport interface TuiGetClosestFocusableOptions {\n /**\n * @description:\n * current HTML element\n */\n initial: Element;\n\n /**\n * @description:\n * determine if only keyboard focus is of interest\n */\n keyboard?: boolean;\n\n /**\n * @description:\n * should it look backwards instead (find item that will be focused with Shift + Tab)\n */\n previous?: boolean;\n\n /**\n * @description:\n * top Node limiting the search area\n */\n root: Node;\n}\n\n/**\n * @description:\n * Finds the closest element that can be focused with a keyboard or mouse in theory\n */\nexport function tuiGetClosestFocusable({\n initial,\n root,\n previous = false,\n keyboard = true,\n}: TuiGetClosestFocusableOptions): HTMLElement | null {\n if (!root.ownerDocument) {\n return null;\n }\n\n const check = keyboard ? tuiIsNativeKeyboardFocusable : tuiIsNativeMouseFocusable;\n const treeWalker = root.ownerDocument.createTreeWalker(\n root,\n NodeFilter.SHOW_ELEMENT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = initial;\n\n while (previous ? treeWalker.previousNode() : treeWalker.nextNode()) {\n if (tuiIsHTMLElement(treeWalker.currentNode)) {\n initial = treeWalker.currentNode;\n }\n\n if (tuiIsHTMLElement(initial) && check(initial)) {\n return initial;\n }\n }\n\n return null;\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if element is focused.\n *\n * Could return true even after blur since element remains focused if you switch away from a browser tab.\n *\n * @param node or null (as a common return value of DOM nodes walking)\n * @return true if focused\n */\nexport function tuiIsNativeFocused(node?: Node | null): boolean {\n return (\n !!node?.ownerDocument &&\n tuiGetNativeFocused(node.ownerDocument) === node &&\n node.ownerDocument.hasFocus()\n );\n}\n","import {tuiGetNativeFocused} from './get-native-focused';\n\n/**\n * Checks if focused element is within given element.\n *\n * @param node\n * @return true if focused node is contained within element\n */\nexport function tuiIsNativeFocusedIn(node?: Node | null): boolean {\n const focused = node?.ownerDocument && tuiGetNativeFocused(node.ownerDocument);\n\n return !!focused && node.contains(focused) && !!node.ownerDocument?.hasFocus();\n}\n","import {tuiIsNativeFocused} from './is-native-focused';\n\n/**\n * Utility method for moving focus in a list of elements\n *\n * @param currentIndex currently focused index\n * @param elements array of focusable elements\n * @param step a step to move focus by, typically -1 or 1\n */\nexport function tuiMoveFocus(\n currentIndex: number,\n elements: readonly HTMLElement[],\n step: number,\n): void {\n currentIndex += step;\n\n while (currentIndex >= 0 && currentIndex < elements.length) {\n elements[currentIndex].focus();\n\n if (tuiIsNativeFocused(elements[currentIndex])) {\n return;\n }\n\n currentIndex += step;\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,69 +1,358 @@
1
1
  {
2
- "name": "@taiga-ui/cdk",
3
- "version": "4.0.0-alpha.0",
4
- "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
- "keywords": [
6
- "angular",
7
- "cdk",
8
- "component",
9
- "development",
10
- "kit",
11
- "service",
12
- "directive"
13
- ],
14
- "homepage": "https://github.com/taiga-family/taiga-ui",
15
- "repository": "https://github.com/taiga-family/taiga-ui",
16
- "license": "Apache-2.0",
17
- "dependencies": {
18
- "tslib": "2.6.3"
19
- },
20
- "devDependencies": {
21
- "@angular-devkit/core": "16.2.12",
22
- "@angular-devkit/schematics": "16.2.12",
23
- "@angular-devkit/schematics-cli": "16.2.12",
24
- "@schematics/angular": "16.2.12"
25
- },
26
- "peerDependencies": {
27
- "@angular/animations": ">=16.0.0",
28
- "@angular/cdk": ">=16.0.0",
29
- "@angular/common": ">=16.0.0",
30
- "@angular/core": ">=16.0.0",
31
- "@angular/forms": ">=16.0.0",
32
- "@ng-web-apis/common": "^4.1.2",
33
- "@ng-web-apis/mutation-observer": "^4.1.2",
34
- "@ng-web-apis/resize-observer": "^4.1.2",
35
- "@taiga-ui/event-plugins": "^4.0.1",
36
- "@taiga-ui/polymorpheus": "^4.6.4",
37
- "rxjs": ">=7.0.0"
38
- },
39
- "optionalDependencies": {
40
- "@angular-devkit/core": ">=16.0.0",
41
- "@angular-devkit/schematics": ">=16.0.0",
42
- "@schematics/angular": ">=16.0.0",
43
- "ng-morph": "^4.5.2",
44
- "parse5": "^7.1.2"
45
- },
46
- "ng-update": {
47
- "migrations": "./schematics/migration.json",
48
- "packageGroup": [
49
- "@taiga-ui/i18n",
50
- "@taiga-ui/cdk",
51
- "@taiga-ui/core",
52
- "@taiga-ui/kit",
53
- "@taiga-ui/styles",
54
- "@taiga-ui/testing",
55
- "@taiga-ui/addon-doc",
56
- "@taiga-ui/addon-charts",
57
- "@taiga-ui/addon-commerce",
58
- "@taiga-ui/icons",
59
- "@taiga-ui/addon-table",
60
- "@taiga-ui/addon-mobile",
61
- "@taiga-ui/layout",
62
- "@taiga-ui/experimental",
63
- "@taiga-ui/proprietary",
64
- "@taiga-ui/legacy",
65
- "ng-morph"
66
- ]
67
- },
68
- "schematics": "./schematics/collection.json"
2
+ "name": "@taiga-ui/cdk",
3
+ "version": "4.0.0-rc.10",
4
+ "description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
5
+ "keywords": [
6
+ "angular",
7
+ "cdk",
8
+ "component",
9
+ "development",
10
+ "kit",
11
+ "service",
12
+ "directive"
13
+ ],
14
+ "homepage": "https://github.com/taiga-family/taiga-ui",
15
+ "repository": "https://github.com/taiga-family/taiga-ui",
16
+ "license": "Apache-2.0",
17
+ "dependencies": {
18
+ "tslib": "2.6.3"
19
+ },
20
+ "peerDependencies": {
21
+ "@angular/animations": ">=16.0.0",
22
+ "@angular/cdk": ">=16.0.0",
23
+ "@angular/common": ">=16.0.0",
24
+ "@angular/core": ">=16.0.0",
25
+ "@angular/forms": ">=16.0.0",
26
+ "@ng-web-apis/common": "^4.2.1",
27
+ "@ng-web-apis/mutation-observer": "^4.2.1",
28
+ "@ng-web-apis/resize-observer": "^4.2.1",
29
+ "@taiga-ui/event-plugins": "^4.0.1",
30
+ "@taiga-ui/polymorpheus": "^4.6.4",
31
+ "rxjs": ">=7.0.0"
32
+ },
33
+ "optionalDependencies": {
34
+ "@angular-devkit/core": ">=16.0.0",
35
+ "@angular-devkit/schematics": ">=16.0.0",
36
+ "@schematics/angular": ">=16.0.0",
37
+ "ng-morph": "^4.5.4",
38
+ "parse5": "^7.1.2"
39
+ },
40
+ "ng-update": {
41
+ "migrations": "./schematics/migration.json",
42
+ "packageGroup": [
43
+ "@taiga-ui/i18n",
44
+ "@taiga-ui/cdk",
45
+ "@taiga-ui/core",
46
+ "@taiga-ui/kit",
47
+ "@taiga-ui/styles",
48
+ "@taiga-ui/testing",
49
+ "@taiga-ui/addon-doc",
50
+ "@taiga-ui/addon-charts",
51
+ "@taiga-ui/addon-commerce",
52
+ "@taiga-ui/icons",
53
+ "@taiga-ui/addon-table",
54
+ "@taiga-ui/addon-mobile",
55
+ "@taiga-ui/layout",
56
+ "@taiga-ui/experimental",
57
+ "@taiga-ui/proprietary",
58
+ "@taiga-ui/legacy"
59
+ ]
60
+ },
61
+ "schematics": "./schematics/collection.json",
62
+ "module": "fesm2022/taiga-ui-cdk.mjs",
63
+ "typings": "index.d.ts",
64
+ "exports": {
65
+ "./package.json": {
66
+ "default": "./package.json"
67
+ },
68
+ ".": {
69
+ "types": "./index.d.ts",
70
+ "esm2022": "./esm2022/taiga-ui-cdk.mjs",
71
+ "esm": "./esm2022/taiga-ui-cdk.mjs",
72
+ "default": "./fesm2022/taiga-ui-cdk.mjs"
73
+ },
74
+ "./classes": {
75
+ "types": "./classes/index.d.ts",
76
+ "esm2022": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
77
+ "esm": "./esm2022/classes/taiga-ui-cdk-classes.mjs",
78
+ "default": "./fesm2022/taiga-ui-cdk-classes.mjs"
79
+ },
80
+ "./constants": {
81
+ "types": "./constants/index.d.ts",
82
+ "esm2022": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
83
+ "esm": "./esm2022/constants/taiga-ui-cdk-constants.mjs",
84
+ "default": "./fesm2022/taiga-ui-cdk-constants.mjs"
85
+ },
86
+ "./date-time": {
87
+ "types": "./date-time/index.d.ts",
88
+ "esm2022": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
89
+ "esm": "./esm2022/date-time/taiga-ui-cdk-date-time.mjs",
90
+ "default": "./fesm2022/taiga-ui-cdk-date-time.mjs"
91
+ },
92
+ "./directives": {
93
+ "types": "./directives/index.d.ts",
94
+ "esm2022": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
95
+ "esm": "./esm2022/directives/taiga-ui-cdk-directives.mjs",
96
+ "default": "./fesm2022/taiga-ui-cdk-directives.mjs"
97
+ },
98
+ "./observables": {
99
+ "types": "./observables/index.d.ts",
100
+ "esm2022": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
101
+ "esm": "./esm2022/observables/taiga-ui-cdk-observables.mjs",
102
+ "default": "./fesm2022/taiga-ui-cdk-observables.mjs"
103
+ },
104
+ "./pipes": {
105
+ "types": "./pipes/index.d.ts",
106
+ "esm2022": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
107
+ "esm": "./esm2022/pipes/taiga-ui-cdk-pipes.mjs",
108
+ "default": "./fesm2022/taiga-ui-cdk-pipes.mjs"
109
+ },
110
+ "./services": {
111
+ "types": "./services/index.d.ts",
112
+ "esm2022": "./esm2022/services/taiga-ui-cdk-services.mjs",
113
+ "esm": "./esm2022/services/taiga-ui-cdk-services.mjs",
114
+ "default": "./fesm2022/taiga-ui-cdk-services.mjs"
115
+ },
116
+ "./tokens": {
117
+ "types": "./tokens/index.d.ts",
118
+ "esm2022": "./esm2022/tokens/taiga-ui-cdk-tokens.mjs",
119
+ "esm": "./esm2022/tokens/taiga-ui-cdk-tokens.mjs",
120
+ "default": "./fesm2022/taiga-ui-cdk-tokens.mjs"
121
+ },
122
+ "./types": {
123
+ "types": "./types/index.d.ts",
124
+ "esm2022": "./esm2022/types/taiga-ui-cdk-types.mjs",
125
+ "esm": "./esm2022/types/taiga-ui-cdk-types.mjs",
126
+ "default": "./fesm2022/taiga-ui-cdk-types.mjs"
127
+ },
128
+ "./utils": {
129
+ "types": "./utils/index.d.ts",
130
+ "esm2022": "./esm2022/utils/taiga-ui-cdk-utils.mjs",
131
+ "esm": "./esm2022/utils/taiga-ui-cdk-utils.mjs",
132
+ "default": "./fesm2022/taiga-ui-cdk-utils.mjs"
133
+ },
134
+ "./directives/active-zone": {
135
+ "types": "./directives/active-zone/index.d.ts",
136
+ "esm2022": "./esm2022/directives/active-zone/taiga-ui-cdk-directives-active-zone.mjs",
137
+ "esm": "./esm2022/directives/active-zone/taiga-ui-cdk-directives-active-zone.mjs",
138
+ "default": "./fesm2022/taiga-ui-cdk-directives-active-zone.mjs"
139
+ },
140
+ "./directives/auto-focus": {
141
+ "types": "./directives/auto-focus/index.d.ts",
142
+ "esm2022": "./esm2022/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.mjs",
143
+ "esm": "./esm2022/directives/auto-focus/taiga-ui-cdk-directives-auto-focus.mjs",
144
+ "default": "./fesm2022/taiga-ui-cdk-directives-auto-focus.mjs"
145
+ },
146
+ "./directives/click-outside": {
147
+ "types": "./directives/click-outside/index.d.ts",
148
+ "esm2022": "./esm2022/directives/click-outside/taiga-ui-cdk-directives-click-outside.mjs",
149
+ "esm": "./esm2022/directives/click-outside/taiga-ui-cdk-directives-click-outside.mjs",
150
+ "default": "./fesm2022/taiga-ui-cdk-directives-click-outside.mjs"
151
+ },
152
+ "./directives/control": {
153
+ "types": "./directives/control/index.d.ts",
154
+ "esm2022": "./esm2022/directives/control/taiga-ui-cdk-directives-control.mjs",
155
+ "esm": "./esm2022/directives/control/taiga-ui-cdk-directives-control.mjs",
156
+ "default": "./fesm2022/taiga-ui-cdk-directives-control.mjs"
157
+ },
158
+ "./directives/copy-processor": {
159
+ "types": "./directives/copy-processor/index.d.ts",
160
+ "esm2022": "./esm2022/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.mjs",
161
+ "esm": "./esm2022/directives/copy-processor/taiga-ui-cdk-directives-copy-processor.mjs",
162
+ "default": "./fesm2022/taiga-ui-cdk-directives-copy-processor.mjs"
163
+ },
164
+ "./directives/droppable": {
165
+ "types": "./directives/droppable/index.d.ts",
166
+ "esm2022": "./esm2022/directives/droppable/taiga-ui-cdk-directives-droppable.mjs",
167
+ "esm": "./esm2022/directives/droppable/taiga-ui-cdk-directives-droppable.mjs",
168
+ "default": "./fesm2022/taiga-ui-cdk-directives-droppable.mjs"
169
+ },
170
+ "./directives/element": {
171
+ "types": "./directives/element/index.d.ts",
172
+ "esm2022": "./esm2022/directives/element/taiga-ui-cdk-directives-element.mjs",
173
+ "esm": "./esm2022/directives/element/taiga-ui-cdk-directives-element.mjs",
174
+ "default": "./fesm2022/taiga-ui-cdk-directives-element.mjs"
175
+ },
176
+ "./directives/focus-trap": {
177
+ "types": "./directives/focus-trap/index.d.ts",
178
+ "esm2022": "./esm2022/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.mjs",
179
+ "esm": "./esm2022/directives/focus-trap/taiga-ui-cdk-directives-focus-trap.mjs",
180
+ "default": "./fesm2022/taiga-ui-cdk-directives-focus-trap.mjs"
181
+ },
182
+ "./directives/for": {
183
+ "types": "./directives/for/index.d.ts",
184
+ "esm2022": "./esm2022/directives/for/taiga-ui-cdk-directives-for.mjs",
185
+ "esm": "./esm2022/directives/for/taiga-ui-cdk-directives-for.mjs",
186
+ "default": "./fesm2022/taiga-ui-cdk-directives-for.mjs"
187
+ },
188
+ "./directives/high-dpi": {
189
+ "types": "./directives/high-dpi/index.d.ts",
190
+ "esm2022": "./esm2022/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.mjs",
191
+ "esm": "./esm2022/directives/high-dpi/taiga-ui-cdk-directives-high-dpi.mjs",
192
+ "default": "./fesm2022/taiga-ui-cdk-directives-high-dpi.mjs"
193
+ },
194
+ "./directives/hovered": {
195
+ "types": "./directives/hovered/index.d.ts",
196
+ "esm2022": "./esm2022/directives/hovered/taiga-ui-cdk-directives-hovered.mjs",
197
+ "esm": "./esm2022/directives/hovered/taiga-ui-cdk-directives-hovered.mjs",
198
+ "default": "./fesm2022/taiga-ui-cdk-directives-hovered.mjs"
199
+ },
200
+ "./directives/item": {
201
+ "types": "./directives/item/index.d.ts",
202
+ "esm2022": "./esm2022/directives/item/taiga-ui-cdk-directives-item.mjs",
203
+ "esm": "./esm2022/directives/item/taiga-ui-cdk-directives-item.mjs",
204
+ "default": "./fesm2022/taiga-ui-cdk-directives-item.mjs"
205
+ },
206
+ "./directives/let": {
207
+ "types": "./directives/let/index.d.ts",
208
+ "esm2022": "./esm2022/directives/let/taiga-ui-cdk-directives-let.mjs",
209
+ "esm": "./esm2022/directives/let/taiga-ui-cdk-directives-let.mjs",
210
+ "default": "./fesm2022/taiga-ui-cdk-directives-let.mjs"
211
+ },
212
+ "./directives/media": {
213
+ "types": "./directives/media/index.d.ts",
214
+ "esm2022": "./esm2022/directives/media/taiga-ui-cdk-directives-media.mjs",
215
+ "esm": "./esm2022/directives/media/taiga-ui-cdk-directives-media.mjs",
216
+ "default": "./fesm2022/taiga-ui-cdk-directives-media.mjs"
217
+ },
218
+ "./directives/native-validator": {
219
+ "types": "./directives/native-validator/index.d.ts",
220
+ "esm2022": "./esm2022/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs",
221
+ "esm": "./esm2022/directives/native-validator/taiga-ui-cdk-directives-native-validator.mjs",
222
+ "default": "./fesm2022/taiga-ui-cdk-directives-native-validator.mjs"
223
+ },
224
+ "./directives/obscured": {
225
+ "types": "./directives/obscured/index.d.ts",
226
+ "esm2022": "./esm2022/directives/obscured/taiga-ui-cdk-directives-obscured.mjs",
227
+ "esm": "./esm2022/directives/obscured/taiga-ui-cdk-directives-obscured.mjs",
228
+ "default": "./fesm2022/taiga-ui-cdk-directives-obscured.mjs"
229
+ },
230
+ "./directives/pan": {
231
+ "types": "./directives/pan/index.d.ts",
232
+ "esm2022": "./esm2022/directives/pan/taiga-ui-cdk-directives-pan.mjs",
233
+ "esm": "./esm2022/directives/pan/taiga-ui-cdk-directives-pan.mjs",
234
+ "default": "./fesm2022/taiga-ui-cdk-directives-pan.mjs"
235
+ },
236
+ "./directives/platform": {
237
+ "types": "./directives/platform/index.d.ts",
238
+ "esm2022": "./esm2022/directives/platform/taiga-ui-cdk-directives-platform.mjs",
239
+ "esm": "./esm2022/directives/platform/taiga-ui-cdk-directives-platform.mjs",
240
+ "default": "./fesm2022/taiga-ui-cdk-directives-platform.mjs"
241
+ },
242
+ "./directives/popover": {
243
+ "types": "./directives/popover/index.d.ts",
244
+ "esm2022": "./esm2022/directives/popover/taiga-ui-cdk-directives-popover.mjs",
245
+ "esm": "./esm2022/directives/popover/taiga-ui-cdk-directives-popover.mjs",
246
+ "default": "./fesm2022/taiga-ui-cdk-directives-popover.mjs"
247
+ },
248
+ "./directives/repeat-times": {
249
+ "types": "./directives/repeat-times/index.d.ts",
250
+ "esm2022": "./esm2022/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.mjs",
251
+ "esm": "./esm2022/directives/repeat-times/taiga-ui-cdk-directives-repeat-times.mjs",
252
+ "default": "./fesm2022/taiga-ui-cdk-directives-repeat-times.mjs"
253
+ },
254
+ "./directives/resizer": {
255
+ "types": "./directives/resizer/index.d.ts",
256
+ "esm2022": "./esm2022/directives/resizer/taiga-ui-cdk-directives-resizer.mjs",
257
+ "esm": "./esm2022/directives/resizer/taiga-ui-cdk-directives-resizer.mjs",
258
+ "default": "./fesm2022/taiga-ui-cdk-directives-resizer.mjs"
259
+ },
260
+ "./directives/swipe": {
261
+ "types": "./directives/swipe/index.d.ts",
262
+ "esm2022": "./esm2022/directives/swipe/taiga-ui-cdk-directives-swipe.mjs",
263
+ "esm": "./esm2022/directives/swipe/taiga-ui-cdk-directives-swipe.mjs",
264
+ "default": "./fesm2022/taiga-ui-cdk-directives-swipe.mjs"
265
+ },
266
+ "./directives/validator": {
267
+ "types": "./directives/validator/index.d.ts",
268
+ "esm2022": "./esm2022/directives/validator/taiga-ui-cdk-directives-validator.mjs",
269
+ "esm": "./esm2022/directives/validator/taiga-ui-cdk-directives-validator.mjs",
270
+ "default": "./fesm2022/taiga-ui-cdk-directives-validator.mjs"
271
+ },
272
+ "./directives/value-changes": {
273
+ "types": "./directives/value-changes/index.d.ts",
274
+ "esm2022": "./esm2022/directives/value-changes/taiga-ui-cdk-directives-value-changes.mjs",
275
+ "esm": "./esm2022/directives/value-changes/taiga-ui-cdk-directives-value-changes.mjs",
276
+ "default": "./fesm2022/taiga-ui-cdk-directives-value-changes.mjs"
277
+ },
278
+ "./directives/zoom": {
279
+ "types": "./directives/zoom/index.d.ts",
280
+ "esm2022": "./esm2022/directives/zoom/taiga-ui-cdk-directives-zoom.mjs",
281
+ "esm": "./esm2022/directives/zoom/taiga-ui-cdk-directives-zoom.mjs",
282
+ "default": "./fesm2022/taiga-ui-cdk-directives-zoom.mjs"
283
+ },
284
+ "./pipes/filter": {
285
+ "types": "./pipes/filter/index.d.ts",
286
+ "esm2022": "./esm2022/pipes/filter/taiga-ui-cdk-pipes-filter.mjs",
287
+ "esm": "./esm2022/pipes/filter/taiga-ui-cdk-pipes-filter.mjs",
288
+ "default": "./fesm2022/taiga-ui-cdk-pipes-filter.mjs"
289
+ },
290
+ "./pipes/is-present": {
291
+ "types": "./pipes/is-present/index.d.ts",
292
+ "esm2022": "./esm2022/pipes/is-present/taiga-ui-cdk-pipes-is-present.mjs",
293
+ "esm": "./esm2022/pipes/is-present/taiga-ui-cdk-pipes-is-present.mjs",
294
+ "default": "./fesm2022/taiga-ui-cdk-pipes-is-present.mjs"
295
+ },
296
+ "./pipes/keys": {
297
+ "types": "./pipes/keys/index.d.ts",
298
+ "esm2022": "./esm2022/pipes/keys/taiga-ui-cdk-pipes-keys.mjs",
299
+ "esm": "./esm2022/pipes/keys/taiga-ui-cdk-pipes-keys.mjs",
300
+ "default": "./fesm2022/taiga-ui-cdk-pipes-keys.mjs"
301
+ },
302
+ "./pipes/mapper": {
303
+ "types": "./pipes/mapper/index.d.ts",
304
+ "esm2022": "./esm2022/pipes/mapper/taiga-ui-cdk-pipes-mapper.mjs",
305
+ "esm": "./esm2022/pipes/mapper/taiga-ui-cdk-pipes-mapper.mjs",
306
+ "default": "./fesm2022/taiga-ui-cdk-pipes-mapper.mjs"
307
+ },
308
+ "./pipes/replace": {
309
+ "types": "./pipes/replace/index.d.ts",
310
+ "esm2022": "./esm2022/pipes/replace/taiga-ui-cdk-pipes-replace.mjs",
311
+ "esm": "./esm2022/pipes/replace/taiga-ui-cdk-pipes-replace.mjs",
312
+ "default": "./fesm2022/taiga-ui-cdk-pipes-replace.mjs"
313
+ },
314
+ "./pipes/to-array": {
315
+ "types": "./pipes/to-array/index.d.ts",
316
+ "esm2022": "./esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs",
317
+ "esm": "./esm2022/pipes/to-array/taiga-ui-cdk-pipes-to-array.mjs",
318
+ "default": "./fesm2022/taiga-ui-cdk-pipes-to-array.mjs"
319
+ },
320
+ "./utils/browser": {
321
+ "types": "./utils/browser/index.d.ts",
322
+ "esm2022": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
323
+ "esm": "./esm2022/utils/browser/taiga-ui-cdk-utils-browser.mjs",
324
+ "default": "./fesm2022/taiga-ui-cdk-utils-browser.mjs"
325
+ },
326
+ "./utils/color": {
327
+ "types": "./utils/color/index.d.ts",
328
+ "esm2022": "./esm2022/utils/color/taiga-ui-cdk-utils-color.mjs",
329
+ "esm": "./esm2022/utils/color/taiga-ui-cdk-utils-color.mjs",
330
+ "default": "./fesm2022/taiga-ui-cdk-utils-color.mjs"
331
+ },
332
+ "./utils/dom": {
333
+ "types": "./utils/dom/index.d.ts",
334
+ "esm2022": "./esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs",
335
+ "esm": "./esm2022/utils/dom/taiga-ui-cdk-utils-dom.mjs",
336
+ "default": "./fesm2022/taiga-ui-cdk-utils-dom.mjs"
337
+ },
338
+ "./utils/focus": {
339
+ "types": "./utils/focus/index.d.ts",
340
+ "esm2022": "./esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs",
341
+ "esm": "./esm2022/utils/focus/taiga-ui-cdk-utils-focus.mjs",
342
+ "default": "./fesm2022/taiga-ui-cdk-utils-focus.mjs"
343
+ },
344
+ "./utils/math": {
345
+ "types": "./utils/math/index.d.ts",
346
+ "esm2022": "./esm2022/utils/math/taiga-ui-cdk-utils-math.mjs",
347
+ "esm": "./esm2022/utils/math/taiga-ui-cdk-utils-math.mjs",
348
+ "default": "./fesm2022/taiga-ui-cdk-utils-math.mjs"
349
+ },
350
+ "./utils/miscellaneous": {
351
+ "types": "./utils/miscellaneous/index.d.ts",
352
+ "esm2022": "./esm2022/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.mjs",
353
+ "esm": "./esm2022/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.mjs",
354
+ "default": "./fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs"
355
+ }
356
+ },
357
+ "sideEffects": false
69
358
  }
@@ -1,5 +1,6 @@
1
1
  export interface HtmlComment {
2
- readonly tag: string;
3
- readonly withAttrs: string[];
2
+ readonly tag?: string;
3
+ readonly withAttrs?: string[];
4
+ readonly pattern?: RegExp;
4
5
  readonly comment: string;
5
6
  }