@taiga-ui/cdk 3.9.0 → 3.11.0

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 (142) hide show
  1. package/bundles/taiga-ui-cdk-abstract.umd.js +1 -1
  2. package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
  3. package/bundles/taiga-ui-cdk-classes.umd.js.map +1 -1
  4. package/bundles/taiga-ui-cdk-coercion.umd.js.map +1 -1
  5. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js +1 -1
  6. package/bundles/taiga-ui-cdk-components-dialog-host.umd.js.map +1 -1
  7. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js +1 -1
  8. package/bundles/taiga-ui-cdk-components-dropdown-host.umd.js.map +1 -1
  9. package/bundles/taiga-ui-cdk-constants.umd.js +1 -1
  10. package/bundles/taiga-ui-cdk-constants.umd.js.map +1 -1
  11. package/bundles/taiga-ui-cdk-date-time.umd.js +1 -1
  12. package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
  13. package/bundles/taiga-ui-cdk-decorators.umd.js +19 -1
  14. package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
  15. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +1 -1
  16. package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
  17. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js +1 -1
  18. package/bundles/taiga-ui-cdk-directives-auto-focus.umd.js.map +1 -1
  19. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +1 -1
  20. package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
  21. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js +1 -1
  22. package/bundles/taiga-ui-cdk-directives-copy-processor.umd.js.map +1 -1
  23. package/bundles/taiga-ui-cdk-directives-element.umd.js +1 -1
  24. package/bundles/taiga-ui-cdk-directives-element.umd.js.map +1 -1
  25. package/bundles/taiga-ui-cdk-directives-for-async.umd.js +1 -1
  26. package/bundles/taiga-ui-cdk-directives-for-async.umd.js.map +1 -1
  27. package/bundles/taiga-ui-cdk-directives-hovered.umd.js +1 -1
  28. package/bundles/taiga-ui-cdk-directives-hovered.umd.js.map +1 -1
  29. package/bundles/taiga-ui-cdk-directives-media.umd.js +7 -7
  30. package/bundles/taiga-ui-cdk-directives-media.umd.js.map +1 -1
  31. package/bundles/taiga-ui-cdk-directives-obscured.umd.js +1 -1
  32. package/bundles/taiga-ui-cdk-directives-obscured.umd.js.map +1 -1
  33. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js +1 -1
  34. package/bundles/taiga-ui-cdk-directives-repeat-times.umd.js.map +1 -1
  35. package/bundles/taiga-ui-cdk-directives-validator.umd.js +1 -1
  36. package/bundles/taiga-ui-cdk-directives-validator.umd.js.map +1 -1
  37. package/bundles/taiga-ui-cdk-exceptions.umd.js +1 -1
  38. package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -1
  39. package/bundles/taiga-ui-cdk-pipes-filter.umd.js +1 -1
  40. package/bundles/taiga-ui-cdk-pipes-filter.umd.js.map +1 -1
  41. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js +68 -0
  42. package/bundles/taiga-ui-cdk-pipes-is-present.umd.js.map +1 -0
  43. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js +1 -1
  44. package/bundles/taiga-ui-cdk-pipes-mapper.umd.js.map +1 -1
  45. package/bundles/taiga-ui-cdk-pipes.umd.js +10 -4
  46. package/bundles/taiga-ui-cdk-pipes.umd.js.map +1 -1
  47. package/bundles/taiga-ui-cdk-services.umd.js +1 -1
  48. package/bundles/taiga-ui-cdk-services.umd.js.map +1 -1
  49. package/bundles/taiga-ui-cdk-tokens.umd.js +1 -1
  50. package/bundles/taiga-ui-cdk-tokens.umd.js.map +1 -1
  51. package/bundles/taiga-ui-cdk-utils-calendar.umd.js +26 -0
  52. package/bundles/taiga-ui-cdk-utils-calendar.umd.js.map +1 -0
  53. package/bundles/taiga-ui-cdk-utils-color.umd.js +1 -0
  54. package/bundles/taiga-ui-cdk-utils-color.umd.js.map +1 -1
  55. package/bundles/taiga-ui-cdk-utils-math.umd.js +8 -8
  56. package/bundles/taiga-ui-cdk-utils-math.umd.js.map +1 -1
  57. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js +8 -5
  58. package/bundles/taiga-ui-cdk-utils-miscellaneous.umd.js.map +1 -1
  59. package/bundles/taiga-ui-cdk-utils-svg.umd.js +1 -1
  60. package/bundles/taiga-ui-cdk-utils-svg.umd.js.map +1 -1
  61. package/bundles/taiga-ui-cdk-utils.umd.js +10 -4
  62. package/bundles/taiga-ui-cdk-utils.umd.js.map +1 -1
  63. package/classes/validation-error.d.ts +1 -1
  64. package/coercion/coerce-boolean-property.d.ts +1 -1
  65. package/constants/version.d.ts +1 -1
  66. package/constants/version.js +1 -1
  67. package/decorators/debounce.d.ts +1 -0
  68. package/decorators/default-prop.d.ts +1 -1
  69. package/decorators/index.d.ts +1 -0
  70. package/decorators/pure.d.ts +1 -1
  71. package/decorators/required-setter.d.ts +1 -1
  72. package/directives/media/media.directive.d.ts +3 -3
  73. package/esm2015/classes/validation-error.js +1 -1
  74. package/esm2015/coercion/coerce-boolean-property.js +1 -1
  75. package/esm2015/constants/version.js +2 -2
  76. package/esm2015/decorators/debounce.js +12 -0
  77. package/esm2015/decorators/default-prop.js +1 -1
  78. package/esm2015/decorators/index.js +2 -1
  79. package/esm2015/decorators/pure.js +1 -1
  80. package/esm2015/decorators/required-setter.js +1 -1
  81. package/esm2015/directives/autofilled/autofilled-style.component.js +1 -1
  82. package/esm2015/directives/media/media.directive.js +10 -10
  83. package/esm2015/pipes/index.js +2 -1
  84. package/esm2015/pipes/is-present/index.js +3 -0
  85. package/esm2015/pipes/is-present/is-present.module.js +16 -0
  86. package/esm2015/pipes/is-present/is-present.pipe.js +15 -0
  87. package/esm2015/pipes/is-present/taiga-ui-cdk-pipes-is-present.js +5 -0
  88. package/esm2015/utils/calendar/date-clamp.js +10 -0
  89. package/esm2015/utils/calendar/index.js +2 -0
  90. package/esm2015/utils/calendar/taiga-ui-cdk-utils-calendar.js +5 -0
  91. package/esm2015/utils/color/rgb-to-hsv.js +2 -1
  92. package/esm2015/utils/index.js +2 -1
  93. package/esm2015/utils/math/clamp.js +4 -4
  94. package/esm2015/utils/math/in-range.js +4 -4
  95. package/esm2015/utils/math/normalize-to-int-number.js +2 -2
  96. package/esm2015/utils/math/round.js +2 -2
  97. package/esm2015/utils/miscellaneous/array-shallow-equals.js +4 -0
  98. package/esm2015/utils/miscellaneous/ease-in-out-quad.js +2 -2
  99. package/esm2015/utils/miscellaneous/get-swipe-direction.js +2 -4
  100. package/esm2015/utils/miscellaneous/index.js +2 -1
  101. package/esm2015/utils/miscellaneous/uniq-by.js +1 -1
  102. package/fesm2015/taiga-ui-cdk-classes.js.map +1 -1
  103. package/fesm2015/taiga-ui-cdk-coercion.js.map +1 -1
  104. package/fesm2015/taiga-ui-cdk-constants.js +1 -1
  105. package/fesm2015/taiga-ui-cdk-constants.js.map +1 -1
  106. package/fesm2015/taiga-ui-cdk-decorators.js +13 -1
  107. package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
  108. package/fesm2015/taiga-ui-cdk-directives-autofilled.js +1 -1
  109. package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
  110. package/fesm2015/taiga-ui-cdk-directives-media.js +9 -9
  111. package/fesm2015/taiga-ui-cdk-directives-media.js.map +1 -1
  112. package/fesm2015/taiga-ui-cdk-pipes-is-present.js +35 -0
  113. package/fesm2015/taiga-ui-cdk-pipes-is-present.js.map +1 -0
  114. package/fesm2015/taiga-ui-cdk-pipes.js +1 -0
  115. package/fesm2015/taiga-ui-cdk-pipes.js.map +1 -1
  116. package/fesm2015/taiga-ui-cdk-utils-calendar.js +16 -0
  117. package/fesm2015/taiga-ui-cdk-utils-calendar.js.map +1 -0
  118. package/fesm2015/taiga-ui-cdk-utils-color.js +1 -0
  119. package/fesm2015/taiga-ui-cdk-utils-color.js.map +1 -1
  120. package/fesm2015/taiga-ui-cdk-utils-math.js +8 -8
  121. package/fesm2015/taiga-ui-cdk-utils-math.js.map +1 -1
  122. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js +7 -5
  123. package/fesm2015/taiga-ui-cdk-utils-miscellaneous.js.map +1 -1
  124. package/fesm2015/taiga-ui-cdk-utils.js +1 -0
  125. package/fesm2015/taiga-ui-cdk-utils.js.map +1 -1
  126. package/package.json +2 -2
  127. package/pipes/index.d.ts +1 -0
  128. package/pipes/is-present/index.d.ts +2 -0
  129. package/pipes/is-present/is-present.module.d.ts +7 -0
  130. package/pipes/is-present/is-present.pipe.d.ts +7 -0
  131. package/pipes/is-present/package.json +10 -0
  132. package/pipes/is-present/taiga-ui-cdk-pipes-is-present.d.ts +5 -0
  133. package/schematics/ng-update/constants/templates.d.ts +4 -2
  134. package/schematics/ng-update/constants/templates.js +22 -4
  135. package/utils/calendar/date-clamp.d.ts +2 -0
  136. package/utils/calendar/index.d.ts +1 -0
  137. package/utils/calendar/package.json +10 -0
  138. package/utils/calendar/taiga-ui-cdk-utils-calendar.d.ts +5 -0
  139. package/utils/index.d.ts +1 -0
  140. package/utils/miscellaneous/array-shallow-equals.d.ts +1 -0
  141. package/utils/miscellaneous/index.d.ts +1 -0
  142. package/utils/miscellaneous/uniq-by.d.ts +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: object,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {value: patched});\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends object, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: object,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\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-decorators.js","sources":["../../../projects/cdk/decorators/debounce.ts","../../../projects/cdk/decorators/default-prop.ts","../../../projects/cdk/decorators/pure.ts","../../../projects/cdk/decorators/required-setter.ts","../../../projects/cdk/decorators/taiga-ui-cdk-decorators.ts"],"sourcesContent":["export function tuiDebounce(timeout: number): MethodDecorator {\n let timeoutRef: ReturnType<typeof setTimeout> | undefined;\n\n return function (_target, _key: string | symbol, descriptor: PropertyDescriptor) {\n const {value} = descriptor;\n\n descriptor.value = function (...args: unknown[]) {\n clearTimeout(timeoutRef);\n timeoutRef = setTimeout(() => value.apply(this, args), timeout);\n };\n\n return descriptor;\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input values for undefined. You can also pass\n * optional assertion to check input against.\n *\n * CAUTION: This decorator overwrites other getters and setters.\n */\nexport function tuiDefaultProp<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: unknown[]\n): PropertyDecorator {\n return (target, key) => {\n const {name} = target.constructor;\n const errorGetDefaultMessage = errorGetDefault(key, name);\n const errorSetDefaultMessage = errorSetDefault(key, name);\n\n Object.defineProperty(target, key, {\n get(): undefined {\n tuiAssert.assert(false, errorGetDefaultMessage);\n\n return undefined;\n },\n set(this: T, initialValue: T[K]) {\n const isValid = initialValue !== undefined;\n const errorMessage = errorSetDefaultInitial(key, name);\n let currentValue = initialValue;\n\n tuiAssert.assert(isValid, errorMessage);\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, initialValue),\n `${String(key)} in ${name} received:`,\n initialValue,\n ...args,\n );\n }\n\n Object.defineProperty(this, key, {\n get(): T[K] {\n return currentValue;\n },\n set(this: T, value: T[K]) {\n const isValid = value !== undefined;\n const backupValue = initialValue;\n\n tuiAssert.assert(\n isValid,\n errorSetDefaultMessage,\n String(backupValue),\n );\n\n if (isValid && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n currentValue = isValid ? value : backupValue;\n },\n });\n },\n });\n };\n}\n\nfunction errorGetDefault(key: string | symbol, component: string): string {\n return `Default value for ${String(\n key,\n )} was not provided in ${component}, error in Taiga UI Angular Kit`;\n}\n\nfunction errorSetDefault(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, which is invalid input, using default value:`;\n}\n\nfunction errorSetDefaultInitial(key: string | symbol, component: string): string {\n return `Undefined was passed as default value for ${String(\n key,\n )} to ${component}, error in Taiga UI Angular Kit`;\n}\n","import {TuiPureException} from '@taiga-ui/cdk/exceptions';\n\n/**\n * Implements lazy initialization for getter or memoization of a function call similar to pure {@link: Pipe}.\n * Replaces getter with its calculated value upon first call or keeps track of last call arguments and returned\n * value for function, skipping calculation when arguments are strictly the same.\n *\n * @throws error if used not on getter or function\n *\n * CAUTION: `this` is not available inside such functions/getters, they must be pure.\n */\nexport function tuiPure<T>(\n _target: Record<string, any>,\n propertyKey: string,\n {get, enumerable, value}: TypedPropertyDescriptor<T>,\n): TypedPropertyDescriptor<T> {\n if (get) {\n return {\n enumerable,\n get(): T {\n const value = get.call(this);\n\n Object.defineProperty(this, propertyKey, {enumerable, value});\n\n return value;\n },\n };\n }\n\n if (typeof value !== `function`) {\n throw new TuiPureException();\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: readonly unknown[] = [];\n let originalFnWasCalledLeastAtOnce = false;\n let pureValue: unknown;\n\n const patched = (...args: unknown[]): unknown => {\n const isPure =\n originalFnWasCalledLeastAtOnce &&\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index]);\n\n if (isPure) {\n return pureValue;\n }\n\n previousArgs = args;\n pureValue = original.apply(this, args);\n originalFnWasCalledLeastAtOnce = true;\n\n return pureValue;\n };\n\n Object.defineProperty(this, propertyKey, {value: patched});\n\n return patched as unknown as T;\n },\n };\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\nimport {TuiBooleanHandler} from '@taiga-ui/cdk/types';\n\n/**\n * Decorator for checking input setter values against a custom assertion which\n * takes value passed to input setter and component instance as arguments.\n * It specifically checks for undefined values and prevents calls to the\n * original setter in this case.\n */\nexport function tuiRequiredSetter<T extends Record<string, any>, K extends keyof T>(\n assertion?: TuiBooleanHandler<T[K]>,\n ...args: any[]\n): MethodDecorator {\n return (\n target: Record<string, any>,\n key,\n {configurable, enumerable, get, set}: PropertyDescriptor,\n ): PropertyDescriptor => {\n const {name} = target.constructor;\n\n return {\n configurable,\n enumerable,\n get,\n set(this: T, value: T[K]) {\n if (value !== undefined && assertion) {\n tuiAssert.assert(\n assertion.call(this, value),\n `${String(key)} in ${name} received:`,\n value,\n ...args,\n );\n }\n\n if (!set || value === undefined) {\n tuiAssert.assert(value !== undefined, errorSet(key, name));\n\n return;\n }\n\n set.call(this, value);\n },\n };\n };\n}\n\nfunction errorSet(key: string | symbol, component: string): string {\n return `Undefined was passed as ${String(\n key,\n )} to ${component}, setter will not be called`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ import { TuiDirectiveStylesService } from '@taiga-ui/cdk/services';
6
6
  class TuiAutofilledStyleComponent {
7
7
  }
8
8
  TuiAutofilledStyleComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
9
- TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true, styles: [".tui-autofill input,input.tui-autofill{transition:box-shadow .01s}.tui-autofill input::-webkit-credit-card-auto-fill-button,input.tui-autofill::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}\n"], encapsulation: i0.ViewEncapsulation.None });
9
+ TuiAutofilledStyleComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiAutofilledStyleComponent, selector: "ng-component", ngImport: i0, template: ``, isInline: true, styles: [".tui-autofill input,input.tui-autofill{transition:box-shadow .01s}\n"], encapsulation: i0.ViewEncapsulation.None });
10
10
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiAutofilledStyleComponent, decorators: [{
11
11
  type: Component,
12
12
  args: [{
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["../../../projects/cdk/directives/autofilled/autofilled-style.component.ts","../../../projects/cdk/directives/autofilled/autofilled.directive.ts","../../../projects/cdk/directives/autofilled/autofilled.module.ts","../../../projects/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: ``,\n styleUrls: [`./autofilled.style.less`],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAutofilledStyleComponent {}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Output,\n} from '@angular/core';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\n\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@Directive({\n selector: `[tuiAutofilledChange]`,\n host: {class: `tui-autofill`},\n})\nexport class TuiAutofilledDirective {\n @HostBinding(`class._autofilled`)\n autofilled = false;\n\n @Output()\n readonly tuiAutofilledChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiAutofilledStyleComponent);\n }\n\n @HostListener(`transitionstart`, [`$event`])\n transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes(`box-shadow`) && (target as Element)?.matches(`input`);\n\n if (matchedAutofill) {\n this.autofilled = !this.autofilled;\n this.tuiAutofilledChange.emit(this.autofilled);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@NgModule({\n exports: [TuiAutofilledDirective],\n declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],\n})\nexport class TuiAutofilledModule {}\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-directives-autofilled.js","sources":["../../../projects/cdk/directives/autofilled/autofilled-style.component.ts","../../../projects/cdk/directives/autofilled/autofilled.directive.ts","../../../projects/cdk/directives/autofilled/autofilled.module.ts","../../../projects/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Component, ViewEncapsulation} from '@angular/core';\n\n@Component({\n template: ``,\n styleUrls: [`./autofilled.style.less`],\n encapsulation: ViewEncapsulation.None,\n})\nexport class TuiAutofilledStyleComponent {}\n","import {\n Directive,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Output,\n} from '@angular/core';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\n\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@Directive({\n selector: `[tuiAutofilledChange]`,\n host: {class: `tui-autofill`},\n})\nexport class TuiAutofilledDirective {\n @HostBinding(`class._autofilled`)\n autofilled = false;\n\n @Output()\n readonly tuiAutofilledChange = new EventEmitter<boolean>();\n\n constructor(\n @Inject(TuiDirectiveStylesService) directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addComponent(TuiAutofilledStyleComponent);\n }\n\n @HostListener(`transitionstart`, [`$event`])\n transitionStartHandler({propertyName, target}: TransitionEvent): void {\n const matchedAutofill =\n propertyName.includes(`box-shadow`) && (target as Element)?.matches(`input`);\n\n if (matchedAutofill) {\n this.autofilled = !this.autofilled;\n this.tuiAutofilledChange.emit(this.autofilled);\n }\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\nimport {TuiAutofilledStyleComponent} from './autofilled-style.component';\n\n@NgModule({\n exports: [TuiAutofilledDirective],\n declarations: [TuiAutofilledDirective, TuiAutofilledStyleComponent],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;MAOa,2BAA2B,CAAA;;yHAA3B,2BAA2B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA3B,2BAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,2BAA2B,oDAJ1B,CAAE,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,sEAAA,CAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4FAIH,2BAA2B,EAAA,UAAA,EAAA,CAAA;kBALvC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAE,CAAA;oBACZ,SAAS,EAAE,CAAC,CAAA,uBAAA,CAAyB,CAAC;oBACtC,aAAa,EAAE,iBAAiB,CAAC,IAAI;AACxC,iBAAA,CAAA;;;MCUY,sBAAsB,CAAA;AAO/B,IAAA,WAAA,CACuC,eAA0C,EAAA;QANjF,IAAU,CAAA,UAAA,GAAG,KAAK,CAAC;AAGV,QAAA,IAAA,CAAA,mBAAmB,GAAG,IAAI,YAAY,EAAW,CAAC;AAKvD,QAAA,eAAe,CAAC,YAAY,CAAC,2BAA2B,CAAC,CAAC;KAC7D;AAGD,IAAA,sBAAsB,CAAC,EAAC,YAAY,EAAE,MAAM,EAAkB,EAAA;;AAC1D,QAAA,MAAM,eAAe,GACjB,YAAY,CAAC,QAAQ,CAAC,CAAY,UAAA,CAAA,CAAC,KAAI,CAAA,EAAA,GAAC,MAAkB,MAAE,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,OAAO,CAAC,CAAO,KAAA,CAAA,CAAC,CAAA,CAAC;AAEjF,QAAA,IAAI,eAAe,EAAE;AACjB,YAAA,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC;YACnC,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAClD,SAAA;KACJ;;AAtBQ,sBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,sBAAsB,kBAQnB,yBAAyB,EAAA,CAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;wGAR5B,sBAAsB,EAAA,QAAA,EAAA,uBAAA,EAAA,OAAA,EAAA,EAAA,mBAAA,EAAA,qBAAA,EAAA,EAAA,IAAA,EAAA,EAAA,SAAA,EAAA,EAAA,iBAAA,EAAA,gCAAA,EAAA,EAAA,UAAA,EAAA,EAAA,mBAAA,EAAA,iBAAA,EAAA,EAAA,cAAA,EAAA,cAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,CAAuB,qBAAA,CAAA;AACjC,oBAAA,IAAI,EAAE,EAAC,KAAK,EAAE,cAAc,EAAC;AAChC,iBAAA,CAAA;;0BASQ,MAAM;2BAAC,yBAAyB,CAAA;4CANrC,UAAU,EAAA,CAAA;sBADT,WAAW;uBAAC,CAAmB,iBAAA,CAAA,CAAA;gBAIvB,mBAAmB,EAAA,CAAA;sBAD3B,MAAM;gBAUP,sBAAsB,EAAA,CAAA;sBADrB,YAAY;uBAAC,CAAiB,eAAA,CAAA,EAAE,CAAC,CAAA,MAAA,CAAQ,CAAC,CAAA;;;MCpBlC,mBAAmB,CAAA;;iHAAnB,mBAAmB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAnB,mBAAA,CAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,mBAAmB,EAFb,YAAA,EAAA,CAAA,sBAAsB,EAAE,2BAA2B,aADxD,sBAAsB,CAAA,EAAA,CAAA,CAAA;kHAGvB,mBAAmB,EAAA,CAAA,CAAA;4FAAnB,mBAAmB,EAAA,UAAA,EAAA,CAAA;kBAJ/B,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,OAAO,EAAE,CAAC,sBAAsB,CAAC;AACjC,oBAAA,YAAY,EAAE,CAAC,sBAAsB,EAAE,2BAA2B,CAAC;AACtE,iBAAA,CAAA;;;ACRD;;AAEG;;;;"}
@@ -20,6 +20,9 @@ class TuiMediaDirective {
20
20
  this.elementRef.nativeElement.currentTime = currentTime;
21
21
  }
22
22
  }
23
+ get currentTime() {
24
+ return this.elementRef.nativeElement.currentTime;
25
+ }
23
26
  set paused(paused) {
24
27
  if (paused) {
25
28
  this.elementRef.nativeElement.pause();
@@ -33,9 +36,6 @@ class TuiMediaDirective {
33
36
  get paused() {
34
37
  return this.elementRef.nativeElement.paused;
35
38
  }
36
- get currentTime() {
37
- return this.elementRef.nativeElement.currentTime;
38
- }
39
39
  // @bad TODO: Make sure no other events can affect this like network issues etc.
40
40
  onPausedChange(paused) {
41
41
  this.pausedChange.emit(paused);
@@ -59,7 +59,7 @@ class TuiMediaDirective {
59
59
  TuiMediaDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiMediaDirective, deps: [{ token: ElementRef }], target: i0.ɵɵFactoryTarget.Directive });
60
60
  TuiMediaDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.16", type: TuiMediaDirective, selector: "video[tuiMedia], audio[tuiMedia]", inputs: { volume: "volume", playbackRateSetter: ["playbackRate", "playbackRateSetter"], currentTime: "currentTime", paused: "paused" }, outputs: { currentTimeChange: "currentTimeChange", pausedChange: "pausedChange", volumeChange: "volumeChange" }, host: { listeners: { "ended": "onPausedChange(true)", "pause": "onPausedChange(true)", "play": "onPausedChange(false)", "volumechange": "onVolumeChange()", "timeupdate": "onCurrentTimeChange()", "seeking": "onCurrentTimeChange()", "seeked": "onCurrentTimeChange()", "durationchange": "changeDetectionTrigger()" }, properties: { "volume": "this.volume" } }, exportAs: ["tuiMedia"], ngImport: i0 });
61
61
  __decorate([
62
- tuiDefaultProp((volume) => isFinite(volume) && volume >= 0 && volume <= 1)
62
+ tuiDefaultProp((volume) => Number.isFinite(volume) && volume >= 0 && volume <= 1)
63
63
  ], TuiMediaDirective.prototype, "volume", void 0);
64
64
  __decorate([
65
65
  tuiRequiredSetter(nonNegativeFiniteAssertion)
@@ -84,16 +84,16 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
84
84
  }], playbackRateSetter: [{
85
85
  type: Input,
86
86
  args: [`playbackRate`]
87
- }], currentTime: [{
88
- type: Input
89
- }], paused: [{
90
- type: Input
91
87
  }], currentTimeChange: [{
92
88
  type: Output
93
89
  }], pausedChange: [{
94
90
  type: Output
95
91
  }], volumeChange: [{
96
92
  type: Output
93
+ }], currentTime: [{
94
+ type: Input
95
+ }], paused: [{
96
+ type: Input
97
97
  }], onPausedChange: [{
98
98
  type: HostListener,
99
99
  args: [`ended`, [`true`]]
@@ -120,7 +120,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
120
120
  args: [`durationchange`]
121
121
  }] } });
122
122
  function nonNegativeFiniteAssertion(value) {
123
- return isFinite(value) && value >= 0;
123
+ return Number.isFinite(value) && value >= 0;
124
124
  }
125
125
 
126
126
  class TuiMediaModule {
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-directives-media.js","sources":["../../../projects/cdk/directives/media/media.directive.ts","../../../projects/cdk/directives/media/media.module.ts","../../../projects/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\n@Directive({\n selector: `video[tuiMedia], audio[tuiMedia]`,\n exportAs: `tuiMedia`,\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding(`volume`)\n @tuiDefaultProp((volume: number) => isFinite(volume) && volume >= 0 && volume <= 1)\n volume = 1;\n\n @Input(`playbackRate`)\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener(`ended`, [`true`])\n @HostListener(`pause`, [`true`])\n @HostListener(`play`, [`false`])\n onPausedChange(paused: boolean): void {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener(`volumechange`)\n onVolumeChange(): void {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener(`timeupdate`)\n @HostListener(`seeking`)\n @HostListener(`seeked`)\n onCurrentTimeChange(): void {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener(`durationchange`)\n changeDetectionTrigger(): void {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number): void {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n\nfunction nonNegativeFiniteAssertion(value: number): boolean {\n return isFinite(value) && value >= 0;\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\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-directives-media.js","sources":["../../../projects/cdk/directives/media/media.directive.ts","../../../projects/cdk/directives/media/media.module.ts","../../../projects/cdk/directives/media/taiga-ui-cdk-directives-media.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n EventEmitter,\n HostBinding,\n HostListener,\n Inject,\n Input,\n Output,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiRequiredSetter} from '@taiga-ui/cdk/decorators';\n\n@Directive({\n selector: `video[tuiMedia], audio[tuiMedia]`,\n exportAs: `tuiMedia`,\n})\nexport class TuiMediaDirective {\n private playbackRate = 1;\n\n @Input()\n @HostBinding(`volume`)\n @tuiDefaultProp(\n (volume: number) => Number.isFinite(volume) && volume >= 0 && volume <= 1,\n )\n volume = 1;\n\n @Input(`playbackRate`)\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set playbackRateSetter(playbackRate: number) {\n this.updatePlaybackRate(playbackRate);\n }\n\n @Output()\n readonly currentTimeChange = new EventEmitter<number>();\n\n @Output()\n readonly pausedChange = new EventEmitter<boolean>();\n\n @Output()\n readonly volumeChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLMediaElement>,\n ) {}\n\n @Input()\n @tuiRequiredSetter(nonNegativeFiniteAssertion)\n set currentTime(currentTime: number) {\n if (Math.abs(currentTime - this.currentTime) > 0.05) {\n this.elementRef.nativeElement.currentTime = currentTime;\n }\n }\n\n get currentTime(): number {\n return this.elementRef.nativeElement.currentTime;\n }\n\n @Input()\n set paused(paused: boolean) {\n if (paused) {\n this.elementRef.nativeElement.pause();\n } else {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n this.elementRef.nativeElement.play();\n this.updatePlaybackRate(this.playbackRate);\n }\n }\n\n get paused(): boolean {\n return this.elementRef.nativeElement.paused;\n }\n\n // @bad TODO: Make sure no other events can affect this like network issues etc.\n @HostListener(`ended`, [`true`])\n @HostListener(`pause`, [`true`])\n @HostListener(`play`, [`false`])\n onPausedChange(paused: boolean): void {\n this.pausedChange.emit(paused);\n this.updatePlaybackRate(this.playbackRate);\n }\n\n @HostListener(`volumechange`)\n onVolumeChange(): void {\n this.volume = this.elementRef.nativeElement.volume;\n this.volumeChange.emit(this.volume);\n }\n\n @HostListener(`timeupdate`)\n @HostListener(`seeking`)\n @HostListener(`seeked`)\n onCurrentTimeChange(): void {\n this.currentTimeChange.emit(this.currentTime);\n }\n\n @HostListener(`durationchange`)\n changeDetectionTrigger(): void {\n // @bad TODO: consider if other events need to trigger CD\n }\n\n private updatePlaybackRate(playbackRate: number): void {\n this.playbackRate = playbackRate;\n this.elementRef.nativeElement.playbackRate = this.playbackRate;\n }\n}\n\nfunction nonNegativeFiniteAssertion(value: number): boolean {\n return Number.isFinite(value) && value >= 0;\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiMediaDirective} from './media.directive';\n\n@NgModule({\n declarations: [TuiMediaDirective],\n exports: [TuiMediaDirective],\n})\nexport class TuiMediaModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import * as i0 from '@angular/core';
2
+ import { Pipe, NgModule } from '@angular/core';
3
+ import { tuiIsPresent } from '@taiga-ui/cdk/utils';
4
+
5
+ class TuiIsPresentPipe {
6
+ transform(value) {
7
+ return tuiIsPresent(value);
8
+ }
9
+ }
10
+ TuiIsPresentPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
11
+ TuiIsPresentPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipe, name: "tuiIsPresent" });
12
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipe, decorators: [{
13
+ type: Pipe,
14
+ args: [{ name: `tuiIsPresent` }]
15
+ }] });
16
+
17
+ class TuiIsPresentPipeModule {
18
+ }
19
+ TuiIsPresentPipeModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipeModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
20
+ TuiIsPresentPipeModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipeModule, declarations: [TuiIsPresentPipe], exports: [TuiIsPresentPipe] });
21
+ TuiIsPresentPipeModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipeModule });
22
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiIsPresentPipeModule, decorators: [{
23
+ type: NgModule,
24
+ args: [{
25
+ declarations: [TuiIsPresentPipe],
26
+ exports: [TuiIsPresentPipe],
27
+ }]
28
+ }] });
29
+
30
+ /**
31
+ * Generated bundle index. Do not edit.
32
+ */
33
+
34
+ export { TuiIsPresentPipe, TuiIsPresentPipeModule };
35
+ //# sourceMappingURL=taiga-ui-cdk-pipes-is-present.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-pipes-is-present.js","sources":["../../../projects/cdk/pipes/is-present/is-present.pipe.ts","../../../projects/cdk/pipes/is-present/is-present.module.ts","../../../projects/cdk/pipes/is-present/taiga-ui-cdk-pipes-is-present.ts"],"sourcesContent":["import {Pipe, PipeTransform} from '@angular/core';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils';\n\n@Pipe({name: `tuiIsPresent`})\nexport class TuiIsPresentPipe implements PipeTransform {\n transform<T>(value?: T | null): value is T {\n return tuiIsPresent(value);\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiIsPresentPipe} from './is-present.pipe';\n\n@NgModule({\n declarations: [TuiIsPresentPipe],\n exports: [TuiIsPresentPipe],\n})\nexport class TuiIsPresentPipeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,gBAAgB,CAAA;AACzB,IAAA,SAAS,CAAI,KAAgB,EAAA;AACzB,QAAA,OAAO,YAAY,CAAC,KAAK,CAAC,CAAC;KAC9B;;8GAHQ,gBAAgB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,IAAA,EAAA,CAAA,CAAA;4GAAhB,gBAAgB,EAAA,IAAA,EAAA,cAAA,EAAA,CAAA,CAAA;4FAAhB,gBAAgB,EAAA,UAAA,EAAA,CAAA;kBAD5B,IAAI;mBAAC,EAAC,IAAI,EAAE,CAAA,YAAA,CAAc,EAAC,CAAA;;;MCKf,sBAAsB,CAAA;;oHAAtB,sBAAsB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;qHAAtB,sBAAsB,EAAA,YAAA,EAAA,CAHhB,gBAAgB,CAAA,EAAA,OAAA,EAAA,CACrB,gBAAgB,CAAA,EAAA,CAAA,CAAA;qHAEjB,sBAAsB,EAAA,CAAA,CAAA;4FAAtB,sBAAsB,EAAA,UAAA,EAAA,CAAA;kBAJlC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;oBACN,YAAY,EAAE,CAAC,gBAAgB,CAAC;oBAChC,OAAO,EAAE,CAAC,gBAAgB,CAAC;AAC9B,iBAAA,CAAA;;;ACPD;;AAEG;;;;"}
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/cdk/pipes/filter';
2
+ export * from '@taiga-ui/cdk/pipes/is-present';
2
3
  export * from '@taiga-ui/cdk/pipes/keys';
3
4
  export * from '@taiga-ui/cdk/pipes/mapper';
4
5
 
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-pipes.js","sources":["../../../projects/cdk/pipes/taiga-ui-cdk-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-cdk-pipes.js","sources":["../../../projects/cdk/pipes/taiga-ui-cdk-pipes.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;AAAA;;AAEG"}
@@ -0,0 +1,16 @@
1
+ function tuiDateClamp(date, min, max) {
2
+ if (max && max < date) {
3
+ return max;
4
+ }
5
+ if (min && min > date) {
6
+ return min;
7
+ }
8
+ return date;
9
+ }
10
+
11
+ /**
12
+ * Generated bundle index. Do not edit.
13
+ */
14
+
15
+ export { tuiDateClamp };
16
+ //# sourceMappingURL=taiga-ui-cdk-utils-calendar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"taiga-ui-cdk-utils-calendar.js","sources":["../../../projects/cdk/utils/calendar/date-clamp.ts","../../../projects/cdk/utils/calendar/taiga-ui-cdk-utils-calendar.ts"],"sourcesContent":["import {TuiYear} from '@taiga-ui/cdk/date-time';\n\nexport function tuiDateClamp<T extends TuiYear>(date: T, min?: T, max?: T): T {\n if (max && max < date) {\n return max;\n }\n\n if (min && min > date) {\n return min;\n }\n\n return date;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"SAEgB,YAAY,CAAoB,IAAO,EAAE,GAAO,EAAE,GAAO,EAAA;AACrE,IAAA,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC;AACd,KAAA;AAED,IAAA,IAAI,GAAG,IAAI,GAAG,GAAG,IAAI,EAAE;AACnB,QAAA,OAAO,GAAG,CAAC;AACd,KAAA;AAED,IAAA,OAAO,IAAI,CAAC;AAChB;;ACZA;;AAEG;;;;"}
@@ -55,6 +55,7 @@ function tuiRgbToHex(r, g, b) {
55
55
  function tuiRgbToHsv(r, g, b) {
56
56
  const v = Math.max(r, g, b);
57
57
  const n = v - Math.min(r, g, b);
58
+ // eslint-disable-next-line no-nested-ternary
58
59
  const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);
59
60
  return [60 * (h < 0 ? h + 6 : h), v && n / v, v];
60
61
  }
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-color.js","sources":["../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["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","/**\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\nfunction 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","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","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 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","/**\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.js","sources":["../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["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","/**\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\nfunction 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","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","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","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -8,17 +8,17 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
8
8
  * @param max upper limit
9
9
  */
10
10
  function tuiClamp(value, min, max) {
11
- tuiAssert.assert(!isNaN(value));
12
- tuiAssert.assert(!isNaN(min));
13
- tuiAssert.assert(!isNaN(max));
11
+ tuiAssert.assert(!Number.isNaN(value));
12
+ tuiAssert.assert(!Number.isNaN(min));
13
+ tuiAssert.assert(!Number.isNaN(max));
14
14
  tuiAssert.assert(max >= min);
15
15
  return Math.min(max, Math.max(min, value));
16
16
  }
17
17
 
18
18
  function tuiInRange(value, fromInclude, toExclude) {
19
- tuiAssert.assert(!isNaN(value));
20
- tuiAssert.assert(!isNaN(fromInclude));
21
- tuiAssert.assert(!isNaN(toExclude));
19
+ tuiAssert.assert(!Number.isNaN(value));
20
+ tuiAssert.assert(!Number.isNaN(fromInclude));
21
+ tuiAssert.assert(!Number.isNaN(toExclude));
22
22
  tuiAssert.assert(fromInclude < toExclude);
23
23
  return value >= fromInclude && value < toExclude;
24
24
  }
@@ -35,7 +35,7 @@ function tuiNormalizeToIntNumber(value, min, max) {
35
35
  tuiAssert.assert(Number.isInteger(min));
36
36
  tuiAssert.assert(Number.isInteger(max));
37
37
  tuiAssert.assert(min <= max);
38
- if (isNaN(value) || value <= min) {
38
+ if (Number.isNaN(value) || value <= min) {
39
39
  return min;
40
40
  }
41
41
  if (value >= max) {
@@ -79,7 +79,7 @@ function calculate(value, precision, func) {
79
79
  if (value === Infinity) {
80
80
  return value;
81
81
  }
82
- tuiAssert.assert(!isNaN(value), `Value must be number`);
82
+ tuiAssert.assert(!Number.isNaN(value), `Value must be number`);
83
83
  tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);
84
84
  precision = Math.min(precision, MAX_PRECISION);
85
85
  const pair = `${value}e`.split(`e`);
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-math.js","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/to-radians.ts","../../../projects/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\nexport function tuiClamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(min));\n tuiAssert.assert(!isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n tuiAssert.assert(!isNaN(value));\n tuiAssert.assert(!isNaN(fromInclude));\n tuiAssert.assert(!isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function tuiQuantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\nexport function tuiRound(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!isNaN(value), `Value must be number`);\n tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split(`e`);\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split(`e`);\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function tuiSum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function tuiToInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function tuiToRadians(deg: number): number {\n return (deg * Math.PI) / 180;\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-math.js","sources":["../../../projects/cdk/utils/math/clamp.ts","../../../projects/cdk/utils/math/in-range.ts","../../../projects/cdk/utils/math/normalize-to-int-number.ts","../../../projects/cdk/utils/math/quantize.ts","../../../projects/cdk/utils/math/round.ts","../../../projects/cdk/utils/math/sum.ts","../../../projects/cdk/utils/math/to-int.ts","../../../projects/cdk/utils/math/to-radians.ts","../../../projects/cdk/utils/math/taiga-ui-cdk-utils-math.ts"],"sourcesContent":["import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Clamps a value between two inclusive limits\n *\n * @param value\n * @param min lower limit\n * @param max upper limit\n */\nexport function tuiClamp(value: number, min: number, max: number): number {\n tuiAssert.assert(!Number.isNaN(value));\n tuiAssert.assert(!Number.isNaN(min));\n tuiAssert.assert(!Number.isNaN(max));\n tuiAssert.assert(max >= min);\n\n return Math.min(max, Math.max(min, value));\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiInRange(\n value: number,\n fromInclude: number,\n toExclude: number,\n): boolean {\n tuiAssert.assert(!Number.isNaN(value));\n tuiAssert.assert(!Number.isNaN(fromInclude));\n tuiAssert.assert(!Number.isNaN(toExclude));\n tuiAssert.assert(fromInclude < toExclude);\n\n return value >= fromInclude && value < toExclude;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Normalizes any number to an integer within inclusive range\n *\n * @param value\n * @param min lower inclusive integer\n * @param max upper inclusive integer\n * @return an integer between min and max inclusive\n */\nexport function tuiNormalizeToIntNumber(value: number, min: number, max: number): number {\n tuiAssert.assert(Number.isInteger(min));\n tuiAssert.assert(Number.isInteger(max));\n tuiAssert.assert(min <= max);\n\n if (Number.isNaN(value) || value <= min) {\n return min;\n }\n\n if (value >= max) {\n return max;\n }\n\n return Math.round(value);\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Rounds a number to the closest value in a fixed discrete series\n *\n * @param value\n * @param quantum series step\n */\nexport function tuiQuantize(value: number, quantum: number): number {\n tuiAssert.assert(Number.isFinite(value));\n tuiAssert.assert(Number.isFinite(quantum));\n tuiAssert.assert(quantum > 0);\n\n const remainder = value % quantum;\n\n return remainder < quantum / 2 ? value - remainder : value + quantum - remainder;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nconst MAX_PRECISION = 292;\n\nexport function tuiRound(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.round);\n}\n\nexport function tuiCeil(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.ceil);\n}\n\nexport function tuiFloor(value: number, precision: number = 0): number {\n return calculate(value, precision, Math.floor);\n}\n\n/**\n * Rounding number to the set precision\n *\n * @param value\n * @param precision number of digits in a float part\n * @param func rounding function (round, floor, ceil)\n */\nfunction calculate(\n value: number,\n precision: number,\n func: (x: number) => number,\n): number {\n if (value === Infinity) {\n return value;\n }\n\n tuiAssert.assert(!Number.isNaN(value), `Value must be number`);\n tuiAssert.assert(Number.isInteger(precision), `Precision must be integer`);\n\n precision = Math.min(precision, MAX_PRECISION);\n\n const pair = `${value}e`.split(`e`);\n const tempValue = func(Number(`${pair[0]}e${Number(pair[1]) + precision}`));\n const processedPair = `${tempValue}e`.split(`e`);\n\n return Number(`${processedPair[0]}e${Number(processedPair[1]) - precision}`);\n}\n","/**\n * Calculates sum of any number of passed arguments\n */\nexport function tuiSum(...args: number[]): number {\n return args.reduce((a, b) => a + b, 0);\n}\n","export function tuiToInt(bool: boolean): 1 | 0 {\n return bool ? 1 : 0;\n}\n","/**\n * Converts angle in degrees to radians\n */\nexport function tuiToRadians(deg: number): number {\n return (deg * Math.PI) / 180;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -5,6 +5,10 @@ function tuiArrayRemove(array, index) {
5
5
  return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));
6
6
  }
7
7
 
8
+ function tuiArrayShallowEquals(a, b) {
9
+ return a.length === b.length && a.every((item, index) => item === b[index]);
10
+ }
11
+
8
12
  function tuiArrayToggle(array, item) {
9
13
  const index = array.indexOf(item);
10
14
  return index === -1 ? [...array, item] : tuiArrayRemove(array, index);
@@ -15,7 +19,7 @@ function tuiDistanceBetweenTouches({ touches }) {
15
19
  }
16
20
 
17
21
  function tuiEaseInOutQuad(t) {
18
- tuiAssert.assert(0 <= t && t <= 1, `Input must be between 0 and 1 inclusive but received `, t);
22
+ tuiAssert.assert(t >= 0 && t <= 1, `Input must be between 0 and 1 inclusive but received `, t);
19
23
  return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;
20
24
  }
21
25
 
@@ -47,9 +51,7 @@ function tuiGetSwipeDirection(deltaX, deltaY) {
47
51
  if (Math.abs(deltaY) > Math.abs(deltaX)) {
48
52
  return deltaY > 0 ? `top` : `bottom`;
49
53
  }
50
- else {
51
- return deltaX > 0 ? `left` : `right`;
52
- }
54
+ return deltaX > 0 ? `left` : `right`;
53
55
  }
54
56
 
55
57
  function tuiIsNumber(value) {
@@ -107,5 +109,5 @@ function tuiUniqBy(array, key) {
107
109
  * Generated bundle index. Do not edit.
108
110
  */
109
111
 
110
- export { tuiArrayRemove, tuiArrayToggle, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFlatLength, tuiGetOriginalArrayFromQueryList, tuiGetSwipeDirection, tuiIsNumber, tuiIsPresent, tuiIsString, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiUniqBy };
112
+ export { tuiArrayRemove, tuiArrayShallowEquals, tuiArrayToggle, tuiDistanceBetweenTouches, tuiEaseInOutQuad, tuiFlatLength, tuiGetOriginalArrayFromQueryList, tuiGetSwipeDirection, tuiIsNumber, tuiIsPresent, tuiIsString, tuiMarkControlAsTouchedAndValidate, tuiNullableSame, tuiUniqBy };
111
113
  //# sourceMappingURL=taiga-ui-cdk-utils-miscellaneous.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.js","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/flat-length.ts","../../../projects/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","../../../projects/cdk/utils/miscellaneous/get-swipe-direction.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/uniq-by.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","import {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(array: readonly T[], item: T): T[] {\n const index = array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiEaseInOutQuad(t: number): number {\n tuiAssert.assert(\n 0 <= t && t <= 1,\n `Input must be between 0 and 1 inclusive but received `,\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","/**\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function tuiFlatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function tuiGetOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? `top` : `bottom`;\n } else {\n return deltaX > 0 ? `left` : `right`;\n }\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === `number`;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === `string`;\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function tuiUniqBy<T extends object>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils-miscellaneous.js","sources":["../../../projects/cdk/utils/miscellaneous/array-remove.ts","../../../projects/cdk/utils/miscellaneous/array-shallow-equals.ts","../../../projects/cdk/utils/miscellaneous/array-toggle.ts","../../../projects/cdk/utils/miscellaneous/distance-between-touches.ts","../../../projects/cdk/utils/miscellaneous/ease-in-out-quad.ts","../../../projects/cdk/utils/miscellaneous/flat-length.ts","../../../projects/cdk/utils/miscellaneous/get-original-array-from-query-list.ts","../../../projects/cdk/utils/miscellaneous/get-swipe-direction.ts","../../../projects/cdk/utils/miscellaneous/is-number.ts","../../../projects/cdk/utils/miscellaneous/is-present.ts","../../../projects/cdk/utils/miscellaneous/is-string.ts","../../../projects/cdk/utils/miscellaneous/mark-control-as-touched-and-validate.ts","../../../projects/cdk/utils/miscellaneous/nullable-same.ts","../../../projects/cdk/utils/miscellaneous/uniq-by.ts","../../../projects/cdk/utils/miscellaneous/taiga-ui-cdk-utils-miscellaneous.ts"],"sourcesContent":["export function tuiArrayRemove<T>(array: readonly T[], index: number): T[] {\n return array.slice(0, Math.max(index, 0)).concat(array.slice(Math.max(index + 1, 0)));\n}\n","export function tuiArrayShallowEquals<T>(a: readonly T[], b: readonly T[]): boolean {\n return a.length === b.length && a.every((item, index) => item === b[index]);\n}\n","import {tuiArrayRemove} from './array-remove';\n\nexport function tuiArrayToggle<T>(array: readonly T[], item: T): T[] {\n const index = array.indexOf(item);\n\n return index === -1 ? [...array, item] : tuiArrayRemove(array, index);\n}\n","export function tuiDistanceBetweenTouches({touches}: TouchEvent): number {\n return Math.hypot(\n touches[0].clientX - touches[1].clientX,\n touches[0].clientY - touches[1].clientY,\n );\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\nexport function tuiEaseInOutQuad(t: number): number {\n tuiAssert.assert(\n t >= 0 && t <= 1,\n `Input must be between 0 and 1 inclusive but received `,\n t,\n );\n\n return t < 0.5 ? 2 * t * t : -1 + (4 - 2 * t) * t;\n}\n","/**\n * Flattens two-dimensional array and calculates resulting length\n *\n * @param array twi dimensional array\n */\nexport function tuiFlatLength(array: ReadonlyArray<readonly unknown[]>): number {\n return array.reduce((count, section) => count + section.length, 0);\n}\n","import {QueryList} from '@angular/core';\n\n/**\n * Extracts original array from {@link QueryList} rather than\n * creating a copy like {@link QueryList.toArray} does.\n * @param queryList\n * @returns original array from {@link QueryList}.\n */\nexport function tuiGetOriginalArrayFromQueryList<T>(\n queryList: QueryList<T>,\n): readonly T[] {\n let array: readonly T[] = [];\n\n queryList.find((_item, _index, originalArray) => {\n array = originalArray;\n\n return true;\n });\n\n return array;\n}\n","import {TuiSwipeDirection} from '@taiga-ui/cdk/interfaces';\n\nexport function tuiGetSwipeDirection(deltaX: number, deltaY: number): TuiSwipeDirection {\n if (Math.abs(deltaY) > Math.abs(deltaX)) {\n return deltaY > 0 ? `top` : `bottom`;\n }\n\n return deltaX > 0 ? `left` : `right`;\n}\n","export function tuiIsNumber(value: unknown): value is number {\n return typeof value === `number`;\n}\n","export function tuiIsPresent<T>(value?: T | null): value is T {\n return value !== null && value !== undefined;\n}\n","export function tuiIsString(value: unknown): value is string {\n return typeof value === `string`;\n}\n","import {AbstractControl, FormArray, FormGroup} from '@angular/forms';\n\nexport function tuiMarkControlAsTouchedAndValidate(control: AbstractControl): void {\n if (control instanceof FormArray) {\n control.controls.forEach(nestedControl => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n if (control instanceof FormGroup) {\n Object.values(control.controls).forEach(nestedControl => {\n tuiMarkControlAsTouchedAndValidate(nestedControl);\n });\n }\n\n control.markAsTouched();\n control.updateValueAndValidity();\n}\n","import {TuiIdentityMatcher} from '@taiga-ui/cdk/types';\n\n/**\n * Checks identity for nullable elements.\n *\n * @param a element a\n * @param b element b\n * @param handler called if both elements are not null\n * @return true if either both are null or they pass identity handler\n */\nexport function tuiNullableSame<T>(\n a: T | null,\n b: T | null,\n handler: TuiIdentityMatcher<T>,\n): boolean {\n if (a === null) {\n return b === null;\n }\n\n if (b === null) {\n return false;\n }\n\n return handler(a, b);\n}\n","export function tuiUniqBy<T extends Record<string, any>>(\n array: readonly T[],\n key: keyof T,\n): readonly T[] {\n return Array.from(\n array\n .reduce(\n (map, item) => (map.has(item[key]) ? map : map.set(item[key], item)),\n new Map<T[keyof T], T>(),\n )\n .values(),\n );\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export * from '@taiga-ui/cdk/utils/browser';
2
+ export * from '@taiga-ui/cdk/utils/calendar';
2
3
  export * from '@taiga-ui/cdk/utils/color';
3
4
  export * from '@taiga-ui/cdk/utils/dom';
4
5
  export * from '@taiga-ui/cdk/utils/focus';
@@ -1 +1 @@
1
- {"version":3,"file":"taiga-ui-cdk-utils.js","sources":["../../../projects/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAEG"}
1
+ {"version":3,"file":"taiga-ui-cdk-utils.js","sources":["../../../projects/cdk/utils/taiga-ui-cdk-utils.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;AAAA;;AAEG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@taiga-ui/cdk",
3
- "version": "3.9.0",
3
+ "version": "3.11.0",
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",
@@ -19,7 +19,7 @@
19
19
  "@ng-web-apis/mutation-observer": "2.0.0",
20
20
  "@ng-web-apis/resize-observer": "2.0.0",
21
21
  "@tinkoff/ng-event-plugins": "3.0.0",
22
- "@tinkoff/ng-polymorpheus": "4.0.7",
22
+ "@tinkoff/ng-polymorpheus": "4.0.10",
23
23
  "tslib": "^2.0.0"
24
24
  },
25
25
  "peerDependencies": {
package/pipes/index.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  export * from '@taiga-ui/cdk/pipes/filter';
2
+ export * from '@taiga-ui/cdk/pipes/is-present';
2
3
  export * from '@taiga-ui/cdk/pipes/keys';
3
4
  export * from '@taiga-ui/cdk/pipes/mapper';
@@ -0,0 +1,2 @@
1
+ export * from './is-present.module';
2
+ export * from './is-present.pipe';
@@ -0,0 +1,7 @@
1
+ import * as i0 from "@angular/core";
2
+ import * as i1 from "./is-present.pipe";
3
+ export declare class TuiIsPresentPipeModule {
4
+ static ɵfac: i0.ɵɵFactoryDeclaration<TuiIsPresentPipeModule, never>;
5
+ static ɵmod: i0.ɵɵNgModuleDeclaration<TuiIsPresentPipeModule, [typeof i1.TuiIsPresentPipe], never, [typeof i1.TuiIsPresentPipe]>;
6
+ static ɵinj: i0.ɵɵInjectorDeclaration<TuiIsPresentPipeModule>;
7
+ }
@@ -0,0 +1,7 @@
1
+ import { 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">;
7
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "main": "../../bundles/taiga-ui-cdk-pipes-is-present.umd.js",
3
+ "module": "../../fesm2015/taiga-ui-cdk-pipes-is-present.js",
4
+ "es2015": "../../fesm2015/taiga-ui-cdk-pipes-is-present.js",
5
+ "esm2015": "../../esm2015/pipes/is-present/taiga-ui-cdk-pipes-is-present.js",
6
+ "fesm2015": "../../fesm2015/taiga-ui-cdk-pipes-is-present.js",
7
+ "typings": "taiga-ui-cdk-pipes-is-present.d.ts",
8
+ "sideEffects": false,
9
+ "name": "@taiga-ui/cdk/pipes/is-present"
10
+ }
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Generated bundle index. Do not edit.
3
+ */
4
+ /// <amd-module name="@taiga-ui/cdk/pipes/is-present" />
5
+ export * from './index';
@@ -34,9 +34,11 @@ export declare const INPUTS_TO_REMOVE: InputToRemove[];
34
34
  export declare const TAGS_TO_REPLACE: ReplacementTags[];
35
35
  export declare const ATTR_TO_DIRECTIVE: AttributeToDirective[];
36
36
  /**
37
- * @example `<div [tuiDropdownSided]="true" />` => `<div tuiDropdownSided />`
37
+ * @example `<div [someDirective]="true" />` => `<div someDirective />`
38
+ *
39
+ * Keeping it for future sake
38
40
  */
39
- export declare const TRUTHY_BOOLEAN_INPUT_TO_HTML_BINARY_ATTRIBUTE: readonly ["tuiDropdownSided"];
41
+ export declare const TRUTHY_BOOLEAN_INPUT_TO_HTML_BINARY_ATTRIBUTE: readonly string[];
40
42
  export declare const TEMPLATE_COMMENTS: readonly [{
41
43
  readonly tag: "tui-input-slider";
42
44
  readonly withAttr: "pluralize";