@taiga-ui/kit 5.0.0-rc.4 → 5.0.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/components/accordion/accordion.component.d.ts +4 -1
- package/components/accordion/accordion.directive.d.ts +1 -0
- package/components/calendar-month/calendar-month.component.d.ts +10 -18
- package/components/calendar-range/calendar-range.component.d.ts +15 -20
- package/components/copy/copy.component.d.ts +3 -1
- package/components/copy/copy.options.d.ts +7 -1
- package/components/files/input-files/input-files.component.d.ts +4 -1
- package/components/filter/filter.component.d.ts +1 -1
- package/components/index.d.ts +1 -1
- package/components/input-date/input-date.directive.d.ts +1 -0
- package/components/input-date-time/input-date-time.component.d.ts +2 -2
- package/components/input-phone/input-phone.directive.d.ts +1 -1
- package/components/input-pin/input-pin.component.d.ts +0 -1
- package/components/input-range/input-range.component.d.ts +1 -1
- package/components/line-clamp/line-clamp.component.d.ts +3 -3
- package/components/multi-select/multi-select-native/multi-select-native.component.d.ts +1 -1
- package/components/progress/progress-bar/progress-color-segments.directive.d.ts +2 -2
- package/components/radio-list/radio-list.component.d.ts +1 -5
- package/components/select/native-select/native-select.component.d.ts +1 -1
- package/components/shrink-wrap/index.d.ts +3 -0
- package/components/shrink-wrap/shrink-wrap.component.d.ts +5 -0
- package/components/shrink-wrap/shrink-wrap.d.ts +3 -0
- package/components/shrink-wrap/shrink-wrap.directive.d.ts +6 -0
- package/components/stepper/step.component.d.ts +1 -1
- package/components/textarea/textarea.directive.d.ts +1 -1
- package/components/toast/toast.directive.d.ts +4 -1
- package/components/tree/components/tree/tree.component.d.ts +1 -3
- package/directives/password/password.options.d.ts +16 -1
- package/fesm2022/taiga-ui-kit-components-accordion.mjs +20 -10
- package/fesm2022/taiga-ui-kit-components-accordion.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-action-bar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-avatar.mjs +24 -24
- package/fesm2022/taiga-ui-kit-components-avatar.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-badge-notification.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badge.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-badge.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-badged-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-block.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-block.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-breadcrumbs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-button-loading.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-button-loading.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs +18 -40
- package/fesm2022/taiga-ui-kit-components-calendar-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs +63 -93
- package/fesm2022/taiga-ui-kit-components-calendar-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-chip.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-combo-box.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-comment.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-comment.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-compass.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-compass.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-confirm.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-confirm.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-copy.mjs +15 -13
- package/fesm2022/taiga-ui-kit-components-copy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-counter.mjs +5 -4
- package/fesm2022/taiga-ui-kit-components-counter.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-data-list-wrapper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-drawer.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-drawer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-files.mjs +37 -30
- package/fesm2022/taiga-ui-kit-components-files.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-filter.mjs +5 -4
- package/fesm2022/taiga-ui-kit-components-filter.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-fullscreen.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-input-chip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-color.mjs +5 -4
- package/fesm2022/taiga-ui-kit-components-input-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs +5 -6
- package/fesm2022/taiga-ui-kit-components-input-date-multi.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs +6 -5
- package/fesm2022/taiga-ui-kit-components-input-date-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs +10 -8
- package/fesm2022/taiga-ui-kit-components-input-date-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-date.mjs +26 -17
- package/fesm2022/taiga-ui-kit-components-input-date.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs +5 -4
- package/fesm2022/taiga-ui-kit-components-input-inline.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs +7 -4
- package/fesm2022/taiga-ui-kit-components-input-month-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-month.mjs +13 -10
- package/fesm2022/taiga-ui-kit-components-input-month.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-number.mjs +36 -39
- package/fesm2022/taiga-ui-kit-components-input-number.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs +7 -8
- package/fesm2022/taiga-ui-kit-components-input-phone-international.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-phone.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs +5 -12
- package/fesm2022/taiga-ui-kit-components-input-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-range.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-input-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs +8 -7
- package/fesm2022/taiga-ui-kit-components-input-slider.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-time.mjs +11 -10
- package/fesm2022/taiga-ui-kit-components-input-time.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-input-year.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-input-year.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs +14 -14
- package/fesm2022/taiga-ui-kit-components-items-with-more.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-like.mjs +5 -5
- package/fesm2022/taiga-ui-kit-components-like.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs +10 -10
- package/fesm2022/taiga-ui-kit-components-line-clamp.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-message.mjs +8 -8
- package/fesm2022/taiga-ui-kit-components-message.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs +14 -14
- package/fesm2022/taiga-ui-kit-components-multi-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs +11 -11
- package/fesm2022/taiga-ui-kit-components-notification-middle.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pager.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pagination.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pagination.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pin.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-pin.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-preview.mjs +31 -28
- package/fesm2022/taiga-ui-kit-components-preview.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-progress.mjs +37 -50
- package/fesm2022/taiga-ui-kit-components-progress.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-pulse.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-pulse.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-push.mjs +15 -14
- package/fesm2022/taiga-ui-kit-components-push.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs +7 -5
- package/fesm2022/taiga-ui-kit-components-radio-list.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-range.mjs +8 -10
- package/fesm2022/taiga-ui-kit-components-range.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-rating.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-rating.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs +3 -3
- package/fesm2022/taiga-ui-kit-components-routable-dialog.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-segmented.mjs +9 -8
- package/fesm2022/taiga-ui-kit-components-segmented.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-select.mjs +11 -12
- package/fesm2022/taiga-ui-kit-components-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs +40 -0
- package/fesm2022/taiga-ui-kit-components-shrink-wrap.mjs.map +1 -0
- package/fesm2022/taiga-ui-kit-components-status.mjs +7 -7
- package/fesm2022/taiga-ui-kit-components-status.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-stepper.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-stepper.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-switch.mjs +4 -4
- package/fesm2022/taiga-ui-kit-components-switch.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tabs.mjs +23 -23
- package/fesm2022/taiga-ui-kit-components-tabs.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-textarea.mjs +16 -15
- package/fesm2022/taiga-ui-kit-components-textarea.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tiles.mjs +16 -14
- package/fesm2022/taiga-ui-kit-components-tiles.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-timeline.mjs +6 -6
- package/fesm2022/taiga-ui-kit-components-timeline.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-toast.mjs +29 -25
- package/fesm2022/taiga-ui-kit-components-toast.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components-tree.mjs +24 -24
- package/fesm2022/taiga-ui-kit-components-tree.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-components.mjs +1 -1
- package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-appearance-proxy.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs +12 -8
- package/fesm2022/taiga-ui-kit-directives-button-group.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-button-select.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs +8 -7
- package/fesm2022/taiga-ui-kit-directives-chevron.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-connected.mjs +12 -8
- package/fesm2022/taiga-ui-kit-directives-connected.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-data-list-dropdown-manager.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fade.mjs +9 -7
- package/fesm2022/taiga-ui-kit-directives-fade.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-fluid-typography.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-highlight.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-password.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-password.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-present.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-present.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs +9 -7
- package/fesm2022/taiga-ui-kit-directives-sensitive.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs +8 -7
- package/fesm2022/taiga-ui-kit-directives-shimmer.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs +9 -8
- package/fesm2022/taiga-ui-kit-directives-skeleton.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs +8 -7
- package/fesm2022/taiga-ui-kit-directives-tooltip.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-unfinished-validator.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs +3 -3
- package/fesm2022/taiga-ui-kit-directives-unmask-handler.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-auto-color.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-emails.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-emails.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-flag.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs +4 -4
- package/fesm2022/taiga-ui-kit-pipes-hide-selected.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-initials.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-initials.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-sort-countries.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-stringify-content.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes-stringify.mjs +3 -3
- package/fesm2022/taiga-ui-kit-pipes-stringify.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs +0 -1
- package/fesm2022/taiga-ui-kit-pipes.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-tokens.mjs.map +1 -1
- package/fesm2022/taiga-ui-kit-utils.mjs +1 -5
- package/fesm2022/taiga-ui-kit-utils.mjs.map +1 -1
- package/package.json +87 -77
- package/pipes/index.d.ts +0 -1
- package/utils/index.d.ts +0 -1
- package/components/carousel/carousel-autoscroll.directive.d.ts +0 -6
- package/components/carousel/carousel-buttons.directive.d.ts +0 -5
- package/components/carousel/carousel-scroll.directive.d.ts +0 -7
- package/components/carousel/carousel.component.d.ts +0 -34
- package/components/carousel/carousel.d.ts +0 -7
- package/components/carousel/carousel.directive.d.ts +0 -16
- package/components/carousel/index.d.ts +0 -6
- package/fesm2022/taiga-ui-kit-components-carousel.mjs +0 -211
- package/fesm2022/taiga-ui-kit-components-carousel.mjs.map +0 -1
- package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs +0 -60
- package/fesm2022/taiga-ui-kit-pipes-filter-by-input.mjs.map +0 -1
- package/pipes/filter-by-input/filter-by-input.pipe.d.ts +0 -21
- package/pipes/filter-by-input/index.d.ts +0 -1
- package/utils/is-flat.d.ts +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-line-clamp.mjs","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {showHint: true};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const [TUI_LINE_CLAMP_OPTIONS, tuiLineClampOptionsProvider] = tuiCreateOptions(\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n);\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TUI_HINT_PROVIDERS, TuiHintComponent} from '@taiga-ui/core/portals/hint';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiLineClamp} from './line-clamp.component';\n\n@Component({\n selector: 'tui-line-clamp-box',\n imports: [PolymorpheusOutlet],\n template:\n '<ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>',\n styleUrl: './line-clamp-box.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_HINT_PROVIDERS,\n host: {\n '[style.min-width.px]': 'width',\n '[style.line-height.px]': 'host.line()',\n },\n})\nexport class TuiLineClampBox extends TuiHintComponent {\n protected readonly host = inject(TuiLineClamp);\n\n protected get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n type TuiRectAccessor,\n} from '@taiga-ui/core/classes';\nimport {TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n selector: '[tuiLineClampPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n private readonly accessor = inject<TuiRectAccessor>(TuiHintDirective);\n public readonly type = 'hint';\n\n public getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [left, top];\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n computed,\n type DoCheck,\n ElementRef,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport {outputFromObservable, toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_HINT_COMPONENT, TuiHint, TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {TUI_FONT_OFFSET} from '@taiga-ui/core/utils/miscellaneous';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n fromEvent,\n map,\n of,\n pairwise,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_LINE_CLAMP_OPTIONS} from './line-clamp.options';\nimport {TuiLineClampBox} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@Component({\n selector: 'tui-line-clamp',\n imports: [PolymorpheusOutlet, TuiHint, TuiLineClampPositionDirective],\n templateUrl: './line-clamp.template.html',\n styleUrl: './line-clamp.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_HINT_COMPONENT, useValue: TuiLineClampBox}],\n hostDirectives: [TuiTransitioned],\n host: {\n '[style.line-height.px]': 'line()',\n '(transitionend)': 'update()',\n '(mouseenter)': 'update()',\n '(resize)': 'update()',\n },\n})\nexport class TuiLineClamp implements DoCheck {\n private readonly offset = inject(TUI_FONT_OFFSET);\n private readonly outlet = viewChild.required(TuiHintDirective, {read: ElementRef});\n private readonly options = inject(TUI_LINE_CLAMP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly isOverflown$ = new Subject<boolean>();\n private readonly maxHeight = computed(() => this.line() * this.linesLimit());\n\n public readonly line = computed(() => this.lineHeight() + this.offset());\n public readonly lineHeight = input(24);\n public readonly linesLimit = input(1);\n public readonly content = input<PolymorpheusContent>();\n public readonly overflownChange = outputFromObservable(\n this.isOverflown$.pipe(debounceTime(0), distinctUntilChanged()),\n );\n\n protected readonly lineClamp = toSignal(\n toObservable(this.linesLimit).pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : fromEvent(this.el, 'transitionend').pipe(\n filter((e) => e.target === e.currentTarget),\n map(() => next),\n ),\n ),\n ),\n {initialValue: 0},\n );\n\n public ngDoCheck(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n protected get overflown(): boolean {\n const {scrollHeight, scrollWidth} = this.outlet().nativeElement;\n const {clientWidth} = this.el;\n\n return scrollHeight > this.maxHeight() || scrollWidth > clientWidth;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content() : '';\n }\n\n protected update(): void {\n this.el.style.height = tuiPx(this.outlet().nativeElement.scrollHeight);\n this.el.style.maxHeight = tuiPx(this.maxHeight());\n this.el.classList.toggle('_overflown', this.overflown);\n }\n}\n","<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n</div>\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-kit-components-line-clamp.mjs","sources":["../../../projects/kit/components/line-clamp/line-clamp.options.ts","../../../projects/kit/components/line-clamp/line-clamp-box.component.ts","../../../projects/kit/components/line-clamp/line-clamp-position.directive.ts","../../../projects/kit/components/line-clamp/line-clamp.component.ts","../../../projects/kit/components/line-clamp/line-clamp.template.html","../../../projects/kit/components/line-clamp/taiga-ui-kit-components-line-clamp.ts"],"sourcesContent":["import {tuiCreateOptions} from '@taiga-ui/cdk/utils/di';\n\nexport interface TuiLineClampOptions {\n readonly showHint: boolean;\n}\n\nexport const TUI_LINE_CLAMP_DEFAULT_OPTIONS: TuiLineClampOptions = {showHint: true};\n\n/**\n * Default parameters for LineClamp component\n */\nexport const [TUI_LINE_CLAMP_OPTIONS, tuiLineClampOptionsProvider] = tuiCreateOptions(\n TUI_LINE_CLAMP_DEFAULT_OPTIONS,\n);\n","import {ChangeDetectionStrategy, Component, inject} from '@angular/core';\nimport {TUI_HINT_PROVIDERS, TuiHintComponent} from '@taiga-ui/core/portals/hint';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nimport {TuiLineClamp} from './line-clamp.component';\n\n@Component({\n selector: 'tui-line-clamp-box',\n imports: [PolymorpheusOutlet],\n template:\n '<ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>',\n styleUrl: './line-clamp-box.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_HINT_PROVIDERS,\n host: {\n '[style.min-width.px]': 'width',\n '[style.line-height.px]': 'host.line()',\n },\n})\nexport class TuiLineClampBox extends TuiHintComponent {\n protected readonly host = inject(TuiLineClamp);\n\n protected get width(): number {\n return this.accessor.getClientRect().width;\n }\n}\n","import {Directive, inject} from '@angular/core';\nimport {\n tuiAsPositionAccessor,\n TuiPositionAccessor,\n type TuiRectAccessor,\n} from '@taiga-ui/core/classes';\nimport {TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {type TuiPoint} from '@taiga-ui/core/types';\n\n@Directive({\n selector: '[tuiLineClampPosition]',\n providers: [tuiAsPositionAccessor(TuiLineClampPositionDirective)],\n})\nexport class TuiLineClampPositionDirective extends TuiPositionAccessor {\n private readonly accessor = inject<TuiRectAccessor>(TuiHintDirective);\n public readonly type = 'hint';\n\n public getPosition(): TuiPoint {\n const {top, left} = this.accessor.getClientRect();\n\n return [left, top];\n }\n}\n","import {\n type AfterViewChecked,\n ChangeDetectionStrategy,\n Component,\n computed,\n ElementRef,\n inject,\n input,\n viewChild,\n} from '@angular/core';\nimport {outputFromObservable, toObservable, toSignal} from '@angular/core/rxjs-interop';\nimport {TuiTransitioned} from '@taiga-ui/cdk/directives/transitioned';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TUI_HINT_COMPONENT, TuiHint, TuiHintDirective} from '@taiga-ui/core/portals/hint';\nimport {TUI_FONT_OFFSET} from '@taiga-ui/core/utils/miscellaneous';\nimport {type PolymorpheusContent, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {\n debounceTime,\n distinctUntilChanged,\n filter,\n fromEvent,\n map,\n of,\n pairwise,\n startWith,\n Subject,\n switchMap,\n} from 'rxjs';\n\nimport {TUI_LINE_CLAMP_OPTIONS} from './line-clamp.options';\nimport {TuiLineClampBox} from './line-clamp-box.component';\nimport {TuiLineClampPositionDirective} from './line-clamp-position.directive';\n\n@Component({\n selector: 'tui-line-clamp',\n imports: [PolymorpheusOutlet, TuiHint, TuiLineClampPositionDirective],\n templateUrl: './line-clamp.template.html',\n styleUrl: './line-clamp.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [{provide: TUI_HINT_COMPONENT, useValue: TuiLineClampBox}],\n hostDirectives: [TuiTransitioned],\n host: {\n '[style.line-height.px]': 'line()',\n '(transitionend)': 'update()',\n '(mouseenter)': 'update()',\n '(resize)': 'update()',\n },\n})\nexport class TuiLineClamp implements AfterViewChecked {\n private readonly offset = inject(TUI_FONT_OFFSET);\n private readonly outlet = viewChild.required(TuiHintDirective, {read: ElementRef});\n private readonly options = inject(TUI_LINE_CLAMP_OPTIONS);\n private readonly el = tuiInjectElement();\n private readonly isOverflown$ = new Subject<boolean>();\n private readonly maxHeight = computed(() => this.line() * this.linesLimit());\n\n public readonly line = computed(() => this.lineHeight() + this.offset());\n public readonly lineHeight = input(24);\n public readonly linesLimit = input(1);\n public readonly content = input<PolymorpheusContent>();\n public readonly overflownChange = outputFromObservable(\n this.isOverflown$.pipe(debounceTime(0), distinctUntilChanged()),\n );\n\n protected readonly lineClamp = toSignal(\n toObservable(this.linesLimit).pipe(\n startWith(1),\n pairwise(),\n switchMap(([prev, next]) =>\n next >= prev\n ? of(next)\n : fromEvent(this.el, 'transitionend').pipe(\n filter((e) => e.target === e.currentTarget),\n map(() => next),\n ),\n ),\n ),\n {initialValue: 0},\n );\n\n public ngAfterViewChecked(): void {\n this.update();\n this.isOverflown$.next(this.overflown);\n }\n\n protected get overflown(): boolean {\n const {scrollHeight, scrollWidth} = this.outlet().nativeElement;\n const {clientWidth} = this.el;\n\n return scrollHeight > this.maxHeight() || scrollWidth > clientWidth;\n }\n\n protected get computedContent(): PolymorpheusContent {\n return this.options.showHint && this.overflown ? this.content() : '';\n }\n\n protected update(): void {\n this.el.style.height = tuiPx(this.outlet().nativeElement.scrollHeight);\n this.el.style.maxHeight = tuiPx(this.maxHeight());\n this.el.classList.toggle('_overflown', this.overflown);\n }\n}\n","<div\n tuiLineClampPosition\n class=\"t-wrapper\"\n [style.-webkit-line-clamp]=\"lineClamp()\"\n [style.word-break]=\"lineClamp() > 1 ? 'break-word' : 'break-all'\"\n [tuiHint]=\"computedContent\"\n>\n <ng-container *polymorpheusOutlet=\"content() as text\">{{ text }}</ng-container>\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { ChangeDetectionStrategy, ViewEncapsulation, Component, Directive } from '@angular/core';
|
|
3
|
-
import '@taiga-ui/cdk/constants';
|
|
3
|
+
import { TUI_VERSION } from '@taiga-ui/cdk/constants';
|
|
4
4
|
import { tuiWithStyles } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
5
|
import * as i1 from '@taiga-ui/core/directives/appearance';
|
|
6
6
|
import { TUI_APPEARANCE_OPTIONS, TuiWithAppearance } from '@taiga-ui/core/directives/appearance';
|
|
7
7
|
|
|
8
8
|
class Styles {
|
|
9
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
10
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
9
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
10
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: Styles, isStandalone: true, selector: "ng-component", exportAs: ["tui-message-5.0.0"], ngImport: i0, template: '', isInline: true, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.0.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.0.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
11
11
|
}
|
|
12
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
12
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: Styles, decorators: [{
|
|
13
13
|
type: Component,
|
|
14
|
-
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush,
|
|
14
|
+
args: [{ template: '', encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, exportAs: `tui-message-${TUI_VERSION}`, styles: ["[tuiMessage]:where(*[data-tui-version=\"5.0.0\"]){display:inline-flex;padding:.5rem .625rem;min-block-size:2.25rem;block-size:auto;box-sizing:border-box;inline-size:fit-content;isolation:isolate;white-space:nowrap;text-align:start;font:var(--tui-typography-ui-m);border-radius:var(--tui-radius-l)}[tuiMessage]:where(*[data-tui-version=\"5.0.0\"])>[tuiLink]{color:inherit!important;text-decoration:underline solid!important}\n"] }]
|
|
15
15
|
}] });
|
|
16
16
|
class TuiMessage {
|
|
17
17
|
constructor() {
|
|
18
18
|
this.nothing = tuiWithStyles(Styles);
|
|
19
19
|
}
|
|
20
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
21
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
20
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMessage, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
21
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiMessage, isStandalone: true, selector: "[tuiMessage]", providers: [
|
|
22
22
|
{
|
|
23
23
|
provide: TUI_APPEARANCE_OPTIONS,
|
|
24
24
|
useValue: { appearance: 'neutral' },
|
|
25
25
|
},
|
|
26
26
|
], hostDirectives: [{ directive: i1.TuiWithAppearance }], ngImport: i0 }); }
|
|
27
27
|
}
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
28
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMessage, decorators: [{
|
|
29
29
|
type: Directive,
|
|
30
30
|
args: [{
|
|
31
31
|
selector: '[tuiMessage]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-message.mjs","sources":["../../../projects/kit/components/message/message.directive.ts","../../../projects/kit/components/message/taiga-ui-kit-components-message.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/message.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-message.mjs","sources":["../../../projects/kit/components/message/message.directive.ts","../../../projects/kit/components/message/taiga-ui-kit-components-message.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n Directive,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_VERSION} from '@taiga-ui/cdk/constants';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {\n TUI_APPEARANCE_OPTIONS,\n TuiWithAppearance,\n} from '@taiga-ui/core/directives/appearance';\n\n@Component({\n template: '',\n styles: `\n [data-tui-version='${TUI_VERSION}'] {\n @import '@taiga-ui/styles/components/message.less';\n }\n `,\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n exportAs: `tui-message-${TUI_VERSION}`,\n})\nclass Styles {}\n\n@Directive({\n selector: '[tuiMessage]',\n providers: [\n {\n provide: TUI_APPEARANCE_OPTIONS,\n useValue: {appearance: 'neutral'},\n },\n ],\n hostDirectives: [TuiWithAppearance],\n})\nexport class TuiMessage {\n protected readonly nothing = tuiWithStyles(Styles);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;AAaA,MAWM,MAAM,CAAA;+GAAN,MAAM,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAN,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,MAAM,yGAVE,EAAE,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,2aAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,aAAA,EAAA,EAAA,CAAA,iBAAA,CAAA,IAAA,EAAA,CAAA,CAAA;;4FAUV,MAAM,EAAA,UAAA,EAAA,CAAA;kBAXX,SAAS;+BACI,EAAE,EAAA,aAAA,EAMG,iBAAiB,CAAC,IAAI,EAAA,eAAA,EACpB,uBAAuB,CAAC,MAAM,EAAA,QAAA,EACrC,CAAA,YAAA,EAAe,WAAW,CAAA,CAAE,EAAA,MAAA,EAAA,CAAA,2aAAA,CAAA,EAAA;;MAc7B,UAAU,CAAA;AAVvB,IAAA,WAAA,GAAA;AAWuB,QAAA,IAAA,CAAA,OAAO,GAAG,aAAa,CAAC,MAAM,CAAC;AACrD,IAAA;+GAFY,UAAU,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAAV,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,UAAU,EAAA,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,SAAA,EARR;AACP,YAAA;AACI,gBAAA,OAAO,EAAE,sBAAsB;AAC/B,gBAAA,QAAQ,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC;AACpC,aAAA;AACJ,SAAA,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,iBAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAGQ,UAAU,EAAA,UAAA,EAAA,CAAA;kBAVtB,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,cAAc;AACxB,oBAAA,SAAS,EAAE;AACP,wBAAA;AACI,4BAAA,OAAO,EAAE,sBAAsB;AAC/B,4BAAA,QAAQ,EAAE,EAAC,UAAU,EAAE,SAAS,EAAC;AACpC,yBAAA;AACJ,qBAAA;oBACD,cAAc,EAAE,CAAC,iBAAiB,CAAC;AACtC,iBAAA;;;ACnCD;;AAEG;;;;"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { contentChildren, inject, computed, input, ChangeDetectionStrategy, Component, Directive } from '@angular/core';
|
|
3
3
|
import { NgControl } from '@angular/forms';
|
|
4
|
-
import { tuiIsPresent } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
4
|
+
import { tuiIsPresent, tuiIsFlat } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
5
5
|
import * as i3 from '@taiga-ui/core/components/data-list';
|
|
6
6
|
import { TuiOptionWithValue, tuiAsOptionContent, TuiDataList } from '@taiga-ui/core/components/data-list';
|
|
7
7
|
import { TuiLink } from '@taiga-ui/core/components/link';
|
|
@@ -9,7 +9,7 @@ import * as i2 from '@taiga-ui/core/components/textfield';
|
|
|
9
9
|
import { TuiTextfieldComponent, TUI_TEXTFIELD_OPTIONS, TuiTextfieldMultiComponent, TuiSelectLike, TuiTextfield } from '@taiga-ui/core/components/textfield';
|
|
10
10
|
import { TUI_ITEMS_HANDLERS } from '@taiga-ui/core/directives/items-handlers';
|
|
11
11
|
import { TUI_MULTI_SELECT_TEXTS } from '@taiga-ui/kit/tokens';
|
|
12
|
-
import { tuiInjectValue
|
|
12
|
+
import { tuiInjectValue } from '@taiga-ui/kit/utils';
|
|
13
13
|
import { tuiInjectElement } from '@taiga-ui/cdk/utils/dom';
|
|
14
14
|
import { TuiCheckbox } from '@taiga-ui/core/components/checkbox';
|
|
15
15
|
import { NgTemplateOutlet } from '@angular/common';
|
|
@@ -39,10 +39,10 @@ class TuiMultiSelectGroupComponent {
|
|
|
39
39
|
const others = value.filter((a) => values.every((b) => !matcher(a, b)));
|
|
40
40
|
this.control?.control?.setValue(this.checked() ? others : others.concat(values));
|
|
41
41
|
}
|
|
42
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
43
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
42
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
43
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectGroupComponent, isStandalone: true, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: { label: { classPropertyName: "label", publicName: "label", isSignal: true, isRequired: false, transformFunction: null } }, queries: [{ propertyName: "options", predicate: (TuiOptionWithValue), isSignal: true }], ngImport: i0, template: "@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n", styles: [":host:before{display:none}.t-label{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem}.t-label:last-child{display:none}:host-context(tui-data-list[data-size=\"s\"]) .t-label{padding:.1875rem .375rem}:host-context(tui-sheet-dialog) .t-label.t-label{font:var(--tui-typography-heading-h6);padding:.5rem 0}.t-button{font:var(--tui-typography-body-s)}:host-context(tui-data-list[data-size=\"l\"]) .t-button{margin-block-start:.1875rem}\n"], dependencies: [{ kind: "directive", type: TuiLink, selector: "a[tuiLink], button[tuiLink]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ selector: 'tui-opt-group[tuiMultiSelectGroup]', imports: [TuiLink], changeDetection: ChangeDetectionStrategy.OnPush, template: "@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n", styles: [":host:before{display:none}.t-label{display:flex;align-items:flex-start;justify-content:space-between;padding:.5rem}.t-label:last-child{display:none}:host-context(tui-data-list[data-size=\"s\"]) .t-label{padding:.1875rem .375rem}:host-context(tui-sheet-dialog) .t-label.t-label{font:var(--tui-typography-heading-h6);padding:.5rem 0}.t-button{font:var(--tui-typography-body-s)}:host-context(tui-data-list[data-size=\"l\"]) .t-button{margin-block-start:.1875rem}\n"] }]
|
|
48
48
|
}] });
|
|
@@ -60,8 +60,8 @@ class TuiMultiSelectOption {
|
|
|
60
60
|
controlValue.some((item) => this.handlers?.identityMatcher()(item, optionValue) ??
|
|
61
61
|
item === optionValue));
|
|
62
62
|
}
|
|
63
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
64
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
63
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectOption, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
64
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectOption, isStandalone: true, selector: "ng-component", host: { properties: { "attr.aria-selected": "selected()" } }, ngImport: i0, template: `
|
|
65
65
|
@if (option) {
|
|
66
66
|
<input
|
|
67
67
|
aria-hidden="true"
|
|
@@ -73,7 +73,7 @@ class TuiMultiSelectOption {
|
|
|
73
73
|
}
|
|
74
74
|
`, isInline: true, styles: [":host[data-size=m] input{margin-inline-start:.25rem}:host-context(tui-dropdown-mobile) [tuiCheckbox],:host-context(tui-sheet-dialog) [tuiCheckbox]{order:100;margin-inline-start:auto}\n"], dependencies: [{ kind: "component", type: TuiCheckbox, selector: "input[type=\"checkbox\"][tuiCheckbox]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectOption, decorators: [{
|
|
77
77
|
type: Component,
|
|
78
78
|
args: [{ imports: [TuiCheckbox], template: `
|
|
79
79
|
@if (option) {
|
|
@@ -94,10 +94,10 @@ class TuiMultiSelectGroupDirective {
|
|
|
94
94
|
.closest('[role="listbox"]')
|
|
95
95
|
?.setAttribute('aria-multiselectable', 'true');
|
|
96
96
|
}
|
|
97
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
98
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.
|
|
97
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
98
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "19.2.19", type: TuiMultiSelectGroupDirective, isStandalone: true, selector: "[tuiMultiSelectGroup]", providers: [tuiAsOptionContent(TuiMultiSelectOption)], ngImport: i0 }); }
|
|
99
99
|
}
|
|
100
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
100
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectGroupDirective, decorators: [{
|
|
101
101
|
type: Directive,
|
|
102
102
|
args: [{
|
|
103
103
|
selector: '[tuiMultiSelectGroup]',
|
|
@@ -125,10 +125,10 @@ class TuiMultiSelectNative {
|
|
|
125
125
|
const options = Array.from(this.el.selectedOptions).map(({ index }) => index);
|
|
126
126
|
this.textfield.cva()?.onChange(items.filter((_, i) => options.includes(i)));
|
|
127
127
|
}
|
|
128
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
129
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
128
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectNative, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
129
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiMultiSelectNative, isStandalone: true, selector: "select[tuiMultiSelect]", inputs: { items: { classPropertyName: "items", publicName: "items", isSignal: true, isRequired: false, transformFunction: null }, labels: { classPropertyName: "labels", publicName: "labels", isSignal: true, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: true, isRequired: false, transformFunction: null } }, host: { attributes: { "multiple": "" }, listeners: { "click.stop.zoneless": "0", "input": "onInput()" }, properties: { "size": "mobile ? 1 : 2" } }, providers: [tuiAsOptionContent(TuiMultiSelectOption)], hostDirectives: [{ directive: i1.TuiInputChipDirective }, { directive: i2.TuiSelectLike }], ngImport: i0, template: "@let list = items();\n@if (list && !isFlat(list)) {\n @for (label of labels(); track $index) {\n <optgroup [label]=\"label\">\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list[$index]}\" />\n </optgroup>\n }\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (group of list; track $index) {\n <tui-opt-group\n tuiMultiSelectGroup\n [label]=\"labels()[$index] || ''\"\n >\n @for (item of group; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-opt-group>\n }\n </tui-data-list>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list}\" />\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (item of list; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-data-list>\n }\n}\n\n<ng-template\n #options\n let-items\n>\n @for (option of items; track option) {\n <option\n [disabled]=\"handlers.disabledItemHandler()(option)\"\n [selected]=\"isSelected()(option)\"\n [value]=\"handlers.stringify()(option)\"\n >\n {{ handlers.stringify()(option) }}\n </option>\n }\n</ng-template>\n", dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: i3.TuiDataListComponent, selector: "tui-data-list", inputs: ["emptyContent", "size"] }, { kind: "directive", type: i3.TuiOption, selector: "button[tuiOption], a[tuiOption], label[tuiOption]", inputs: ["disabled"] }, { kind: "directive", type: i3.TuiOptionWithValue, selector: "button[tuiOption][value], a[tuiOption][value], label[tuiOption][value]", inputs: ["disabled", "value"] }, { kind: "directive", type: i3.TuiOptGroup, selector: "tui-opt-group", inputs: ["label"] }, { kind: "component", type: TuiMultiSelectGroupComponent, selector: "tui-opt-group[tuiMultiSelectGroup]", inputs: ["label"] }, { kind: "directive", type: i4.TuiDropdownContent, selector: "ng-template[tuiDropdown]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
130
130
|
}
|
|
131
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiMultiSelectNative, decorators: [{
|
|
132
132
|
type: Component,
|
|
133
133
|
args: [{ selector: 'select[tuiMultiSelect]', imports: [NgTemplateOutlet, TuiDataList, TuiMultiSelectGroupComponent, TuiTextfield], changeDetection: ChangeDetectionStrategy.OnPush, providers: [tuiAsOptionContent(TuiMultiSelectOption)], hostDirectives: [TuiInputChipDirective, TuiSelectLike], host: {
|
|
134
134
|
multiple: '',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-multi-select.mjs","sources":["../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select-option/multi-select-option.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/kit/components/multi-select/multi-select-native/multi-select-native.component.ts","../../../projects/kit/components/multi-select/multi-select-native/multi-select-native.template.html","../../../projects/kit/components/multi-select/multi-select.ts","../../../projects/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n inject,\n input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiOptionWithValue} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiInjectValue} from '@taiga-ui/kit/utils';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n imports: [TuiLink],\n templateUrl: './multi-select-group.template.html',\n styleUrl: './multi-select-group.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMultiSelectGroupComponent<T> {\n private readonly options = contentChildren(TuiOptionWithValue<T>);\n private readonly handlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly control =\n inject(TuiTextfieldComponent, {optional: true})?.control() ||\n inject(NgControl, {optional: true});\n\n protected readonly values = computed(() => this.options().map(({value}) => value()));\n protected readonly texts = inject(TUI_MULTI_SELECT_TEXTS);\n protected readonly value = tuiInjectValue<readonly T[] | null>();\n protected readonly checked = computed(() =>\n this.values().every((item) =>\n this.value()?.some(\n (v) => tuiIsPresent(item) && this.handlers.identityMatcher()(item, v),\n ),\n ),\n );\n\n public readonly label = input('');\n\n protected toggle(): void {\n const values = this.values().filter(tuiIsPresent);\n const matcher = this.handlers.identityMatcher();\n const value = this.value() || [];\n const others = value.filter((a) => values.every((b) => !matcher(a, b)));\n\n this.control?.control?.setValue(this.checked() ? others : others.concat(values));\n }\n}\n","@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCheckbox} from '@taiga-ui/core/components/checkbox';\nimport {TuiOptionWithValue} from '@taiga-ui/core/components/data-list';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiInjectValue} from '@taiga-ui/kit/utils';\n\n@Component({\n imports: [TuiCheckbox],\n template: `\n @if (option) {\n <input\n aria-hidden=\"true\"\n tuiCheckbox\n type=\"checkbox\"\n [checked]=\"selected()\"\n [size]=\"size() === 'l' ? 'm' : 's'\"\n />\n }\n `,\n styles: `\n :host[data-size='m'] input {\n margin-inline-start: 0.25rem;\n }\n\n :host-context(tui-dropdown-mobile) [tuiCheckbox],\n :host-context(tui-sheet-dialog) [tuiCheckbox] {\n order: 100;\n margin-inline-start: auto;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[attr.aria-selected]': 'selected()'},\n})\nexport class TuiMultiSelectOption<T> {\n protected readonly option = inject<TuiOptionWithValue<T>>(TuiOptionWithValue, {\n optional: true,\n });\n\n protected readonly handlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n protected readonly value = tuiInjectValue<readonly T[]>();\n protected readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n protected readonly selected = computed(\n (controlValue = this.value(), optionValue = this.option?.value()) =>\n tuiIsPresent(optionValue) &&\n tuiIsPresent(controlValue) &&\n controlValue.some(\n (item) =>\n this.handlers?.identityMatcher()(item, optionValue) ??\n item === optionValue,\n ),\n );\n}\n","import {Directive} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\n\nimport {TuiMultiSelectOption} from '../multi-select-option/multi-select-option.component';\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [tuiAsOptionContent(TuiMultiSelectOption)],\n})\nexport class TuiMultiSelectGroupDirective {\n constructor() {\n tuiInjectElement()\n .closest('[role=\"listbox\"]')\n ?.setAttribute('aria-multiselectable', 'true');\n }\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {WA_IS_ANDROID, WA_IS_IOS} from '@ng-web-apis/platform';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsOptionContent, TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {\n TuiSelectLike,\n TuiTextfield,\n TuiTextfieldMultiComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiInputChipDirective} from '@taiga-ui/kit/components/input-chip';\nimport {tuiIsFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectGroupComponent} from '../multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectOption} from '../multi-select-option/multi-select-option.component';\n\n@Component({\n selector: 'select[tuiMultiSelect]',\n imports: [NgTemplateOutlet, TuiDataList, TuiMultiSelectGroupComponent, TuiTextfield],\n templateUrl: './multi-select-native.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsOptionContent(TuiMultiSelectOption)],\n hostDirectives: [TuiInputChipDirective, TuiSelectLike],\n host: {\n multiple: '',\n '[size]': 'mobile ? 1 : 2',\n '(click.stop.zoneless)': '0',\n '(input)': 'onInput()',\n },\n})\nexport class TuiMultiSelectNative<T> {\n private readonly control: TuiControl<readonly T[]> = inject(TuiControl);\n private readonly textfield = inject(TuiTextfieldMultiComponent);\n\n protected readonly isFlat = tuiIsFlat;\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly el = tuiInjectElement<HTMLSelectElement>();\n protected readonly mobile =\n inject(WA_IS_IOS) || (inject(WA_IS_ANDROID) && 'showPicker' in this.el);\n\n protected readonly isSelected = computed(\n (value = this.control.value()) =>\n (x: T) =>\n tuiIsPresent(value) &&\n value.some((item) => this.handlers.identityMatcher()(x, item)),\n );\n\n public readonly items = input<ReadonlyArray<readonly T[]> | readonly T[] | null>([]);\n public readonly labels = input<readonly string[]>([]);\n public readonly placeholder = input('');\n\n protected readonly binding = tuiDirectiveBinding(\n TuiTextfieldMultiComponent,\n 'filler',\n this.placeholder,\n {},\n );\n\n protected onInput(): void {\n const items = this.items()?.flat() || [];\n const options = Array.from(this.el.selectedOptions).map(({index}) => index);\n\n this.textfield.cva()?.onChange(items.filter((_, i) => options.includes(i)));\n }\n}\n","@let list = items();\n@if (list && !isFlat(list)) {\n @for (label of labels(); track $index) {\n <optgroup [label]=\"label\">\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list[$index]}\" />\n </optgroup>\n }\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (group of list; track $index) {\n <tui-opt-group\n tuiMultiSelectGroup\n [label]=\"labels()[$index] || ''\"\n >\n @for (item of group; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-opt-group>\n }\n </tui-data-list>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list}\" />\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (item of list; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-data-list>\n }\n}\n\n<ng-template\n #options\n let-items\n>\n @for (option of items; track option) {\n <option\n [disabled]=\"handlers.disabledItemHandler()(option)\"\n [selected]=\"isSelected()(option)\"\n [value]=\"handlers.stringify()(option)\"\n >\n {{ handlers.stringify()(option) }}\n </option>\n }\n</ng-template>\n","import {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiMultiSelectNative} from './multi-select-native/multi-select-native.component';\n\nexport const TuiMultiSelect = [\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiMultiSelectNative,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;MA2Ba,4BAA4B,CAAA;AAPzC,IAAA,WAAA,GAAA;AAQqB,QAAA,IAAA,CAAA,OAAO,GAAG,eAAe,EAAC,kBAAqB,EAAC;AAChD,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAsB,kBAAkB,CAAC;AAC1D,QAAA,IAAA,CAAA,OAAO,GACpB,MAAM,CAAC,qBAAqB,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC,EAAE,OAAO,EAAE;YAC1D,MAAM,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,IAAI,EAAC,CAAC;QAEpB,IAAM,CAAA,MAAA,GAAG,QAAQ,CAAC,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,EAAE,CAAC,CAAC;AACjE,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC;QACtC,IAAK,CAAA,KAAA,GAAG,cAAc,EAAuB;QAC7C,IAAO,CAAA,OAAA,GAAG,QAAQ,CAAC,MAClC,IAAI,CAAC,MAAM,EAAE,CAAC,KAAK,CAAC,CAAC,IAAI,KACrB,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,CACd,CAAC,CAAC,KAAK,YAAY,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CACxE,CACJ,CACJ;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAC,EAAE,CAAC;AAUpC;IARa,MAAM,GAAA;QACZ,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC;QACjD,MAAM,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE;QAC/C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,EAAE;AAChC,QAAA,MAAM,MAAM,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEvE,IAAI,CAAC,OAAO,EAAE,OAAO,EAAE,QAAQ,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;;+GA1B3E,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,2PACM,kBAAqB,CAAA,EC5BpE,QAAA,EAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA,0UAcA,ugBDQc,OAAO,EAAA,QAAA,EAAA,6BAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAKR,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAPxC,SAAS;AACI,YAAA,IAAA,EAAA,CAAA,EAAA,QAAA,EAAA,oCAAoC,WACrC,CAAC,OAAO,CAAC,EAGD,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,QAAA,EAAA,0UAAA,EAAA,MAAA,EAAA,CAAA,+cAAA,CAAA,EAAA;;;MEatC,oBAAoB,CAAA;AA3BjC,IAAA,WAAA,GAAA;AA4BuB,QAAA,IAAA,CAAA,MAAM,GAAG,MAAM,CAAwB,kBAAkB,EAAE;AAC1E,YAAA,QAAQ,EAAE,IAAI;AACjB,SAAA,CAAC;AAEiB,QAAA,IAAA,CAAA,QAAQ,GAAG,MAAM,CAAsB,kBAAkB,CAAC;QAC1D,IAAK,CAAA,KAAA,GAAG,cAAc,EAAgB;AACtC,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI;QACzC,IAAQ,CAAA,QAAA,GAAG,QAAQ,CAClC,CAAC,YAAY,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,WAAW,GAAG,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,KAC5D,YAAY,CAAC,WAAW,CAAC;YACzB,YAAY,CAAC,YAAY,CAAC;AAC1B,YAAA,YAAY,CAAC,IAAI,CACb,CAAC,IAAI,KACD,IAAI,CAAC,QAAQ,EAAE,eAAe,EAAE,CAAC,IAAI,EAAE,WAAW,CAAC;AACnD,gBAAA,IAAI,KAAK,WAAW,CAC3B,CACR;AACJ;+GAlBY,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EAzBnB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,cAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,oBAAA,EAAA,YAAA,EAAA,EAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EAAA;;;;;;;;;;AAUT,IAAA,CAAA,EAAA,QAAA,EAAA,IAAA,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAXS,WAAW,EAAA,QAAA,EAAA,uCAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FA0BZ,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBA3BhC,SAAS;8BACG,CAAC,WAAW,CAAC,EACZ,QAAA,EAAA;;;;;;;;;;KAUT,EAYgB,eAAA,EAAA,uBAAuB,CAAC,MAAM,EAAA,IAAA,EACzC,EAAC,sBAAsB,EAAE,YAAY,EAAC,EAAA,MAAA,EAAA,CAAA,0LAAA,CAAA,EAAA;;;MC1BnC,4BAA4B,CAAA;AACrC,IAAA,WAAA,GAAA;AACI,QAAA,gBAAgB;aACX,OAAO,CAAC,kBAAkB;AAC3B,cAAE,YAAY,CAAC,sBAAsB,EAAE,MAAM,CAAC;;+GAJ7C,4BAA4B,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAA5B,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,4BAA4B,oEAF1B,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAA,QAAA,EAAA,EAAA,EAAA,CAAA,CAAA;;4FAE5C,4BAA4B,EAAA,UAAA,EAAA,CAAA;kBAJxC,SAAS;AAAC,YAAA,IAAA,EAAA,CAAA;AACP,oBAAA,QAAQ,EAAE,uBAAuB;AACjC,oBAAA,SAAS,EAAE,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC;AACxD,iBAAA;;;MC4BY,oBAAoB,CAAA;AAdjC,IAAA,WAAA,GAAA;AAeqB,QAAA,IAAA,CAAA,OAAO,GAA6B,MAAM,CAAC,UAAU,CAAC;AACtD,QAAA,IAAA,CAAA,SAAS,GAAG,MAAM,CAAC,0BAA0B,CAAC;QAE5C,IAAM,CAAA,MAAA,GAAG,SAAS;AAClB,QAAA,IAAA,CAAA,QAAQ,GAAwB,MAAM,CAAC,kBAAkB,CAAC;QAC1D,IAAE,CAAA,EAAA,GAAG,gBAAgB,EAAqB;AAC1C,QAAA,IAAA,CAAA,MAAM,GACrB,MAAM,CAAC,SAAS,CAAC,KAAK,MAAM,CAAC,aAAa,CAAC,IAAI,YAAY,IAAI,IAAI,CAAC,EAAE,CAAC;QAExD,IAAU,CAAA,UAAA,GAAG,QAAQ,CACpC,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,KACzB,CAAC,CAAI,KACD,YAAY,CAAC,KAAK,CAAC;YACnB,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,QAAQ,CAAC,eAAe,EAAE,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CACzE;AAEe,QAAA,IAAA,CAAA,KAAK,GAAG,KAAK,CAAoD,EAAE,CAAC;AACpE,QAAA,IAAA,CAAA,MAAM,GAAG,KAAK,CAAoB,EAAE,CAAC;AACrC,QAAA,IAAA,CAAA,WAAW,GAAG,KAAK,CAAC,EAAE,CAAC;AAEpB,QAAA,IAAA,CAAA,OAAO,GAAG,mBAAmB,CAC5C,0BAA0B,EAC1B,QAAQ,EACR,IAAI,CAAC,WAAW,EAChB,EAAE,CACL;AAQJ;IANa,OAAO,GAAA;QACb,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE;QACxC,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,CAAC,GAAG,CAAC,CAAC,EAAC,KAAK,EAAC,KAAK,KAAK,CAAC;QAE3E,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;;+GAhCtE,oBAAoB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,SAAA,EAAA,CAAA,CAAA;AAApB,IAAA,SAAA,IAAA,CAAA,IAAA,GAAA,EAAA,CAAA,oBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,IAAA,EAAA,oBAAoB,EATlB,YAAA,EAAA,IAAA,EAAA,QAAA,EAAA,wBAAA,EAAA,MAAA,EAAA,EAAA,KAAA,EAAA,EAAA,iBAAA,EAAA,OAAA,EAAA,UAAA,EAAA,OAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,MAAA,EAAA,EAAA,iBAAA,EAAA,QAAA,EAAA,UAAA,EAAA,QAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,WAAA,EAAA,EAAA,iBAAA,EAAA,aAAA,EAAA,UAAA,EAAA,aAAA,EAAA,QAAA,EAAA,IAAA,EAAA,UAAA,EAAA,KAAA,EAAA,iBAAA,EAAA,IAAA,EAAA,EAAA,EAAA,IAAA,EAAA,EAAA,UAAA,EAAA,EAAA,UAAA,EAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,qBAAA,EAAA,GAAA,EAAA,OAAA,EAAA,WAAA,EAAA,EAAA,UAAA,EAAA,EAAA,MAAA,EAAA,gBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EAAA,cAAA,EAAA,CAAA,EAAA,SAAA,EAAA,EAAA,CAAA,qBAAA,EAAA,EAAA,EAAA,SAAA,EAAA,EAAA,CAAA,aAAA,EAAA,CAAA,EAAA,QAAA,EAAA,EAAA,EAAA,QAAA,EC5BzD,i8DA4DA,EAAA,YAAA,EAAA,CAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EDnCc,gBAAgB,EAAA,QAAA,EAAA,oBAAA,EAAA,MAAA,EAAA,CAAA,yBAAA,EAAA,kBAAA,EAAA,0BAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,oBAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,cAAA,EAAA,MAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,SAAA,EAAA,QAAA,EAAA,mDAAA,EAAA,MAAA,EAAA,CAAA,UAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,wEAAA,EAAA,MAAA,EAAA,CAAA,UAAA,EAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,WAAA,EAAA,QAAA,EAAA,eAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAe,4BAA4B,EAAA,QAAA,EAAA,oCAAA,EAAA,MAAA,EAAA,CAAA,OAAA,CAAA,EAAA,EAAA,EAAA,IAAA,EAAA,WAAA,EAAA,IAAA,EAAA,EAAA,CAAA,kBAAA,EAAA,QAAA,EAAA,0BAAA,EAAA,CAAA,EAAA,eAAA,EAAA,EAAA,CAAA,uBAAA,CAAA,MAAA,EAAA,CAAA,CAAA;;4FAY5D,oBAAoB,EAAA,UAAA,EAAA,CAAA;kBAdhC,SAAS;+BACI,wBAAwB,EAAA,OAAA,EACzB,CAAC,gBAAgB,EAAE,WAAW,EAAE,4BAA4B,EAAE,YAAY,CAAC,EAAA,eAAA,EAEnE,uBAAuB,CAAC,MAAM,EAAA,SAAA,EACpC,CAAC,kBAAkB,CAAC,oBAAoB,CAAC,CAAC,EACrC,cAAA,EAAA,CAAC,qBAAqB,EAAE,aAAa,CAAC,EAChD,IAAA,EAAA;AACF,wBAAA,QAAQ,EAAE,EAAE;AACZ,wBAAA,QAAQ,EAAE,gBAAgB;AAC1B,wBAAA,uBAAuB,EAAE,GAAG;AAC5B,wBAAA,SAAS,EAAE,WAAW;AACzB,qBAAA,EAAA,QAAA,EAAA,i8DAAA,EAAA;;;AE/BQ,MAAA,cAAc,GAAG;IAC1B,4BAA4B;IAC5B,4BAA4B;IAC5B,oBAAoB;;;ACPxB;;AAEG;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-multi-select.mjs","sources":["../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.template.html","../../../projects/kit/components/multi-select/multi-select-option/multi-select-option.component.ts","../../../projects/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","../../../projects/kit/components/multi-select/multi-select-native/multi-select-native.component.ts","../../../projects/kit/components/multi-select/multi-select-native/multi-select-native.template.html","../../../projects/kit/components/multi-select/multi-select.ts","../../../projects/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n computed,\n contentChildren,\n inject,\n input,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiOptionWithValue} from '@taiga-ui/core/components/data-list';\nimport {TuiLink} from '@taiga-ui/core/components/link';\nimport {TuiTextfieldComponent} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TUI_MULTI_SELECT_TEXTS} from '@taiga-ui/kit/tokens';\nimport {tuiInjectValue} from '@taiga-ui/kit/utils';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n imports: [TuiLink],\n templateUrl: './multi-select-group.template.html',\n styleUrl: './multi-select-group.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiMultiSelectGroupComponent<T> {\n private readonly options = contentChildren(TuiOptionWithValue<T>);\n private readonly handlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n private readonly control =\n inject(TuiTextfieldComponent, {optional: true})?.control() ||\n inject(NgControl, {optional: true});\n\n protected readonly values = computed(() => this.options().map(({value}) => value()));\n protected readonly texts = inject(TUI_MULTI_SELECT_TEXTS);\n protected readonly value = tuiInjectValue<readonly T[] | null>();\n protected readonly checked = computed(() =>\n this.values().every((item) =>\n this.value()?.some(\n (v) => tuiIsPresent(item) && this.handlers.identityMatcher()(item, v),\n ),\n ),\n );\n\n public readonly label = input('');\n\n protected toggle(): void {\n const values = this.values().filter(tuiIsPresent);\n const matcher = this.handlers.identityMatcher();\n const value = this.value() || [];\n const others = value.filter((a) => values.every((b) => !matcher(a, b)));\n\n this.control?.control?.setValue(this.checked() ? others : others.concat(values));\n }\n}\n","@if (values().length) {\n <span class=\"t-label\">\n {{ label() }}\n <button\n tuiLink\n type=\"button\"\n class=\"t-button\"\n (click)=\"toggle()\"\n >\n {{ texts()[checked() ? 'none' : 'all'] }}\n </button>\n </span>\n}\n<ng-content />\n","import {ChangeDetectionStrategy, Component, computed, inject} from '@angular/core';\nimport {tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiCheckbox} from '@taiga-ui/core/components/checkbox';\nimport {TuiOptionWithValue} from '@taiga-ui/core/components/data-list';\nimport {TUI_TEXTFIELD_OPTIONS} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {tuiInjectValue} from '@taiga-ui/kit/utils';\n\n@Component({\n imports: [TuiCheckbox],\n template: `\n @if (option) {\n <input\n aria-hidden=\"true\"\n tuiCheckbox\n type=\"checkbox\"\n [checked]=\"selected()\"\n [size]=\"size() === 'l' ? 'm' : 's'\"\n />\n }\n `,\n styles: `\n :host[data-size='m'] input {\n margin-inline-start: 0.25rem;\n }\n\n :host-context(tui-dropdown-mobile) [tuiCheckbox],\n :host-context(tui-sheet-dialog) [tuiCheckbox] {\n order: 100;\n margin-inline-start: auto;\n }\n `,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {'[attr.aria-selected]': 'selected()'},\n})\nexport class TuiMultiSelectOption<T> {\n protected readonly option = inject<TuiOptionWithValue<T>>(TuiOptionWithValue, {\n optional: true,\n });\n\n protected readonly handlers = inject<TuiItemsHandlers<T>>(TUI_ITEMS_HANDLERS);\n protected readonly value = tuiInjectValue<readonly T[]>();\n protected readonly size = inject(TUI_TEXTFIELD_OPTIONS).size;\n protected readonly selected = computed(\n (controlValue = this.value(), optionValue = this.option?.value()) =>\n tuiIsPresent(optionValue) &&\n tuiIsPresent(controlValue) &&\n controlValue.some(\n (item) =>\n this.handlers?.identityMatcher()(item, optionValue) ??\n item === optionValue,\n ),\n );\n}\n","import {Directive} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiAsOptionContent} from '@taiga-ui/core/components/data-list';\n\nimport {TuiMultiSelectOption} from '../multi-select-option/multi-select-option.component';\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [tuiAsOptionContent(TuiMultiSelectOption)],\n})\nexport class TuiMultiSelectGroupDirective {\n constructor() {\n tuiInjectElement()\n .closest('[role=\"listbox\"]')\n ?.setAttribute('aria-multiselectable', 'true');\n }\n}\n","import {NgTemplateOutlet} from '@angular/common';\nimport {ChangeDetectionStrategy, Component, computed, inject, input} from '@angular/core';\nimport {WA_IS_ANDROID, WA_IS_IOS} from '@ng-web-apis/platform';\nimport {TuiControl} from '@taiga-ui/cdk/classes';\nimport {tuiDirectiveBinding} from '@taiga-ui/cdk/utils/di';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsFlat, tuiIsPresent} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiAsOptionContent, TuiDataList} from '@taiga-ui/core/components/data-list';\nimport {\n TuiSelectLike,\n TuiTextfield,\n TuiTextfieldMultiComponent,\n} from '@taiga-ui/core/components/textfield';\nimport {\n TUI_ITEMS_HANDLERS,\n type TuiItemsHandlers,\n} from '@taiga-ui/core/directives/items-handlers';\nimport {TuiInputChipDirective} from '@taiga-ui/kit/components/input-chip';\n\nimport {TuiMultiSelectGroupComponent} from '../multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectOption} from '../multi-select-option/multi-select-option.component';\n\n@Component({\n selector: 'select[tuiMultiSelect]',\n imports: [NgTemplateOutlet, TuiDataList, TuiMultiSelectGroupComponent, TuiTextfield],\n templateUrl: './multi-select-native.template.html',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiAsOptionContent(TuiMultiSelectOption)],\n hostDirectives: [TuiInputChipDirective, TuiSelectLike],\n host: {\n multiple: '',\n '[size]': 'mobile ? 1 : 2',\n '(click.stop.zoneless)': '0',\n '(input)': 'onInput()',\n },\n})\nexport class TuiMultiSelectNative<T> {\n private readonly control: TuiControl<readonly T[]> = inject(TuiControl);\n private readonly textfield = inject(TuiTextfieldMultiComponent);\n\n protected readonly isFlat = tuiIsFlat;\n protected readonly handlers: TuiItemsHandlers<T> = inject(TUI_ITEMS_HANDLERS);\n protected readonly el = tuiInjectElement<HTMLSelectElement>();\n protected readonly mobile =\n inject(WA_IS_IOS) || (inject(WA_IS_ANDROID) && 'showPicker' in this.el);\n\n protected readonly isSelected = computed(\n (value = this.control.value()) =>\n (x: T) =>\n tuiIsPresent(value) &&\n value.some((item) => this.handlers.identityMatcher()(x, item)),\n );\n\n public readonly items = input<ReadonlyArray<readonly T[]> | readonly T[] | null>([]);\n public readonly labels = input<readonly string[]>([]);\n public readonly placeholder = input('');\n\n protected readonly binding = tuiDirectiveBinding(\n TuiTextfieldMultiComponent,\n 'filler',\n this.placeholder,\n {},\n );\n\n protected onInput(): void {\n const items = this.items()?.flat() || [];\n const options = Array.from(this.el.selectedOptions).map(({index}) => index);\n\n this.textfield.cva()?.onChange(items.filter((_, i) => options.includes(i)));\n }\n}\n","@let list = items();\n@if (list && !isFlat(list)) {\n @for (label of labels(); track $index) {\n <optgroup [label]=\"label\">\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list[$index]}\" />\n </optgroup>\n }\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (group of list; track $index) {\n <tui-opt-group\n tuiMultiSelectGroup\n [label]=\"labels()[$index] || ''\"\n >\n @for (item of group; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-opt-group>\n }\n </tui-data-list>\n }\n} @else {\n <ng-container *ngTemplateOutlet=\"options; context: {$implicit: list}\" />\n @if (!mobile) {\n <tui-data-list *tuiDropdown>\n @for (item of list; track $index) {\n <button\n tuiOption\n type=\"button\"\n [disabled]=\"handlers.disabledItemHandler()(item)\"\n [value]=\"item\"\n >\n {{ handlers.stringify()(item) }}\n </button>\n }\n </tui-data-list>\n }\n}\n\n<ng-template\n #options\n let-items\n>\n @for (option of items; track option) {\n <option\n [disabled]=\"handlers.disabledItemHandler()(option)\"\n [selected]=\"isSelected()(option)\"\n [value]=\"handlers.stringify()(option)\"\n >\n {{ handlers.stringify()(option) }}\n </option>\n }\n</ng-template>\n","import {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\nimport {TuiMultiSelectNative} from './multi-select-native/multi-select-native.component';\n\nexport const TuiMultiSelect = [\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiMultiSelectNative,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -26,15 +26,15 @@ class TuiNotificationMiddleComponent {
|
|
|
26
26
|
? this.context.closable()
|
|
27
27
|
: this.context.closable;
|
|
28
28
|
}
|
|
29
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
30
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.
|
|
29
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
30
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.19", type: TuiNotificationMiddleComponent, isStandalone: true, selector: "tui-notification-middle", host: { listeners: { "document:click.capture": "onClick($event.target)", "document:keydown.esc": "onClick($event.currentTarget)", "waResizeObserver": "el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")" }, classAttribute: "tui-backdrop-hidden" }, providers: [tuiLoaderOptionsProvider({ size: 'l' })], hostDirectives: [{ directive: i1.TuiAnimated }, { directive: i2.WaResizeObserver, outputs: ["waResizeObserver", "waResizeObserver"] }], ngImport: i0, template: `
|
|
31
31
|
<tui-loader class="t-loader" />
|
|
32
32
|
<ng-container *polymorpheusOutlet="context.content as text">
|
|
33
33
|
{{ text }}
|
|
34
34
|
</ng-container>
|
|
35
|
-
`, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-typography-body-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;
|
|
35
|
+
`, isInline: true, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-typography-body-m);--tui-scale: .5}:host:before{inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "component", type: TuiLoader, selector: "tui-loader", inputs: ["size", "inheritColor", "overlay", "textContent", "loading"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
36
36
|
}
|
|
37
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
37
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleComponent, decorators: [{
|
|
38
38
|
type: Component,
|
|
39
39
|
args: [{ selector: 'tui-notification-middle', imports: [PolymorpheusOutlet, TuiLoader], template: `
|
|
40
40
|
<tui-loader class="t-loader" />
|
|
@@ -49,7 +49,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.18", ngImpo
|
|
|
49
49
|
'(document:click.capture)': 'onClick($event.target)',
|
|
50
50
|
'(document:keydown.esc)': 'onClick($event.currentTarget)',
|
|
51
51
|
'(waResizeObserver)': 'el.style.setProperty("--t-width", el.clientWidth + "px")',
|
|
52
|
-
}, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-typography-body-m);--tui-scale: .5}:host:before{inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;
|
|
52
|
+
}, styles: [":host{position:relative;display:grid;max-inline-size:18.75rem;min-inline-size:7rem;min-block-size:7rem;justify-items:center;gap:1rem;margin:auto;padding:2.25rem 2.25rem 1.75rem;border-radius:1.25rem;box-sizing:border-box;font:var(--tui-typography-body-m);--tui-scale: .5}:host:before{inset-block-start:0;inset-inline-start:0;inline-size:100%;block-size:100%;transition-property:width;transition-duration:var(--tui-duration, .3s);transition-timing-function:ease-in-out;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%);content:\"\";z-index:-1;inline-size:var(--t-width);background:var(--tui-background-elevation-3);box-shadow:var(--tui-shadow-popup);border-radius:inherit;contain:strict}:host.tui-enter,:host.tui-leave{animation-name:tuiFade,tuiScale}:host.tui-enter ::ng-deep>.tui-enter,:host.tui-leave ::ng-deep>.tui-enter{animation-duration:0s;animation-delay:0s}:host .t-loader:not(:last-child){display:none}:host ::ng-deep>*{grid-area:2 / 1}:host ::ng-deep>*.tui-enter,:host ::ng-deep>*.tui-leave{animation-delay:var(--tui-duration);animation-name:tuiFade}:host ::ng-deep>*.tui-leave{animation-delay:0s}:host ::ng-deep>*.tui-leave~.tui-enter{opacity:0}:host ::ng-deep>tui-loader,:host ::ng-deep>[tuiAvatar],:host ::ng-deep>tui-icon,:host ::ng-deep>img{block-size:2.5rem;inline-size:2.5rem;min-inline-size:2.5rem;font-size:2.5rem;grid-area:1 / 1}\n"] }]
|
|
53
53
|
}] });
|
|
54
54
|
|
|
55
55
|
class TuiNotificationMiddleService extends TuiModalService {
|
|
@@ -58,10 +58,10 @@ class TuiNotificationMiddleService extends TuiModalService {
|
|
|
58
58
|
this.options = { closable: false };
|
|
59
59
|
this.content = TuiNotificationMiddleComponent;
|
|
60
60
|
}
|
|
61
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
62
|
-
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.
|
|
61
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, deps: null, target: i0.ɵɵFactoryTarget.Injectable }); }
|
|
62
|
+
static { this.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, providedIn: 'root' }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddleService, decorators: [{
|
|
65
65
|
type: Injectable,
|
|
66
66
|
args: [{ providedIn: 'root' }]
|
|
67
67
|
}] });
|
|
@@ -70,10 +70,10 @@ class TuiNotificationMiddle {
|
|
|
70
70
|
constructor() {
|
|
71
71
|
this.tuiNotificationMiddleOptions = input({});
|
|
72
72
|
}
|
|
73
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
74
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.
|
|
73
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddle, deps: [], target: i0.ɵɵFactoryTarget.Directive }); }
|
|
74
|
+
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "17.1.0", version: "19.2.19", type: TuiNotificationMiddle, isStandalone: true, selector: "ng-template[tuiNotificationMiddle]", inputs: { tuiNotificationMiddleOptions: { classPropertyName: "tuiNotificationMiddleOptions", publicName: "tuiNotificationMiddleOptions", isSignal: true, isRequired: false, transformFunction: null } }, providers: [tuiAsPortal(TuiNotificationMiddleService)], hostDirectives: [{ directive: i1$1.TuiPortalDirective, inputs: ["options", "tuiNotificationMiddleOptions", "open", "tuiNotificationMiddle"], outputs: ["openChange", "tuiNotificationMiddleChange"] }], ngImport: i0 }); }
|
|
75
75
|
}
|
|
76
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
76
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiNotificationMiddle, decorators: [{
|
|
77
77
|
type: Directive,
|
|
78
78
|
args: [{
|
|
79
79
|
selector: 'ng-template[tuiNotificationMiddle]',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-notification-middle.mjs","sources":["../../../projects/kit/components/notification-middle/notification-middle.component.ts","../../../projects/kit/components/notification-middle/notification-middle.service.ts","../../../projects/kit/components/notification-middle/notification-middle.directive.ts","../../../projects/kit/components/notification-middle/taiga-ui-kit-components-notification-middle.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, isSignal, type Signal} from '@angular/core';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiLoader, tuiLoaderOptionsProvider} from '@taiga-ui/core/components/loader';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nexport interface TuiNotificationMiddleOptions {\n closable: Signal<boolean> | boolean;\n}\n\n@Component({\n selector: 'tui-notification-middle',\n imports: [PolymorpheusOutlet, TuiLoader],\n template: `\n <tui-loader class=\"t-loader\" />\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n `,\n styleUrl: './notification-middle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiLoaderOptionsProvider({size: 'l'})],\n hostDirectives: [\n TuiAnimated,\n {directive: WaResizeObserver, outputs: ['waResizeObserver']},\n ],\n host: {\n class: 'tui-backdrop-hidden',\n '(document:click.capture)': 'onClick($event.target)',\n '(document:keydown.esc)': 'onClick($event.currentTarget)',\n '(waResizeObserver)': 'el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")',\n },\n})\nexport class TuiNotificationMiddleComponent {\n protected readonly el = tuiInjectElement();\n protected readonly context =\n injectContext<TuiPortalContext<TuiNotificationMiddleOptions>>();\n\n protected onClick(target: HTMLElement): void {\n if (this.closable && !this.el.contains(target)) {\n this.context.$implicit.complete();\n }\n }\n\n private get closable(): boolean {\n return isSignal(this.context.closable)\n ? this.context.closable()\n : this.context.closable;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiModalService} from '@taiga-ui/core/portals/modal';\n\nimport {\n TuiNotificationMiddleComponent,\n type TuiNotificationMiddleOptions,\n} from './notification-middle.component';\n\n@Injectable({providedIn: 'root'})\nexport class TuiNotificationMiddleService extends TuiModalService<TuiNotificationMiddleOptions> {\n protected readonly options = {closable: false};\n protected readonly content = TuiNotificationMiddleComponent;\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiNotificationMiddleOptions} from './notification-middle.component';\nimport {TuiNotificationMiddleService} from './notification-middle.service';\n\n@Directive({\n selector: 'ng-template[tuiNotificationMiddle]',\n providers: [tuiAsPortal(TuiNotificationMiddleService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: [\n 'options: tuiNotificationMiddleOptions',\n 'open: tuiNotificationMiddle',\n ],\n outputs: ['openChange: tuiNotificationMiddleChange'],\n },\n ],\n})\nexport class TuiNotificationMiddle {\n public readonly tuiNotificationMiddleOptions = input<\n Partial<TuiNotificationMiddleOptions>\n >({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":";;;;;;;;;;;;;MAmCa,8BAA8B,CAAA;AAvB3C,IAAA,WAAA,GAAA;QAwBuB,
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-notification-middle.mjs","sources":["../../../projects/kit/components/notification-middle/notification-middle.component.ts","../../../projects/kit/components/notification-middle/notification-middle.service.ts","../../../projects/kit/components/notification-middle/notification-middle.directive.ts","../../../projects/kit/components/notification-middle/taiga-ui-kit-components-notification-middle.ts"],"sourcesContent":["import {ChangeDetectionStrategy, Component, isSignal, type Signal} from '@angular/core';\nimport {WaResizeObserver} from '@ng-web-apis/resize-observer';\nimport {TuiAnimated} from '@taiga-ui/cdk/directives/animated';\nimport {type TuiPortalContext} from '@taiga-ui/cdk/portals';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {TuiLoader, tuiLoaderOptionsProvider} from '@taiga-ui/core/components/loader';\nimport {injectContext, PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\n\nexport interface TuiNotificationMiddleOptions {\n closable: Signal<boolean> | boolean;\n}\n\n@Component({\n selector: 'tui-notification-middle',\n imports: [PolymorpheusOutlet, TuiLoader],\n template: `\n <tui-loader class=\"t-loader\" />\n <ng-container *polymorpheusOutlet=\"context.content as text\">\n {{ text }}\n </ng-container>\n `,\n styleUrl: './notification-middle.style.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [tuiLoaderOptionsProvider({size: 'l'})],\n hostDirectives: [\n TuiAnimated,\n {directive: WaResizeObserver, outputs: ['waResizeObserver']},\n ],\n host: {\n class: 'tui-backdrop-hidden',\n '(document:click.capture)': 'onClick($event.target)',\n '(document:keydown.esc)': 'onClick($event.currentTarget)',\n '(waResizeObserver)': 'el.style.setProperty(\"--t-width\", el.clientWidth + \"px\")',\n },\n})\nexport class TuiNotificationMiddleComponent {\n protected readonly el = tuiInjectElement();\n protected readonly context =\n injectContext<TuiPortalContext<TuiNotificationMiddleOptions>>();\n\n protected onClick(target: HTMLElement): void {\n if (this.closable && !this.el.contains(target)) {\n this.context.$implicit.complete();\n }\n }\n\n private get closable(): boolean {\n return isSignal(this.context.closable)\n ? this.context.closable()\n : this.context.closable;\n }\n}\n","import {Injectable} from '@angular/core';\nimport {TuiModalService} from '@taiga-ui/core/portals/modal';\n\nimport {\n TuiNotificationMiddleComponent,\n type TuiNotificationMiddleOptions,\n} from './notification-middle.component';\n\n@Injectable({providedIn: 'root'})\nexport class TuiNotificationMiddleService extends TuiModalService<TuiNotificationMiddleOptions> {\n protected readonly options = {closable: false};\n protected readonly content = TuiNotificationMiddleComponent;\n}\n","import {Directive, input} from '@angular/core';\nimport {tuiAsPortal, TuiPortalDirective} from '@taiga-ui/cdk/portals';\n\nimport {type TuiNotificationMiddleOptions} from './notification-middle.component';\nimport {TuiNotificationMiddleService} from './notification-middle.service';\n\n@Directive({\n selector: 'ng-template[tuiNotificationMiddle]',\n providers: [tuiAsPortal(TuiNotificationMiddleService)],\n hostDirectives: [\n {\n directive: TuiPortalDirective,\n inputs: [\n 'options: tuiNotificationMiddleOptions',\n 'open: tuiNotificationMiddle',\n ],\n outputs: ['openChange: tuiNotificationMiddleChange'],\n },\n ],\n})\nexport class TuiNotificationMiddle {\n public readonly tuiNotificationMiddleOptions = input<\n Partial<TuiNotificationMiddleOptions>\n >({});\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1"],"mappings":"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"}
|
|
@@ -47,8 +47,8 @@ class TuiPager {
|
|
|
47
47
|
}
|
|
48
48
|
this.left.set(-1 * left);
|
|
49
49
|
}
|
|
50
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
51
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
50
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiPager, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
51
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiPager, isStandalone: true, selector: "tui-pager", inputs: { max: { classPropertyName: "max", publicName: "max", isSignal: true, isRequired: false, transformFunction: null }, count: { classPropertyName: "count", publicName: "count", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, valueContent: { classPropertyName: "valueContent", publicName: "valueContent", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, host: { properties: { "attr.data-size": "size()", "style.--t-gap.px": "gap()", "style.max-width.px": "maxWidth()" } }, providers: [
|
|
52
52
|
WaMutationObserverService,
|
|
53
53
|
{
|
|
54
54
|
provide: WA_MUTATION_OBSERVER_INIT,
|
|
@@ -61,7 +61,7 @@ class TuiPager {
|
|
|
61
61
|
},
|
|
62
62
|
], viewQueries: [{ propertyName: "items", predicate: ["item"], descendants: true, isSignal: true }], usesOnChanges: true, ngImport: i0, template: "<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n", styles: [":host{display:flex;align-items:center;overflow:hidden}:host[data-size=m]{--t-size: .5rem;--t-small-dot: scale(.75);--t-super-small-dot: scale(.5);--t-icon-size: 1rem;min-block-size:1.25rem}:host-context(tui-root._mobile) :host[data-size=m]{--t-icon-size: .875rem}:host[data-size=s]{--t-size: .375rem;--t-small-dot: scale(.666);--t-super-small-dot: scale(.333);--t-icon-size: .75rem;min-block-size:1rem}:host-context(tui-root._mobile) :host[data-size=s]{--t-icon-size: .6875rem}.t-items{display:flex;gap:var(--t-gap);transition:transform var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}.t-item{display:flex;align-self:center;align-items:center;justify-content:center;color:var(--tui-background-neutral-2)}.t-item._active{color:var(--tui-background-accent-1)}.t-item:empty:before{content:\"\";display:flex;min-inline-size:var(--t-size);min-block-size:var(--t-size);border-radius:100%;background:currentColor;transition:inherit}.t-item:empty:not(._visible):before,.t-item:empty:not(._visible)+.t-item:not(._active):not(._pre-active):empty:before,.t-item:empty:not(._last):not(._post-active):not(._active):nth-last-child(1 of._visible):before{transform:var(--t-super-small-dot)!important}.t-item:empty:not(._last)._post-active:nth-last-child(1 of._visible):before,.t-item:empty:not(._visible)+.t-item._pre-active:empty:before,.t-item:empty:not(._visible)+.t-item:empty+.t-item:not(._active):empty:before,.t-item:empty:not(._pre-last):nth-last-child(2 of._visible):not(._active):before{transform:var(--t-small-dot)}.t-item:empty+.t-item:not(:empty)._pre-last{transform:scale(.64)}.t-item:empty+.t-item:not(:empty)._pre-last:nth-last-child(2 of._visible){transform:scale(1)}.t-item::ng-deep>tui-icon{inline-size:var(--t-icon-size);block-size:var(--t-icon-size)}.t-item,.t-item::ng-deep>tui-icon{transition:all var(--tui-duration-fast, .15s) var(--tui-curve-productive-standard, cubic-bezier(.2, 0, .4, .9))}\n"], dependencies: [{ kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
63
63
|
}
|
|
64
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
64
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiPager, decorators: [{
|
|
65
65
|
type: Component,
|
|
66
66
|
args: [{ selector: 'tui-pager', imports: [NgTemplateOutlet], changeDetection: ChangeDetectionStrategy.OnPush, providers: [
|
|
67
67
|
WaMutationObserverService,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n type OnChanges,\n signal,\n type TemplateRef,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [NgTemplateOutlet],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[style.--t-gap.px]': 'gap()',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n protected readonly items = viewChildren<ElementRef<HTMLElement>>('item');\n protected readonly start = signal(0);\n protected readonly end = signal(0);\n protected readonly left = signal(0);\n protected readonly gap = computed(() => (this.size() === 'm' ? 9 : 7));\n protected readonly maxWidth = toSignal(\n inject(WaMutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n public readonly max = input(6);\n public readonly count = input(6);\n public readonly size = input<TuiSizeS>('m');\n public readonly valueContent = input<TemplateRef<unknown>>();\n public readonly index = input(0);\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max() > this.count() ? this.count() : this.max();\n const start = Math.min(\n Math.max(this.index() - Math.floor(max / 2), 0),\n this.count() - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n this.items()\n .map((item) => item.nativeElement.offsetWidth)\n .slice(this.start(), this.end() + 1)\n .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap()\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start.set(start);\n this.end.set(end);\n\n let left = this.start() * this.gap();\n\n for (let i = 0; i < this.start(); i++) {\n left += this.items()[i]?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;MA+Ca,QAAQ,CAAA;AAxBrB,IAAA,WAAA,GAAA;AAyBuB,QAAA,IAAA,CAAA,KAAK,GAAG,YAAY,CAA0B,MAAM,CAAC;AACrD,QAAA,IAAA,CAAA,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC;AACjB,QAAA,IAAA,CAAA,GAAG,GAAG,MAAM,CAAC,CAAC,CAAC;AACf,QAAA,IAAA,CAAA,IAAI,GAAG,MAAM,CAAC,CAAC,CAAC;QAChB,
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-pager.mjs","sources":["../../../projects/kit/components/pager/pager.component.ts","../../../projects/kit/components/pager/pager.component.html","../../../projects/kit/components/pager/taiga-ui-kit-components-pager.ts"],"sourcesContent":["import {NgTemplateOutlet} from '@angular/common';\nimport {\n type AfterViewInit,\n ChangeDetectionStrategy,\n Component,\n computed,\n type ElementRef,\n inject,\n input,\n type OnChanges,\n signal,\n type TemplateRef,\n viewChildren,\n} from '@angular/core';\nimport {takeUntilDestroyed, toSignal} from '@angular/core/rxjs-interop';\nimport {\n WA_MUTATION_OBSERVER_INIT,\n WaMutationObserverService,\n} from '@ng-web-apis/mutation-observer';\nimport {tuiWatch} from '@taiga-ui/cdk/observables';\nimport {type TuiSizeS} from '@taiga-ui/core/types';\nimport {delay, map} from 'rxjs';\n\n@Component({\n selector: 'tui-pager',\n imports: [NgTemplateOutlet],\n templateUrl: './pager.component.html',\n styleUrl: './pager.styles.less',\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n WaMutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n attributeOldValue: true,\n characterData: true,\n childList: true,\n subtree: true,\n },\n },\n ],\n host: {\n '[attr.data-size]': 'size()',\n '[style.--t-gap.px]': 'gap()',\n '[style.max-width.px]': 'maxWidth()',\n },\n})\nexport class TuiPager implements OnChanges, AfterViewInit {\n protected readonly items = viewChildren<ElementRef<HTMLElement>>('item');\n protected readonly start = signal(0);\n protected readonly end = signal(0);\n protected readonly left = signal(0);\n protected readonly gap = computed(() => (this.size() === 'm' ? 9 : 7));\n protected readonly maxWidth = toSignal(\n inject(WaMutationObserverService, {self: true}).pipe(\n delay(0),\n map(() => this.visibleWidth),\n tuiWatch(),\n takeUntilDestroyed(),\n ),\n {initialValue: 0},\n );\n\n public readonly max = input(6);\n public readonly count = input(6);\n public readonly size = input<TuiSizeS>('m');\n public readonly valueContent = input<TemplateRef<unknown>>();\n public readonly index = input(0);\n\n public ngOnChanges(): void {\n this.move();\n }\n\n public ngAfterViewInit(): void {\n this.move();\n }\n\n private get visibleRange(): [start: number, end: number] {\n const max = this.max() > this.count() ? this.count() : this.max();\n const start = Math.min(\n Math.max(this.index() - Math.floor(max / 2), 0),\n this.count() - max,\n );\n\n return [start, start + (max - 1)];\n }\n\n private get visibleWidth(): number {\n return (\n this.items()\n .map((item) => item.nativeElement.offsetWidth)\n .slice(this.start(), this.end() + 1)\n .reduce((sum, item) => sum + item + this.gap(), 0) - this.gap()\n );\n }\n\n private move(): void {\n const [start, end] = this.visibleRange;\n\n this.start.set(start);\n this.end.set(end);\n\n let left = this.start() * this.gap();\n\n for (let i = 0; i < this.start(); i++) {\n left += this.items()[i]?.nativeElement.offsetWidth ?? 0;\n }\n\n this.left.set(-1 * left);\n }\n}\n","<div\n class=\"t-items\"\n [style.transform]=\"`translateX(calc(var(--tui-inline) * ${left()}px))`\"\n>\n @for (_ of '-'.repeat(count()); track $index) {\n <div\n #item\n class=\"t-item\"\n [attr.data-index]=\"$index\"\n [class._active]=\"$index === index()\"\n [class._last]=\"$index === count() - 1\"\n [class._post-active]=\"$index === index() + 1\"\n [class._pre-active]=\"$index === index() - 1\"\n [class._pre-last]=\"$index === count() - 2\"\n [class._visible]=\"$index >= start() && $index <= end()\"\n >\n <ng-container *ngTemplateOutlet=\"valueContent() || null; context: {$implicit: $index}\" />\n </div>\n }\n</div>\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -128,10 +128,10 @@ class TuiPagination {
|
|
|
128
128
|
this.index.set(index);
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.
|
|
132
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.
|
|
131
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiPagination, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
|
132
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "19.2.19", type: TuiPagination, isStandalone: true, selector: "tui-pagination", inputs: { length: { classPropertyName: "length", publicName: "length", isSignal: true, isRequired: false, transformFunction: null }, focusable: { classPropertyName: "focusable", publicName: "focusable", isSignal: true, isRequired: false, transformFunction: null }, size: { classPropertyName: "size", publicName: "size", isSignal: true, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: true, isRequired: false, transformFunction: null }, activePadding: { classPropertyName: "activePadding", publicName: "activePadding", isSignal: true, isRequired: false, transformFunction: null }, sidePadding: { classPropertyName: "sidePadding", publicName: "sidePadding", isSignal: true, isRequired: false, transformFunction: null }, content: { classPropertyName: "content", publicName: "content", isSignal: true, isRequired: false, transformFunction: null }, index: { classPropertyName: "index", publicName: "index", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { index: "indexChange" }, viewQueries: [{ propertyName: "els", predicate: ["element"], descendants: true, read: ElementRef, isSignal: true }], ngImport: i0, template: "<div class=\"t-content\">\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft()\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick(-1)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength()); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled()\"\n [size]=\"buttonSize()\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content() || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-ellipsis\"\n [class.t-ellipsis_small]=\"size() === 'm'\"\n ></div>\n }\n }\n\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight()\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick(1)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n</div>\n", styles: [":host{display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-ellipsis{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-ellipsis_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-ellipsis:before{content:\"\\2026\"}\n"], dependencies: [{ kind: "directive", type: PolymorpheusOutlet, selector: "[polymorpheusOutlet]", inputs: ["polymorpheusOutlet", "polymorpheusOutletContext"] }, { kind: "directive", type: TuiButton, selector: "a[tuiButton],button[tuiButton],a[tuiIconButton],button[tuiIconButton]", inputs: ["size"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush }); }
|
|
133
133
|
}
|
|
134
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.
|
|
134
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.19", ngImport: i0, type: TuiPagination, decorators: [{
|
|
135
135
|
type: Component,
|
|
136
136
|
args: [{ selector: 'tui-pagination', imports: [PolymorpheusOutlet, TuiButton], changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"t-content\">\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledLeft()\"\n [iconStart]=\"icons.decrement\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick(-1)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[0] }}\n </button>\n @for (_ of '-'.repeat(elementsLength()); track $index) {\n @let index = getItemIndexByElementIndex($index);\n @if (index !== null) {\n <button\n #element\n automation-id=\"tui-pagination__element\"\n tuiButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode(index)\"\n [disabled]=\"disabled()\"\n [size]=\"buttonSize()\"\n [tabIndex]=\"elementIsFocusable(index) ? 0 : -1\"\n (click)=\"onElementClick(index)\"\n (keydown.arrowLeft.prevent)=\"onElementKeyDownArrowLeft(element)\"\n (keydown.arrowRight.prevent)=\"onElementKeyDownArrowRight(element)\"\n >\n <ng-container *polymorpheusOutlet=\"content() || index + 1 as text; context: {$implicit: index}\">\n {{ text }}\n </ng-container>\n </button>\n } @else {\n <div\n automation-id=\"tui-pagination__element\"\n class=\"t-ellipsis\"\n [class.t-ellipsis_small]=\"size() === 'm'\"\n ></div>\n }\n }\n\n <button\n tabIndex=\"-1\"\n tuiIconButton\n type=\"button\"\n class=\"t-button\"\n [appearance]=\"getElementMode()\"\n [disabled]=\"arrowIsDisabledRight()\"\n [iconStart]=\"icons.increment\"\n [size]=\"buttonSize()\"\n (click)=\"onArrowClick(1)\"\n (mousedown.zoneless.prevent)=\"(0)\"\n >\n {{ texts()[1] }}\n </button>\n</div>\n", styles: [":host{display:block;font:var(--tui-typography-body-s);color:var(--tui-text-primary);text-align:center}.t-content{display:flex;justify-content:center}.t-button{margin:0 .125rem;flex-shrink:0}.t-button[tuiButton]:not(.t-button_small){min-inline-size:var(--tui-height-s);padding:0 .5rem}.t-button[tuiButton]:not(.t-button_small)[data-size=xs]{min-inline-size:var(--tui-height-xs);padding:0 .375rem}.t-button:first-child{transform:scaleX(var(--tui-inline));margin-inline-start:0}.t-button:last-child{transform:scaleX(var(--tui-inline));margin-inline-end:0}.t-ellipsis{inline-size:var(--tui-height-s);block-size:var(--tui-height-s);line-height:var(--tui-height-s);margin:0 .125rem;flex-shrink:0;color:var(--tui-text-action);text-align:center;cursor:default}.t-ellipsis_small{inline-size:var(--tui-height-xs);block-size:var(--tui-height-xs);line-height:var(--tui-height-xs)}.t-ellipsis:before{content:\"\\2026\"}\n"] }]
|
|
137
137
|
}] });
|