@taiga-ui/core 5.30.0 → 5.31.0-canary.a6f3dc9

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 (51) hide show
  1. package/fesm2022/taiga-ui-core-components-button.mjs +2 -2
  2. package/fesm2022/taiga-ui-core-components-button.mjs.map +1 -1
  3. package/fesm2022/taiga-ui-core-components-cell.mjs +3 -3
  4. package/fesm2022/taiga-ui-core-components-cell.mjs.map +1 -1
  5. package/fesm2022/taiga-ui-core-components-checkbox.mjs +2 -2
  6. package/fesm2022/taiga-ui-core-components-checkbox.mjs.map +1 -1
  7. package/fesm2022/taiga-ui-core-components-data-list.mjs +4 -4
  8. package/fesm2022/taiga-ui-core-components-data-list.mjs.map +1 -1
  9. package/fesm2022/taiga-ui-core-components-icon.mjs +2 -2
  10. package/fesm2022/taiga-ui-core-components-icon.mjs.map +1 -1
  11. package/fesm2022/taiga-ui-core-components-label.mjs +3 -3
  12. package/fesm2022/taiga-ui-core-components-label.mjs.map +1 -1
  13. package/fesm2022/taiga-ui-core-components-link.mjs +2 -2
  14. package/fesm2022/taiga-ui-core-components-link.mjs.map +1 -1
  15. package/fesm2022/taiga-ui-core-components-notification.mjs +2 -2
  16. package/fesm2022/taiga-ui-core-components-notification.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-core-components-radio.mjs +2 -2
  18. package/fesm2022/taiga-ui-core-components-radio.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-core-components-root.mjs +1 -1
  20. package/fesm2022/taiga-ui-core-components-root.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-core-components-scrollbar.mjs +3 -3
  22. package/fesm2022/taiga-ui-core-components-scrollbar.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-core-components-textfield.mjs +5 -5
  24. package/fesm2022/taiga-ui-core-components-textfield.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-core-components-title.mjs +3 -3
  26. package/fesm2022/taiga-ui-core-components-title.mjs.map +1 -1
  27. package/fesm2022/taiga-ui-core-directives-appearance.mjs +3 -3
  28. package/fesm2022/taiga-ui-core-directives-appearance.mjs.map +1 -1
  29. package/fesm2022/taiga-ui-core-directives-group.mjs +3 -3
  30. package/fesm2022/taiga-ui-core-directives-group.mjs.map +1 -1
  31. package/fesm2022/taiga-ui-core-directives-icons.mjs +3 -3
  32. package/fesm2022/taiga-ui-core-directives-icons.mjs.map +1 -1
  33. package/fesm2022/taiga-ui-core-portals-alert.mjs +3 -3
  34. package/fesm2022/taiga-ui-core-portals-alert.mjs.map +1 -1
  35. package/fesm2022/taiga-ui-core-portals-dialog.mjs +2 -2
  36. package/fesm2022/taiga-ui-core-portals-dialog.mjs.map +1 -1
  37. package/fesm2022/taiga-ui-core-portals-dropdown.mjs +16 -13
  38. package/fesm2022/taiga-ui-core-portals-dropdown.mjs.map +1 -1
  39. package/fesm2022/taiga-ui-core-portals-hint.mjs +15 -9
  40. package/fesm2022/taiga-ui-core-portals-hint.mjs.map +1 -1
  41. package/fesm2022/taiga-ui-core-portals-modal.mjs +3 -3
  42. package/fesm2022/taiga-ui-core-portals-modal.mjs.map +1 -1
  43. package/fesm2022/taiga-ui-core-services.mjs +30 -3
  44. package/fesm2022/taiga-ui-core-services.mjs.map +1 -1
  45. package/fesm2022/taiga-ui-core-utils-dom.mjs +1 -1
  46. package/fesm2022/taiga-ui-core-utils-dom.mjs.map +1 -1
  47. package/package.json +23 -23
  48. package/portals/dropdown/dropdown-anchored.directive.d.ts +1 -0
  49. package/portals/hint/hint-anchored.directive.d.ts +1 -0
  50. package/services/css-zoom.service.d.ts +14 -0
  51. package/services/index.d.ts +1 -0
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-core-utils-dom.mjs","sources":["../../../projects/core/utils/dom/anchor-delegate.ts","../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-viewport.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {afterNextRender, inject} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\n\nconst STYLE: Partial<CSSStyleDeclaration> = {position: 'fixed', pointerEvents: 'none'};\n\nexport function tuiAnchorDelegate(\n styles: Partial<CSSStyleDeclaration> = {},\n): HTMLElement {\n const el = tuiInjectElement();\n const popups = inject(TuiPopupService);\n const anchor = inject(DOCUMENT).createElement('div');\n\n afterNextRender(() => {\n const anchorName = `--${tuiGenerateId()}`;\n const positionAnchor = el.dataset.tuiAnchor;\n\n Object.assign(anchor.style, {...STYLE, ...styles, positionAnchor, anchorName});\n anchor.dataset.tuiAnchor = anchorName;\n popups.add(anchor);\n });\n\n return anchor;\n}\n","export function tuiCheckFixedPosition(element?: HTMLElement | null): boolean {\n return (\n !!element && (isFixed(element) || tuiCheckFixedPosition(element.parentElement))\n );\n}\n\nfunction isFixed(element: HTMLElement): boolean {\n return (\n element.ownerDocument.defaultView\n ?.getComputedStyle(element)\n .getPropertyValue('position') === 'fixed'\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height/width)\n *\n * 1. window.innerWidth/Width\n * 1.1. gets CSS viewport @media (height/width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight/Width\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n svgNodeFilter,\n} from '@taiga-ui/cdk/constants';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || '';\n\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n\n const offset =\n Math.max(\n content.lastIndexOf(' '),\n content.lastIndexOf('\\n'),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || '';\n\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n\n const offset = [\n content.indexOf(' '),\n content.lastIndexOf('\\n'),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\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-core-utils-dom.mjs","sources":["../../../projects/core/utils/dom/anchor-delegate.ts","../../../projects/core/utils/dom/check-fixed-position.ts","../../../projects/core/utils/dom/get-viewport.ts","../../../projects/core/utils/dom/get-word-range.ts","../../../projects/core/utils/dom/taiga-ui-core-utils-dom.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {afterNextRender, inject} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGenerateId} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiPopupService} from '@taiga-ui/core/portals/popup';\n\nconst STYLE: Partial<CSSStyleDeclaration> = {position: 'fixed', pointerEvents: 'none'};\n\nexport function tuiAnchorDelegate(\n styles: Partial<CSSStyleDeclaration> = {},\n): HTMLElement {\n const el = tuiInjectElement();\n const popups = inject(TuiPopupService);\n const anchor = inject(DOCUMENT).createElement('div');\n\n afterNextRender(() => {\n const anchorName = `--${tuiGenerateId()}`;\n const positionAnchor = el.dataset.tuiAnchor;\n\n Object.assign(anchor.style, {...STYLE, ...styles, positionAnchor, anchorName});\n anchor.dataset.tuiAnchor = anchorName;\n popups.add(anchor);\n });\n\n return anchor;\n}\n","export function tuiCheckFixedPosition(element?: HTMLElement | null): boolean {\n return (\n !!element && (isFixed(element) || tuiCheckFixedPosition(element.parentElement))\n );\n}\n\nfunction isFixed(element: HTMLElement): boolean {\n return (\n element.ownerDocument.defaultView\n ?.getComputedStyle(element)\n .getPropertyValue('position') === 'fixed'\n );\n}\n","/**\n * @description:\n * Cross-browser @media (height/width)\n *\n * 1. window.innerWidth/Width\n * 1.1. gets CSS viewport @media (height/width) which include scrollbars\n * 1.2. initial-scale and zoom variations may cause mobile values to\n * wrongly scale down to what PPK calls the visual\n * viewport and be smaller than the @media values\n * 1.3. zoom may cause values to be 1px off due to native rounding\n *\n * 2. document.documentElement.clientHeight/Width\n * 2.1. equals CSS viewport width minus scrollbar width\n * 2.2. matches @media (height) when there is no scrollbar\n * 2.3. available cross-browser\n * 2.4. inaccurate if doctype is missing\n */\nexport function tuiGetViewportHeight({document, innerHeight}: Window): number {\n return Math.max(document.documentElement.clientHeight || 0, innerHeight || 0);\n}\n\nexport function tuiGetViewportWidth({document, innerWidth}: Window): number {\n return Math.max(document.documentElement.clientWidth || 0, innerWidth || 0);\n}\n","import {\n CHAR_NO_BREAK_SPACE,\n CHAR_ZERO_WIDTH_SPACE,\n svgNodeFilter,\n} from '@taiga-ui/cdk/constants';\n\n/**\n * Creates a cloned range with its boundaries set at word boundaries\n *\n * @param currentRange a range to clone\n * @return modified range\n */\nexport function tuiGetWordRange(currentRange: Range): Range {\n const range = currentRange.cloneRange();\n const {startContainer, startOffset, endContainer, endOffset} = range;\n const {ownerDocument} = startContainer;\n\n if (!ownerDocument) {\n return range;\n }\n\n const treeWalker = ownerDocument.createTreeWalker(\n ownerDocument.body,\n NodeFilter.SHOW_TEXT,\n svgNodeFilter,\n );\n\n treeWalker.currentNode = startContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || '';\n\n const content =\n container === startContainer\n ? textContent.slice(0, Math.max(0, startOffset + 1))\n : textContent;\n\n const offset =\n Math.max(\n content.lastIndexOf(' '),\n content.lastIndexOf('\\n'),\n content.lastIndexOf(CHAR_NO_BREAK_SPACE),\n content.lastIndexOf(CHAR_ZERO_WIDTH_SPACE),\n ) + 1;\n\n range.setStart(container, 0);\n\n if (offset) {\n range.setStart(container, offset);\n break;\n }\n } while (treeWalker.previousNode());\n\n treeWalker.currentNode = endContainer;\n\n do {\n const container = treeWalker.currentNode;\n const textContent = container.textContent || '';\n\n const content =\n container === endContainer ? textContent.slice(endOffset + 1) : textContent;\n\n const offset = [\n content.indexOf(' '),\n content.indexOf('\\n'),\n content.indexOf(CHAR_NO_BREAK_SPACE),\n content.indexOf(CHAR_ZERO_WIDTH_SPACE),\n ].reduce(\n (result, item) =>\n result === -1 || item === -1\n ? Math.max(result, item)\n : Math.min(result, item),\n -1,\n );\n\n range.setEnd(container, textContent.length);\n\n if (offset !== -1) {\n range.setEnd(container, offset + textContent.length - content.length);\n break;\n }\n } while (treeWalker.nextNode());\n\n return range;\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,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/core",
3
- "version": "5.30.0",
3
+ "version": "5.31.0-canary.a6f3dc9",
4
4
  "description": "Core library for creating Angular components and applications using Taiga UI",
5
5
  "keywords": [
6
6
  "angular",
@@ -37,15 +37,15 @@
37
37
  "@angular/forms": ">=19.0.0",
38
38
  "@angular/platform-browser": ">=19.0.0",
39
39
  "@angular/router": ">=19.0.0",
40
- "@ng-web-apis/common": "^5.4.0",
41
- "@ng-web-apis/intersection-observer": "^5.4.0",
42
- "@ng-web-apis/mutation-observer": "^5.4.0",
43
- "@ng-web-apis/platform": "^5.4.0",
44
- "@taiga-ui/cdk": "5.30.0",
40
+ "@ng-web-apis/common": "^5.4.1",
41
+ "@ng-web-apis/intersection-observer": "^5.4.1",
42
+ "@ng-web-apis/mutation-observer": "^5.4.1",
43
+ "@ng-web-apis/platform": "^5.4.1",
44
+ "@taiga-ui/cdk": "5.31.0",
45
45
  "@taiga-ui/event-plugins": "^5.1.0",
46
- "@taiga-ui/i18n": "5.30.0",
46
+ "@taiga-ui/i18n": "5.31.0",
47
47
  "@taiga-ui/polymorpheus": "^5.0.1",
48
- "@taiga-ui/styles": "5.30.0",
48
+ "@taiga-ui/styles": "5.31.0",
49
49
  "rxjs": ">=7.0.0"
50
50
  },
51
51
  "schematics": "./schematics/collection.json",
@@ -75,22 +75,22 @@
75
75
  "types": "./pipes/index.d.ts",
76
76
  "default": "./fesm2022/taiga-ui-core-pipes.mjs"
77
77
  },
