@taiga-ui/cdk 2.30.0 → 2.34.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.
- package/abstract/control.d.ts +7 -2
- package/abstract/interactive.d.ts +1 -1
- package/abstract/taiga-ui-cdk-abstract.metadata.json +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.js +34 -14
- package/bundles/taiga-ui-cdk-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-abstract.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js +5 -6
- package/bundles/taiga-ui-cdk-components-portal-host.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-components-portal-host.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.js +12 -12
- package/bundles/taiga-ui-cdk-date-time.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-date-time.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-date-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.js +16 -14
- package/bundles/taiga-ui-cdk-decorators.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-decorators.umd.min.js +2 -2
- package/bundles/taiga-ui-cdk-decorators.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js +13 -7
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-active-zone.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-directives-autofilled.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-exceptions.umd.js +347 -0
- package/bundles/taiga-ui-cdk-exceptions.umd.js.map +1 -0
- package/bundles/taiga-ui-cdk-exceptions.umd.min.js +16 -0
- package/bundles/taiga-ui-cdk-exceptions.umd.min.js.map +1 -0
- package/bundles/taiga-ui-cdk-observables.umd.js +10 -9
- package/bundles/taiga-ui-cdk-observables.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js +1 -1
- package/bundles/taiga-ui-cdk-observables.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.js +2 -0
- package/bundles/taiga-ui-cdk-utils-format.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk-utils-format.umd.min.js.map +1 -1
- package/bundles/taiga-ui-cdk.umd.js +12 -4
- package/bundles/taiga-ui-cdk.umd.js.map +1 -1
- package/bundles/taiga-ui-cdk.umd.min.js +1 -1
- package/components/portal-host/taiga-ui-cdk-components-portal-host.metadata.json +1 -1
- package/date-time/taiga-ui-cdk-date-time.metadata.json +1 -1
- package/directives/active-zone/active-zone.directive.d.ts +1 -0
- package/directives/active-zone/taiga-ui-cdk-directives-active-zone.metadata.json +1 -1
- package/directives/autofilled/taiga-ui-cdk-directives-autofilled.metadata.json +1 -1
- package/esm2015/abstract/control.js +30 -15
- package/esm2015/abstract/interactive.js +1 -1
- package/esm2015/components/portal-host/portal.service.js +3 -3
- package/esm2015/date-time/date-separator.js +2 -2
- package/esm2015/date-time/day.js +6 -5
- package/esm2015/date-time/month.js +2 -2
- package/esm2015/date-time/time.js +2 -2
- package/esm2015/date-time/year.js +2 -2
- package/esm2015/decorators/pure.js +14 -11
- package/esm2015/directives/active-zone/active-zone.directive.js +15 -9
- package/esm2015/directives/autofilled/autofilled.directive.js +2 -2
- package/esm2015/exceptions/computed-document.exception.js +6 -0
- package/esm2015/exceptions/document-selection.exception.js +6 -0
- package/esm2015/exceptions/index.js +14 -0
- package/esm2015/exceptions/invalid-day.exception.js +6 -0
- package/esm2015/exceptions/invalid-month.exception.js +6 -0
- package/esm2015/exceptions/invalid-year.exception.js +6 -0
- package/esm2015/exceptions/no-host.exception.js +6 -0
- package/esm2015/exceptions/owner-document.exception.js +6 -0
- package/esm2015/exceptions/pure.exception.js +6 -0
- package/esm2015/exceptions/table-sort-key.exception.js +6 -0
- package/esm2015/exceptions/taiga-ui-cdk-exceptions.js +5 -0
- package/esm2015/exceptions/ts-parser.exception.js +6 -0
- package/esm2015/exceptions/value-changes.exception.js +6 -0
- package/esm2015/exceptions/value-present.exception.js +6 -0
- package/esm2015/exceptions/xml-parsing.exception.js +6 -0
- package/esm2015/index.js +2 -1
- package/esm2015/interfaces/control-value-transformer.js +1 -0
- package/esm2015/interfaces/index.js +1 -1
- package/esm2015/observables/drag-and-drop-from.js +3 -2
- package/esm2015/observables/focus-visible-observable.js +3 -2
- package/esm2015/observables/must-be-present.js +3 -2
- package/esm2015/observables/pressed-observable.js +3 -2
- package/esm2015/observables/replay-control-value-changes.js +4 -2
- package/esm2015/utils/format/pad-start.js +3 -1
- package/esm5/abstract/control.js +35 -15
- package/esm5/abstract/interactive.js +1 -1
- package/esm5/components/portal-host/portal.service.js +3 -3
- package/esm5/date-time/date-separator.js +2 -2
- package/esm5/date-time/day.js +6 -5
- package/esm5/date-time/month.js +2 -2
- package/esm5/date-time/time.js +2 -2
- package/esm5/date-time/year.js +2 -2
- package/esm5/decorators/pure.js +14 -11
- package/esm5/directives/active-zone/active-zone.directive.js +15 -9
- package/esm5/directives/autofilled/autofilled.directive.js +2 -2
- package/esm5/exceptions/computed-document.exception.js +10 -0
- package/esm5/exceptions/document-selection.exception.js +10 -0
- package/esm5/exceptions/index.js +14 -0
- package/esm5/exceptions/invalid-day.exception.js +10 -0
- package/esm5/exceptions/invalid-month.exception.js +10 -0
- package/esm5/exceptions/invalid-year.exception.js +10 -0
- package/esm5/exceptions/no-host.exception.js +10 -0
- package/esm5/exceptions/owner-document.exception.js +10 -0
- package/esm5/exceptions/pure.exception.js +10 -0
- package/esm5/exceptions/table-sort-key.exception.js +10 -0
- package/esm5/exceptions/taiga-ui-cdk-exceptions.js +5 -0
- package/esm5/exceptions/ts-parser.exception.js +10 -0
- package/esm5/exceptions/value-changes.exception.js +10 -0
- package/esm5/exceptions/value-present.exception.js +10 -0
- package/esm5/exceptions/xml-parsing.exception.js +10 -0
- package/esm5/index.js +2 -1
- package/esm5/interfaces/control-value-transformer.js +1 -0
- package/esm5/interfaces/index.js +1 -1
- package/esm5/observables/drag-and-drop-from.js +3 -2
- package/esm5/observables/focus-visible-observable.js +3 -2
- package/esm5/observables/must-be-present.js +3 -2
- package/esm5/observables/pressed-observable.js +3 -2
- package/esm5/observables/replay-control-value-changes.js +4 -2
- package/esm5/utils/format/pad-start.js +3 -1
- package/exceptions/computed-document.exception.d.ts +3 -0
- package/exceptions/document-selection.exception.d.ts +3 -0
- package/exceptions/index.d.ts +13 -0
- package/exceptions/invalid-day.exception.d.ts +3 -0
- package/exceptions/invalid-month.exception.d.ts +3 -0
- package/exceptions/invalid-year.exception.d.ts +3 -0
- package/exceptions/no-host.exception.d.ts +3 -0
- package/exceptions/owner-document.exception.d.ts +3 -0
- package/exceptions/package.json +13 -0
- package/exceptions/pure.exception.d.ts +3 -0
- package/exceptions/table-sort-key.exception.d.ts +3 -0
- package/exceptions/taiga-ui-cdk-exceptions.d.ts +4 -0
- package/exceptions/taiga-ui-cdk-exceptions.metadata.json +1 -0
- package/exceptions/ts-parser.exception.d.ts +3 -0
- package/exceptions/value-changes.exception.d.ts +3 -0
- package/exceptions/value-present.exception.d.ts +3 -0
- package/exceptions/xml-parsing.exception.d.ts +3 -0
- package/fesm2015/taiga-ui-cdk-abstract.js +29 -14
- package/fesm2015/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-components-portal-host.js +2 -2
- package/fesm2015/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-date-time.js +9 -8
- package/fesm2015/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-decorators.js +13 -10
- package/fesm2015/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js +14 -8
- package/fesm2015/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js +1 -1
- package/fesm2015/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-exceptions.js +84 -0
- package/fesm2015/taiga-ui-cdk-exceptions.js.map +1 -0
- package/fesm2015/taiga-ui-cdk-observables.js +7 -5
- package/fesm2015/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm2015/taiga-ui-cdk-utils-format.js +2 -0
- package/fesm2015/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm2015/taiga-ui-cdk.js +1 -0
- package/fesm2015/taiga-ui-cdk.js.map +1 -1
- package/fesm5/taiga-ui-cdk-abstract.js +34 -14
- package/fesm5/taiga-ui-cdk-abstract.js.map +1 -1
- package/fesm5/taiga-ui-cdk-components-portal-host.js +2 -2
- package/fesm5/taiga-ui-cdk-components-portal-host.js.map +1 -1
- package/fesm5/taiga-ui-cdk-date-time.js +9 -8
- package/fesm5/taiga-ui-cdk-date-time.js.map +1 -1
- package/fesm5/taiga-ui-cdk-decorators.js +13 -10
- package/fesm5/taiga-ui-cdk-decorators.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-active-zone.js +14 -8
- package/fesm5/taiga-ui-cdk-directives-active-zone.js.map +1 -1
- package/fesm5/taiga-ui-cdk-directives-autofilled.js +1 -1
- package/fesm5/taiga-ui-cdk-directives-autofilled.js.map +1 -1
- package/fesm5/taiga-ui-cdk-exceptions.js +112 -0
- package/fesm5/taiga-ui-cdk-exceptions.js.map +1 -0
- package/fesm5/taiga-ui-cdk-observables.js +7 -5
- package/fesm5/taiga-ui-cdk-observables.js.map +1 -1
- package/fesm5/taiga-ui-cdk-utils-format.js +2 -0
- package/fesm5/taiga-ui-cdk-utils-format.js.map +1 -1
- package/fesm5/taiga-ui-cdk.js +1 -0
- package/fesm5/taiga-ui-cdk.js.map +1 -1
- package/index.d.ts +1 -0
- package/interfaces/control-value-transformer.d.ts +4 -0
- package/interfaces/index.d.ts +1 -0
- package/interfaces/taiga-ui-cdk-interfaces.metadata.json +1 -1
- package/observables/replay-control-value-changes.d.ts +1 -0
- package/observables/taiga-ui-cdk-observables.metadata.json +1 -1
- package/package.json +7 -7
- package/taiga-ui-cdk.metadata.json +1 -1
- package/utils/format/pad-start.d.ts +2 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-decorators.js","sources":["ng://@taiga-ui/cdk/decorators/default-prop.ts","ng://@taiga-ui/cdk/decorators/pure.ts","ng://@taiga-ui/cdk/decorators/required-setter.ts","ng://@taiga-ui/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 * See {@link createPropDecorator} for more details.\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: any[]\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","/**\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 Error('tuiPure can only be used with functions or getters');\n }\n\n const original = value;\n\n return {\n enumerable,\n get(): T {\n let previousArgs: ReadonlyArray<unknown> = [];\n let previousResult: any;\n\n const patched = (...args: Array<unknown>) => {\n if (\n previousArgs.length === args.length &&\n args.every((arg, index) => arg === previousArgs[index])\n ) {\n return previousResult;\n }\n\n previousArgs = args;\n previousResult = original.apply(this, args);\n\n return previousResult;\n };\n\n Object.defineProperty(this, propertyKey, {\n value: patched,\n });\n\n return patched as any;\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":["ng://@taiga-ui/cdk/decorators/default-prop.ts","ng://@taiga-ui/cdk/decorators/pure.ts","ng://@taiga-ui/cdk/decorators/required-setter.ts","ng://@taiga-ui/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 * See {@link createPropDecorator} for more details.\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: any[]\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[]) => {\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":";;;AAGA;;;;;;;;SAQgB,cAAc,CAC1B,SAAmC,EACnC,GAAG,IAAW;IAEd,OAAO,CAAC,MAAM,EAAE,GAAG;QACf,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAClC,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAC1D,MAAM,sBAAsB,GAAG,eAAe,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;QAE1D,MAAM,CAAC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE;YAC/B,GAAG;gBACC,SAAS,CAAC,MAAM,CAAC,KAAK,EAAE,sBAAsB,CAAC,CAAC;gBAEhD,OAAO,SAAS,CAAC;aACpB;YACD,GAAG,CAAU,YAAkB;gBAC3B,MAAM,OAAO,GAAG,YAAY,KAAK,SAAS,CAAC;gBAC3C,MAAM,YAAY,GAAG,sBAAsB,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;gBACvD,IAAI,YAAY,GAAG,YAAY,CAAC;gBAEhC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;gBAExC,IAAI,OAAO,IAAI,SAAS,EAAE;oBACtB,SAAS,CAAC,MAAM,CACZ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC,EAClC,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,EACrC,YAAY,EACZ,GAAG,IAAI,CACV,CAAC;iBACL;gBAED,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,EAAE;oBAC7B,GAAG;wBACC,OAAO,YAAY,CAAC;qBACvB;oBACD,GAAG,CAAU,KAAW;wBACpB,MAAM,OAAO,GAAG,KAAK,KAAK,SAAS,CAAC;wBACpC,MAAM,WAAW,GAAG,YAAY,CAAC;wBAEjC,SAAS,CAAC,MAAM,CACZ,OAAO,EACP,sBAAsB,EACtB,MAAM,CAAC,WAAW,CAAC,CACtB,CAAC;wBAEF,IAAI,OAAO,IAAI,SAAS,EAAE;4BACtB,SAAS,CAAC,MAAM,CACZ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAC3B,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,EACrC,KAAK,EACL,GAAG,IAAI,CACV,CAAC;yBACL;wBAED,YAAY,GAAG,OAAO,GAAG,KAAK,GAAG,WAAW,CAAC;qBAChD;iBACJ,CAAC,CAAC;aACN;SACJ,CAAC,CAAC;KACN,CAAC;AACN,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB,EAAE,SAAiB;IAC5D,OAAO,qBAAqB,MAAM,CAC9B,GAAG,CACN,wBAAwB,SAAS,iCAAiC,CAAC;AACxE,CAAC;AAED,SAAS,eAAe,CAAC,GAAoB,EAAE,SAAiB;IAC5D,OAAO,2BAA2B,MAAM,CACpC,GAAG,CACN,OAAO,SAAS,gDAAgD,CAAC;AACtE,CAAC;AAED,SAAS,sBAAsB,CAAC,GAAoB,EAAE,SAAiB;IACnE,OAAO,6CAA6C,MAAM,CACtD,GAAG,CACN,OAAO,SAAS,iCAAiC,CAAC;AACvD;;ACvFA;;;;;;;;;SASgB,OAAO,CACnB,OAAe,EACf,WAAmB,EACnB,EAAC,GAAG,EAAE,UAAU,EAAE,KAAK,EAA6B;IAEpD,IAAI,GAAG,EAAE;QACL,OAAO;YACH,UAAU;YACV,GAAG;gBACC,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAE7B,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,EAAC,UAAU,EAAE,KAAK,EAAC,CAAC,CAAC;gBAE9D,OAAO,KAAK,CAAC;aAChB;SACJ,CAAC;KACL;IAED,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;QAC7B,MAAM,IAAI,gBAAgB,EAAE,CAAC;KAChC;IAED,MAAM,QAAQ,GAAG,KAAK,CAAC;IAEvB,OAAO;QACH,UAAU;QACV,GAAG;YACC,IAAI,YAAY,GAAuB,EAAE,CAAC;YAC1C,IAAI,8BAA8B,GAAG,KAAK,CAAC;YAC3C,IAAI,SAAkB,CAAC;YAEvB,MAAM,OAAO,GAAG,CAAC,GAAG,IAAe;gBAC/B,MAAM,MAAM,GACR,8BAA8B;oBAC9B,YAAY,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM;oBACnC,IAAI,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,KAAK,KAAK,GAAG,KAAK,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC;gBAE5D,IAAI,MAAM,EAAE;oBACR,OAAO,SAAS,CAAC;iBACpB;gBAED,YAAY,GAAG,IAAI,CAAC;gBACpB,SAAS,GAAG,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;gBACvC,8BAA8B,GAAG,IAAI,CAAC;gBAEtC,OAAO,SAAS,CAAC;aACpB,CAAC;YAEF,MAAM,CAAC,cAAc,CAAC,IAAI,EAAE,WAAW,EAAE,EAAC,KAAK,EAAE,OAAO,EAAC,CAAC,CAAC;YAE3D,OAAO,OAAuB,CAAC;SAClC;KACJ,CAAC;AACN;;AC7DA;;;;;;SAMgB,iBAAiB,CAC7B,SAAmC,EACnC,GAAG,IAAW;IAEd,OAAO,CACH,MAAc,EACd,GAAG,EACH,EAAC,YAAY,EAAE,UAAU,EAAE,GAAG,EAAE,GAAG,EAAqB;QAExD,MAAM,EAAC,IAAI,EAAC,GAAG,MAAM,CAAC,WAAW,CAAC;QAElC,OAAO;YACH,YAAY;YACZ,UAAU;YACV,GAAG;YACH,GAAG,CAAU,KAAW;gBACpB,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,EAAE;oBAClC,SAAS,CAAC,MAAM,CACZ,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,EAC3B,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,IAAI,YAAY,EACrC,KAAK,EACL,GAAG,IAAI,CACV,CAAC;iBACL;gBAED,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,SAAS,EAAE;oBAC7B,SAAS,CAAC,MAAM,CAAC,KAAK,KAAK,SAAS,EAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC;oBAE3D,OAAO;iBACV;gBAED,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;aACzB;SACJ,CAAC;KACL,CAAC;AACN,CAAC;AAED,SAAS,QAAQ,CAAC,GAAoB,EAAE,SAAiB;IACrD,OAAO,2BAA2B,MAAM,CACpC,GAAG,CACN,OAAO,SAAS,6BAA6B,CAAC;AACnD;;AClDA;;;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { __decorate, __param } from 'tslib';
|
|
2
2
|
import { Inject, NgZone, ElementRef, Optional, SkipSelf, Input, Output, Directive, NgModule } from '@angular/core';
|
|
3
|
-
import { tuiDefaultProp } from '@taiga-ui/cdk/decorators';
|
|
3
|
+
import { tuiDefaultProp, tuiPure } from '@taiga-ui/cdk/decorators';
|
|
4
4
|
import { tuiZoneOptimized } from '@taiga-ui/cdk/observables';
|
|
5
5
|
import { TUI_ACTIVE_ELEMENT } from '@taiga-ui/cdk/tokens';
|
|
6
6
|
import { Observable } from 'rxjs';
|
|
@@ -21,13 +21,7 @@ let TuiActiveZoneDirective = TuiActiveZoneDirective_1 = class TuiActiveZoneDirec
|
|
|
21
21
|
}
|
|
22
22
|
}
|
|
23
23
|
set tuiActiveZoneParentSetter(zone) {
|
|
24
|
-
|
|
25
|
-
this.tuiActiveZoneParent.removeSubActiveZone(this);
|
|
26
|
-
}
|
|
27
|
-
if (zone) {
|
|
28
|
-
zone.addSubActiveZone(this);
|
|
29
|
-
}
|
|
30
|
-
this.tuiActiveZoneParent = zone;
|
|
24
|
+
this.setZone(zone);
|
|
31
25
|
}
|
|
32
26
|
ngOnDestroy() {
|
|
33
27
|
if (this.directParentActiveZone) {
|
|
@@ -41,6 +35,15 @@ let TuiActiveZoneDirective = TuiActiveZoneDirective_1 = class TuiActiveZoneDirec
|
|
|
41
35
|
return (this.elementRef.nativeElement.contains(node) ||
|
|
42
36
|
this.subActiveZones.some((item, index, array) => array.indexOf(item) === index && item.contains(node)));
|
|
43
37
|
}
|
|
38
|
+
setZone(zone) {
|
|
39
|
+
if (this.tuiActiveZoneParent) {
|
|
40
|
+
this.tuiActiveZoneParent.removeSubActiveZone(this);
|
|
41
|
+
}
|
|
42
|
+
if (zone) {
|
|
43
|
+
zone.addSubActiveZone(this);
|
|
44
|
+
}
|
|
45
|
+
this.tuiActiveZoneParent = zone;
|
|
46
|
+
}
|
|
44
47
|
addSubActiveZone(activeZone) {
|
|
45
48
|
this.subActiveZones = [...this.subActiveZones, activeZone];
|
|
46
49
|
}
|
|
@@ -65,6 +68,9 @@ __decorate([
|
|
|
65
68
|
__decorate([
|
|
66
69
|
Output()
|
|
67
70
|
], TuiActiveZoneDirective.prototype, "tuiActiveZoneChange", void 0);
|
|
71
|
+
__decorate([
|
|
72
|
+
tuiPure
|
|
73
|
+
], TuiActiveZoneDirective.prototype, "setZone", null);
|
|
68
74
|
TuiActiveZoneDirective = TuiActiveZoneDirective_1 = __decorate([
|
|
69
75
|
Directive({
|
|
70
76
|
selector: '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["ng://@taiga-ui/cdk/directives/active-zone/active-zone.directive.ts","ng://@taiga-ui/cdk/directives/active-zone/active-zone.module.ts","ng://@taiga-ui/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n@Directive({\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: ReadonlyArray<TuiActiveZoneDirective> = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-active-zone.js","sources":["ng://@taiga-ui/cdk/directives/active-zone/active-zone.directive.ts","ng://@taiga-ui/cdk/directives/active-zone/active-zone.module.ts","ng://@taiga-ui/cdk/directives/active-zone/taiga-ui-cdk-directives-active-zone.ts"],"sourcesContent":["import {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n OnDestroy,\n Optional,\n Output,\n SkipSelf,\n} from '@angular/core';\nimport {tuiDefaultProp, tuiPure} from '@taiga-ui/cdk/decorators';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk/observables';\nimport {TUI_ACTIVE_ELEMENT} from '@taiga-ui/cdk/tokens';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, skip, startWith} from 'rxjs/operators';\n\n@Directive({\n selector:\n '[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)',\n exportAs: 'tuiActiveZone',\n})\nexport class TuiActiveZoneDirective implements OnDestroy {\n private subActiveZones: ReadonlyArray<TuiActiveZoneDirective> = [];\n\n private tuiActiveZoneParent: TuiActiveZoneDirective | null = null;\n\n @Input('tuiActiveZoneParent')\n @tuiDefaultProp()\n set tuiActiveZoneParentSetter(zone: TuiActiveZoneDirective | null) {\n this.setZone(zone);\n }\n\n @Output()\n readonly tuiActiveZoneChange = this.active$.pipe(\n map(element => !!element && this.contains(element)),\n startWith(false),\n distinctUntilChanged(),\n skip(1),\n tuiZoneOptimized(this.ngZone),\n );\n\n constructor(\n @Inject(TUI_ACTIVE_ELEMENT)\n private readonly active$: Observable<Element | null>,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(ElementRef) private readonly elementRef: ElementRef<Element>,\n @Optional()\n @SkipSelf()\n @Inject(TuiActiveZoneDirective)\n private readonly directParentActiveZone: TuiActiveZoneDirective | null,\n ) {\n if (this.directParentActiveZone) {\n this.directParentActiveZone.addSubActiveZone(this);\n }\n }\n\n ngOnDestroy() {\n if (this.directParentActiveZone) {\n this.directParentActiveZone.removeSubActiveZone(this);\n }\n\n if (this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n }\n\n contains(node: Node): boolean {\n return (\n this.elementRef.nativeElement.contains(node) ||\n this.subActiveZones.some(\n (item, index, array) =>\n array.indexOf(item) === index && item.contains(node),\n )\n );\n }\n\n @tuiPure\n private setZone(zone: TuiActiveZoneDirective | null) {\n if (this.tuiActiveZoneParent) {\n this.tuiActiveZoneParent.removeSubActiveZone(this);\n }\n\n if (zone) {\n zone.addSubActiveZone(this);\n }\n\n this.tuiActiveZoneParent = zone;\n }\n\n private addSubActiveZone(activeZone: TuiActiveZoneDirective) {\n this.subActiveZones = [...this.subActiveZones, activeZone];\n }\n\n private removeSubActiveZone(activeZone: TuiActiveZoneDirective) {\n const index = this.subActiveZones.findIndex(item => item === activeZone);\n\n this.subActiveZones = [\n ...this.subActiveZones.slice(0, index),\n ...this.subActiveZones.slice(index + 1),\n ];\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiActiveZoneDirective} from './active-zone.directive';\n\n@NgModule({\n declarations: [TuiActiveZoneDirective],\n exports: [TuiActiveZoneDirective],\n})\nexport class TuiActiveZoneModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -43,7 +43,7 @@ __decorate([
|
|
|
43
43
|
], TuiAutofilledDirective.prototype, "tuiAutofilledChange", void 0);
|
|
44
44
|
TuiAutofilledDirective = __decorate([
|
|
45
45
|
Directive({
|
|
46
|
-
selector: '
|
|
46
|
+
selector: '[tuiAutofilledChange]',
|
|
47
47
|
host: {
|
|
48
48
|
class: 'tui-autofill',
|
|
49
49
|
},
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["ng://@taiga-ui/cdk/directives/autofilled/autofilled.directive.ts","ng://@taiga-ui/cdk/directives/autofilled/autofilled.module.ts","ng://@taiga-ui/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\nimport {map, skip} from 'rxjs/operators';\n\nconst ON = 'tuiAutofillOn';\nconst OFF = 'tuiAutofillOff';\nconst STYLE = `\n@keyframes ${ON} {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n@keyframes ${OFF} {\n from {\n content: '2';\n }\n\n to {\n content: '1';\n }\n}`;\n\n// @dynamic\n@Directive({\n selector: '
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-directives-autofilled.js","sources":["ng://@taiga-ui/cdk/directives/autofilled/autofilled.directive.ts","ng://@taiga-ui/cdk/directives/autofilled/autofilled.module.ts","ng://@taiga-ui/cdk/directives/autofilled/taiga-ui-cdk-directives-autofilled.ts"],"sourcesContent":["import {Directive, ElementRef, Inject, Output} from '@angular/core';\nimport {typedFromEvent} from '@taiga-ui/cdk/observables';\nimport {TuiDirectiveStylesService} from '@taiga-ui/cdk/services';\nimport {map, skip} from 'rxjs/operators';\n\nconst ON = 'tuiAutofillOn';\nconst OFF = 'tuiAutofillOff';\nconst STYLE = `\n@keyframes ${ON} {\n from {\n content: '1';\n }\n\n to {\n content: '2';\n }\n}\n\n@keyframes ${OFF} {\n from {\n content: '2';\n }\n\n to {\n content: '1';\n }\n}`;\n\n// @dynamic\n@Directive({\n selector: '[tuiAutofilledChange]',\n host: {\n class: 'tui-autofill',\n },\n})\nexport class TuiAutofilledDirective {\n @Output()\n readonly tuiAutofilledChange = typedFromEvent(\n this.elementRef.nativeElement,\n 'animationstart',\n ).pipe(\n map(({animationName}) => animationName === ON),\n skip(1),\n );\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLInputElement>,\n @Inject(TuiDirectiveStylesService)\n directiveStyles: TuiDirectiveStylesService,\n ) {\n directiveStyles.addStyle(STYLE, 'TuiAutofilledDirective');\n }\n}\n","import {NgModule} from '@angular/core';\n\nimport {TuiAutofilledDirective} from './autofilled.directive';\n\n@NgModule({\n declarations: [TuiAutofilledDirective],\n exports: [TuiAutofilledDirective],\n})\nexport class TuiAutofilledModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;AAKA,MAAM,EAAE,GAAG,eAAe,CAAC;AAC3B,MAAM,GAAG,GAAG,gBAAgB,CAAC;AAC7B,MAAM,KAAK,GAAG;aACD,EAAE;;;;;;;;;;aAUF,GAAG;;;;;;;;EAQd,CAAC;AAEH;IAOa,sBAAsB,GAAnC,MAAa,sBAAsB;IAU/B,YACyC,UAAwC,EAE7E,eAA0C;QAFL,eAAU,GAAV,UAAU,CAA8B;QATxE,wBAAmB,GAAG,cAAc,CACzC,IAAI,CAAC,UAAU,CAAC,aAAa,EAC7B,gBAAgB,CACnB,CAAC,IAAI,CACF,GAAG,CAAC,CAAC,EAAC,aAAa,EAAC,KAAK,aAAa,KAAK,EAAE,CAAC,EAC9C,IAAI,CAAC,CAAC,CAAC,CACV,CAAC;QAOE,eAAe,CAAC,QAAQ,CAAC,KAAK,EAAE,wBAAwB,CAAC,CAAC;KAC7D;EACJ;;YANwD,UAAU,uBAA1D,MAAM,SAAC,UAAU;YAED,yBAAyB,uBADzC,MAAM,SAAC,yBAAyB;;AAVrC;IADC,MAAM,EAAE;mEAOP;AARO,sBAAsB;IANlC,SAAS,CAAC;QACP,QAAQ,EAAE,uBAAuB;QACjC,IAAI,EAAE;YACF,KAAK,EAAE,cAAc;SACxB;KACJ,CAAC;IAYO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;IAClB,WAAA,MAAM,CAAC,yBAAyB,CAAC,CAAA;GAZ7B,sBAAsB,CAiBlC;;IC5CY,mBAAmB,GAAhC,MAAa,mBAAmB;EAAG;AAAtB,mBAAmB;IAJ/B,QAAQ,CAAC;QACN,YAAY,EAAE,CAAC,sBAAsB,CAAC;QACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;KACpC,CAAC;GACW,mBAAmB,CAAG;;ACRnC;;;;;;"}
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
class TuiComputedDocumentException extends Error {
|
|
2
|
+
constructor() {
|
|
3
|
+
super('Only use computedDocument after load event');
|
|
4
|
+
}
|
|
5
|
+
}
|
|
6
|
+
|
|
7
|
+
class TuiDocumentSelectionException extends Error {
|
|
8
|
+
constructor() {
|
|
9
|
+
super('Failed to get document selection');
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
class InvalidDayException extends Error {
|
|
14
|
+
constructor(day) {
|
|
15
|
+
super(`Invalid day: ${day}`);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
class InvalidMonthException extends Error {
|
|
20
|
+
constructor(month) {
|
|
21
|
+
super(`Invalid month: ${month}`);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
class InvalidYearException extends Error {
|
|
26
|
+
constructor(year) {
|
|
27
|
+
super(`Invalid year: ${year}`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
class TuiNoHostException extends Error {
|
|
32
|
+
constructor() {
|
|
33
|
+
super('Portals cannot be used without TuiPortalHostComponent');
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
class TuiOwnerDocumentException extends Error {
|
|
38
|
+
constructor() {
|
|
39
|
+
super('Element does not have ownerDocument');
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
class TuiPureException extends Error {
|
|
44
|
+
constructor() {
|
|
45
|
+
super('tuiPure can only be used with functions or getters');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
class TuiTableSortKeyException extends Error {
|
|
50
|
+
constructor() {
|
|
51
|
+
super('Trying to sort with no key');
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
class TuiTsParserException extends Error {
|
|
56
|
+
constructor() {
|
|
57
|
+
super('TsFileParser: 1 component/module per ts-file');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
class TuiValueChangesException extends Error {
|
|
62
|
+
constructor() {
|
|
63
|
+
super('Control does not have valueChanges');
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
class TuiValuePresentException extends Error {
|
|
68
|
+
constructor() {
|
|
69
|
+
super('Value must present');
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
class TuiXmlParsingException extends Error {
|
|
74
|
+
constructor() {
|
|
75
|
+
super('Error parsing XML string');
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* Generated bundle index. Do not edit.
|
|
81
|
+
*/
|
|
82
|
+
|
|
83
|
+
export { InvalidDayException, InvalidMonthException, InvalidYearException, TuiComputedDocumentException, TuiDocumentSelectionException, TuiNoHostException, TuiOwnerDocumentException, TuiPureException, TuiTableSortKeyException, TuiTsParserException, TuiValueChangesException, TuiValuePresentException, TuiXmlParsingException };
|
|
84
|
+
//# sourceMappingURL=taiga-ui-cdk-exceptions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-exceptions.js","sources":["ng://@taiga-ui/cdk/exceptions/computed-document.exception.ts","ng://@taiga-ui/cdk/exceptions/document-selection.exception.ts","ng://@taiga-ui/cdk/exceptions/invalid-day.exception.ts","ng://@taiga-ui/cdk/exceptions/invalid-month.exception.ts","ng://@taiga-ui/cdk/exceptions/invalid-year.exception.ts","ng://@taiga-ui/cdk/exceptions/no-host.exception.ts","ng://@taiga-ui/cdk/exceptions/owner-document.exception.ts","ng://@taiga-ui/cdk/exceptions/pure.exception.ts","ng://@taiga-ui/cdk/exceptions/table-sort-key.exception.ts","ng://@taiga-ui/cdk/exceptions/ts-parser.exception.ts","ng://@taiga-ui/cdk/exceptions/value-changes.exception.ts","ng://@taiga-ui/cdk/exceptions/value-present.exception.ts","ng://@taiga-ui/cdk/exceptions/xml-parsing.exception.ts","ng://@taiga-ui/cdk/exceptions/taiga-ui-cdk-exceptions.ts"],"sourcesContent":["export class TuiComputedDocumentException extends Error {\n constructor() {\n super('Only use computedDocument after load event');\n }\n}\n","export class TuiDocumentSelectionException extends Error {\n constructor() {\n super('Failed to get document selection');\n }\n}\n","export class InvalidDayException extends Error {\n constructor(day: number) {\n super(`Invalid day: ${day}`);\n }\n}\n","export class InvalidMonthException extends Error {\n constructor(month: number) {\n super(`Invalid month: ${month}`);\n }\n}\n","export class InvalidYearException extends Error {\n constructor(year: number) {\n super(`Invalid year: ${year}`);\n }\n}\n","export class TuiNoHostException extends Error {\n constructor() {\n super('Portals cannot be used without TuiPortalHostComponent');\n }\n}\n","export class TuiOwnerDocumentException extends Error {\n constructor() {\n super('Element does not have ownerDocument');\n }\n}\n","export class TuiPureException extends Error {\n constructor() {\n super('tuiPure can only be used with functions or getters');\n }\n}\n","export class TuiTableSortKeyException extends Error {\n constructor() {\n super('Trying to sort with no key');\n }\n}\n","export class TuiTsParserException extends Error {\n constructor() {\n super('TsFileParser: 1 component/module per ts-file');\n }\n}\n","export class TuiValueChangesException extends Error {\n constructor() {\n super('Control does not have valueChanges');\n }\n}\n","export class TuiValuePresentException extends Error {\n constructor() {\n super('Value must present');\n }\n}\n","export class TuiXmlParsingException extends Error {\n constructor() {\n super('Error parsing XML string');\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"MAAa,4BAA6B,SAAQ,KAAK;IACnD;QACI,KAAK,CAAC,4CAA4C,CAAC,CAAC;KACvD;;;MCHQ,6BAA8B,SAAQ,KAAK;IACpD;QACI,KAAK,CAAC,kCAAkC,CAAC,CAAC;KAC7C;;;MCHQ,mBAAoB,SAAQ,KAAK;IAC1C,YAAY,GAAW;QACnB,KAAK,CAAC,gBAAgB,GAAG,EAAE,CAAC,CAAC;KAChC;;;MCHQ,qBAAsB,SAAQ,KAAK;IAC5C,YAAY,KAAa;QACrB,KAAK,CAAC,kBAAkB,KAAK,EAAE,CAAC,CAAC;KACpC;;;MCHQ,oBAAqB,SAAQ,KAAK;IAC3C,YAAY,IAAY;QACpB,KAAK,CAAC,iBAAiB,IAAI,EAAE,CAAC,CAAC;KAClC;;;MCHQ,kBAAmB,SAAQ,KAAK;IACzC;QACI,KAAK,CAAC,uDAAuD,CAAC,CAAC;KAClE;;;MCHQ,yBAA0B,SAAQ,KAAK;IAChD;QACI,KAAK,CAAC,qCAAqC,CAAC,CAAC;KAChD;;;MCHQ,gBAAiB,SAAQ,KAAK;IACvC;QACI,KAAK,CAAC,oDAAoD,CAAC,CAAC;KAC/D;;;MCHQ,wBAAyB,SAAQ,KAAK;IAC/C;QACI,KAAK,CAAC,4BAA4B,CAAC,CAAC;KACvC;;;MCHQ,oBAAqB,SAAQ,KAAK;IAC3C;QACI,KAAK,CAAC,8CAA8C,CAAC,CAAC;KACzD;;;MCHQ,wBAAyB,SAAQ,KAAK;IAC/C;QACI,KAAK,CAAC,oCAAoC,CAAC,CAAC;KAC/C;;;MCHQ,wBAAyB,SAAQ,KAAK;IAC/C;QACI,KAAK,CAAC,oBAAoB,CAAC,CAAC;KAC/B;;;MCHQ,sBAAuB,SAAQ,KAAK;IAC7C;QACI,KAAK,CAAC,0BAA0B,CAAC,CAAC;KACrC;;;ACHL;;;;;;"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { TuiOwnerDocumentException, TuiValuePresentException, TuiValueChangesException } from '@taiga-ui/cdk/exceptions';
|
|
1
2
|
import { isPresent, getOriginalArrayFromQueryList } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
2
3
|
import { fromEvent, merge, concat, pipe, timer, Observable } from 'rxjs';
|
|
3
4
|
import { take, map, endWith, takeWhile, repeat, switchMapTo, mapTo, startWith, distinctUntilChanged, shareReplay, filter, ignoreElements, withLatestFrom, tap } from 'rxjs/operators';
|
|
@@ -30,7 +31,7 @@ class TuiDragState {
|
|
|
30
31
|
function dragAndDropFrom(element) {
|
|
31
32
|
const { ownerDocument } = element;
|
|
32
33
|
if (!ownerDocument) {
|
|
33
|
-
throw new
|
|
34
|
+
throw new TuiOwnerDocumentException();
|
|
34
35
|
}
|
|
35
36
|
return concat(typedFromEvent(element, 'mousedown').pipe(take(1), map(event => new TuiDragState(0 /* Start */, event))), merge(typedFromEvent(ownerDocument, 'mousemove').pipe(map(event => new TuiDragState(1 /* Continues */, event))), mouseDragFinishFrom(ownerDocument).pipe(take(1), map(event => new TuiDragState(2 /* End */, event)), endWith(null))).pipe(takeWhile(isPresent))).pipe(repeat());
|
|
36
37
|
}
|
|
@@ -48,7 +49,7 @@ function focusVisibleObservable(element) {
|
|
|
48
49
|
const elementBlur$ = typedFromEvent(element, 'blur');
|
|
49
50
|
const { ownerDocument } = element;
|
|
50
51
|
if (!ownerDocument) {
|
|
51
|
-
throw new
|
|
52
|
+
throw new TuiOwnerDocumentException();
|
|
52
53
|
}
|
|
53
54
|
if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {
|
|
54
55
|
documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {
|
|
@@ -75,7 +76,7 @@ function itemsQueryListObservable(queryList) {
|
|
|
75
76
|
function mustBePresent() {
|
|
76
77
|
return map(value => {
|
|
77
78
|
if (!isPresent(value)) {
|
|
78
|
-
throw new
|
|
79
|
+
throw new TuiValuePresentException();
|
|
79
80
|
}
|
|
80
81
|
return value;
|
|
81
82
|
});
|
|
@@ -84,7 +85,7 @@ function mustBePresent() {
|
|
|
84
85
|
function pressedObservable(element, { onlyTrusted } = { onlyTrusted: true }) {
|
|
85
86
|
const { ownerDocument } = element;
|
|
86
87
|
if (!ownerDocument) {
|
|
87
|
-
throw new
|
|
88
|
+
throw new TuiOwnerDocumentException();
|
|
88
89
|
}
|
|
89
90
|
return typedFromEvent(element, 'mousedown').pipe(filter(({ isTrusted }) => isTrusted || !onlyTrusted), switchMapTo(mouseDragFinishFrom(ownerDocument).pipe(mapTo(false), take(1), startWith(true))));
|
|
90
91
|
}
|
|
@@ -97,11 +98,12 @@ function preventDefault() {
|
|
|
97
98
|
|
|
98
99
|
/**
|
|
99
100
|
* Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)
|
|
101
|
+
* TODO: rename function in 3.0. The name should be shorter.
|
|
100
102
|
*/
|
|
101
103
|
function tuiReplayedValueChangesFrom(control) {
|
|
102
104
|
return new Observable(subscriber => {
|
|
103
105
|
if (!control.valueChanges) {
|
|
104
|
-
throw new
|
|
106
|
+
throw new TuiValueChangesException();
|
|
105
107
|
}
|
|
106
108
|
control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);
|
|
107
109
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new Error('element does not have ownerDocument');\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new Error('element does not have ownerDocument');\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<ReadonlyArray<T>> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new Error('Value must present');\n }\n\n return value;\n });\n}\n","import {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new Error('element does not have ownerDocument');\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.preventDefault();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new Error('Control does not have valueChanges');\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\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-observables.js","sources":["ng://@taiga-ui/cdk/observables/typed-from-event.ts","ng://@taiga-ui/cdk/observables/mouse-drag-finish-from.ts","ng://@taiga-ui/cdk/observables/drag-and-drop-from.ts","ng://@taiga-ui/cdk/observables/is-alive.ts","ng://@taiga-ui/cdk/observables/focus-visible-observable.ts","ng://@taiga-ui/cdk/observables/items-query-list-observable.ts","ng://@taiga-ui/cdk/observables/must-be-present.ts","ng://@taiga-ui/cdk/observables/pressed-observable.ts","ng://@taiga-ui/cdk/observables/prevent-default.ts","ng://@taiga-ui/cdk/observables/replay-control-value-changes.ts","ng://@taiga-ui/cdk/observables/stop-propagation.ts","ng://@taiga-ui/cdk/observables/watch.ts","ng://@taiga-ui/cdk/observables/zone-free.ts","ng://@taiga-ui/cdk/observables/taiga-ui-cdk-observables.ts"],"sourcesContent":["import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {fromEvent, Observable} from 'rxjs';\n\nexport function typedFromEvent<E extends keyof WindowEventMap>(\n target: Window,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<WindowEventMap[E], typeof target>>;\nexport function typedFromEvent<E extends keyof DocumentEventMap>(\n target: Document,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<DocumentEventMap[E], typeof target>>;\nexport function typedFromEvent<T extends Element, E extends keyof HTMLElementEventMap>(\n target: T,\n event: E,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<HTMLElementEventMap[E], typeof target>>;\nexport function typedFromEvent<\n E extends Event,\n T extends TuiTypedEventTarget<TuiEventWith<E, T>>,\n>(\n target: T,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<TuiEventWith<E, T>>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options?: AddEventListenerOptions,\n): Observable<E>;\nexport function typedFromEvent<E extends Event>(\n target: TuiTypedEventTarget<E>,\n event: string,\n options: AddEventListenerOptions = {},\n): Observable<E> {\n return fromEvent(target, event, options);\n}\n","import {TuiEventWith, TuiTypedEventTarget} from '@taiga-ui/cdk/types';\nimport {merge, Observable} from 'rxjs';\n\nimport {typedFromEvent} from './typed-from-event';\n\n/**\n * Letting go of the mouse after it was pressed\n * @param target\n */\nexport function mouseDragFinishFrom<\n T extends TuiTypedEventTarget<TuiEventWith<DragEvent, T>>,\n>(target: Exclude<T, null>): Observable<TuiEventWith<MouseEvent, T>> {\n return merge(typedFromEvent(target, 'mouseup'), typedFromEvent(target, 'dragend'));\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {concat, merge, Observable} from 'rxjs';\nimport {endWith, map, repeat, take, takeWhile} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport const enum TuiDragStage {\n Start,\n Continues,\n End,\n}\n\nexport class TuiDragState {\n constructor(readonly stage: TuiDragStage, readonly event: MouseEvent) {}\n}\n\nexport function dragAndDropFrom(element: Element): Observable<TuiDragState> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return concat(\n typedFromEvent(element, 'mousedown').pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.Start, event)),\n ),\n merge(\n typedFromEvent(ownerDocument, 'mousemove').pipe(\n map(event => new TuiDragState(TuiDragStage.Continues, event)),\n ),\n mouseDragFinishFrom(ownerDocument).pipe(\n take(1),\n map(event => new TuiDragState(TuiDragStage.End, event)),\n endWith(null),\n ),\n ).pipe(takeWhile(isPresent)),\n ).pipe(repeat());\n}\n","import {OperatorFunction, pipe, timer} from 'rxjs';\nimport {distinctUntilChanged, mapTo, startWith, switchMapTo} from 'rxjs/operators';\n\n/**\n * Operator to set lifespan after which current value is considered obsolete\n */\nexport function tuiIsAlive(lifespan: number = 0): OperatorFunction<any, boolean> {\n return pipe(\n switchMapTo(timer(lifespan).pipe(mapTo(false), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {isNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {concat, merge, Observable} from 'rxjs';\nimport {\n distinctUntilChanged,\n filter,\n ignoreElements,\n mapTo,\n repeat,\n shareReplay,\n startWith,\n switchMapTo,\n take,\n withLatestFrom,\n} from 'rxjs/operators';\n\nimport {tuiIsAlive} from './is-alive';\nimport {typedFromEvent} from './typed-from-event';\n\nlet documentMouseUpIsAlive$: Observable<boolean>;\nlet documentMouseDownIsAlive$: Observable<boolean>;\n\nexport function focusVisibleObservable(element: Element): Observable<boolean> {\n const elementBlur$ = typedFromEvent(element, 'blur');\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n if (!documentMouseDownIsAlive$ || !documentMouseUpIsAlive$) {\n documentMouseUpIsAlive$ = typedFromEvent(ownerDocument, 'mouseup', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n documentMouseDownIsAlive$ = typedFromEvent(ownerDocument, 'mousedown', {\n capture: true,\n }).pipe(tuiIsAlive(), startWith(false), shareReplay(1));\n }\n\n return merge(\n // focus events excluding ones that came right after mouse action\n concat(\n typedFromEvent(element, 'focus').pipe(take(1)),\n // filtering out blur events when element remains focused so that we ignore browser tab focus loss\n elementBlur$.pipe(\n filter(() => !isNativeFocused(element)),\n take(1),\n ignoreElements(),\n ),\n ).pipe(\n repeat(),\n withLatestFrom(\n documentMouseDownIsAlive$,\n documentMouseUpIsAlive$,\n (_event, elementActual, documentActual) =>\n elementActual || documentActual,\n ),\n filter(isUserFocus => !isUserFocus),\n ),\n ).pipe(\n switchMapTo(elementBlur$.pipe(mapTo(false), take(1), startWith(true))),\n distinctUntilChanged(),\n );\n}\n","import {QueryList} from '@angular/core';\nimport {getOriginalArrayFromQueryList} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {Observable} from 'rxjs';\nimport {map, startWith} from 'rxjs/operators';\n\n/**\n * Converts changes observable of a QueryList to an Observable of arrays\n */\nexport function itemsQueryListObservable<T>(\n queryList: QueryList<T>,\n): Observable<ReadonlyArray<T>> {\n return queryList.changes.pipe(\n map(() => getOriginalArrayFromQueryList(queryList)),\n startWith(getOriginalArrayFromQueryList(queryList)),\n );\n}\n","import {TuiValuePresentException} from '@taiga-ui/cdk/exceptions';\nimport {isPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {OperatorFunction} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\nexport function mustBePresent<T>(): OperatorFunction<T | undefined | null, T> {\n return map(value => {\n if (!isPresent(value)) {\n throw new TuiValuePresentException();\n }\n\n return value;\n });\n}\n","import {TuiOwnerDocumentException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {filter, mapTo, startWith, switchMapTo, take} from 'rxjs/operators';\n\nimport {mouseDragFinishFrom} from './mouse-drag-finish-from';\nimport {typedFromEvent} from './typed-from-event';\n\nexport interface TuiPressedObservableOptions {\n onlyTrusted: boolean;\n}\n\nexport function pressedObservable(\n element: Element,\n {onlyTrusted}: TuiPressedObservableOptions = {onlyTrusted: true},\n): Observable<boolean> {\n const {ownerDocument} = element;\n\n if (!ownerDocument) {\n throw new TuiOwnerDocumentException();\n }\n\n return typedFromEvent(element, 'mousedown').pipe(\n filter(({isTrusted}) => isTrusted || !onlyTrusted),\n switchMapTo(\n mouseDragFinishFrom(ownerDocument).pipe(\n mapTo(false),\n take(1),\n startWith(true),\n ),\n ),\n );\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function preventDefault<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.preventDefault();\n });\n}\n","import {AbstractControl, AbstractControlDirective} from '@angular/forms';\nimport {TuiValueChangesException} from '@taiga-ui/cdk/exceptions';\nimport {Observable} from 'rxjs';\nimport {startWith} from 'rxjs/operators';\n\n/**\n * Turns AbstractControl/Abstract-control-directive valueChanges into ReplaySubject(1)\n * TODO: rename function in 3.0. The name should be shorter.\n */\nexport function tuiReplayedValueChangesFrom<T>(\n control: AbstractControl | AbstractControlDirective,\n): Observable<T> {\n return new Observable(subscriber => {\n if (!control.valueChanges) {\n throw new TuiValueChangesException();\n }\n\n control.valueChanges.pipe(startWith(control.value)).subscribe(subscriber);\n });\n}\n","import {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function stopPropagation<T extends Event>(): MonoTypeOperatorFunction<T> {\n return tap(e => {\n e.stopPropagation();\n });\n}\n","import {ChangeDetectorRef} from '@angular/core';\nimport {MonoTypeOperatorFunction} from 'rxjs';\nimport {tap} from 'rxjs/operators';\n\nexport function watch<T>(\n changeDetectorRef: ChangeDetectorRef,\n): MonoTypeOperatorFunction<T> {\n return tap(() => {\n changeDetectorRef.markForCheck();\n });\n}\n","import {NgZone} from '@angular/core';\nimport {MonoTypeOperatorFunction, Observable, pipe} from 'rxjs';\n\nexport function tuiZonefull<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n source.subscribe({\n next: value => ngZone.run(() => subscriber.next(value)),\n error: error => ngZone.run(() => subscriber.error(error)),\n complete: () => ngZone.run(() => subscriber.complete()),\n }),\n );\n}\n\nexport function tuiZonefree<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return source =>\n new Observable(subscriber =>\n ngZone.runOutsideAngular(() => source.subscribe(subscriber)),\n );\n}\n\nexport function tuiZoneOptimized<T>(ngZone: NgZone): MonoTypeOperatorFunction<T> {\n return pipe(tuiZonefree(ngZone), tuiZonefull(ngZone));\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;SA+BgB,cAAc,CAC1B,MAA8B,EAC9B,KAAa,EACb,UAAmC,EAAE;IAErC,OAAO,SAAS,CAAC,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC;AAC7C;;AChCA;;;;SAIgB,mBAAmB,CAEjC,MAAwB;IACtB,OAAO,KAAK,CAAC,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,EAAE,cAAc,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;AACvF;;ICLkB;AAAlB,WAAkB,YAAY;IAC1B,iDAAK,CAAA;IACL,yDAAS,CAAA;IACT,6CAAG,CAAA;AACP,CAAC,EAJiB,YAAY,KAAZ,YAAY,QAI7B;MAEY,YAAY;IACrB,YAAqB,KAAmB,EAAW,KAAiB;QAA/C,UAAK,GAAL,KAAK,CAAc;QAAW,UAAK,GAAL,KAAK,CAAY;KAAI;CAC3E;SAEe,eAAe,CAAC,OAAgB;IAC5C,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,OAAO,MAAM,CACT,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CACrC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,gBAAqB,KAAK,CAAC,CAAC,CAC5D,EACD,KAAK,CACD,cAAc,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC,IAAI,CAC3C,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,oBAAyB,KAAK,CAAC,CAAC,CAChE,EACD,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnC,IAAI,CAAC,CAAC,CAAC,EACP,GAAG,CAAC,KAAK,IAAI,IAAI,YAAY,cAAmB,KAAK,CAAC,CAAC,EACvD,OAAO,CAAC,IAAI,CAAC,CAChB,CACJ,CAAC,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,CAAC,CAC/B,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;AACrB;;ACtCA;;;SAGgB,UAAU,CAAC,WAAmB,CAAC;IAC3C,OAAO,IAAI,CACP,WAAW,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EAChE,oBAAoB,EAAE,CACzB,CAAC;AACN;;ACQA,IAAI,uBAA4C,CAAC;AACjD,IAAI,yBAA8C,CAAC;SAEnC,sBAAsB,CAAC,OAAgB;IACnD,MAAM,YAAY,GAAG,cAAc,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACrD,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,IAAI,CAAC,yBAAyB,IAAI,CAAC,uBAAuB,EAAE;QACxD,uBAAuB,GAAG,cAAc,CAAC,aAAa,EAAE,SAAS,EAAE;YAC/D,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;QACxD,yBAAyB,GAAG,cAAc,CAAC,aAAa,EAAE,WAAW,EAAE;YACnE,OAAO,EAAE,IAAI;SAChB,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE,EAAE,SAAS,CAAC,KAAK,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;KAC3D;IAED,OAAO,KAAK;;IAER,MAAM,CACF,cAAc,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;;IAE9C,YAAY,CAAC,IAAI,CACb,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,EACvC,IAAI,CAAC,CAAC,CAAC,EACP,cAAc,EAAE,CACnB,CACJ,CAAC,IAAI,CACF,MAAM,EAAE,EACR,cAAc,CACV,yBAAyB,EACzB,uBAAuB,EACvB,CAAC,MAAM,EAAE,aAAa,EAAE,cAAc,KAClC,aAAa,IAAI,cAAc,CACtC,EACD,MAAM,CAAC,WAAW,IAAI,CAAC,WAAW,CAAC,CACtC,CACJ,CAAC,IAAI,CACF,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,EACtE,oBAAoB,EAAE,CACzB,CAAC;AACN;;AC1DA;;;SAGgB,wBAAwB,CACpC,SAAuB;IAEvB,OAAO,SAAS,CAAC,OAAO,CAAC,IAAI,CACzB,GAAG,CAAC,MAAM,6BAA6B,CAAC,SAAS,CAAC,CAAC,EACnD,SAAS,CAAC,6BAA6B,CAAC,SAAS,CAAC,CAAC,CACtD,CAAC;AACN;;SCVgB,aAAa;IACzB,OAAO,GAAG,CAAC,KAAK;QACZ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE;YACnB,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,KAAK,CAAC;KAChB,CAAC,CAAC;AACP;;SCFgB,iBAAiB,CAC7B,OAAgB,EAChB,EAAC,WAAW,KAAiC,EAAC,WAAW,EAAE,IAAI,EAAC;IAEhE,MAAM,EAAC,aAAa,EAAC,GAAG,OAAO,CAAC;IAEhC,IAAI,CAAC,aAAa,EAAE;QAChB,MAAM,IAAI,yBAAyB,EAAE,CAAC;KACzC;IAED,OAAO,cAAc,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC,IAAI,CAC5C,MAAM,CAAC,CAAC,EAAC,SAAS,EAAC,KAAK,SAAS,IAAI,CAAC,WAAW,CAAC,EAClD,WAAW,CACP,mBAAmB,CAAC,aAAa,CAAC,CAAC,IAAI,CACnC,KAAK,CAAC,KAAK,CAAC,EACZ,IAAI,CAAC,CAAC,CAAC,EACP,SAAS,CAAC,IAAI,CAAC,CAClB,CACJ,CACJ,CAAC;AACN;;SC5BgB,cAAc;IAC1B,OAAO,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,cAAc,EAAE,CAAC;KACtB,CAAC,CAAC;AACP;;ACFA;;;;SAIgB,2BAA2B,CACvC,OAAmD;IAEnD,OAAO,IAAI,UAAU,CAAC,UAAU;QAC5B,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YACvB,MAAM,IAAI,wBAAwB,EAAE,CAAC;SACxC;QAED,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;KAC7E,CAAC,CAAC;AACP;;SChBgB,eAAe;IAC3B,OAAO,GAAG,CAAC,CAAC;QACR,CAAC,CAAC,eAAe,EAAE,CAAC;KACvB,CAAC,CAAC;AACP;;SCHgB,KAAK,CACjB,iBAAoC;IAEpC,OAAO,GAAG,CAAC;QACP,iBAAiB,CAAC,YAAY,EAAE,CAAC;KACpC,CAAC,CAAC;AACP;;SCPgB,WAAW,CAAI,MAAc;IACzC,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,SAAS,CAAC;QACb,IAAI,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvD,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACzD,QAAQ,EAAE,MAAM,MAAM,CAAC,GAAG,CAAC,MAAM,UAAU,CAAC,QAAQ,EAAE,CAAC;KAC1D,CAAC,CACL,CAAC;AACV,CAAC;SAEe,WAAW,CAAI,MAAc;IACzC,OAAO,MAAM,IACT,IAAI,UAAU,CAAC,UAAU,IACrB,MAAM,CAAC,iBAAiB,CAAC,MAAM,MAAM,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAC/D,CAAC;AACV,CAAC;SAEe,gBAAgB,CAAI,MAAc;IAC9C,OAAO,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC,CAAC;AAC1D;;ACvBA;;;;;;"}
|
|
@@ -6,6 +6,8 @@ import { tuiAssert } from '@taiga-ui/cdk/classes';
|
|
|
6
6
|
* @param sourceString
|
|
7
7
|
* @param minResultLength
|
|
8
8
|
* @param padString string to pad with
|
|
9
|
+
*
|
|
10
|
+
* @deprecated use String.prototype.padStart in 3.0 (after Chrome 49 support is dropped)
|
|
9
11
|
*/
|
|
10
12
|
function padStart(sourceString, minResultLength, padString = ' ') {
|
|
11
13
|
const padSize = minResultLength - sourceString.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["ng://@taiga-ui/cdk/utils/format/pad-start.ts","ng://@taiga-ui/cdk/utils/format/px.ts","ng://@taiga-ui/cdk/utils/format/taiga-ui-cdk-utils-format.ts"],"sourcesContent":["/**\n * Pads a string with symbols in the beginning\n *\n * @param sourceString\n * @param minResultLength\n * @param padString string to pad with\n */\nexport function padStart(\n sourceString: string,\n minResultLength: number,\n padString: string = ' ',\n): string {\n const padSize = minResultLength - sourceString.length;\n\n if (padSize <= 0) {\n return sourceString;\n }\n\n return padString.repeat(padSize / padString.length).slice(0, padSize) + sourceString;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function px(value: number): string {\n tuiAssert.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk-utils-format.js","sources":["ng://@taiga-ui/cdk/utils/format/pad-start.ts","ng://@taiga-ui/cdk/utils/format/px.ts","ng://@taiga-ui/cdk/utils/format/taiga-ui-cdk-utils-format.ts"],"sourcesContent":["/**\n * Pads a string with symbols in the beginning\n *\n * @param sourceString\n * @param minResultLength\n * @param padString string to pad with\n *\n * @deprecated use String.prototype.padStart in 3.0 (after Chrome 49 support is dropped)\n */\nexport function padStart(\n sourceString: string,\n minResultLength: number,\n padString: string = ' ',\n): string {\n const padSize = minResultLength - sourceString.length;\n\n if (padSize <= 0) {\n return sourceString;\n }\n\n return padString.repeat(padSize / padString.length).slice(0, padSize) + sourceString;\n}\n","import {tuiAssert} from '@taiga-ui/cdk/classes';\n\n/**\n * Adds 'px' to the number and turns it into a string\n */\nexport function px(value: number): string {\n tuiAssert.assert(Number.isFinite(value), 'Value must be finite number');\n\n return `${value}px`;\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;AAAA;;;;;;;;;SASgB,QAAQ,CACpB,YAAoB,EACpB,eAAuB,EACvB,YAAoB,GAAG;IAEvB,MAAM,OAAO,GAAG,eAAe,GAAG,YAAY,CAAC,MAAM,CAAC;IAEtD,IAAI,OAAO,IAAI,CAAC,EAAE;QACd,OAAO,YAAY,CAAC;KACvB;IAED,OAAO,SAAS,CAAC,MAAM,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,OAAO,CAAC,GAAG,YAAY,CAAC;AACzF;;ACnBA;;;SAGgB,EAAE,CAAC,KAAa;IAC5B,SAAS,CAAC,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,6BAA6B,CAAC,CAAC;IAExE,OAAO,GAAG,KAAK,IAAI,CAAC;AACxB;;ACTA;;;;;;"}
|
package/fesm2015/taiga-ui-cdk.js
CHANGED
|
@@ -6,6 +6,7 @@ export * from '@taiga-ui/cdk/date-time';
|
|
|
6
6
|
export * from '@taiga-ui/cdk/decorators';
|
|
7
7
|
export * from '@taiga-ui/cdk/directives';
|
|
8
8
|
export * from '@taiga-ui/cdk/enums';
|
|
9
|
+
export * from '@taiga-ui/cdk/exceptions';
|
|
9
10
|
export * from '@taiga-ui/cdk/observables';
|
|
10
11
|
export * from '@taiga-ui/cdk/pipes';
|
|
11
12
|
export * from '@taiga-ui/cdk/services';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk.js","sources":["ng://@taiga-ui/cdk/taiga-ui-cdk.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"taiga-ui-cdk.js","sources":["ng://@taiga-ui/cdk/taiga-ui-cdk.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA;;"}
|
|
@@ -174,10 +174,11 @@ var AbstractTuiInteractive = /** @class */ (function () {
|
|
|
174
174
|
*/
|
|
175
175
|
var AbstractTuiControl = /** @class */ (function (_super) {
|
|
176
176
|
__extends(AbstractTuiControl, _super);
|
|
177
|
-
function AbstractTuiControl(ngControl, changeDetectorRef) {
|
|
177
|
+
function AbstractTuiControl(ngControl, changeDetectorRef, valueTransformer) {
|
|
178
178
|
var _this = _super.call(this) || this;
|
|
179
179
|
_this.ngControl = ngControl;
|
|
180
180
|
_this.changeDetectorRef = changeDetectorRef;
|
|
181
|
+
_this.valueTransformer = valueTransformer;
|
|
181
182
|
_this.onTouched = EMPTY_FUNCTION;
|
|
182
183
|
_this.onChange = EMPTY_FUNCTION;
|
|
183
184
|
_this.fallbackValue = _this.getFallbackValue();
|
|
@@ -194,8 +195,7 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
194
195
|
}
|
|
195
196
|
Object.defineProperty(AbstractTuiControl.prototype, "computedInvalid", {
|
|
196
197
|
get: function () {
|
|
197
|
-
return (
|
|
198
|
-
!this.disabled &&
|
|
198
|
+
return (this.interactive &&
|
|
199
199
|
(this.pseudoInvalid !== null
|
|
200
200
|
? this.pseudoInvalid
|
|
201
201
|
: this.touched && this.invalid));
|
|
@@ -259,6 +259,13 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
259
259
|
enumerable: true,
|
|
260
260
|
configurable: true
|
|
261
261
|
});
|
|
262
|
+
Object.defineProperty(AbstractTuiControl.prototype, "interactive", {
|
|
263
|
+
get: function () {
|
|
264
|
+
return !this.readOnly && !this.computedDisabled;
|
|
265
|
+
},
|
|
266
|
+
enumerable: true,
|
|
267
|
+
configurable: true
|
|
268
|
+
});
|
|
262
269
|
Object.defineProperty(AbstractTuiControl.prototype, "control", {
|
|
263
270
|
get: function () {
|
|
264
271
|
return this.safeNgControlData(function (_a) {
|
|
@@ -289,25 +296,23 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
289
296
|
if (ngControl === null) {
|
|
290
297
|
return undefined;
|
|
291
298
|
}
|
|
292
|
-
|
|
299
|
+
var controlValue = ngControl instanceof NgModel && this.previousInternalValue === undefined
|
|
293
300
|
? ngControl.viewModel
|
|
294
301
|
: ngControl.value;
|
|
302
|
+
return this.fromControlValue(controlValue);
|
|
295
303
|
},
|
|
296
304
|
enumerable: true,
|
|
297
305
|
configurable: true
|
|
298
306
|
});
|
|
299
307
|
AbstractTuiControl.prototype.ngOnInit = function () {
|
|
300
308
|
var _this = this;
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
!this.ngControl.statusChanges) {
|
|
309
|
+
var _a, _b;
|
|
310
|
+
if (!((_a = this.ngControl) === null || _a === void 0 ? void 0 : _a.valueChanges) || !((_b = this.ngControl) === null || _b === void 0 ? void 0 : _b.statusChanges)) {
|
|
304
311
|
return;
|
|
305
312
|
}
|
|
306
313
|
merge(this.ngControl.valueChanges, this.ngControl.statusChanges)
|
|
307
314
|
.pipe(takeUntil(this.destroy$))
|
|
308
|
-
.subscribe(function () {
|
|
309
|
-
_this.refreshLocalValue(_this.safeCurrentValue);
|
|
310
|
-
});
|
|
315
|
+
.subscribe(function () { return _this.refreshLocalValue(_this.safeCurrentValue); });
|
|
311
316
|
};
|
|
312
317
|
AbstractTuiControl.prototype.ngOnDestroy = function () {
|
|
313
318
|
this.destroy$.next();
|
|
@@ -317,7 +322,10 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
317
322
|
this.changeDetectorRef.markForCheck();
|
|
318
323
|
};
|
|
319
324
|
AbstractTuiControl.prototype.registerOnChange = function (onChange) {
|
|
320
|
-
|
|
325
|
+
var _this = this;
|
|
326
|
+
this.onChange = function (componentValue) {
|
|
327
|
+
onChange(_this.toControlValue(componentValue));
|
|
328
|
+
};
|
|
321
329
|
};
|
|
322
330
|
AbstractTuiControl.prototype.registerOnTouched = function (onTouched) {
|
|
323
331
|
this.onTouched = onTouched;
|
|
@@ -326,9 +334,10 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
326
334
|
this.checkControlUpdate();
|
|
327
335
|
};
|
|
328
336
|
AbstractTuiControl.prototype.writeValue = function (value) {
|
|
329
|
-
this.
|
|
337
|
+
var controlValue = this.ngControl instanceof NgModel && this.previousInternalValue === undefined
|
|
330
338
|
? this.ngControl.model
|
|
331
|
-
: value
|
|
339
|
+
: value;
|
|
340
|
+
this.refreshLocalValue(this.fromControlValue(controlValue));
|
|
332
341
|
};
|
|
333
342
|
AbstractTuiControl.prototype.updateFocused = function (focused) {
|
|
334
343
|
if (!focused) {
|
|
@@ -362,9 +371,20 @@ var AbstractTuiControl = /** @class */ (function (_super) {
|
|
|
362
371
|
this.previousInternalValue = value;
|
|
363
372
|
this.checkControlUpdate();
|
|
364
373
|
};
|
|
374
|
+
AbstractTuiControl.prototype.fromControlValue = function (controlValue) {
|
|
375
|
+
return this.valueTransformer
|
|
376
|
+
? this.valueTransformer.fromControlValue(controlValue)
|
|
377
|
+
: controlValue;
|
|
378
|
+
};
|
|
379
|
+
AbstractTuiControl.prototype.toControlValue = function (componentValue) {
|
|
380
|
+
return this.valueTransformer
|
|
381
|
+
? this.valueTransformer.toControlValue(componentValue)
|
|
382
|
+
: componentValue;
|
|
383
|
+
};
|
|
365
384
|
AbstractTuiControl.ctorParameters = function () { return [
|
|
366
385
|
{ type: NgControl },
|
|
367
|
-
{ type: ChangeDetectorRef }
|
|
386
|
+
{ type: ChangeDetectorRef },
|
|
387
|
+
{ type: undefined }
|
|
368
388
|
]; };
|
|
369
389
|
__decorate([
|
|
370
390
|
Input(),
|