@taiga-ui/cdk 4.52.0-canary.2c75afa → 4.52.0-canary.2d877cf

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 (202) hide show
  1. package/README.md +1 -1
  2. package/constants/used-icons.d.ts +2 -2
  3. package/constants/version.d.ts +1 -1
  4. package/constants/version.js +1 -1
  5. package/date-time/date-fillers.d.ts +5 -5
  6. package/date-time/day-range.d.ts +1 -1
  7. package/date-time/day.d.ts +3 -3
  8. package/date-time/types.d.ts +1 -7
  9. package/directives/active-zone/active-zone.directive.d.ts +0 -2
  10. package/directives/animated/animated.directive.d.ts +1 -3
  11. package/directives/animated/index.d.ts +0 -1
  12. package/directives/index.d.ts +0 -4
  13. package/directives/transitioned/transitioned.directive.d.ts +1 -0
  14. package/fesm2022/taiga-ui-cdk-classes.mjs +3 -3
  15. package/fesm2022/taiga-ui-cdk-constants.mjs +3 -3
  16. package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
  17. package/fesm2022/taiga-ui-cdk-date-time.mjs +22 -22
  18. package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
  19. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +11 -15
  20. package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
  21. package/fesm2022/taiga-ui-cdk-directives-animated.mjs +23 -70
  22. package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
  23. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +3 -3
  24. package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
  25. package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
  26. package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +3 -3
  27. package/fesm2022/taiga-ui-cdk-directives-element.mjs +3 -3
  28. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +5 -7
  29. package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
  30. package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
  31. package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
  32. package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +6 -6
  33. package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
  34. package/fesm2022/taiga-ui-cdk-directives-media.mjs +3 -3
  35. package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +3 -3
  36. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +7 -13
  37. package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
  38. package/fesm2022/taiga-ui-cdk-directives-pan.mjs +6 -6
  39. package/fesm2022/taiga-ui-cdk-directives-platform.mjs +3 -3
  40. package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +6 -6
  41. package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +6 -6
  42. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +7 -13
  43. package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
  44. package/fesm2022/taiga-ui-cdk-directives-validator.mjs +3 -3
  45. package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +3 -3
  46. package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +3 -3
  47. package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
  48. package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +6 -6
  49. package/fesm2022/taiga-ui-cdk-directives.mjs +0 -4
  50. package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
  51. package/fesm2022/taiga-ui-cdk-observables.mjs +2 -24
  52. package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
  53. package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
  54. package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
  55. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +5 -4
  56. package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
  57. package/fesm2022/taiga-ui-cdk-pipes.mjs +0 -6
  58. package/fesm2022/taiga-ui-cdk-pipes.mjs.map +1 -1
  59. package/fesm2022/taiga-ui-cdk-portals.mjs +15 -16
  60. package/fesm2022/taiga-ui-cdk-portals.mjs.map +1 -1
  61. package/fesm2022/taiga-ui-cdk-tokens.mjs +13 -47
  62. package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
  63. package/fesm2022/taiga-ui-cdk-utils-browser.mjs +2 -3
  64. package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
  65. package/fesm2022/taiga-ui-cdk-utils-di.mjs +45 -4
  66. package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
  67. package/fesm2022/taiga-ui-cdk-utils-dom.mjs +1 -74
  68. package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
  69. package/fesm2022/taiga-ui-cdk-utils-focus.mjs +22 -38
  70. package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
  71. package/fesm2022/taiga-ui-cdk-utils-math.mjs +1 -12
  72. package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
  73. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +45 -123
  74. package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
  75. package/fesm2022/taiga-ui-cdk-utils.mjs +0 -1
  76. package/fesm2022/taiga-ui-cdk-utils.mjs.map +1 -1
  77. package/fesm2022/taiga-ui-cdk.mjs +0 -1
  78. package/fesm2022/taiga-ui-cdk.mjs.map +1 -1
  79. package/index.d.ts +0 -1
  80. package/observables/index.d.ts +0 -2
  81. package/package.json +5 -54
  82. package/pipes/index.d.ts +0 -6
  83. package/portals/portal.d.ts +0 -1
  84. package/schematics/ng-add/constants/versions.d.ts +1 -1
  85. package/schematics/ng-add/steps/add-taiga-modules.js +0 -15
  86. package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
  87. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.d.ts +2 -0
  88. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +22 -0
  89. package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -0
  90. package/schematics/ng-update/v5/steps/constants/functions.js +1 -6
  91. package/schematics/ng-update/v5/steps/constants/functions.js.map +1 -1
  92. package/schematics/ng-update/v5/steps/migrate-templates.js +4 -0
  93. package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
  94. package/schematics/ng-update/v5/steps/templates/migrate-avatar.d.ts +8 -0
  95. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js +111 -0
  96. package/schematics/ng-update/v5/steps/templates/migrate-avatar.js.map +1 -0
  97. package/schematics/utils/run-migration.d.ts +2 -2
  98. package/schematics/utils/run-migration.js +4 -3
  99. package/schematics/utils/run-migration.js.map +1 -1
  100. package/tokens/environment.d.ts +0 -13
  101. package/tokens/index.d.ts +0 -2
  102. package/tokens/removed-element.d.ts +0 -3
  103. package/types/index.d.ts +0 -2
  104. package/utils/di/index.d.ts +3 -0
  105. package/utils/dom/index.d.ts +0 -6
  106. package/utils/focus/get-closest-focusable.d.ts +1 -6
  107. package/utils/focus/index.d.ts +4 -6
  108. package/utils/focus/{is-native-keyboard-focusable.d.ts → is-focusable.d.ts} +1 -1
  109. package/utils/index.d.ts +0 -1
  110. package/utils/math/index.d.ts +0 -2
  111. package/utils/miscellaneous/generate-id.d.ts +1 -0
  112. package/utils/miscellaneous/index.d.ts +2 -11
  113. package/utils/miscellaneous/sanitize-text.d.ts +23 -0
  114. package/directives/animated/animated-parent.directive.d.ts +0 -10
  115. package/directives/click-outside/click-outside.directive.d.ts +0 -14
  116. package/directives/click-outside/index.d.ts +0 -1
  117. package/directives/droppable/droppable.directive.d.ts +0 -10
  118. package/directives/droppable/index.d.ts +0 -1
  119. package/directives/let/index.d.ts +0 -2
  120. package/directives/let/let-context.d.ts +0 -11
  121. package/directives/let/let.directive.d.ts +0 -18
  122. package/directives/repeat-times/index.d.ts +0 -1
  123. package/directives/repeat-times/repeat-times.directive.d.ts +0 -23
  124. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +0 -38
  125. package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +0 -1
  126. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +0 -35
  127. package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +0 -1
  128. package/fesm2022/taiga-ui-cdk-directives-let.mjs +0 -52
  129. package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +0 -1
  130. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +0 -60
  131. package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +0 -1
  132. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs +0 -32
  133. package/fesm2022/taiga-ui-cdk-pipes-animation.mjs.map +0 -1
  134. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs +0 -24
  135. package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs.map +0 -1
  136. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs +0 -23
  137. package/fesm2022/taiga-ui-cdk-pipes-keys.mjs.map +0 -1
  138. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs +0 -24
  139. package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs.map +0 -1
  140. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs +0 -25
  141. package/fesm2022/taiga-ui-cdk-pipes-replace.mjs.map +0 -1
  142. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs +0 -23
  143. package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs.map +0 -1
  144. package/fesm2022/taiga-ui-cdk-services.mjs +0 -111
  145. package/fesm2022/taiga-ui-cdk-services.mjs.map +0 -1
  146. package/fesm2022/taiga-ui-cdk-utils-color.mjs +0 -196
  147. package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +0 -1
  148. package/observables/must-be-present.d.ts +0 -5
  149. package/observables/query-list-observable.d.ts +0 -6
  150. package/pipes/animation/animation.pipe.d.ts +0 -13
  151. package/pipes/animation/index.d.ts +0 -1
  152. package/pipes/is-present/index.d.ts +0 -1
  153. package/pipes/is-present/is-present.pipe.d.ts +0 -7
  154. package/pipes/keys/index.d.ts +0 -1
  155. package/pipes/keys/keys.pipe.d.ts +0 -7
  156. package/pipes/repeat-times/index.d.ts +0 -7
  157. package/pipes/replace/index.d.ts +0 -1
  158. package/pipes/replace/replace.pipe.d.ts +0 -7
  159. package/pipes/to-array/index.d.ts +0 -1
  160. package/pipes/to-array/to-array.pipe.d.ts +0 -7
  161. package/services/id.service.d.ts +0 -8
  162. package/services/index.d.ts +0 -3
  163. package/services/scroll.service.d.ts +0 -13
  164. package/services/theme-color.service.d.ts +0 -18
  165. package/tokens/base-href.d.ts +0 -2
  166. package/tokens/range.d.ts +0 -5
  167. package/types/safe-html.d.ts +0 -2
  168. package/types/values-of.d.ts +0 -1
  169. package/utils/color/get-gradient-data.d.ts +0 -1
  170. package/utils/color/hex-to-rgb.d.ts +0 -1
  171. package/utils/color/hex-to-rgba.d.ts +0 -3
  172. package/utils/color/hsv-to-rgb.d.ts +0 -4
  173. package/utils/color/index.d.ts +0 -9
  174. package/utils/color/parse-color.d.ts +0 -1
  175. package/utils/color/parse-gradient.d.ts +0 -10
  176. package/utils/color/rgb-to-hex.d.ts +0 -1
  177. package/utils/color/rgb-to-hsv.d.ts +0 -1
  178. package/utils/color/rgba-to-hex.d.ts +0 -2
  179. package/utils/dom/get-element-point.d.ts +0 -2
  180. package/utils/dom/is-current-target.d.ts +0 -1
  181. package/utils/dom/is-inside-iframe.d.ts +0 -4
  182. package/utils/dom/is-node-in.d.ts +0 -8
  183. package/utils/dom/retarget-boundary-crossing.d.ts +0 -1
  184. package/utils/dom/value-binding.d.ts +0 -3
  185. package/utils/focus/blur-native-focused.d.ts +0 -4
  186. package/utils/focus/is-native-mouse-focusable.d.ts +0 -1
  187. package/utils/math/to-integer.d.ts +0 -1
  188. package/utils/math/to-radians.d.ts +0 -4
  189. package/utils/miscellaneous/change-date-separator.d.ts +0 -1
  190. package/utils/miscellaneous/create-token.d.ts +0 -9
  191. package/utils/miscellaneous/flat-length.d.ts +0 -6
  192. package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -8
  193. package/utils/miscellaneous/is-falsy.d.ts +0 -1
  194. package/utils/miscellaneous/is-valid-url.d.ts +0 -4
  195. package/utils/miscellaneous/object-shallow-equals.d.ts +0 -1
  196. package/utils/miscellaneous/uniq-by.d.ts +0 -1
  197. /package/utils/{miscellaneous → di}/directive-binding.d.ts +0 -0
  198. /package/utils/{miscellaneous → di}/provide-options.d.ts +0 -0
  199. /package/utils/{miscellaneous → di}/provide.d.ts +0 -0
  200. /package/utils/focus/{get-native-focused.d.ts → get-focused.d.ts} +0 -0
  201. /package/utils/focus/{is-native-focused-in.d.ts → is-focused-in.d.ts} +0 -0
  202. /package/utils/focus/{is-native-focused.d.ts → is-focused.d.ts} +0 -0
