@taiga-ui/cdk 4.6.0-canary.8d03673 → 4.6.0-canary.a851e15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/tokens/environment.mjs +3 -3
- package/esm2022/utils/browser/is-safari.mjs +2 -2
- package/esm2022/utils/color/hex-to-rgba.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-tokens.mjs +2 -2
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs +1 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +1 -1
- package/package.json +1 -1
- package/schematics/ng-update/v4/index.js +2 -0
- package/schematics/ng-update/v4/steps/constants/identifiers-to-replace.js +20 -20
- package/schematics/ng-update/v4/steps/constants/modules-to-remove.js +8 -0
- package/schematics/ng-update/v4/steps/migrate-providers-from.d.ts +2 -0
- package/schematics/ng-update/v4/steps/migrate-providers-from.js +32 -0
@@ -7,10 +7,10 @@ import { fromEvent, map } from 'rxjs';
|
|
7
7
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
8
8
|
const firstRegex =
|
9
9
|
// eslint-disable-next-line sonarjs/regex-complexity
|
10
|
-
/(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(
|
10
|
+
/(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([46])0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
|
11
11
|
const secondRegex =
|
12
12
|
// eslint-disable-next-line sonarjs/regex-complexity
|
13
|
-
/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(
|
13
|
+
/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([ev])w|bumb|bw-([nu])|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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-/;
|
14
14
|
export const TUI_IS_MOBILE = tuiCreateTokenFromFactory(() => firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||
|
15
15
|
secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()));
|
16
16
|
export const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));
|
@@ -41,4 +41,4 @@ export const TUI_IS_PLAYWRIGHT = tuiCreateTokenFromFactory(TUI_FALSE_HANDLER);
|
|
41
41
|
* Detect if app is running under any of test frameworks
|
42
42
|
*/
|
43
43
|
export const TUI_IS_E2E = tuiCreateTokenFromFactory(() => inject(TUI_IS_CYPRESS) || inject(TUI_IS_PLAYWRIGHT));
|
44
|
-
//# sourceMappingURL=data:application/json;base64,
|
44
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52aXJvbm1lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdG9rZW5zL2Vudmlyb25tZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxNQUFNLEVBQUMsTUFBTSxlQUFlLENBQUM7QUFDckMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDRCQUE0QixDQUFDO0FBQ3BELE9BQU8sRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFFLFNBQVMsRUFBQyxNQUFNLHFCQUFxQixDQUFDO0FBQzNFLE9BQU8sRUFBQyxpQkFBaUIsRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQzFELE9BQU8sRUFBQyx5QkFBeUIsRUFBRSxRQUFRLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RSxPQUFPLEVBQUMsU0FBUyxFQUFFLEdBQUcsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVwQyxnRkFBZ0Y7QUFDaEYsTUFBTSxVQUFVO0FBQ1osb0RBQW9EO0FBQ3BELDBUQUEwVCxDQUFDO0FBQy9ULE1BQU0sV0FBVztBQUNiLG9EQUFvRDtBQUNwRCxpaURBQWlpRCxDQUFDO0FBRXRpRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcseUJBQXlCLENBQ2xELEdBQUcsRUFBRSxDQUNELFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3BELFdBQVcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FDeEUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyx5QkFBeUIsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUUxRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcseUJBQXlCLENBQ25ELEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FDckQsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBRyx5QkFBeUIsQ0FDbEQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBTSxTQUFTLENBQUMsRUFBRSxnQ0FBZ0MsQ0FDbkUsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBRyx5QkFBeUIsQ0FBNEIsR0FBRyxFQUFFO0lBQ2xGLElBQUksTUFBTSxDQUFDLFVBQVUsQ0FBQyxFQUFFO1FBQ3BCLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0lBRUQsT0FBTyxNQUFNLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0FBQ3RELENBQUMsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLHlCQUF5QixDQUFDLEdBQUcsRUFBRTtJQUN2RCxNQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUMsVUFBVSxDQUFDLG1CQUFtQixDQUFDLENBQUM7SUFFaEUsT0FBTyxRQUFRLENBQUMsU0FBUyxDQUFDLEtBQUssRUFBRSxRQUFRLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUFFO1FBQ3ZFLFlBQVksRUFBRSxLQUFLLENBQUMsT0FBTztLQUM5QixDQUFDLENBQUM7QUFDUCxDQUFDLENBQUMsQ0FBQztBQUVIOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyx5QkFBeUIsQ0FDbkQsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBTSxTQUFTLENBQUMsQ0FBQyxPQUFPLENBQ3pDLENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGlCQUFpQixHQUFHLHlCQUF5QixDQUFVLGlCQUFpQixDQUFDLENBQUM7QUFFdkY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcseUJBQXlCLENBQy9DLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsSUFBSSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FDNUQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7aW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7dG9TaWduYWx9IGZyb20gJ0Bhbmd1bGFyL2NvcmUvcnhqcy1pbnRlcm9wJztcbmltcG9ydCB7V0FfTkFWSUdBVE9SLCBXQV9VU0VSX0FHRU5ULCBXQV9XSU5ET1d9IGZyb20gJ0BuZy13ZWItYXBpcy9jb21tb24nO1xuaW1wb3J0IHtUVUlfRkFMU0VfSEFORExFUn0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHt0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5LCB0dWlJc0lvc30gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscyc7XG5pbXBvcnQge2Zyb21FdmVudCwgbWFwfSBmcm9tICdyeGpzJztcblxuLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9hLzExMzgxNzMwLzI3MDY0MjYgaHR0cDovL2RldGVjdG1vYmlsZWJyb3dzZXJzLmNvbS9cbmNvbnN0IGZpcnN0UmVnZXggPVxuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBzb25hcmpzL3JlZ2V4LWNvbXBsZXhpdHlcbiAgICAvKGFuZHJvaWR8YmJcXGQrfG1lZWdvKS4rbW9iaWxlfGF2YW50Z298YmFkYVxcL3xibGFja2JlcnJ5fGJsYXplcnxjb21wYWx8ZWxhaW5lfGZlbm5lY3xoaXB0b3B8aWVtb2JpbGV8aXAoaG9uZXxvZCl8aXJpc3xraW5kbGV8bGdlIHxtYWVtb3xtaWRwfG1tcHxtb2JpbGUuK2ZpcmVmb3h8bmV0ZnJvbnR8b3BlcmEgbShvYnxpbilpfHBhbG0oIG9zKT98cGhvbmV8cChpeGl8cmUpXFwvfHBsdWNrZXJ8cG9ja2V0fHBzcHxzZXJpZXMoWzQ2XSkwfHN5bWJpYW58dHJlb3x1cFxcLihicm93c2VyfGxpbmspfHZvZGFmb25lfHdhcHx3aW5kb3dzIGNlfHhkYXx4aWluby87XG5jb25zdCBzZWNvbmRSZWdleCA9XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHNvbmFyanMvcmVnZXgtY29tcGxleGl0eVxuICAgIC8xMjA3fDYzMTB8NjU5MHwzZ3NvfDR0aHB8NTBbMS02XWl8Nzcwc3w4MDJzfGEgd2F8YWJhY3xhYyhlcnxvb3xzLSl8YWkoa298cm4pfGFsKGF2fGNhfGNvKXxhbW9pfGFuKGV4fG55fHl3KXxhcHR1fGFyKGNofGdvKXxhcyh0ZXx1cyl8YXR0d3xhdShkaXwtbXxyIHxzICl8YXZhbnxiZShja3xsbHxucSl8YmkobGJ8cmQpfGJsKGFjfGF6KXxicihbZXZdKXd8YnVtYnxidy0oW251XSl8YzU1XFwvfGNhcGl8Y2N3YXxjZG0tfGNlbGx8Y2h0bXxjbGRjfGNtZC18Y28obXB8bmQpfGNyYXd8ZGEoaXR8bGx8bmcpfGRidGV8ZGMtc3xkZXZpfGRpY2F8ZG1vYnxkbyhbY3BdKW98ZHMoMTJ8LWQpfGVsKDQ5fGFpKXxlbShsMnx1bCl8ZXIoaWN8azApfGVzbDh8ZXooWzQtN10wfG9zfHdhfHplKXxmZXRjfGZseShbLV9dKXxnMSB1fGc1NjB8Z2VuZXxnZi01fGctbW98Z28oXFwud3xvZCl8Z3IoYWR8dW4pfGhhaWV8aGNpdHxoZC0oW21wdF0pfGhlaS18aGkocHR8dGEpfGhwKCBpfGlwKXxocy1jfGh0KGMoWy0gX2FncHN0XSl8dHApfGh1KGF3fHRjKXxpLSgyMHxnb3xtYSl8aTIzMHxpYWMoWyBcXC0vXSl8aWJyb3xpZGVhfGlnMDF8aWtvbXxpbTFrfGlubm98aXBhcXxpcmlzfGphKFt0dl0pYXxqYnJvfGplbXV8amlnc3xrZGRpfGtlaml8a2d0KFsgL10pfGtsb258a3B0IHxrd2MtfGt5byhbY2tdKXxsZShub3x4aSl8bGcoIGd8XFwvKFtrbHVdKXw1MHw1NHwtW2Etd10pfGxpYnd8bHlueHxtMS13fG0zZ2F8bTUwXFwvfG1hKHRlfHVpfHhvKXxtYygwMXwyMXxjYSl8bS1jcnxtZShyY3xyaSl8bWkobzh8b2F8dHMpfG1tZWZ8bW8oMDF8MDJ8Yml8ZGV8ZG98dChbLSBvdl0pfHp6KXxtdCg1MHxwMXx2ICl8bXdicHxteXdhfG4xMFswLTJdfG4yMFsyLTNdfG4zMChbMDJdKXxuNTAoWzAyNV0pfG43KDAoWzAxXSl8MTApfG5lKChbY21dKS18b258dGZ8d2Z8d2d8d3QpfG5vayhbNmldKXxuenBofG8yaW18b3AodGl8d3YpfG9yYW58b3dnMXxwODAwfHBhbihbYWR0XSl8cGR4Z3xwZygxM3wtKFsxLThdfGMpKXxwaGlsfHBpcmV8cGwoYXl8dWMpfHBuLTJ8cG8oY2t8cnR8c2UpfHByb3h8cHNpb3xwdC1nfHFhLWF8cWMoMDd8MTJ8MjF8MzJ8NjB8LVsyLTddfGktKXxxdGVrfHIzODB8cjYwMHxyYWtzfHJpbTl8cm8odmV8em8pfHM1NVxcL3xzYShnZXxtYXxtbXxtc3xueXx2YSl8c2MoMDF8aC18b298cC0pfHNka1xcL3xzZShjKFstMDFdKXw0N3xtY3xuZHxyaSl8c2doLXxzaGFyfHNpZShbLW1dKXxzay0wfHNsKDQ1fGlkKXxzbShhbHxhcnxiM3xpdHx0NSl8c28oZnR8bnkpfHNwKDAxfGgtfHYtfHYgKXxzeSgwMXxtYil8dDIoMTh8NTApfHQ2KDAwfDEwfDE4KXx0YShndHxsayl8dGNsLXx0ZGctfHRlbChbaW1dKXx0aW0tfHQtbW98dG8ocGx8c2gpfHRzKDcwfG0tfG0zfG01KXx0eC05fHVwKFxcLmJ8ZzF8c2kpfHV0c3R8djQwMHx2NzUwfHZlcml8dmkocmd8dGUpfHZrKDQwfDVbMC0zXXwtdil8dm00MHx2b2RhfHZ1bGN8dngoNTJ8NTN8NjB8NjF8NzB8ODB8ODF8ODN8ODV8OTgpfHczYyhbLSBdKXx3ZWJjfHdoaXR8d2koZyB8bmN8bncpfHdtbGJ8d29udXx4NzAwfHlhcy18eW91cnx6ZXRvfHp0ZS0vO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX01PQklMRSA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT5cbiAgICAgICAgZmlyc3RSZWdleC50ZXN0KGluamVjdChXQV9VU0VSX0FHRU5UKS50b0xvd2VyQ2FzZSgpKSB8fFxuICAgICAgICBzZWNvbmRSZWdleC50ZXN0KGluamVjdChXQV9VU0VSX0FHRU5UKS5zbGljZSgwLCA0KS50b0xvd2VyQ2FzZSgpKSxcbik7XG5cbmV4cG9ydCBjb25zdCBUVUlfSVNfSU9TID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiB0dWlJc0lvcyhpbmplY3QoV0FfTkFWSUdBVE9SKSkpO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX0FORFJPSUQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+IGluamVjdChUVUlfSVNfTU9CSUxFKSAmJiAhaW5qZWN0KFRVSV9JU19JT1MpLFxuKTtcblxuZXhwb3J0IGNvbnN0IFRVSV9JU19XRUJLSVQgPSB0dWlDcmVhdGVUb2tlbkZyb21GYWN0b3J5KFxuICAgICgpID0+ICEhaW5qZWN0PGFueT4oV0FfV0lORE9XKT8ud2Via2l0Q29udmVydFBvaW50RnJvbU5vZGVUb1BhZ2UsXG4pO1xuXG5leHBvcnQgY29uc3QgVFVJX1BMQVRGT1JNID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeTwnYW5kcm9pZCcgfCAnaW9zJyB8ICd3ZWInPigoKSA9PiB7XG4gICAgaWYgKGluamVjdChUVUlfSVNfSU9TKSkge1xuICAgICAgICByZXR1cm4gJ2lvcyc7XG4gICAgfVxuXG4gICAgcmV0dXJuIGluamVjdChUVUlfSVNfQU5EUk9JRCkgPyAnYW5kcm9pZCcgOiAnd2ViJztcbn0pO1xuXG5leHBvcnQgY29uc3QgVFVJX0lTX1RPVUNIID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeSgoKSA9PiB7XG4gICAgY29uc3QgbWVkaWEgPSBpbmplY3QoV0FfV0lORE9XKS5tYXRjaE1lZGlhKCcocG9pbnRlcjogY29hcnNlKScpO1xuXG4gICAgcmV0dXJuIHRvU2lnbmFsKGZyb21FdmVudChtZWRpYSwgJ2NoYW5nZScpLnBpcGUobWFwKCgpID0+IG1lZGlhLm1hdGNoZXMpKSwge1xuICAgICAgICBpbml0aWFsVmFsdWU6IG1lZGlhLm1hdGNoZXMsXG4gICAgfSk7XG59KTtcblxuLyoqXG4gKiBEZXRlY3QgaWYgYXBwIGlzIHJ1bm5pbmcgdW5kZXIgQ3lwcmVzc1xuICoge0BsaW5rIGh0dHBzOi8vZG9jcy5jeXByZXNzLmlvL2ZhcS9xdWVzdGlvbnMvdXNpbmctY3lwcmVzcy1mYXEjSXMtdGhlcmUtYW55LXdheS10by1kZXRlY3QtaWYtbXktYXBwLWlzLXJ1bm5pbmctdW5kZXItQ3lwcmVzcyBDeXByZXNzIGRvY3N9XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfQ1lQUkVTUyA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3RvcnkoXG4gICAgKCkgPT4gISFpbmplY3Q8YW55PihXQV9XSU5ET1cpLkN5cHJlc3MsXG4pO1xuXG4vKipcbiAqIE1hbnVhbGx5IHByb3ZpZGUgYHRydWVgIHdoZW4gcnVubmluZyB0ZXN0cyBpbiBQbGF5d3JpZ2h0XG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfUExBWVdSSUdIVCA9IHR1aUNyZWF0ZVRva2VuRnJvbUZhY3Rvcnk8Ym9vbGVhbj4oVFVJX0ZBTFNFX0hBTkRMRVIpO1xuXG4vKipcbiAqIERldGVjdCBpZiBhcHAgaXMgcnVubmluZyB1bmRlciBhbnkgb2YgdGVzdCBmcmFtZXdvcmtzXG4gKi9cbmV4cG9ydCBjb25zdCBUVUlfSVNfRTJFID0gdHVpQ3JlYXRlVG9rZW5Gcm9tRmFjdG9yeShcbiAgICAoKSA9PiBpbmplY3QoVFVJX0lTX0NZUFJFU1MpIHx8IGluamVjdChUVUlfSVNfUExBWVdSSUdIVCksXG4pO1xuIl19
|
@@ -1,10 +1,10 @@
|
|
1
1
|
export function tuiIsSafari({ ownerDocument: doc }) {
|
2
2
|
const win = doc?.defaultView;
|
3
|
-
const isMacOsSafari =
|
3
|
+
const isMacOsSafari = win.safari !== undefined &&
|
4
4
|
win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';
|
5
5
|
const isIosSafari = !!win.navigator?.vendor?.includes('Apple') &&
|
6
6
|
!win.navigator?.userAgent?.includes('CriOS') &&
|
7
7
|
!win.navigator?.userAgent?.includes('FxiOS');
|
8
8
|
return isMacOsSafari || isIosSafari;
|
9
9
|
}
|
10
|
-
//# sourceMappingURL=data:application/json;base64,
|
10
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtc2FmYXJpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY2RrL3V0aWxzL2Jyb3dzZXIvaXMtc2FmYXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sVUFBVSxXQUFXLENBQUMsRUFBQyxhQUFhLEVBQUUsR0FBRyxFQUFVO0lBQ3JELE1BQU0sR0FBRyxHQUFHLEdBQUcsRUFBRSxXQUFpRCxDQUFDO0lBRW5FLE1BQU0sYUFBYSxHQUNmLEdBQUcsQ0FBQyxNQUFNLEtBQUssU0FBUztRQUN4QixHQUFHLENBQUMsTUFBTSxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxLQUFLLG1DQUFtQyxDQUFDO0lBRXJGLE1BQU0sV0FBVyxHQUNiLENBQUMsQ0FBQyxHQUFHLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxRQUFRLENBQUMsT0FBTyxDQUFDO1FBQzFDLENBQUMsR0FBRyxDQUFDLFNBQVMsRUFBRSxTQUFTLEVBQUUsUUFBUSxDQUFDLE9BQU8sQ0FBQztRQUM1QyxDQUFDLEdBQUcsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztJQUVqRCxPQUFPLGFBQWEsSUFBSSxXQUFXLENBQUM7QUFDeEMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiB0dWlJc1NhZmFyaSh7b3duZXJEb2N1bWVudDogZG9jfTogRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIGNvbnN0IHdpbiA9IGRvYz8uZGVmYXVsdFZpZXcgYXMgdW5rbm93biBhcyBXaW5kb3cgJiB7c2FmYXJpPzogYW55fTtcblxuICAgIGNvbnN0IGlzTWFjT3NTYWZhcmkgPVxuICAgICAgICB3aW4uc2FmYXJpICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgd2luLnNhZmFyaT8ucHVzaE5vdGlmaWNhdGlvbj8udG9TdHJpbmcoKSA9PT0gJ1tvYmplY3QgU2FmYXJpUmVtb3RlTm90aWZpY2F0aW9uXSc7XG5cbiAgICBjb25zdCBpc0lvc1NhZmFyaSA9XG4gICAgICAgICEhd2luLm5hdmlnYXRvcj8udmVuZG9yPy5pbmNsdWRlcygnQXBwbGUnKSAmJlxuICAgICAgICAhd2luLm5hdmlnYXRvcj8udXNlckFnZW50Py5pbmNsdWRlcygnQ3JpT1MnKSAmJlxuICAgICAgICAhd2luLm5hdmlnYXRvcj8udXNlckFnZW50Py5pbmNsdWRlcygnRnhpT1MnKTtcblxuICAgIHJldHVybiBpc01hY09zU2FmYXJpIHx8IGlzSW9zU2FmYXJpO1xufVxuIl19
|
@@ -1,7 +1,7 @@
|
|
1
1
|
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
2
2
|
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
3
3
|
const getAlphaFloat = (a, alpha) => {
|
4
|
-
if (
|
4
|
+
if (a !== undefined) {
|
5
5
|
return Number((a / 255).toFixed(2));
|
6
6
|
}
|
7
7
|
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
@@ -26,4 +26,4 @@ export function tuiParseHex(hex, alpha) {
|
|
26
26
|
const floatAlpha = getAlphaFloat(a, alpha);
|
27
27
|
return [r, g, b, floatAlpha];
|
28
28
|
}
|
29
|
-
//# sourceMappingURL=data:application/json;base64,
|
29
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGV4LXRvLXJnYmEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jZGsvdXRpbHMvY29sb3IvaGV4LXRvLXJnYmEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLEdBQVcsRUFBRSxTQUFpQixFQUEyQixFQUFFLENBQ3BGLEdBQUcsQ0FBQyxLQUFLLENBQUMsSUFBSSxNQUFNLENBQUMsS0FBSyxTQUFTLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxDQUFDO0FBRWxELE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxNQUFjLEVBQVUsRUFBRSxDQUNuRCxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBRW5ELE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBVSxFQUFFLEtBQWMsRUFBVSxFQUFFO0lBQ3pELElBQUksQ0FBQyxLQUFLLFNBQVMsRUFBRTtRQUNqQixPQUFPLE1BQU0sQ0FBQyxDQUFDLENBQUMsR0FBRyxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUN2QztJQUVELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxJQUFJLEtBQUssR0FBRyxDQUFDLElBQUksS0FBSyxHQUFHLENBQUMsRUFBRTtRQUNyRCxPQUFPLENBQUMsQ0FBQztLQUNaO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDakIsQ0FBQyxDQUFDO0FBRUYsTUFBTSxVQUFVLFlBQVksQ0FBQyxHQUFXLEVBQUUsS0FBYztJQUNwRCxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLEdBQUcsV0FBVyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUU3QyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQztBQUM1RSxDQUFDO0FBRUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxHQUFXO0lBQ3JDLE9BQU8sNEJBQTRCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2xELENBQUM7QUFFRCxNQUFNLFVBQVUsV0FBVyxDQUN2QixHQUFXLEVBQ1gsS0FBYztJQUVkLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEVBQUU7UUFDckIsTUFBTSxJQUFJLEtBQUssQ0FBQyxhQUFhLENBQUMsQ0FBQztLQUNsQztJQUVELE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ25ELE1BQU0sTUFBTSxHQUFHLG1CQUFtQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDNUQsTUFBTSxDQUFDLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEdBQUcsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLE1BQU0sRUFBRSxHQUFHLENBQUMsbUJBQW1CLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDOUUsTUFBTSxVQUFVLEdBQUcsYUFBYSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUUzQyxPQUFPLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDakMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGdldENodW5rc0Zyb21TdHJpbmcgPSAoaGV4OiBzdHJpbmcsIGNodW5rU2l6ZTogbnVtYmVyKTogUmVnRXhwTWF0Y2hBcnJheSB8IG51bGwgPT5cbiAgICBoZXgubWF0Y2gobmV3IFJlZ0V4cChgLnske2NodW5rU2l6ZX19YCwgJ2cnKSk7XG5cbmNvbnN0IGNvbnZlcnRIZXhVbml0VG8yNTYgPSAoaGV4U3RyOiBzdHJpbmcpOiBudW1iZXIgPT5cbiAgICBwYXJzZUludChoZXhTdHIucmVwZWF0KDIgLyBoZXhTdHIubGVuZ3RoKSwgMTYpO1xuXG5jb25zdCBnZXRBbHBoYUZsb2F0ID0gKGE/OiBudW1iZXIsIGFscGhhPzogbnVtYmVyKTogbnVtYmVyID0+IHtcbiAgICBpZiAoYSAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHJldHVybiBOdW1iZXIoKGEgLyAyNTUpLnRvRml4ZWQoMikpO1xuICAgIH1cblxuICAgIGlmICh0eXBlb2YgYWxwaGEgIT09ICdudW1iZXInIHx8IGFscGhhIDwgMCB8fCBhbHBoYSA+IDEpIHtcbiAgICAgICAgcmV0dXJuIDE7XG4gICAgfVxuXG4gICAgcmV0dXJuIGFscGhhO1xufTtcblxuZXhwb3J0IGZ1bmN0aW9uIHR1aUhleFRvUkdCQShoZXg6IHN0cmluZywgYWxwaGE/OiBudW1iZXIpOiBzdHJpbmcge1xuICAgIGNvbnN0IFtyLCBnLCBiLCBhXSA9IHR1aVBhcnNlSGV4KGhleCwgYWxwaGEpO1xuXG4gICAgcmV0dXJuIGEgPCAxID8gYHJnYmEoJHtyfSwgJHtnfSwgJHtifSwgJHthfSlgIDogYHJnYigke3J9LCAke2d9LCAke2J9KWA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0dWlJc1ZhbGlkSGV4KGhleDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIC9eIyhbQS1GYS1mMC05XXszLDR9KXsxLDJ9JC8udGVzdChoZXgpO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gdHVpUGFyc2VIZXgoXG4gICAgaGV4OiBzdHJpbmcsXG4gICAgYWxwaGE/OiBudW1iZXIsXG4pOiBbbnVtYmVyLCBudW1iZXIsIG51bWJlciwgbnVtYmVyXSB7XG4gICAgaWYgKCF0dWlJc1ZhbGlkSGV4KGhleCkpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIEhFWCcpO1xuICAgIH1cblxuICAgIGNvbnN0IGNodW5rU2l6ZSA9IE1hdGguZmxvb3IoKGhleC5sZW5ndGggLSAxKSAvIDMpO1xuICAgIGNvbnN0IGhleEFyciA9IGdldENodW5rc0Zyb21TdHJpbmcoaGV4LnNsaWNlKDEpLCBjaHVua1NpemUpO1xuICAgIGNvbnN0IFtyID0gTmFOLCBnID0gTmFOLCBiID0gTmFOLCBhXSA9IGhleEFycj8ubWFwKGNvbnZlcnRIZXhVbml0VG8yNTYpID8/IFtdO1xuICAgIGNvbnN0IGZsb2F0QWxwaGEgPSBnZXRBbHBoYUZsb2F0KGEsIGFscGhhKTtcblxuICAgIHJldHVybiBbciwgZywgYiwgZmxvYXRBbHBoYV07XG59XG4iXX0=
|
@@ -76,10 +76,10 @@ const TUI_BASE_HREF = tuiCreateTokenFromFactory(() => inject(DOCUMENT).querySele
|
|
76
76
|
// https://stackoverflow.com/a/11381730/2706426 http://detectmobilebrowsers.com/
|
77
77
|
const firstRegex =
|
78
78
|
// eslint-disable-next-line sonarjs/regex-complexity
|
79
|
-
/(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(
|
79
|
+
/(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([46])0|symbian|treo|up\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;
|
80
80
|
const secondRegex =
|
81
81
|
// eslint-disable-next-line sonarjs/regex-complexity
|
82
|
-
/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(
|
82
|
+
/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([ev])w|bumb|bw-([nu])|c55\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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-/;
|
83
83
|
const TUI_IS_MOBILE = tuiCreateTokenFromFactory(() => firstRegex.test(inject(WA_USER_AGENT).toLowerCase()) ||
|
84
84
|
secondRegex.test(inject(WA_USER_AGENT).slice(0, 4).toLowerCase()));
|
85
85
|
const TUI_IS_IOS = tuiCreateTokenFromFactory(() => tuiIsIos(inject(WA_NAVIGATOR)));
|
@@ -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} 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, NgZone} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeMouseFocusable,\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 // Not due to scrollable element became non-scrollable\n tuiIsNativeMouseFocusable(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 zone = inject(NgZone);\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, tuiZonefreeScheduler(zone))),\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 // eslint-disable-next-line sonarjs/regex-complexity\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 // eslint-disable-next-line sonarjs/regex-complexity\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 {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_FALLBACK_VALUE = tuiCreateToken<any>(null);\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":"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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, NgZone} from '@angular/core';\nimport {WA_WINDOW} from '@ng-web-apis/common';\nimport {tuiTypedFromEvent, tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {\n tuiCreateTokenFromFactory,\n tuiGetActualTarget,\n tuiGetDocumentOrShadowRoot,\n tuiIsNativeMouseFocusable,\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 // Not due to scrollable element became non-scrollable\n tuiIsNativeMouseFocusable(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 zone = inject(NgZone);\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, tuiZonefreeScheduler(zone))),\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 // eslint-disable-next-line sonarjs/regex-complexity\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([46])0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino/;\nconst secondRegex =\n // eslint-disable-next-line sonarjs/regex-complexity\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([ev])w|bumb|bw-([nu])|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do([cp])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-([mpt])|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c([- _agpst])|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac([ \\-/])|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja([tv])a|jbro|jemu|jigs|kddi|keji|kgt([ /])|klon|kpt |kwc-|kyo([ck])|le(no|xi)|lg( g|\\/([klu])|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([- ov])|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30([02])|n50([025])|n7(0([01])|10)|ne(([cm])-|on|tf|wf|wg|wt)|nok([6i])|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan([adt])|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([-01])|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([im])|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 {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\n\nexport const TUI_FALLBACK_VALUE = tuiCreateToken<any>(null);\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;;ACCD;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;;AAEjC,QAAA,yBAAyB,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,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC;AAC5B,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,EAAE,oBAAoB,CAAC,IAAI,CAAC,CAAC,CAAC,CAClD,CAAC;AACZ,KAAC,CAAC,CACL,CACJ,CAAC,IAAI,CAAC,oBAAoB,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;AAC5C,CAAC;;MC/GY,aAAa,GAAG,yBAAyB,CAClD,MAAM,MAAM,CAAC,QAAQ,CAAC,CAAC,aAAa,CAAC,MAAM,CAAC,EAAE,IAAI,IAAI,EAAE;;ACE5D;AACA,MAAM,UAAU;AACZ;AACA,0TAA0T,CAAC;AAC/T,MAAM,WAAW;AACb;AACA,iiDAAiiD,CAAC;MAEzhD,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;;MC7DhD,kBAAkB,GAAG,cAAc,CAAM,IAAI,EAAE;AAEtD,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;;;;"}
|
@@ -28,7 +28,7 @@ function tuiIsIos(navigator) {
|
|
28
28
|
|
29
29
|
function tuiIsSafari({ ownerDocument: doc }) {
|
30
30
|
const win = doc?.defaultView;
|
31
|
-
const isMacOsSafari =
|
31
|
+
const isMacOsSafari = win.safari !== undefined &&
|
32
32
|
win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';
|
33
33
|
const isIosSafari = !!win.navigator?.vendor?.includes('Apple') &&
|
34
34
|
!win.navigator?.userAgent?.includes('CriOS') &&
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-browser.mjs","sources":["../../../projects/cdk/utils/browser/is-apple.ts","../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-ios.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function tuiIsApple(navigator: Navigator): boolean {\n return navigator.platform.startsWith('Mac') || navigator.platform === 'iPhone';\n}\n","export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('edge');\n}\n","export function tuiIsFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('firefox');\n}\n","import {tuiIsApple} from './is-apple';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function tuiIsIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (tuiIsApple(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n","export function tuiIsSafari({ownerDocument: doc}: Element): boolean {\n const win = doc?.defaultView as unknown as Window & {safari?: any};\n\n const isMacOsSafari =\n
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-browser.mjs","sources":["../../../projects/cdk/utils/browser/is-apple.ts","../../../projects/cdk/utils/browser/is-edge.ts","../../../projects/cdk/utils/browser/is-firefox.ts","../../../projects/cdk/utils/browser/is-ios.ts","../../../projects/cdk/utils/browser/is-safari.ts","../../../projects/cdk/utils/browser/taiga-ui-cdk-utils-browser.ts"],"sourcesContent":["/**\n * @description:\n * All Chrome / Chromium-based browsers will return MacIntel on macOS,\n * no matter what the hardware architecture is. See the source code here:\n * https://source.chromium.org/chromium/chromium/src/+/master:third_party/blink/renderer/core/frame/navigator_id.cc;l=64;drc=703d3c472cf27470dad21a3f2c8972aca3732cd6\n * But maybe in future years, it will be changed to MacM1\n *\n * Documentation:\n * https://developer.mozilla.org/en-US/docs/Web/API/Navigator/platform\n */\nexport function tuiIsApple(navigator: Navigator): boolean {\n return navigator.platform.startsWith('Mac') || navigator.platform === 'iPhone';\n}\n","export function tuiIsEdge(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('edge');\n}\n","export function tuiIsFirefox(userAgent: string): boolean {\n return userAgent.toLowerCase().includes('firefox');\n}\n","import {tuiIsApple} from './is-apple';\n\nconst IOS_REG_EXP = /ipad|iphone|ipod/;\n\nexport function tuiIsIos(navigator: Navigator): boolean {\n return (\n IOS_REG_EXP.test(navigator.userAgent.toLowerCase()) ||\n (tuiIsApple(navigator) && navigator.maxTouchPoints > 1)\n );\n}\n","export function tuiIsSafari({ownerDocument: doc}: Element): boolean {\n const win = doc?.defaultView as unknown as Window & {safari?: any};\n\n const isMacOsSafari =\n win.safari !== undefined &&\n win.safari?.pushNotification?.toString() === '[object SafariRemoteNotification]';\n\n const isIosSafari =\n !!win.navigator?.vendor?.includes('Apple') &&\n !win.navigator?.userAgent?.includes('CriOS') &&\n !win.navigator?.userAgent?.includes('FxiOS');\n\n return isMacOsSafari || isIosSafari;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;;;;;;;;AASG;AACG,SAAU,UAAU,CAAC,SAAoB,EAAA;AAC3C,IAAA,OAAO,SAAS,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,SAAS,CAAC,QAAQ,KAAK,QAAQ,CAAC;AACnF;;ACZM,SAAU,SAAS,CAAC,SAAiB,EAAA;IACvC,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACpD;;ACFM,SAAU,YAAY,CAAC,SAAiB,EAAA;IAC1C,OAAO,SAAS,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;AACvD;;ACAA,MAAM,WAAW,GAAG,kBAAkB,CAAC;AAEjC,SAAU,QAAQ,CAAC,SAAoB,EAAA;IACzC,QACI,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,WAAW,EAAE,CAAC;AACnD,SAAC,UAAU,CAAC,SAAS,CAAC,IAAI,SAAS,CAAC,cAAc,GAAG,CAAC,CAAC,EACzD;AACN;;SCTgB,WAAW,CAAC,EAAC,aAAa,EAAE,GAAG,EAAU,EAAA;AACrD,IAAA,MAAM,GAAG,GAAG,GAAG,EAAE,WAAiD,CAAC;AAEnE,IAAA,MAAM,aAAa,GACf,GAAG,CAAC,MAAM,KAAK,SAAS;QACxB,GAAG,CAAC,MAAM,EAAE,gBAAgB,EAAE,QAAQ,EAAE,KAAK,mCAAmC,CAAC;AAErF,IAAA,MAAM,WAAW,GACb,CAAC,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC1C,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC;QAC5C,CAAC,GAAG,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;IAEjD,OAAO,aAAa,IAAI,WAAW,CAAC;AACxC;;ACbA;;AAEG;;;;"}
|
@@ -19,7 +19,7 @@ function tuiHexToRgb(hex) {
|
|
19
19
|
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
20
20
|
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
21
21
|
const getAlphaFloat = (a, alpha) => {
|
22
|
-
if (
|
22
|
+
if (a !== undefined) {
|
23
23
|
return Number((a / 255).toFixed(2));
|
24
24
|
}
|
25
25
|
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
@@ -1 +1 @@
|
|
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 (typeof 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] === undefined ? DEFAULT[3] : parsed[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","export 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] ?? '').toString().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 `^(?: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
|
+
{"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] === undefined ? DEFAULT[3] : parsed[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","export 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] ?? '').toString().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 `^(?: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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"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "@taiga-ui/cdk",
|
3
|
-
"version": "4.6.0-canary.
|
3
|
+
"version": "4.6.0-canary.a851e15",
|
4
4
|
"description": "Base library for creating Angular components and applications using Taiga UI principles regarding of actual visual appearance",
|
5
5
|
"keywords": [
|
6
6
|
"angular",
|
@@ -18,11 +18,13 @@ const modules_to_replace_1 = require("./steps/constants/modules-to-replace");
|
|
18
18
|
const types_1 = require("./steps/constants/types");
|
19
19
|
const drop_universal_mock_1 = require("./steps/drop-universal-mock");
|
20
20
|
const migrate_editor_1 = require("./steps/migrate-editor");
|
21
|
+
const migrate_providers_from_1 = require("./steps/migrate-providers-from");
|
21
22
|
const migrate_root_1 = require("./steps/migrate-root");
|
22
23
|
const replace_modules_with_providers_1 = require("./steps/utils/replace-modules-with-providers");
|
23
24
|
function main(options) {
|
24
25
|
return (tree, context) => {
|
25
26
|
const fileSystem = (0, get_file_system_1.getFileSystem)(tree);
|
27
|
+
(0, migrate_providers_from_1.migrateImportProvidersFrom)(options);
|
26
28
|
(0, migrate_editor_1.migrateEditor)(fileSystem, options);
|
27
29
|
(0, steps_1.replaceEnums)(options, enums_1.ENUMS_TO_REPLACE);
|
28
30
|
(0, migrate_root_1.migrateRoot)(fileSystem, options);
|
@@ -1311,6 +1311,26 @@ exports.IDENTIFIERS_TO_REPLACE = [
|
|
1311
1311
|
spreadInModule: true,
|
1312
1312
|
},
|
1313
1313
|
},
|
1314
|
+
{
|
1315
|
+
from: {
|
1316
|
+
name: 'TuiPreviewDialogModule',
|
1317
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
1318
|
+
},
|
1319
|
+
to: {
|
1320
|
+
name: 'TuiPreviewDialog',
|
1321
|
+
moduleSpecifier: '@taiga-ui/kit',
|
1322
|
+
},
|
1323
|
+
},
|
1324
|
+
{
|
1325
|
+
from: {
|
1326
|
+
name: 'TuiPreviewDialogService',
|
1327
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
1328
|
+
},
|
1329
|
+
to: {
|
1330
|
+
name: 'TuiPreviewDialogService',
|
1331
|
+
moduleSpecifier: '@taiga-ui/kit',
|
1332
|
+
},
|
1333
|
+
},
|
1314
1334
|
{
|
1315
1335
|
from: {
|
1316
1336
|
name: 'TuiBlockStatusModule',
|
@@ -1376,26 +1396,6 @@ exports.IDENTIFIERS_TO_REPLACE = [
|
|
1376
1396
|
spreadInModule: true,
|
1377
1397
|
},
|
1378
1398
|
},
|
1379
|
-
{
|
1380
|
-
from: {
|
1381
|
-
name: 'TuiPreviewDialogModule',
|
1382
|
-
moduleSpecifier: '@taiga-ui/addon-preview',
|
1383
|
-
},
|
1384
|
-
to: {
|
1385
|
-
name: 'TuiPreviewDialog',
|
1386
|
-
moduleSpecifier: '@taiga-ui/kit',
|
1387
|
-
},
|
1388
|
-
},
|
1389
|
-
{
|
1390
|
-
from: {
|
1391
|
-
name: 'TuiPreviewDialogService',
|
1392
|
-
moduleSpecifier: '@taiga-ui/addon-preview',
|
1393
|
-
},
|
1394
|
-
to: {
|
1395
|
-
name: 'TuiPreviewDialogService',
|
1396
|
-
moduleSpecifier: '@taiga-ui/kit',
|
1397
|
-
},
|
1398
|
-
},
|
1399
1399
|
{
|
1400
1400
|
from: {
|
1401
1401
|
name: 'PolymorpheusModule',
|
@@ -22,6 +22,10 @@ exports.MODULES_TO_REMOVE = [
|
|
22
22
|
name: 'TuiPromptModule',
|
23
23
|
moduleSpecifier: '@taiga-ui/kit',
|
24
24
|
},
|
25
|
+
{
|
26
|
+
name: 'TuiPdfViewerModule',
|
27
|
+
moduleSpecifier: '@taiga-ui/kit',
|
28
|
+
},
|
25
29
|
{
|
26
30
|
name: 'TuiThemeTinkoff2023NightModule',
|
27
31
|
moduleSpecifier: '@taiga-ui/proprietary-core',
|
@@ -46,4 +50,8 @@ exports.MODULES_TO_REMOVE = [
|
|
46
50
|
name: 'TuiMobileTabsModule',
|
47
51
|
moduleSpecifier: '@taiga-ui/addon-mobile',
|
48
52
|
},
|
53
|
+
{
|
54
|
+
name: 'TuiPreviewActionModule',
|
55
|
+
moduleSpecifier: '@taiga-ui/addon-preview',
|
56
|
+
},
|
49
57
|
];
|
@@ -0,0 +1,32 @@
|
|
1
|
+
"use strict";
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
3
|
+
exports.migrateImportProvidersFrom = void 0;
|
4
|
+
const ng_morph_1 = require("ng-morph");
|
5
|
+
const colored_log_1 = require("../../../utils/colored-log");
|
6
|
+
const get_named_import_references_1 = require("../../../utils/get-named-import-references");
|
7
|
+
function migrateImportProvidersFrom(options) {
|
8
|
+
!options['skip-logs'] &&
|
9
|
+
(0, colored_log_1.infoLog)(`${colored_log_1.SMALL_TAB_SYMBOL}${colored_log_1.REPLACE_SYMBOL} updating importProvidersFrom`);
|
10
|
+
const refs = [
|
11
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiDialogModule', '@taiga-ui/core'),
|
12
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiAlertModule', '@taiga-ui/core'),
|
13
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPushModule', '@taiga-ui/kit'),
|
14
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPdfViewerModule', '@taiga-ui/kit'),
|
15
|
+
...(0, get_named_import_references_1.getNamedImportReferences)('TuiPreviewModule', '@taiga-ui/addon-preview'),
|
16
|
+
];
|
17
|
+
for (const ref of refs) {
|
18
|
+
if (ref.wasForgotten()) {
|
19
|
+
return;
|
20
|
+
}
|
21
|
+
const callExpression = ref.getParentWhile(ng_morph_1.Node.isCallExpression);
|
22
|
+
if ((callExpression === null || callExpression === void 0 ? void 0 : callExpression.getExpression().getText()) === 'importProvidersFrom') {
|
23
|
+
const node = callExpression
|
24
|
+
.getArguments()
|
25
|
+
.find((arg) => arg.getText() === ref.getText());
|
26
|
+
if (node) {
|
27
|
+
callExpression.removeArgument(node);
|
28
|
+
}
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
exports.migrateImportProvidersFrom = migrateImportProvidersFrom;
|