78
- "./portals": {
79
- "types": "./portals/index.d.ts",
80
- "default": "./fesm2022/taiga-ui-core-portals.mjs"
81
- },
82
78
  "./services": {
83
79
  "types": "./services/index.d.ts",
84
80
  "default": "./fesm2022/taiga-ui-core-services.mjs"
85
81
  },
86
- "./tokens": {
87
- "types": "./tokens/index.d.ts",
88
- "default": "./fesm2022/taiga-ui-core-tokens.mjs"
82
+ "./portals": {
83
+ "types": "./portals/index.d.ts",
84
+ "default": "./fesm2022/taiga-ui-core-portals.mjs"
89
85
  },
90
86
  "./types": {
91
87
  "types": "./types/index.d.ts",
92
88
  "default": "./fesm2022/taiga-ui-core-types.mjs"
93
89
  },
90
+ "./tokens": {
91
+ "types": "./tokens/index.d.ts",
92
+ "default": "./fesm2022/taiga-ui-core-tokens.mjs"
93
+ },
94
94
  "./utils": {
95
95
  "types": "./utils/index.d.ts",
96
96
  "default": "./fesm2022/taiga-ui-core-utils.mjs"
@@ -207,18 +207,14 @@
207
207
  "types": "./directives/number-format/index.d.ts",
208
208
  "default": "./fesm2022/taiga-ui-core-directives-number-format.mjs"
209
209
  },
210
- "./pipes/filter-by-input": {
211
- "types": "./pipes/filter-by-input/index.d.ts",
212
- "default": "./fesm2022/taiga-ui-core-pipes-filter-by-input.mjs"
213
- },
214
- "./pipes/format-number": {
215
- "types": "./pipes/format-number/index.d.ts",
216
- "default": "./fesm2022/taiga-ui-core-pipes-format-number.mjs"
217
- },
218
210
  "./portals/alert": {
219
211
  "types": "./portals/alert/index.d.ts",
220
212
  "default": "./fesm2022/taiga-ui-core-portals-alert.mjs"
221
213
  },
214
+ "./pipes/filter-by-input": {
215
+ "types": "./pipes/filter-by-input/index.d.ts",
216
+ "default": "./fesm2022/taiga-ui-core-pipes-filter-by-input.mjs"
217
+ },
222
218
  "./portals/close": {
223
219
  "types": "./portals/close/index.d.ts",
224
220
  "default": "./fesm2022/taiga-ui-core-portals-close.mjs"
@@ -243,6 +239,10 @@
243
239
  "types": "./portals/popup/index.d.ts",
244
240
  "default": "./fesm2022/taiga-ui-core-portals-popup.mjs"
245
241
  },
242
+ "./pipes/format-number": {
243
+ "types": "./pipes/format-number/index.d.ts",
244
+ "default": "./fesm2022/taiga-ui-core-pipes-format-number.mjs"
245
+ },
246
246
  "./utils/dom": {
247
247
  "types": "./utils/dom/index.d.ts",
248
248
  "default": "./fesm2022/taiga-ui-core-utils-dom.mjs"
@@ -6,6 +6,7 @@ export declare class TuiDropdownAnchored implements AfterViewInit {
6
6
  private readonly rect;
7
7
  private readonly viewport;
8
8
  private readonly vvs;
9
+ private readonly zoom;
9
10
  private readonly options;
10
11
  private readonly position;
11
12
  private readonly accessor;
@@ -4,6 +4,7 @@ export declare class TuiHintAnchored implements AfterViewInit {
4
4
  private readonly el;
5
5
  private readonly hover;
6
6
  private readonly vvs;
7
+ private readonly zoom;
7
8
  private readonly viewport;
8
9
  private readonly rect;
9
10
  private readonly accessor;
@@ -0,0 +1,14 @@
1
+ import { type TuiPoint } from '@taiga-ui/core/types';
2
+ import * as i0 from "@angular/core";
3
+ /**
4
+ * @internal
5
+ * Converts client coordinates (getBoundingClientRect, TuiPositionService etc.)
6
+ * into local CSS pixels of the host element, compensating CSS `zoom`
7
+ */
8
+ export declare class TuiCSSZoomService {
9
+ private readonly el;
10
+ descale(point: TuiPoint): TuiPoint;
11
+ descale(rect: DOMRect): DOMRect;
12
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiCSSZoomService, never>;
13
+ static ɵprov: i0.ɵɵInjectableDeclaration<TuiCSSZoomService>;
14
+ }
@@ -1,2 +1,3 @@
1
+ export * from './css-zoom.service';
1
2
  export * from './position.service';
2
3
  export * from './visual-viewport.service';