@@ -1,196 +0,0 @@
1
- function tuiGetGradientData(gradient) {
2
- return gradient
3
- .slice(0, Math.max(0, gradient.length - 1))
4
- .replace('linear-gradient(', '');
5
- }
6
-
7
- function tuiHexToRgb(hex) {
8
- const matches = hex
9
- .replace('#', '')
10
- .split('')
11
- .map((char, _, array) => (array.length === 3 ? char + char : char))
12
- .join('')
13
- .match(/.{2}/g);
14
- return matches
15
- ? matches.map((x) => Number.parseInt(x, 16))
16
- : [0, 0, 0];
17
- }
18
-
19
- const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
20
- const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
21
- const getAlphaFloat = (a, alpha) => {
22
- if (a !== undefined) {
23
- return Number((a / 255).toFixed(2));
24
- }
25
- if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
26
- return 1;
27
- }
28
- return alpha;
29
- };
30
- function tuiHexToRGBA(hex, alpha) {
31
- const [r, g, b, a] = tuiParseHex(hex, alpha);
32
- return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;
33
- }
34
- function tuiIsValidHex(hex) {
35
- return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
36
- }
37
- function tuiParseHex(hex, alpha) {
38
- if (!tuiIsValidHex(hex)) {
39
- throw new Error('Invalid HEX');
40
- }
41
- const chunkSize = Math.floor((hex.length - 1) / 3);
42
- const hexArr = getChunksFromString(hex.slice(1), chunkSize);
43
- const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];
44
- const floatAlpha = getAlphaFloat(a, alpha);
45
- return [r, g, b, floatAlpha];
46
- }
47
-
48
- function hsvToColor(h, s, v, n) {
49
- const k = (n + h / 60) % 6;
50
- return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));
51
- }
52
- /**
53
- * https://stackoverflow.com/a/54024653/2706426
54
- */
55
- function tuiHsvToRgb(h, s, v) {
56
- return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];
57
- }
58
-
59
- const DEFAULT = [0, 0, 0, 1];
60
- function tuiParseColor(color) {
61
- const stripped = color
62
- .replace('#', '')
63
- .replace('rgba(', '')
64
- .replace('rgb(', '')
65
- .replace(')', '');
66
- const array = stripped.split(',').map((item) => parseFloat(item));
67
- if (array.length === 4) {
68
- return array;
69
- }
70
- if (array.length === 3) {
71
- return array.concat(1);
72
- }
73
- const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));
74
- if (!matches) {
75
- return DEFAULT;
76
- }
77
- const parsed = matches.map((char) => parseInt(stripped.length % 2 ? char + char : char, 16));
78
- return [
79
- parsed[0] ?? DEFAULT[0],
80
- parsed[1] ?? DEFAULT[1],
81
- parsed[2] ?? DEFAULT[2],
82
- parsed[3] ?? DEFAULT[3],
83
- ];
84
- }
85
-
86
- //
87
- // TypeScript parser based on Dean Taylor's answer:
88
- // https://stackoverflow.com/a/20238168/2706426
89
- //
90
- // SETUP CODE
91
- const COMMA = String.raw `\s*,\s*`; // Allow space around comma.
92
- const HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form
93
- const RGB = String.raw `\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*\)`; // "(1, 2, 3)"
94
- const RGBA = String.raw `\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*,\s*\d*\.?\d+\)`; // "(1, 2, 3, 4)"
95
- const VALUE = String.raw `(?:[+-]?\d*\.?\d+)(?:%|[a-z]+)?`; // ".9", "-5px", "100%".
96
- const KEYWORD = '[_a-z-][_a-z0-9-]*'; // "red", "transparent", "border-collapse".
97
- const COLOR = [
98
- '(?:',
99
- HEX,
100
- '|',
101
- '(?:rgb|hsl)',
102
- RGB,
103
- '|',
104
- '(?:rgba|hsla)',
105
- RGBA,
106
- '|',
107
- KEYWORD,
108
- ')',
109
- ];
110
- const REGEXP_ARRAY = [
111
- String.raw `\s*(`,
112
- ...COLOR,
113
- ')',
114
- String.raw `(?:\s+`,
115
- '(',
116
- VALUE,
117
- '))?',
118
- '(?:',
119
- COMMA,
120
- String.raw `\s*)?`,
121
- ];
122
- function getPosition(match, stops) {
123
- const fallback = stops === 1 ? '100%' : `${stops}%`;
124
- return match?.includes('%') ? match : fallback;
125
- }
126
- function tuiParseGradient(input) {
127
- const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');
128
- const stopsString = input.startsWith('to') || /^\d/.exec(input)
129
- ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()
130
- : input;
131
- const side = input.startsWith('to')
132
- ? input.split(',')[0]
133
- : 'to bottom';
134
- let stops = [];
135
- let matchColorStop = stopsRegexp.exec(stopsString);
136
- while (matchColorStop !== null) {
137
- stops = stops.concat({
138
- color: matchColorStop[1] || '',
139
- position: getPosition(matchColorStop[2] || '', stops.length),
140
- });
141
- matchColorStop = stopsRegexp.exec(stopsString);
142
- }
143
- stops = stops.filter(({ color }) => color.startsWith('#') || color.startsWith('rgb'));
144
- return {
145
- stops,
146
- side,
147
- };
148
- }
149
- function tuiToGradient({ stops, side }) {
150
- return `linear-gradient(${side}, ${stops
151
- .map(({ color, position }) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`)
152
- .join(', ')})`;
153
- }
154
-
155
- function tuiRgbToHex(r, g, b) {
156
- return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;
157
- }
158
-
159
- function tuiRgbToHsv(r, g, b) {
160
- const v = Math.max(r, g, b);
161
- const n = v - Math.min(r, g, b);
162
- // eslint-disable-next-line no-nested-ternary
163
- const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);
164
- return [60 * (h < 0 ? h + 6 : h), v && n / v, v];
165
- }
166
-
167
- /* eslint-disable no-bitwise */
168
- function tuiRgbaToHex(color) {
169
- if (!tuiIsValidRgba(color)) {
170
- throw new Error('Invalid RGBa');
171
- }
172
- const rgb = /^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i.exec(color.replaceAll(/\s/g, '')) ??
173
- null;
174
- let alpha = (rgb?.[4] ?? '').trim();
175
- let hex = rgb
176
- ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
177
- ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
178
- ((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)
179
- : color;
180
- alpha = alpha !== '' ? alpha : 0o1;
181
- alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);
182
- hex += alpha;
183
- return `#${hex.toUpperCase()}`;
184
- }
185
- function tuiIsValidRgba(rgba) {
186
- const range = String.raw `(\d|[1-9]\d|1\d{2}|2[0-4]\d|2[0-5]{2})`;
187
- const alpha = String.raw `([01]|0?\.\d+)`;
188
- return new RegExp(String.raw `^(?:rgb\(\s*${range}\s*,\s*${range}\s*,\s*${range}\s*\)|rgba\(\s*${range}\s*,\s*${range}\s*,\s*${range}\s*,\s*${alpha}\s*\))$`).test(rgba);
189
- }
190
-
191
- /**
192
- * Generated bundle index. Do not edit.
193
- */
194
-
195
- export { tuiGetGradientData, tuiHexToRGBA, tuiHexToRgb, tuiHsvToRgb, tuiIsValidHex, tuiIsValidRgba, tuiParseColor, tuiParseGradient, tuiParseHex, tuiRgbToHex, tuiRgbToHsv, tuiRgbaToHex, tuiToGradient };
196
- //# sourceMappingURL=taiga-ui-cdk-utils-color.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-color.mjs","sources":["../../../projects/cdk/utils/color/get-gradient-data.ts","../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hex-to-rgba.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/parse-gradient.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/rgba-to-hex.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["export function tuiGetGradientData(gradient: string): string {\n return gradient\n .slice(0, Math.max(0, gradient.length - 1))\n .replace('linear-gradient(', '');\n}\n","export function tuiHexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map((x) => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","const getChunksFromString = (hex: string, chunkSize: number): RegExpMatchArray | null =>\n hex.match(new RegExp(`.{${chunkSize}}`, 'g'));\n\nconst convertHexUnitTo256 = (hexStr: string): number =>\n parseInt(hexStr.repeat(2 / hexStr.length), 16);\n\nconst getAlphaFloat = (a?: number, alpha?: number): number => {\n if (a !== undefined) {\n return Number((a / 255).toFixed(2));\n }\n\n if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {\n return 1;\n }\n\n return alpha;\n};\n\nexport function tuiHexToRGBA(hex: string, alpha?: number): string {\n const [r, g, b, a] = tuiParseHex(hex, alpha);\n\n return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\n}\n\nexport function tuiIsValidHex(hex: string): boolean {\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n}\n\nexport function tuiParseHex(\n hex: string,\n alpha?: number,\n): [number, number, number, number] {\n if (!tuiIsValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n\n const chunkSize = Math.floor((hex.length - 1) / 3);\n const hexArr = getChunksFromString(hex.slice(1), chunkSize);\n const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];\n const floatAlpha = getAlphaFloat(a, alpha);\n\n return [r, g, b, floatAlpha];\n}\n","function hsvToColor(h: number, s: number, v: number, n: number): number {\n const k = (n + h / 60) % 6;\n\n return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));\n}\n\n/**\n * https://stackoverflow.com/a/54024653/2706426\n */\nexport function tuiHsvToRgb(h: number, s: number, v: number): [number, number, number] {\n return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];\n}\n","const DEFAULT: [number, number, number, number] = [0, 0, 0, 1];\n\nexport function tuiParseColor(color: string): [number, number, number, number] {\n const stripped = color\n .replace('#', '')\n .replace('rgba(', '')\n .replace('rgb(', '')\n .replace(')', '');\n const array = stripped.split(',').map((item) => parseFloat(item));\n\n if (array.length === 4) {\n return array as [number, number, number, number];\n }\n\n if (array.length === 3) {\n return array.concat(1) as [number, number, number, number];\n }\n\n const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));\n\n if (!matches) {\n return DEFAULT;\n }\n\n const parsed = matches.map((char) =>\n parseInt(stripped.length % 2 ? char + char : char, 16),\n );\n\n return [\n parsed[0] ?? DEFAULT[0],\n parsed[1] ?? DEFAULT[1],\n parsed[2] ?? DEFAULT[2],\n parsed[3] ?? DEFAULT[3],\n ];\n}\n","import {tuiParseColor} from './parse-color';\n\nexport interface TuiParsedGradient {\n readonly side: TuiGradientDirection;\n readonly stops: ReadonlyArray<{\n readonly color: string;\n readonly position: string;\n }>;\n}\n\nexport type TuiGradientDirection =\n | 'to bottom left'\n | 'to bottom right'\n | 'to bottom'\n | 'to left'\n | 'to right'\n | 'to top left'\n | 'to top right'\n | 'to top';\n\n//\n// TypeScript parser based on Dean Taylor's answer:\n// https://stackoverflow.com/a/20238168/2706426\n//\n// SETUP CODE\nconst COMMA = String.raw`\\s*,\\s*`; // Allow space around comma.\nconst HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form\nconst RGB = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)`; // \"(1, 2, 3)\"\nconst RGBA = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)`; // \"(1, 2, 3, 4)\"\nconst VALUE = String.raw`(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?`; // \".9\", \"-5px\", \"100%\".\nconst KEYWORD = '[_a-z-][_a-z0-9-]*'; // \"red\", \"transparent\", \"border-collapse\".\nconst COLOR = [\n '(?:',\n HEX,\n '|',\n '(?:rgb|hsl)',\n RGB,\n '|',\n '(?:rgba|hsla)',\n RGBA,\n '|',\n KEYWORD,\n ')',\n];\nconst REGEXP_ARRAY = [\n String.raw`\\s*(`,\n ...COLOR,\n ')',\n String.raw`(?:\\s+`,\n '(',\n VALUE,\n '))?',\n '(?:',\n COMMA,\n String.raw`\\s*)?`,\n];\n\nfunction getPosition(match: string, stops: number): string {\n const fallback = stops === 1 ? '100%' : `${stops}%`;\n\n return match?.includes('%') ? match : fallback;\n}\n\nexport function tuiParseGradient(input: string): TuiParsedGradient {\n const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');\n const stopsString =\n input.startsWith('to') || /^\\d/.exec(input)\n ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()\n : input;\n\n const side = input.startsWith('to')\n ? (input.split(',')[0] as TuiGradientDirection)\n : 'to bottom';\n let stops: TuiParsedGradient['stops'] = [];\n\n let matchColorStop = stopsRegexp.exec(stopsString);\n\n while (matchColorStop !== null) {\n stops = stops.concat({\n color: matchColorStop[1] || '',\n position: getPosition(matchColorStop[2] || '', stops.length),\n });\n\n matchColorStop = stopsRegexp.exec(stopsString);\n }\n\n stops = stops.filter(({color}) => color.startsWith('#') || color.startsWith('rgb'));\n\n return {\n stops,\n side,\n };\n}\n\nexport function tuiToGradient({stops, side}: TuiParsedGradient): string {\n return `linear-gradient(${side}, ${stops\n .map(\n ({color, position}) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`,\n )\n .join(', ')})`;\n}\n","export function tuiRgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;\n}\n","export function tuiRgbToHsv(r: number, g: number, b: number): [number, number, number] {\n const v = Math.max(r, g, b);\n const n = v - Math.min(r, g, b);\n\n // eslint-disable-next-line no-nested-ternary\n const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);\n\n return [60 * (h < 0 ? h + 6 : h), v && n / v, v];\n}\n","/* eslint-disable no-bitwise */\nexport function tuiRgbaToHex(color: string): string {\n if (!tuiIsValidRgba(color)) {\n throw new Error('Invalid RGBa');\n }\n\n const rgb =\n /^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i.exec(color.replaceAll(/\\s/g, '')) ??\n null;\n\n let alpha: number | string = ((rgb?.[4] ?? '') satisfies string).trim();\n\n let hex = rgb\n ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)\n : color;\n\n alpha = alpha !== '' ? alpha : 0o1;\n alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);\n hex += alpha;\n\n return `#${hex.toUpperCase()}`;\n}\n\nexport function tuiIsValidRgba(rgba: string): boolean {\n const range = String.raw`(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|2[0-5]{2})`;\n const alpha = String.raw`([01]|0?\\.\\d+)`;\n\n return new RegExp(\n String.raw`^(?:rgb\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*\\)|rgba\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*,\\s*${alpha}\\s*\\))$`,\n ).test(rgba);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,5 +0,0 @@
1
- import { type OperatorFunction } from 'rxjs';
2
- export declare function tuiMustBePresent<T>(): OperatorFunction<T | null | undefined, T>;
3
- export declare class TuiValuePresentException extends Error {
4
- constructor();
5
- }
@@ -1,6 +0,0 @@
1
- import { type QueryList } from '@angular/core';
2
- import { type Observable } from 'rxjs';
3
- /**
4
- * Converts changes observable of a QueryList to an Observable of arrays
5
- */
6
- export declare function tuiQueryListChanges<T>(queryList: QueryList<T>): Observable<readonly T[]>;
@@ -1,13 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import { type TuiDurationOptions } from '@taiga-ui/core/animations';
3
- import * as i0 from "@angular/core";
4
- export declare class TuiAnimationPipe implements PipeTransform {
5
- private readonly speed;
6
- readonly transform: ({ duration, speed, value, ...params }?: Partial<{
7
- duration: number;
8
- speed: number;
9
- value: string;
10
- }> & Record<string, any>) => TuiDurationOptions;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiAnimationPipe, never>;
12
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiAnimationPipe, "tuiAnimation", true>;
13
- }
@@ -1 +0,0 @@
1
- export * from './animation.pipe';
@@ -1 +0,0 @@
1
- export * from './is-present.pipe';
@@ -1,7 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiIsPresentPipe implements PipeTransform {
4
- transform<T>(value?: T | null): value is T;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiIsPresentPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiIsPresentPipe, "tuiIsPresent", true>;
7
- }
@@ -1 +0,0 @@
1
- export * from './keys.pipe';
@@ -1,7 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiKeysPipe implements PipeTransform {
4
- transform(object: Record<any, any>): string[];
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiKeysPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiKeysPipe, "tuiKeys", true>;
7
- }
@@ -1,7 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiRepeatTimesPipe implements PipeTransform {
4
- transform(n: number): number[];
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiRepeatTimesPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiRepeatTimesPipe, "tuiRepeatTimes", true>;
7
- }
@@ -1 +0,0 @@
1
- export * from './replace.pipe';
@@ -1,7 +0,0 @@
1
- import { type PipeTransform } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiReplacePipe implements PipeTransform {
4
- transform(value: string | null | undefined, search: RegExp | string, replaceValue: string | ((substring: string, ...args: unknown[]) => string)): string;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiReplacePipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiReplacePipe, "tuiReplace", true>;
7
- }
@@ -1 +0,0 @@
1
- export * from './to-array.pipe';
@@ -1,7 +0,0 @@
1
- import { type PipeTransform, type QueryList } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare class TuiToArrayPipe implements PipeTransform {
4
- transform<T>(items: Map<any, any> | QueryList<T> | Set<any>): readonly T[];
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiToArrayPipe, never>;
6
- static ɵpipe: i0.ɵɵPipeDeclaration<TuiToArrayPipe, "tuiToArray", true>;
7
- }
@@ -1,8 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- export declare class TuiIdService {
3
- private static autoId;
4
- generate(): string;
5
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiIdService, never>;
6
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiIdService>;
7
- }
8
- export declare function tuiInjectId(): string;
@@ -1,3 +0,0 @@
1
- export * from './id.service';
2
- export * from './scroll.service';
3
- export * from './theme-color.service';
@@ -1,13 +0,0 @@
1
- import { type Observable } from 'rxjs';
2
- import * as i0 from "@angular/core";
3
- /**
4
- * @deprecated: use native scroll
5
- */
6
- export declare class TuiScrollService {
7
- private readonly performanceRef;
8
- private readonly animationFrame$;
9
- private readonly zone;
10
- scroll$(elementOrWindow: Element | Window, scrollTop: number, scrollLeft?: number, duration?: number): Observable<[number, number]>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiScrollService>;
13
- }
@@ -1,18 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- import * as i0 from "@angular/core";
3
- export declare const TUI_THEME_COLOR: InjectionToken<string>;
4
- interface TuiThemeColor {
5
- get color(): string;
6
- set color(value: string);
7
- }
8
- export declare class TuiThemeColorService implements TuiThemeColor {
9
- private current;
10
- private readonly doc;
11
- private readonly meta;
12
- constructor();
13
- get color(): string;
14
- set color(content: string);
15
- static ɵfac: i0.ɵɵFactoryDeclaration<TuiThemeColorService, never>;
16
- static ɵprov: i0.ɵɵInjectableDeclaration<TuiThemeColorService>;
17
- }
18
- export {};
@@ -1,2 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- export declare const TUI_BASE_HREF: InjectionToken<string>;
package/tokens/range.d.ts DELETED
@@ -1,5 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- /**
3
- * SSR safe default empty Range
4
- */
5
- export declare const TUI_RANGE: InjectionToken<Range>;
@@ -1,2 +0,0 @@
1
- import { type SafeHtml } from '@angular/platform-browser';
2
- export type TuiSafeHtml = SafeHtml | string;
@@ -1 +0,0 @@
1
- export type TuiValuesOf<T> = T[keyof T];
@@ -1 +0,0 @@
1
- export declare function tuiGetGradientData(gradient: string): string;
@@ -1 +0,0 @@
1
- export declare function tuiHexToRgb(hex: string): [number, number, number];
@@ -1,3 +0,0 @@
1
- export declare function tuiHexToRGBA(hex: string, alpha?: number): string;
2
- export declare function tuiIsValidHex(hex: string): boolean;
3
- export declare function tuiParseHex(hex: string, alpha?: number): [number, number, number, number];
@@ -1,4 +0,0 @@
1
- /**
2
- * https://stackoverflow.com/a/54024653/2706426
3
- */
4
- export declare function tuiHsvToRgb(h: number, s: number, v: number): [number, number, number];
@@ -1,9 +0,0 @@
1
- export * from './get-gradient-data';
2
- export * from './hex-to-rgb';
3
- export * from './hex-to-rgba';
4
- export * from './hsv-to-rgb';
5
- export * from './parse-color';
6
- export * from './parse-gradient';
7
- export * from './rgb-to-hex';
8
- export * from './rgb-to-hsv';
9
- export * from './rgba-to-hex';
@@ -1 +0,0 @@
1
- export declare function tuiParseColor(color: string): [number, number, number, number];
@@ -1,10 +0,0 @@
1
- export interface TuiParsedGradient {
2
- readonly side: TuiGradientDirection;
3
- readonly stops: ReadonlyArray<{
4
- readonly color: string;
5
- readonly position: string;
6
- }>;
7
- }
8
- export type TuiGradientDirection = 'to bottom left' | 'to bottom right' | 'to bottom' | 'to left' | 'to right' | 'to top left' | 'to top right' | 'to top';
9
- export declare function tuiParseGradient(input: string): TuiParsedGradient;
10
- export declare function tuiToGradient({ stops, side }: TuiParsedGradient): string;
@@ -1 +0,0 @@
1
- export declare function tuiRgbToHex(r: number, g: number, b: number): string;
@@ -1 +0,0 @@
1
- export declare function tuiRgbToHsv(r: number, g: number, b: number): [number, number, number];
@@ -1,2 +0,0 @@
1
- export declare function tuiRgbaToHex(color: string): string;
2
- export declare function tuiIsValidRgba(rgba: string): boolean;
@@ -1,2 +0,0 @@
1
- import { type TuiPoint } from '@taiga-ui/core/types';
2
- export declare function tuiGetElementPoint(x: number, y: number, element: HTMLElement): TuiPoint;
@@ -1 +0,0 @@
1
- export declare function tuiIsCurrentTarget({ target, currentTarget }: Event): boolean;
@@ -1,4 +0,0 @@
1
- /**
2
- * Checks if an app is running inside <iframe /> tag
3
- */
4
- export declare function tuiIsInsideIframe(win: Window): boolean;
@@ -1,8 +0,0 @@
1
- /**
2
- * Checks if node is inside a specific selector
3
- *
4
- * @param node
5
- * @param selector
6
- * @return true if node is inside a particular selector
7
- */
8
- export declare function tuiIsNodeIn(node: Node, selector: string): boolean;
@@ -1 +0,0 @@
1
- export declare function tuiRetargetedBoundaryCrossing(event: Event): boolean;
@@ -1,3 +0,0 @@
1
- import { type Signal, type WritableSignal } from '@angular/core';
2
- export declare function tuiValueBinding(value?: WritableSignal<string>): WritableSignal<string>;
3
- export declare function tuiValueBinding(value?: Signal<string>): Signal<string>;
@@ -1,4 +0,0 @@
1
- /**
2
- * Finds and blurs current active element, including shadow DOM
3
- */
4
- export declare function tuiBlurFocused(doc: Document): void;
@@ -1 +0,0 @@
1
- export declare function tuiIsMouseFocusable(element: Element): boolean;
@@ -1 +0,0 @@
1
- export declare function tuiToInteger(value: number | string): number;
@@ -1,4 +0,0 @@
1
- /**
2
- * Converts angle in degrees to radians
3
- */
4
- export declare function tuiToRadians(deg: number): number;
@@ -1 +0,0 @@
1
- export declare const changeDateSeparator: (dateString: string, newDateSeparator: string) => string;
@@ -1,9 +0,0 @@
1
- import { InjectionToken } from '@angular/core';
2
- /**
3
- * @deprecated: drop in v5.0
4
- */
5
- export declare function tuiCreateToken<T>(defaults?: T): InjectionToken<T>;
6
- /**
7
- * @deprecated: drop in v5.0
8
- */
9
- export declare function tuiCreateTokenFromFactory<T>(factory?: () => T): InjectionToken<T>;
@@ -1,6 +0,0 @@
1
- /**
2
- * Flattens two-dimensional array and calculates resulting length
3
- *
4
- * @param array twi dimensional array
5
- */
6
- export declare function tuiFlatLength(array: ReadonlyArray<readonly unknown[]>): number;
@@ -1,8 +0,0 @@
1
- import { type QueryList } from '@angular/core';
2
- /**
3
- * Extracts original array from {@link QueryList} rather than
4
- * creating a copy like {@link QueryList.toArray} does.
5
- * @param queryList
6
- * @returns original array from {@link QueryList}.
7
- */
8
- export declare function tuiGetOriginalArrayFromQueryList<T>(queryList: QueryList<T>): readonly T[];
@@ -1 +0,0 @@
1
- export declare function tuiIsFalsy(value: unknown): boolean;
@@ -1,4 +0,0 @@
1
- /**
2
- * @deprecated: drop in v5.0
3
- */
4
- export declare function tuiIsValidUrl(url: string): boolean;
@@ -1 +0,0 @@
1
- export declare const tuiObjectShallowEquals: <T extends object>(a: T, b: T) => boolean;
@@ -1 +0,0 @@
1
- export declare function tuiUniqBy<T extends Record<string, any>>(array: readonly T[], key: keyof T): readonly T[];
File without changes