@taiga-ui/cdk 4.52.0-canary.c107f6a → 4.52.0-canary.c8448e0
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/README.md +1 -1
- package/classes/control.d.ts +4 -6
- package/constants/empty.d.ts +0 -9
- package/constants/handlers.d.ts +2 -0
- package/constants/used-icons.d.ts +2 -2
- package/constants/version.d.ts +1 -1
- package/constants/version.js +1 -1
- package/date-time/date-fillers.d.ts +5 -5
- package/date-time/day-range.d.ts +1 -1
- package/date-time/day.d.ts +3 -3
- package/date-time/types.d.ts +1 -7
- package/directives/active-zone/active-zone.directive.d.ts +0 -3
- package/directives/animated/animated.directive.d.ts +1 -3
- package/directives/animated/index.d.ts +0 -1
- package/directives/auto-focus/autofocus.directive.d.ts +2 -3
- package/directives/copy-processor/copy-processor.directive.d.ts +2 -2
- package/directives/hovered/hovered.directive.d.ts +1 -2
- package/directives/index.d.ts +0 -5
- package/directives/media/media.directive.d.ts +8 -12
- package/directives/native-validator/native-validator.directive.d.ts +2 -2
- package/directives/obscured/obscured.directive.d.ts +4 -4
- package/directives/pan/pan.directive.d.ts +1 -2
- package/directives/platform/platform.directive.d.ts +2 -2
- package/directives/resizer/resizer.directive.d.ts +3 -4
- package/directives/swipe/swipe.directive.d.ts +1 -2
- package/directives/transitioned/transitioned.directive.d.ts +1 -0
- package/directives/value-changes/value-changes.directive.d.ts +3 -3
- package/fesm2022/taiga-ui-cdk-classes.mjs +8 -20
- package/fesm2022/taiga-ui-cdk-classes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-constants.mjs +16 -14
- package/fesm2022/taiga-ui-cdk-constants.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-date-time.mjs +23 -24
- package/fesm2022/taiga-ui-cdk-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs +16 -27
- package/fesm2022/taiga-ui-cdk-directives-active-zone.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs +23 -70
- package/fesm2022/taiga-ui-cdk-directives-animated.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs +12 -13
- package/fesm2022/taiga-ui-cdk-directives-auto-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-control.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs +8 -10
- package/fesm2022/taiga-ui-cdk-directives-copy-processor.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-element.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-element.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs +5 -7
- package/fesm2022/taiga-ui-cdk-directives-focus-trap.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-font-size.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-high-dpi.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs +11 -13
- package/fesm2022/taiga-ui-cdk-directives-hovered.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-item.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-media.mjs +33 -57
- package/fesm2022/taiga-ui-cdk-directives-media.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs +9 -10
- package/fesm2022/taiga-ui-cdk-directives-native-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs +14 -25
- package/fesm2022/taiga-ui-cdk-directives-obscured.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs +10 -11
- package/fesm2022/taiga-ui-cdk-directives-pan.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs +9 -11
- package/fesm2022/taiga-ui-cdk-directives-platform.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-resizer.mjs +19 -21
- package/fesm2022/taiga-ui-cdk-directives-resizer.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs +10 -11
- package/fesm2022/taiga-ui-cdk-directives-swipe.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs +8 -14
- package/fesm2022/taiga-ui-cdk-directives-transitioned.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs +4 -4
- package/fesm2022/taiga-ui-cdk-directives-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs +12 -11
- package/fesm2022/taiga-ui-cdk-directives-value-changes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs +5 -4
- package/fesm2022/taiga-ui-cdk-directives-visual-viewport.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives-with-styles.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs +8 -7
- package/fesm2022/taiga-ui-cdk-directives-zoom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-directives.mjs +0 -5
- package/fesm2022/taiga-ui-cdk-directives.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-observables.mjs +2 -24
- package/fesm2022/taiga-ui-cdk-observables.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes-filter.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-mapper.mjs +3 -3
- package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs +5 -4
- package/fesm2022/taiga-ui-cdk-pipes-obfuscate.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-pipes.mjs +0 -6
- package/fesm2022/taiga-ui-cdk-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-portals.mjs +16 -16
- package/fesm2022/taiga-ui-cdk-portals.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-tokens.mjs +14 -47
- package/fesm2022/taiga-ui-cdk-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs +2 -3
- package/fesm2022/taiga-ui-cdk-utils-browser.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-di.mjs +45 -4
- package/fesm2022/taiga-ui-cdk-utils-di.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs +2 -74
- package/fesm2022/taiga-ui-cdk-utils-dom.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-focus.mjs +22 -38
- package/fesm2022/taiga-ui-cdk-utils-focus.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-math.mjs +13 -21
- package/fesm2022/taiga-ui-cdk-utils-math.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs +45 -202
- package/fesm2022/taiga-ui-cdk-utils-miscellaneous.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk-utils.mjs +0 -1
- package/fesm2022/taiga-ui-cdk-utils.mjs.map +1 -1
- package/fesm2022/taiga-ui-cdk.mjs +0 -1
- package/fesm2022/taiga-ui-cdk.mjs.map +1 -1
- package/index.d.ts +0 -1
- package/observables/index.d.ts +0 -2
- package/package.json +7 -60
- package/pipes/index.d.ts +0 -6
- package/pipes/obfuscate/obfuscate.options.d.ts +1 -1
- package/portals/portal.d.ts +1 -2
- package/schematics/index.d.ts +5 -0
- package/schematics/index.js +4 -0
- package/schematics/index.js.map +1 -1
- package/schematics/ng-add/constants/versions.d.ts +1 -1
- package/schematics/ng-add/steps/add-taiga-modules.js +0 -15
- package/schematics/ng-add/steps/add-taiga-modules.js.map +1 -1
- package/schematics/ng-update/interfaces/html-comment.d.ts +1 -1
- package/schematics/ng-update/interfaces/removable-input.d.ts +1 -1
- package/schematics/ng-update/interfaces/replacement-attribute-to-directive.d.ts +1 -1
- package/schematics/ng-update/interfaces/replacement-attribute-value.d.ts +1 -1
- package/schematics/ng-update/interfaces/replacement-attribute.d.ts +1 -1
- package/schematics/ng-update/interfaces/replacement-tag.d.ts +1 -1
- package/schematics/ng-update/v4/migrate-css-vars/palette.d.ts +4 -4
- package/schematics/ng-update/v4/migrate-css-vars/palette.js +4 -4
- package/schematics/ng-update/v4/migrate-css-vars/palette.js.map +1 -1
- package/schematics/ng-update/v4/steps/migrate-templates.d.ts +2 -2
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js +13 -13
- package/schematics/ng-update/v4/steps/styles/migrate-text-mixins.js.map +1 -1
- package/schematics/ng-update/v5/index.js +4 -0
- package/schematics/ng-update/v5/index.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.d.ts +2 -0
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js +26 -0
- package/schematics/ng-update/v5/steps/constants/attrs-to-replace.js.map +1 -0
- package/schematics/ng-update/v5/steps/constants/functions.js +1 -6
- package/schematics/ng-update/v5/steps/constants/functions.js.map +1 -1
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js +10 -0
- package/schematics/ng-update/v5/steps/constants/identifiers-to-replace.js.map +1 -1
- package/schematics/ng-update/v5/steps/migrate-css-variables.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-css-variables.js +30 -0
- package/schematics/ng-update/v5/steps/migrate-css-variables.js.map +1 -0
- package/schematics/ng-update/v5/steps/migrate-templates.d.ts +2 -2
- package/schematics/ng-update/v5/steps/migrate-templates.js +6 -0
- package/schematics/ng-update/v5/steps/migrate-templates.js.map +1 -1
- package/schematics/ng-update/v5/steps/migrate-tui-let.d.ts +3 -0
- package/schematics/ng-update/v5/steps/migrate-tui-let.js +95 -0
- package/schematics/ng-update/v5/steps/migrate-tui-let.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-avatar.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-avatar.js +111 -0
- package/schematics/ng-update/v5/steps/templates/migrate-avatar.js.map +1 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.d.ts +8 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.js +45 -0
- package/schematics/ng-update/v5/steps/templates/migrate-notification.js.map +1 -0
- package/schematics/utils/run-migration.d.ts +2 -2
- package/schematics/utils/run-migration.js +4 -3
- package/schematics/utils/run-migration.js.map +1 -1
- package/schematics/utils/templates/elements.d.ts +4 -1
- package/schematics/utils/templates/elements.js.map +1 -1
- package/schematics/utils/templates/ng-component-input-manipulations.d.ts +3 -3
- package/tokens/environment.d.ts +0 -13
- package/tokens/index.d.ts +0 -2
- package/tokens/removed-element.d.ts +0 -3
- package/types/index.d.ts +0 -3
- package/utils/di/index.d.ts +3 -0
- package/utils/dom/index.d.ts +0 -6
- package/utils/focus/get-closest-focusable.d.ts +1 -6
- package/utils/focus/index.d.ts +4 -6
- package/utils/focus/{is-native-keyboard-focusable.d.ts → is-focusable.d.ts} +1 -1
- package/utils/index.d.ts +0 -1
- package/utils/math/clamp.d.ts +1 -5
- package/utils/math/index.d.ts +0 -2
- package/utils/miscellaneous/generate-id.d.ts +1 -0
- package/utils/miscellaneous/index.d.ts +2 -11
- package/utils/miscellaneous/sanitize-text.d.ts +23 -0
- package/directives/animated/animated-parent.directive.d.ts +0 -10
- package/directives/click-outside/click-outside.directive.d.ts +0 -14
- package/directives/click-outside/index.d.ts +0 -1
- package/directives/droppable/droppable.directive.d.ts +0 -8
- package/directives/droppable/index.d.ts +0 -1
- package/directives/let/index.d.ts +0 -2
- package/directives/let/let-context.d.ts +0 -11
- package/directives/let/let.directive.d.ts +0 -18
- package/directives/popover/index.d.ts +0 -1
- package/directives/popover/popover.directive.d.ts +0 -14
- package/directives/repeat-times/index.d.ts +0 -1
- package/directives/repeat-times/repeat-times.directive.d.ts +0 -22
- package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs +0 -38
- package/fesm2022/taiga-ui-cdk-directives-click-outside.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-directives-droppable.mjs +0 -36
- package/fesm2022/taiga-ui-cdk-directives-droppable.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-directives-let.mjs +0 -52
- package/fesm2022/taiga-ui-cdk-directives-let.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-directives-popover.mjs +0 -32
- package/fesm2022/taiga-ui-cdk-directives-popover.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs +0 -60
- package/fesm2022/taiga-ui-cdk-directives-repeat-times.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-animation.mjs +0 -32
- package/fesm2022/taiga-ui-cdk-pipes-animation.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs +0 -24
- package/fesm2022/taiga-ui-cdk-pipes-is-present.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-keys.mjs +0 -23
- package/fesm2022/taiga-ui-cdk-pipes-keys.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs +0 -24
- package/fesm2022/taiga-ui-cdk-pipes-repeat-times.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-replace.mjs +0 -25
- package/fesm2022/taiga-ui-cdk-pipes-replace.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs +0 -23
- package/fesm2022/taiga-ui-cdk-pipes-to-array.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-services.mjs +0 -151
- package/fesm2022/taiga-ui-cdk-services.mjs.map +0 -1
- package/fesm2022/taiga-ui-cdk-utils-color.mjs +0 -195
- package/fesm2022/taiga-ui-cdk-utils-color.mjs.map +0 -1
- package/observables/must-be-present.d.ts +0 -5
- package/observables/query-list-observable.d.ts +0 -6
- package/pipes/animation/animation.pipe.d.ts +0 -13
- package/pipes/animation/index.d.ts +0 -1
- package/pipes/is-present/index.d.ts +0 -1
- package/pipes/is-present/is-present.pipe.d.ts +0 -7
- package/pipes/keys/index.d.ts +0 -1
- package/pipes/keys/keys.pipe.d.ts +0 -7
- package/pipes/repeat-times/index.d.ts +0 -7
- package/pipes/replace/index.d.ts +0 -1
- package/pipes/replace/replace.pipe.d.ts +0 -7
- package/pipes/to-array/index.d.ts +0 -1
- package/pipes/to-array/to-array.pipe.d.ts +0 -7
- package/schematics/migrate-tui-let/index.d.ts +0 -3
- package/schematics/migrate-tui-let/index.js +0 -73
- package/schematics/migrate-tui-let/index.js.map +0 -1
- package/schematics/migrate-tui-let/schema.json +0 -7
- package/services/id.service.d.ts +0 -8
- package/services/index.d.ts +0 -4
- package/services/popover.service.d.ts +0 -25
- package/services/scroll.service.d.ts +0 -13
- package/services/theme-color.service.d.ts +0 -18
- package/tokens/base-href.d.ts +0 -2
- package/tokens/range.d.ts +0 -5
- package/types/loose-union.d.ts +0 -36
- package/types/safe-html.d.ts +0 -2
- package/types/values-of.d.ts +0 -1
- package/utils/color/get-gradient-data.d.ts +0 -1
- package/utils/color/hex-to-rgb.d.ts +0 -1
- package/utils/color/hex-to-rgba.d.ts +0 -3
- package/utils/color/hsv-to-rgb.d.ts +0 -4
- package/utils/color/index.d.ts +0 -9
- package/utils/color/parse-color.d.ts +0 -1
- package/utils/color/parse-gradient.d.ts +0 -10
- package/utils/color/rgb-to-hex.d.ts +0 -1
- package/utils/color/rgb-to-hsv.d.ts +0 -1
- package/utils/color/rgba-to-hex.d.ts +0 -2
- package/utils/dom/get-element-point.d.ts +0 -2
- package/utils/dom/is-current-target.d.ts +0 -1
- package/utils/dom/is-inside-iframe.d.ts +0 -4
- package/utils/dom/is-node-in.d.ts +0 -8
- package/utils/dom/retarget-boundary-crossing.d.ts +0 -1
- package/utils/dom/value-binding.d.ts +0 -3
- package/utils/focus/blur-native-focused.d.ts +0 -4
- package/utils/focus/is-native-mouse-focusable.d.ts +0 -1
- package/utils/math/to-integer.d.ts +0 -1
- package/utils/math/to-radians.d.ts +0 -4
- package/utils/miscellaneous/change-date-separator.d.ts +0 -1
- package/utils/miscellaneous/create-token.d.ts +0 -9
- package/utils/miscellaneous/flat-length.d.ts +0 -6
- package/utils/miscellaneous/get-original-array-from-query-list.d.ts +0 -8
- package/utils/miscellaneous/is-falsy.d.ts +0 -1
- package/utils/miscellaneous/is-valid-url.d.ts +0 -4
- package/utils/miscellaneous/pure.d.ts +0 -22
- package/utils/miscellaneous/uniq-by.d.ts +0 -1
- /package/utils/{miscellaneous → di}/directive-binding.d.ts +0 -0
- /package/utils/{miscellaneous → di}/provide-options.d.ts +0 -0
- /package/utils/{miscellaneous → di}/provide.d.ts +0 -0
- /package/utils/focus/{get-native-focused.d.ts → get-focused.d.ts} +0 -0
- /package/utils/focus/{is-native-focused-in.d.ts → is-focused-in.d.ts} +0 -0
- /package/utils/focus/{is-native-focused.d.ts → is-focused.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-services.mjs","sources":["../../../projects/cdk/services/id.service.ts","../../../projects/cdk/services/popover.service.ts","../../../projects/cdk/services/scroll.service.ts","../../../projects/cdk/services/theme-color.service.ts","../../../projects/cdk/services/taiga-ui-cdk-services.ts"],"sourcesContent":["import {inject, Injectable} from '@angular/core';\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiIdService {\n private static autoId = 0;\n\n public generate(): string {\n return `tui_${TuiIdService.autoId++}${Date.now()}`;\n }\n}\n\nexport function tuiInjectId(): string {\n return inject(TuiIdService).generate();\n}\n","import {\n inject,\n Injectable,\n INJECTOR,\n type Provider,\n type ProviderToken,\n type Type,\n} from '@angular/core';\nimport {type TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiProvide} from '@taiga-ui/cdk/utils';\nimport {PolymorpheusComponent, type PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {type BehaviorSubject, Observable, type Observer} from 'rxjs';\n\nimport {TuiIdService} from './id.service';\n\nexport interface TuiPopoverContext<O> extends TuiContext<Observer<O>> {\n readonly component: PolymorpheusComponent<any>;\n readonly createdAt: number;\n readonly id: string;\n readonly completeWith: (value: O) => void;\n}\n\nexport type TuiPopover<T, O> = T &\n TuiPopoverContext<O> & {\n content: PolymorpheusContent<T & TuiPopoverContext<O>>;\n };\n\n@Injectable()\nexport abstract class TuiPopoverService<T, K = void> {\n private readonly component: PolymorpheusComponent<any>;\n private readonly id = inject(TuiIdService);\n\n protected readonly items$: BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>;\n\n constructor(\n items: ProviderToken<BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>>,\n component: Type<any>,\n protected readonly options: T = {} as T,\n ) {\n this.component = new PolymorpheusComponent(component, inject(INJECTOR));\n this.items$ = inject(items);\n }\n\n public open<G = void>(\n content: PolymorpheusContent<T & TuiPopoverContext<K extends void ? G : K>>,\n options: Partial<T> = {},\n ): Observable<K extends void ? G : K> {\n return new Observable((observer) => {\n const item = {\n ...this.options,\n ...options,\n content,\n $implicit: observer,\n component: this.component,\n createdAt: Date.now(),\n id: this.id.generate(),\n completeWith: (result: K extends void ? G : K): void => {\n observer.next(result);\n observer.complete();\n },\n };\n\n this.items$.next([...this.items$.value, item]);\n\n return () => {\n this.items$.next(this.items$.value.filter((value) => value !== item));\n };\n });\n }\n}\n\nexport function tuiAsPopover(popover: Type<TuiPopoverService<any>>): Provider {\n return tuiProvide(TuiPopoverService, popover);\n}\n","/// <reference types=\"@taiga-ui/tsconfig/ng-dev-mode\" />\nimport {inject, Injectable, NgZone} from '@angular/core';\nimport {WA_ANIMATION_FRAME, WA_PERFORMANCE} from '@ng-web-apis/common';\nimport {tuiZonefreeScheduler} from '@taiga-ui/cdk/observables';\nimport {tuiClamp} from '@taiga-ui/cdk/utils/math';\nimport {tuiEaseInOutQuad} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n defer,\n endWith,\n map,\n type Observable,\n of,\n switchMap,\n takeUntil,\n tap,\n timer,\n} from 'rxjs';\n\nconst SCROLL_TIME = 300;\n\nfunction getX(elementOrWindow: Element | Window): number {\n return 'scrollX' in elementOrWindow\n ? elementOrWindow.scrollX\n : elementOrWindow.scrollLeft;\n}\n\nfunction getY(elementOrWindow: Element | Window): number {\n return 'scrollY' in elementOrWindow\n ? elementOrWindow.scrollY\n : elementOrWindow.scrollTop;\n}\n\n/**\n * @deprecated: use native scroll\n */\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiScrollService {\n private readonly performanceRef = inject(WA_PERFORMANCE);\n private readonly animationFrame$ = inject(WA_ANIMATION_FRAME);\n private readonly zone = inject(NgZone);\n\n public scroll$(\n elementOrWindow: Element | Window,\n scrollTop: number,\n scrollLeft: number = getX(elementOrWindow),\n duration: number = SCROLL_TIME,\n ): Observable<[number, number]> {\n ngDevMode && console.assert(duration >= 0, 'duration cannot be negative');\n ngDevMode && console.assert(scrollTop >= 0, 'scrollTop cannot be negative');\n ngDevMode && console.assert(scrollLeft >= 0, 'scrollLeft cannot be negative');\n\n const initialTop = getY(elementOrWindow);\n const initialLeft = getX(elementOrWindow);\n const deltaTop = scrollTop - initialTop;\n const deltaLeft = scrollLeft - initialLeft;\n const observable = !duration\n ? of<[number, number]>([scrollTop, scrollLeft])\n : defer(() => of(this.performanceRef.now())).pipe(\n switchMap((start) =>\n this.animationFrame$.pipe(map((now) => now - start)),\n ),\n map((elapsed) => tuiEaseInOutQuad(tuiClamp(elapsed / duration, 0, 1))),\n map<number, [number, number]>((percent) => [\n initialTop + deltaTop * percent,\n initialLeft + deltaLeft * percent,\n ]),\n takeUntil(timer(duration, tuiZonefreeScheduler(this.zone))),\n endWith<[number, number]>([scrollTop, scrollLeft]),\n );\n\n return observable.pipe(\n tap(([scrollTop, scrollLeft]) => {\n elementOrWindow.scrollTo?.(scrollLeft, scrollTop);\n }),\n );\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport {inject, Injectable, InjectionToken} from '@angular/core';\nimport {Meta} from '@angular/platform-browser';\n\nexport const TUI_THEME_COLOR = new InjectionToken<string>(\n ngDevMode ? 'TUI_THEME_COLOR' : '',\n {\n factory: () => inject(Meta).getTag('name=\"theme-color\"')?.content ?? '',\n },\n);\n\ninterface TuiThemeColor {\n get color(): string;\n set color(value: string);\n}\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiThemeColorService implements TuiThemeColor {\n private current = inject(TUI_THEME_COLOR);\n private readonly doc = inject(DOCUMENT);\n private readonly meta = inject(Meta);\n\n constructor() {\n this.color = this.current;\n }\n\n public get color(): string {\n return this.current;\n }\n\n public set color(content: string) {\n this.current = content;\n this.meta.updateTag({name: 'theme-color', content});\n this.doc.documentElement.style.setProperty('--tui-theme-color', content);\n }\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
function tuiGetGradientData(gradient) {
|
|
2
|
-
return gradient
|
|
3
|
-
.slice(0, Math.max(0, gradient.length - 1))
|
|
4
|
-
.replace('linear-gradient(', '');
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
function tuiHexToRgb(hex) {
|
|
8
|
-
const matches = hex
|
|
9
|
-
.replace('#', '')
|
|
10
|
-
.split('')
|
|
11
|
-
.map((char, _, array) => (array.length === 3 ? char + char : char))
|
|
12
|
-
.join('')
|
|
13
|
-
.match(/.{2}/g);
|
|
14
|
-
return matches
|
|
15
|
-
? matches.map((x) => Number.parseInt(x, 16))
|
|
16
|
-
: [0, 0, 0];
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
const getChunksFromString = (hex, chunkSize) => hex.match(new RegExp(`.{${chunkSize}}`, 'g'));
|
|
20
|
-
const convertHexUnitTo256 = (hexStr) => parseInt(hexStr.repeat(2 / hexStr.length), 16);
|
|
21
|
-
const getAlphaFloat = (a, alpha) => {
|
|
22
|
-
if (a !== undefined) {
|
|
23
|
-
return Number((a / 255).toFixed(2));
|
|
24
|
-
}
|
|
25
|
-
if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {
|
|
26
|
-
return 1;
|
|
27
|
-
}
|
|
28
|
-
return alpha;
|
|
29
|
-
};
|
|
30
|
-
function tuiHexToRGBA(hex, alpha) {
|
|
31
|
-
const [r, g, b, a] = tuiParseHex(hex, alpha);
|
|
32
|
-
return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;
|
|
33
|
-
}
|
|
34
|
-
function tuiIsValidHex(hex) {
|
|
35
|
-
return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);
|
|
36
|
-
}
|
|
37
|
-
function tuiParseHex(hex, alpha) {
|
|
38
|
-
if (!tuiIsValidHex(hex)) {
|
|
39
|
-
throw new Error('Invalid HEX');
|
|
40
|
-
}
|
|
41
|
-
const chunkSize = Math.floor((hex.length - 1) / 3);
|
|
42
|
-
const hexArr = getChunksFromString(hex.slice(1), chunkSize);
|
|
43
|
-
const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];
|
|
44
|
-
const floatAlpha = getAlphaFloat(a, alpha);
|
|
45
|
-
return [r, g, b, floatAlpha];
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
function hsvToColor(h, s, v, n) {
|
|
49
|
-
const k = (n + h / 60) % 6;
|
|
50
|
-
return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));
|
|
51
|
-
}
|
|
52
|
-
/**
|
|
53
|
-
* https://stackoverflow.com/a/54024653/2706426
|
|
54
|
-
*/
|
|
55
|
-
function tuiHsvToRgb(h, s, v) {
|
|
56
|
-
return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
const DEFAULT = [0, 0, 0, 1];
|
|
60
|
-
function tuiParseColor(color) {
|
|
61
|
-
const stripped = color
|
|
62
|
-
.replace('#', '')
|
|
63
|
-
.replace('rgba(', '')
|
|
64
|
-
.replace('rgb(', '')
|
|
65
|
-
.replace(')', '');
|
|
66
|
-
const array = stripped.split(',').map((item) => parseFloat(item));
|
|
67
|
-
if (array.length === 4) {
|
|
68
|
-
return array;
|
|
69
|
-
}
|
|
70
|
-
if (array.length === 3) {
|
|
71
|
-
return array.concat(1);
|
|
72
|
-
}
|
|
73
|
-
const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));
|
|
74
|
-
if (!matches) {
|
|
75
|
-
return DEFAULT;
|
|
76
|
-
}
|
|
77
|
-
const parsed = matches.map((char) => parseInt(stripped.length % 2 ? char + char : char, 16));
|
|
78
|
-
return [
|
|
79
|
-
parsed[0] ?? DEFAULT[0],
|
|
80
|
-
parsed[1] ?? DEFAULT[1],
|
|
81
|
-
parsed[2] ?? DEFAULT[2],
|
|
82
|
-
parsed[3] ?? DEFAULT[3],
|
|
83
|
-
];
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
//
|
|
87
|
-
// TypeScript parser based on Dean Taylor's answer:
|
|
88
|
-
// https://stackoverflow.com/a/20238168/2706426
|
|
89
|
-
//
|
|
90
|
-
// SETUP CODE
|
|
91
|
-
const COMMA = String.raw `\s*,\s*`; // Allow space around comma.
|
|
92
|
-
const HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form
|
|
93
|
-
const RGB = String.raw `\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*\)`; // "(1, 2, 3)"
|
|
94
|
-
const RGBA = String.raw `\(\s*(?:\d{1,3}\s*,\s*){2}\d{1,3}\s*,\s*\d*\.?\d+\)`; // "(1, 2, 3, 4)"
|
|
95
|
-
const VALUE = String.raw `(?:[+-]?\d*\.?\d+)(?:%|[a-z]+)?`; // ".9", "-5px", "100%".
|
|
96
|
-
const KEYWORD = '[_a-z-][_a-z0-9-]*'; // "red", "transparent", "border-collapse".
|
|
97
|
-
const COLOR = [
|
|
98
|
-
'(?:',
|
|
99
|
-
HEX,
|
|
100
|
-
'|',
|
|
101
|
-
'(?:rgb|hsl)',
|
|
102
|
-
RGB,
|
|
103
|
-
'|',
|
|
104
|
-
'(?:rgba|hsla)',
|
|
105
|
-
RGBA,
|
|
106
|
-
'|',
|
|
107
|
-
KEYWORD,
|
|
108
|
-
')',
|
|
109
|
-
];
|
|
110
|
-
const REGEXP_ARRAY = [
|
|
111
|
-
String.raw `\s*(`,
|
|
112
|
-
...COLOR,
|
|
113
|
-
')',
|
|
114
|
-
String.raw `(?:\s+`,
|
|
115
|
-
'(',
|
|
116
|
-
VALUE,
|
|
117
|
-
'))?',
|
|
118
|
-
'(?:',
|
|
119
|
-
COMMA,
|
|
120
|
-
String.raw `\s*)?`,
|
|
121
|
-
];
|
|
122
|
-
function getPosition(match, stops) {
|
|
123
|
-
const fallback = stops === 1 ? '100%' : `${stops}%`;
|
|
124
|
-
return match?.includes('%') ? match : fallback;
|
|
125
|
-
}
|
|
126
|
-
function tuiParseGradient(input) {
|
|
127
|
-
const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');
|
|
128
|
-
const stopsString = input.startsWith('to') || /^\d/.exec(input)
|
|
129
|
-
? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()
|
|
130
|
-
: input;
|
|
131
|
-
const side = input.startsWith('to')
|
|
132
|
-
? input.split(',')[0]
|
|
133
|
-
: 'to bottom';
|
|
134
|
-
let stops = [];
|
|
135
|
-
let matchColorStop = stopsRegexp.exec(stopsString);
|
|
136
|
-
while (matchColorStop !== null) {
|
|
137
|
-
stops = stops.concat({
|
|
138
|
-
color: matchColorStop[1] || '',
|
|
139
|
-
position: getPosition(matchColorStop[2] || '', stops.length),
|
|
140
|
-
});
|
|
141
|
-
matchColorStop = stopsRegexp.exec(stopsString);
|
|
142
|
-
}
|
|
143
|
-
stops = stops.filter(({ color }) => color.startsWith('#') || color.startsWith('rgb'));
|
|
144
|
-
return {
|
|
145
|
-
stops,
|
|
146
|
-
side,
|
|
147
|
-
};
|
|
148
|
-
}
|
|
149
|
-
function tuiToGradient({ stops, side }) {
|
|
150
|
-
return `linear-gradient(${side}, ${stops
|
|
151
|
-
.map(({ color, position }) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`)
|
|
152
|
-
.join(', ')})`;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
function tuiRgbToHex(r, g, b) {
|
|
156
|
-
return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;
|
|
157
|
-
}
|
|
158
|
-
|
|
159
|
-
function tuiRgbToHsv(r, g, b) {
|
|
160
|
-
const v = Math.max(r, g, b);
|
|
161
|
-
const n = v - Math.min(r, g, b);
|
|
162
|
-
// eslint-disable-next-line no-nested-ternary
|
|
163
|
-
const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);
|
|
164
|
-
return [60 * (h < 0 ? h + 6 : h), v && n / v, v];
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
function tuiRgbaToHex(color) {
|
|
168
|
-
if (!tuiIsValidRgba(color)) {
|
|
169
|
-
throw new Error('Invalid RGBa');
|
|
170
|
-
}
|
|
171
|
-
const rgb = /^rgba?\((\d+),(\d+),(\d+),?([^,\s)]+)?/i.exec(color.replaceAll(/\s/g, '')) ??
|
|
172
|
-
null;
|
|
173
|
-
let alpha = (rgb?.[4] ?? '').trim();
|
|
174
|
-
let hex = rgb
|
|
175
|
-
? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
|
|
176
|
-
((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +
|
|
177
|
-
((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)
|
|
178
|
-
: color;
|
|
179
|
-
alpha = alpha !== '' ? alpha : 0o1;
|
|
180
|
-
alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);
|
|
181
|
-
hex += alpha;
|
|
182
|
-
return `#${hex.toUpperCase()}`;
|
|
183
|
-
}
|
|
184
|
-
function tuiIsValidRgba(rgba) {
|
|
185
|
-
const range = String.raw `(\d|[1-9]\d|1\d{2}|2[0-4]\d|2[0-5]{2})`;
|
|
186
|
-
const alpha = String.raw `([01]|0?\.\d+)`;
|
|
187
|
-
return new RegExp(String.raw `^(?:rgb\(\s*${range}\s*,\s*${range}\s*,\s*${range}\s*\)|rgba\(\s*${range}\s*,\s*${range}\s*,\s*${range}\s*,\s*${alpha}\s*\))$`).test(rgba);
|
|
188
|
-
}
|
|
189
|
-
|
|
190
|
-
/**
|
|
191
|
-
* Generated bundle index. Do not edit.
|
|
192
|
-
*/
|
|
193
|
-
|
|
194
|
-
export { tuiGetGradientData, tuiHexToRGBA, tuiHexToRgb, tuiHsvToRgb, tuiIsValidHex, tuiIsValidRgba, tuiParseColor, tuiParseGradient, tuiParseHex, tuiRgbToHex, tuiRgbToHsv, tuiRgbaToHex, tuiToGradient };
|
|
195
|
-
//# sourceMappingURL=taiga-ui-cdk-utils-color.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-cdk-utils-color.mjs","sources":["../../../projects/cdk/utils/color/get-gradient-data.ts","../../../projects/cdk/utils/color/hex-to-rgb.ts","../../../projects/cdk/utils/color/hex-to-rgba.ts","../../../projects/cdk/utils/color/hsv-to-rgb.ts","../../../projects/cdk/utils/color/parse-color.ts","../../../projects/cdk/utils/color/parse-gradient.ts","../../../projects/cdk/utils/color/rgb-to-hex.ts","../../../projects/cdk/utils/color/rgb-to-hsv.ts","../../../projects/cdk/utils/color/rgba-to-hex.ts","../../../projects/cdk/utils/color/taiga-ui-cdk-utils-color.ts"],"sourcesContent":["export function tuiGetGradientData(gradient: string): string {\n return gradient\n .slice(0, Math.max(0, gradient.length - 1))\n .replace('linear-gradient(', '');\n}\n","export function tuiHexToRgb(hex: string): [number, number, number] {\n const matches = hex\n .replace('#', '')\n .split('')\n .map((char, _, array) => (array.length === 3 ? char + char : char))\n .join('')\n .match(/.{2}/g);\n\n return matches\n ? (matches.map((x) => Number.parseInt(x, 16)) as [number, number, number])\n : [0, 0, 0];\n}\n","const getChunksFromString = (hex: string, chunkSize: number): RegExpMatchArray | null =>\n hex.match(new RegExp(`.{${chunkSize}}`, 'g'));\n\nconst convertHexUnitTo256 = (hexStr: string): number =>\n parseInt(hexStr.repeat(2 / hexStr.length), 16);\n\nconst getAlphaFloat = (a?: number, alpha?: number): number => {\n if (a !== undefined) {\n return Number((a / 255).toFixed(2));\n }\n\n if (typeof alpha !== 'number' || alpha < 0 || alpha > 1) {\n return 1;\n }\n\n return alpha;\n};\n\nexport function tuiHexToRGBA(hex: string, alpha?: number): string {\n const [r, g, b, a] = tuiParseHex(hex, alpha);\n\n return a < 1 ? `rgba(${r}, ${g}, ${b}, ${a})` : `rgb(${r}, ${g}, ${b})`;\n}\n\nexport function tuiIsValidHex(hex: string): boolean {\n return /^#([A-Fa-f0-9]{3,4}){1,2}$/.test(hex);\n}\n\nexport function tuiParseHex(\n hex: string,\n alpha?: number,\n): [number, number, number, number] {\n if (!tuiIsValidHex(hex)) {\n throw new Error('Invalid HEX');\n }\n\n const chunkSize = Math.floor((hex.length - 1) / 3);\n const hexArr = getChunksFromString(hex.slice(1), chunkSize);\n const [r = NaN, g = NaN, b = NaN, a] = hexArr?.map(convertHexUnitTo256) ?? [];\n const floatAlpha = getAlphaFloat(a, alpha);\n\n return [r, g, b, floatAlpha];\n}\n","function hsvToColor(h: number, s: number, v: number, n: number): number {\n const k = (n + h / 60) % 6;\n\n return Math.round(v - v * s * Math.max(Math.min(k, 4 - k, 1), 0));\n}\n\n/**\n * https://stackoverflow.com/a/54024653/2706426\n */\nexport function tuiHsvToRgb(h: number, s: number, v: number): [number, number, number] {\n return [hsvToColor(h, s, v, 5), hsvToColor(h, s, v, 3), hsvToColor(h, s, v, 1)];\n}\n","const DEFAULT: [number, number, number, number] = [0, 0, 0, 1];\n\nexport function tuiParseColor(color: string): [number, number, number, number] {\n const stripped = color\n .replace('#', '')\n .replace('rgba(', '')\n .replace('rgb(', '')\n .replace(')', '');\n const array = stripped.split(',').map((item) => parseFloat(item));\n\n if (array.length === 4) {\n return array as [number, number, number, number];\n }\n\n if (array.length === 3) {\n return array.concat(1) as [number, number, number, number];\n }\n\n const matches = stripped.match(new RegExp(`(.{${stripped.length / 3}})`, 'g'));\n\n if (!matches) {\n return DEFAULT;\n }\n\n const parsed = matches.map((char) =>\n parseInt(stripped.length % 2 ? char + char : char, 16),\n );\n\n return [\n parsed[0] ?? DEFAULT[0],\n parsed[1] ?? DEFAULT[1],\n parsed[2] ?? DEFAULT[2],\n parsed[3] ?? DEFAULT[3],\n ];\n}\n","import {tuiParseColor} from './parse-color';\n\nexport interface TuiParsedGradient {\n readonly side: TuiGradientDirection;\n readonly stops: ReadonlyArray<{\n readonly color: string;\n readonly position: string;\n }>;\n}\n\nexport type TuiGradientDirection =\n | 'to bottom left'\n | 'to bottom right'\n | 'to bottom'\n | 'to left'\n | 'to right'\n | 'to top left'\n | 'to top right'\n | 'to top';\n\n//\n// TypeScript parser based on Dean Taylor's answer:\n// https://stackoverflow.com/a/20238168/2706426\n//\n// SETUP CODE\nconst COMMA = String.raw`\\s*,\\s*`; // Allow space around comma.\nconst HEX = '#(?:[a-f0-9]{6}|[a-f0-9]{3})'; // 3 or 6 character form\nconst RGB = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*\\)`; // \"(1, 2, 3)\"\nconst RGBA = String.raw`\\(\\s*(?:\\d{1,3}\\s*,\\s*){2}\\d{1,3}\\s*,\\s*\\d*\\.?\\d+\\)`; // \"(1, 2, 3, 4)\"\nconst VALUE = String.raw`(?:[+-]?\\d*\\.?\\d+)(?:%|[a-z]+)?`; // \".9\", \"-5px\", \"100%\".\nconst KEYWORD = '[_a-z-][_a-z0-9-]*'; // \"red\", \"transparent\", \"border-collapse\".\nconst COLOR = [\n '(?:',\n HEX,\n '|',\n '(?:rgb|hsl)',\n RGB,\n '|',\n '(?:rgba|hsla)',\n RGBA,\n '|',\n KEYWORD,\n ')',\n];\nconst REGEXP_ARRAY = [\n String.raw`\\s*(`,\n ...COLOR,\n ')',\n String.raw`(?:\\s+`,\n '(',\n VALUE,\n '))?',\n '(?:',\n COMMA,\n String.raw`\\s*)?`,\n];\n\nfunction getPosition(match: string, stops: number): string {\n const fallback = stops === 1 ? '100%' : `${stops}%`;\n\n return match?.includes('%') ? match : fallback;\n}\n\nexport function tuiParseGradient(input: string): TuiParsedGradient {\n const stopsRegexp = new RegExp(REGEXP_ARRAY.join(''), 'gi');\n const stopsString =\n input.startsWith('to') || /^\\d/.exec(input)\n ? input.slice(Math.max(0, input.indexOf(',') + 1)).trim()\n : input;\n\n const side = input.startsWith('to')\n ? (input.split(',')[0] as TuiGradientDirection)\n : 'to bottom';\n let stops: TuiParsedGradient['stops'] = [];\n\n let matchColorStop = stopsRegexp.exec(stopsString);\n\n while (matchColorStop !== null) {\n stops = stops.concat({\n color: matchColorStop[1] || '',\n position: getPosition(matchColorStop[2] || '', stops.length),\n });\n\n matchColorStop = stopsRegexp.exec(stopsString);\n }\n\n stops = stops.filter(({color}) => color.startsWith('#') || color.startsWith('rgb'));\n\n return {\n stops,\n side,\n };\n}\n\nexport function tuiToGradient({stops, side}: TuiParsedGradient): string {\n return `linear-gradient(${side}, ${stops\n .map(\n ({color, position}) => `rgba(${tuiParseColor(color).join(', ')}) ${position}`,\n )\n .join(', ')})`;\n}\n","export function tuiRgbToHex(r: number, g: number, b: number): string {\n return `#${[r, g, b].map((x) => x.toString(16).padStart(2, '0')).join('')}`;\n}\n","export function tuiRgbToHsv(r: number, g: number, b: number): [number, number, number] {\n const v = Math.max(r, g, b);\n const n = v - Math.min(r, g, b);\n\n // eslint-disable-next-line no-nested-ternary\n const h = n && (v === r ? (g - b) / n : v === g ? 2 + (b - r) / n : 4 + (r - g) / n);\n\n return [60 * (h < 0 ? h + 6 : h), v && n / v, v];\n}\n","export function tuiRgbaToHex(color: string): string {\n if (!tuiIsValidRgba(color)) {\n throw new Error('Invalid RGBa');\n }\n\n const rgb =\n /^rgba?\\((\\d+),(\\d+),(\\d+),?([^,\\s)]+)?/i.exec(color.replaceAll(/\\s/g, '')) ??\n null;\n\n let alpha: number | string = ((rgb?.[4] ?? '') satisfies string).trim();\n\n let hex = rgb\n ? ((parseInt(rgb?.[1] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[2] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1) +\n ((parseInt(rgb?.[3] ?? '', 10) || 0) | (1 << 8)).toString(16).slice(1)\n : color;\n\n alpha = alpha !== '' ? alpha : 0o1;\n alpha = ((Number(alpha) * 255) | (1 << 8)).toString(16).slice(1);\n hex += alpha;\n\n return `#${hex.toUpperCase()}`;\n}\n\nexport function tuiIsValidRgba(rgba: string): boolean {\n const range = String.raw`(\\d|[1-9]\\d|1\\d{2}|2[0-4]\\d|2[0-5]{2})`;\n const alpha = String.raw`([01]|0?\\.\\d+)`;\n\n return new RegExp(\n String.raw`^(?:rgb\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*\\)|rgba\\(\\s*${range}\\s*,\\s*${range}\\s*,\\s*${range}\\s*,\\s*${alpha}\\s*\\))$`,\n ).test(rgba);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { type QueryList } from '@angular/core';
|
|
2
|
-
import { type Observable } from 'rxjs';
|
|
3
|
-
/**
|
|
4
|
-
* Converts changes observable of a QueryList to an Observable of arrays
|
|
5
|
-
*/
|
|
6
|
-
export declare function tuiQueryListChanges<T>(queryList: QueryList<T>): Observable<readonly T[]>;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform } from '@angular/core';
|
|
2
|
-
import { type TuiDurationOptions } from '@taiga-ui/core/animations';
|
|
3
|
-
import * as i0 from "@angular/core";
|
|
4
|
-
export declare class TuiAnimationPipe implements PipeTransform {
|
|
5
|
-
private readonly speed;
|
|
6
|
-
readonly transform: ({ duration, speed, value, ...params }?: Partial<{
|
|
7
|
-
duration: number;
|
|
8
|
-
speed: number;
|
|
9
|
-
value: string;
|
|
10
|
-
}> & Record<string, any>) => TuiDurationOptions;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiAnimationPipe, never>;
|
|
12
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiAnimationPipe, "tuiAnimation", true>;
|
|
13
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './animation.pipe';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './is-present.pipe';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiIsPresentPipe implements PipeTransform {
|
|
4
|
-
transform<T>(value?: T | null): value is T;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiIsPresentPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiIsPresentPipe, "tuiIsPresent", true>;
|
|
7
|
-
}
|
package/pipes/keys/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './keys.pipe';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiKeysPipe implements PipeTransform {
|
|
4
|
-
transform(object: Record<any, any>): string[];
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiKeysPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiKeysPipe, "tuiKeys", true>;
|
|
7
|
-
}
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiRepeatTimesPipe implements PipeTransform {
|
|
4
|
-
transform(n: number): number[];
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiRepeatTimesPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiRepeatTimesPipe, "tuiRepeatTimes", true>;
|
|
7
|
-
}
|
package/pipes/replace/index.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './replace.pipe';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiReplacePipe implements PipeTransform {
|
|
4
|
-
transform(value: string | null | undefined, search: RegExp | string, replaceValue: string | ((substring: string, ...args: unknown[]) => string)): string;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiReplacePipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiReplacePipe, "tuiReplace", true>;
|
|
7
|
-
}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export * from './to-array.pipe';
|
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
import { type PipeTransform, type QueryList } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare class TuiToArrayPipe implements PipeTransform {
|
|
4
|
-
transform<T>(items: Map<any, any> | QueryList<T> | Set<any>): readonly T[];
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiToArrayPipe, never>;
|
|
6
|
-
static ɵpipe: i0.ɵɵPipeDeclaration<TuiToArrayPipe, "tuiToArray", true>;
|
|
7
|
-
}
|
|
@@ -1,73 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.default = tuiLetMigrationGenerator;
|
|
4
|
-
const tslib_1 = require("tslib");
|
|
5
|
-
const workspace_1 = require("@schematics/angular/utility/workspace");
|
|
6
|
-
const ng_morph_1 = require("ng-morph");
|
|
7
|
-
const constants_1 = require("../constants");
|
|
8
|
-
const get_projects_1 = require("../utils/get-projects");
|
|
9
|
-
const remove_module_1 = require("../utils/remove-module");
|
|
10
|
-
const elements_1 = require("../utils/templates/elements");
|
|
11
|
-
const get_component_templates_1 = require("../utils/templates/get-component-templates");
|
|
12
|
-
const template_resource_1 = require("../utils/templates/template-resource");
|
|
13
|
-
// TODO: move to migration in v5
|
|
14
|
-
function tuiLetMigrationGenerator(options) {
|
|
15
|
-
return (tree) => tslib_1.__awaiter(this, void 0, void 0, function* () {
|
|
16
|
-
var _a;
|
|
17
|
-
const workspace = yield (0, workspace_1.getWorkspace)(tree);
|
|
18
|
-
const [project] = (0, get_projects_1.getProjects)(options, workspace);
|
|
19
|
-
const root = (_a = project === null || project === void 0 ? void 0 : project.root) !== null && _a !== void 0 ? _a : project === null || project === void 0 ? void 0 : project.sourceRoot;
|
|
20
|
-
if (root === undefined) {
|
|
21
|
-
!options['skip-logs'] &&
|
|
22
|
-
(0, ng_morph_1.errorLog)('[ERROR]: Target project not found in current workspace');
|
|
23
|
-
return;
|
|
24
|
-
}
|
|
25
|
-
const prj = (0, ng_morph_1.createProject)(tree, root, constants_1.ALL_FILES);
|
|
26
|
-
const fileSystem = prj.getFileSystem().fs;
|
|
27
|
-
(0, ng_morph_1.setActiveProject)(prj);
|
|
28
|
-
(0, remove_module_1.removeModule)('TuiLet', '@taiga-ui/cdk');
|
|
29
|
-
const resources = (0, get_component_templates_1.getComponentTemplates)(constants_1.ALL_FILES);
|
|
30
|
-
for (const resource of resources) {
|
|
31
|
-
const path = fileSystem.resolve((0, template_resource_1.getPathFromTemplateResource)(resource));
|
|
32
|
-
const recorder = fileSystem.edit(path);
|
|
33
|
-
const template = (0, template_resource_1.getTemplateFromTemplateResource)(resource, fileSystem);
|
|
34
|
-
const templateOffset = (0, template_resource_1.getTemplateOffset)(resource);
|
|
35
|
-
const attributeName = '*tuiLet';
|
|
36
|
-
const elements = (0, elements_1.findElementsWithAttribute)(template, attributeName);
|
|
37
|
-
for (const { sourceCodeLocation, attrs, tagName, childNodes } of elements) {
|
|
38
|
-
const { name, value } = attrs.find((attr) => attr.name === attributeName.toLowerCase());
|
|
39
|
-
const indent = sourceCodeLocation.startOffset -
|
|
40
|
-
(template.lastIndexOf('\n', sourceCodeLocation.startOffset) + 1);
|
|
41
|
-
const indentStr = ' '.repeat(indent);
|
|
42
|
-
const [expr, key] = value.split(' as ').map((c) => c.trim());
|
|
43
|
-
if (new RegExp(String.raw `@let\s+${key}\s+=`).test(template)) {
|
|
44
|
-
!options['skip-logs'] &&
|
|
45
|
-
(0, ng_morph_1.errorLog)(`The @let with key ${key} is already defined`);
|
|
46
|
-
continue;
|
|
47
|
-
}
|
|
48
|
-
recorder.insertLeft(templateOffset + sourceCodeLocation.startOffset, `@let ${key} = ${expr};\n${indentStr}`);
|
|
49
|
-
if (tagName === 'ng-container' && attrs.length === 1) {
|
|
50
|
-
if (childNodes.length) {
|
|
51
|
-
const firstNode = childNodes[0];
|
|
52
|
-
const lastNode = childNodes[0];
|
|
53
|
-
recorder.remove(templateOffset + sourceCodeLocation.startOffset, firstNode.sourceCodeLocation.startOffset -
|
|
54
|
-
sourceCodeLocation.startOffset);
|
|
55
|
-
recorder.remove(templateOffset + lastNode.sourceCodeLocation.endOffset, sourceCodeLocation.endOffset -
|
|
56
|
-
lastNode.sourceCodeLocation.endOffset);
|
|
57
|
-
}
|
|
58
|
-
else {
|
|
59
|
-
recorder.remove(templateOffset + sourceCodeLocation.startOffset, sourceCodeLocation.endOffset -
|
|
60
|
-
sourceCodeLocation.startOffset);
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
else {
|
|
64
|
-
const { startOffset, endOffset } = sourceCodeLocation.attrs[name];
|
|
65
|
-
recorder.remove(templateOffset + startOffset - 1, endOffset - startOffset + 1);
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
fileSystem.commitEdits();
|
|
70
|
-
(0, ng_morph_1.saveActiveProject)();
|
|
71
|
-
});
|
|
72
|
-
}
|
|
73
|
-
//# sourceMappingURL=index.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../projects/cdk/schematics/migrate-tui-let/index.ts"],"names":[],"mappings":"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"}
|
package/services/id.service.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import * as i0 from "@angular/core";
|
|
2
|
-
export declare class TuiIdService {
|
|
3
|
-
private static autoId;
|
|
4
|
-
generate(): string;
|
|
5
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiIdService, never>;
|
|
6
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TuiIdService>;
|
|
7
|
-
}
|
|
8
|
-
export declare function tuiInjectId(): string;
|
package/services/index.d.ts
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
import { type Provider, type ProviderToken, type Type } from '@angular/core';
|
|
2
|
-
import { type TuiContext } from '@taiga-ui/cdk/types';
|
|
3
|
-
import { PolymorpheusComponent, type PolymorpheusContent } from '@taiga-ui/polymorpheus';
|
|
4
|
-
import { type BehaviorSubject, Observable, type Observer } from 'rxjs';
|
|
5
|
-
import * as i0 from "@angular/core";
|
|
6
|
-
export interface TuiPopoverContext<O> extends TuiContext<Observer<O>> {
|
|
7
|
-
readonly component: PolymorpheusComponent<any>;
|
|
8
|
-
readonly createdAt: number;
|
|
9
|
-
readonly id: string;
|
|
10
|
-
readonly completeWith: (value: O) => void;
|
|
11
|
-
}
|
|
12
|
-
export type TuiPopover<T, O> = T & TuiPopoverContext<O> & {
|
|
13
|
-
content: PolymorpheusContent<T & TuiPopoverContext<O>>;
|
|
14
|
-
};
|
|
15
|
-
export declare abstract class TuiPopoverService<T, K = void> {
|
|
16
|
-
protected readonly options: T;
|
|
17
|
-
private readonly component;
|
|
18
|
-
private readonly id;
|
|
19
|
-
protected readonly items$: BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>;
|
|
20
|
-
constructor(items: ProviderToken<BehaviorSubject<ReadonlyArray<TuiPopover<T, any>>>>, component: Type<any>, options?: T);
|
|
21
|
-
open<G = void>(content: PolymorpheusContent<T & TuiPopoverContext<K extends void ? G : K>>, options?: Partial<T>): Observable<K extends void ? G : K>;
|
|
22
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiPopoverService<any, any>, never>;
|
|
23
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TuiPopoverService<any, any>>;
|
|
24
|
-
}
|
|
25
|
-
export declare function tuiAsPopover(popover: Type<TuiPopoverService<any>>): Provider;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { type Observable } from 'rxjs';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
/**
|
|
4
|
-
* @deprecated: use native scroll
|
|
5
|
-
*/
|
|
6
|
-
export declare class TuiScrollService {
|
|
7
|
-
private readonly performanceRef;
|
|
8
|
-
private readonly animationFrame$;
|
|
9
|
-
private readonly zone;
|
|
10
|
-
scroll$(elementOrWindow: Element | Window, scrollTop: number, scrollLeft?: number, duration?: number): Observable<[number, number]>;
|
|
11
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiScrollService, never>;
|
|
12
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TuiScrollService>;
|
|
13
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import * as i0 from "@angular/core";
|
|
3
|
-
export declare const TUI_THEME_COLOR: InjectionToken<string>;
|
|
4
|
-
interface TuiThemeColor {
|
|
5
|
-
get color(): string;
|
|
6
|
-
set color(value: string);
|
|
7
|
-
}
|
|
8
|
-
export declare class TuiThemeColorService implements TuiThemeColor {
|
|
9
|
-
private current;
|
|
10
|
-
private readonly doc;
|
|
11
|
-
private readonly meta;
|
|
12
|
-
constructor();
|
|
13
|
-
get color(): string;
|
|
14
|
-
set color(content: string);
|
|
15
|
-
static ɵfac: i0.ɵɵFactoryDeclaration<TuiThemeColorService, never>;
|
|
16
|
-
static ɵprov: i0.ɵɵInjectableDeclaration<TuiThemeColorService>;
|
|
17
|
-
}
|
|
18
|
-
export {};
|
package/tokens/base-href.d.ts
DELETED
package/tokens/range.d.ts
DELETED
package/types/loose-union.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @example
|
|
3
|
-
* type Color = 'primary' | 'secondary' | string;
|
|
4
|
-
*
|
|
5
|
-
* Your brand has some known colors, like `primary` and `secondary`.
|
|
6
|
-
* But you also want to make sure that users can specify any color they want.
|
|
7
|
-
*
|
|
8
|
-
* @Input() color: Color = '';
|
|
9
|
-
*
|
|
10
|
-
* <my-icon color="red" />
|
|
11
|
-
*
|
|
12
|
-
* But there's an issue. We aren't getting `color`
|
|
13
|
-
* suggestions when we use the `MyIcon` component.
|
|
14
|
-
* If we try to autocomplete the `color` prop, we get no suggestions.
|
|
15
|
-
* Ideally, we want `primary` and `secondary` to be part of that list.
|
|
16
|
-
* How do we manage that?
|
|
17
|
-
*
|
|
18
|
-
* This works because of a quirk of the TypeScript compiler.
|
|
19
|
-
* When you create a union between a string literal type and `string`,
|
|
20
|
-
* TypeScript will eagerly widen the type to `string`.
|
|
21
|
-
*
|
|
22
|
-
* But if we change type to
|
|
23
|
-
* type Color = 'primary' | 'secondary' | (string & {});
|
|
24
|
-
*
|
|
25
|
-
* TypeScript has already forgotten that `"primary"` and `"secondary"`
|
|
26
|
-
* were ever part of the type. But by intersecting `string` with
|
|
27
|
-
* an empty object, we trick TypeScript into retaining the string
|
|
28
|
-
* literal types for a bit longer.
|
|
29
|
-
*
|
|
30
|
-
* This might feel pretty fragile to you. This doesn't seem like
|
|
31
|
-
* intended behavior from TypeScript. Well, the team actually
|
|
32
|
-
* know about this trick. They test against it. And someday, they may make
|
|
33
|
-
* it so that a plain `string` type will just work.
|
|
34
|
-
* But until then, keep this in mind.
|
|
35
|
-
*/
|
|
36
|
-
export type TuiLooseUnion<U> = U | (U extends string ? Record<never, never> & string : U extends number ? Record<never, never> & number : U extends symbol ? Record<never, never> & symbol : U extends bigint ? Record<never, never> & bigint : never);
|
package/types/safe-html.d.ts
DELETED
package/types/values-of.d.ts
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export type TuiValuesOf<T> = T[keyof T];
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function tuiGetGradientData(gradient: string): string;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function tuiHexToRgb(hex: string): [number, number, number];
|
package/utils/color/index.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
export * from './get-gradient-data';
|
|
2
|
-
export * from './hex-to-rgb';
|
|
3
|
-
export * from './hex-to-rgba';
|
|
4
|
-
export * from './hsv-to-rgb';
|
|
5
|
-
export * from './parse-color';
|
|
6
|
-
export * from './parse-gradient';
|
|
7
|
-
export * from './rgb-to-hex';
|
|
8
|
-
export * from './rgb-to-hsv';
|
|
9
|
-
export * from './rgba-to-hex';
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function tuiParseColor(color: string): [number, number, number, number];
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
export interface TuiParsedGradient {
|
|
2
|
-
readonly side: TuiGradientDirection;
|
|
3
|
-
readonly stops: ReadonlyArray<{
|
|
4
|
-
readonly color: string;
|
|
5
|
-
readonly position: string;
|
|
6
|
-
}>;
|
|
7
|
-
}
|
|
8
|
-
export type TuiGradientDirection = 'to bottom left' | 'to bottom right' | 'to bottom' | 'to left' | 'to right' | 'to top left' | 'to top right' | 'to top';
|
|
9
|
-
export declare function tuiParseGradient(input: string): TuiParsedGradient;
|
|
10
|
-
export declare function tuiToGradient({ stops, side }: TuiParsedGradient): string;
|