@taiga-ui/kit 2.47.0 → 2.49.1
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/bundles/taiga-ui-kit-abstract.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-abstract.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js +8 -15
- package/bundles/taiga-ui-kit-components-calendar-month.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-calendar-month.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-carousel.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-combo-box.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.js +3 -2
- package/bundles/taiga-ui-kit-components-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-count.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-date.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js +6 -4
- package/bundles/taiga-ui-kit-components-input-month-range.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-month-range.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-number.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-phone-international.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-input-tag.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-input-tag.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-input-time.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js +2 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-multi-select.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.js +2 -2
- package/bundles/taiga-ui-kit-components-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-pagination.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-pdf-viewer.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.js +8 -8
- package/bundles/taiga-ui-kit-components-stepper.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-components-stepper.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-components-tree.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.js +3 -3
- package/bundles/taiga-ui-kit-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-constants.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js +1 -3
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-directives-dropdown-selection.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js +0 -11
- package/bundles/taiga-ui-kit-pipes-field-error.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-pipes-field-error.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js +12 -0
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-pipes-filter-by-input.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-tokens.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-files.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.js +3 -3
- package/bundles/taiga-ui-kit-utils-mask.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-mask.umd.min.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js +3 -0
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.js.map +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js +1 -1
- package/bundles/taiga-ui-kit-utils-miscellaneous.umd.min.js.map +1 -1
- package/components/calendar-month/taiga-ui-kit-components-calendar-month.metadata.json +1 -1
- package/components/carousel/carousel.component.d.ts +1 -1
- package/components/combo-box/combo-box.directive.d.ts +1 -1
- package/components/combo-box/combo-box.providers.d.ts +1 -1
- package/components/input-count/input-count.component.d.ts +2 -2
- package/components/input-count/taiga-ui-kit-components-input-count.metadata.json +1 -1
- package/components/input-date/input-date.component.d.ts +1 -1
- package/components/input-date/taiga-ui-kit-components-input-date.metadata.json +1 -1
- package/components/input-date-range/input-date-range.component.d.ts +1 -1
- package/components/input-date-range/taiga-ui-kit-components-input-date-range.metadata.json +1 -1
- package/components/input-month-range/taiga-ui-kit-components-input-month-range.metadata.json +1 -1
- package/components/input-number/input-number.component.d.ts +2 -2
- package/components/input-number/taiga-ui-kit-components-input-number.metadata.json +1 -1
- package/components/input-phone-international/taiga-ui-kit-components-input-phone-international.metadata.json +1 -1
- package/components/input-time/input-time-options.d.ts +1 -1
- package/components/input-time/taiga-ui-kit-components-input-time.metadata.json +1 -1
- package/components/multi-select/hide-selected.pipe.d.ts +2 -1
- package/components/multi-select/taiga-ui-kit-components-multi-select.metadata.json +1 -1
- package/components/pdf-viewer/pdf-viewer.service.d.ts +3 -3
- package/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.metadata.json +1 -1
- package/components/stepper/taiga-ui-kit-components-stepper.metadata.json +1 -1
- package/components/tree/misc/tree.tokens.d.ts +2 -2
- package/constants/taiga-ui-kit-constants.metadata.json +1 -1
- package/esm2015/abstract/slider/slider.js +2 -2
- package/esm2015/components/calendar-month/calendar-month.component.js +9 -16
- package/esm2015/components/carousel/carousel.component.js +1 -1
- package/esm2015/components/combo-box/combo-box.directive.js +1 -1
- package/esm2015/components/combo-box/combo-box.providers.js +1 -1
- package/esm2015/components/field-error/field-error.component.js +4 -3
- package/esm2015/components/input-count/input-count.component.js +2 -2
- package/esm2015/components/input-date/input-date.component.js +1 -1
- package/esm2015/components/input-date-range/input-date-range.component.js +1 -1
- package/esm2015/components/input-month-range/input-month-range.component.js +6 -4
- package/esm2015/components/input-month-range/input-month-range.directive.js +3 -3
- package/esm2015/components/input-number/input-number.component.js +1 -1
- package/esm2015/components/input-phone-international/input-phone-international.component.js +4 -4
- package/esm2015/components/input-tag/input-tag.component.js +3 -3
- package/esm2015/components/input-time/input-time-options.js +2 -2
- package/esm2015/components/multi-select/hide-selected.pipe.js +1 -1
- package/esm2015/components/multi-select/multi-select-group/multi-select-group.component.js +3 -2
- package/esm2015/components/pagination/pagination.component.js +3 -3
- package/esm2015/components/pdf-viewer/pdf-viewer.service.js +1 -1
- package/esm2015/components/stepper/stepper.component.js +9 -9
- package/esm2015/components/tree/misc/tree.tokens.js +1 -1
- package/esm2015/constants/masks.js +5 -5
- package/esm2015/directives/dropdown-selection/dropdown-selection.directive.js +2 -4
- package/esm2015/pipes/field-error/field-error-pipe.js +3 -10
- package/esm2015/pipes/filter-by-input/filter-by-input.base.js +8 -1
- package/esm2015/tokens/mobile-calendar.js +1 -1
- package/esm2015/utils/files/format-size.js +2 -2
- package/esm2015/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
- package/esm2015/utils/mask/create-date-mask.js +3 -3
- package/esm2015/utils/mask/create-time-mask.js +2 -2
- package/esm2015/utils/miscellaneous/replay-control-value-changes-factory.js +3 -1
- package/esm5/abstract/slider/slider.js +1 -1
- package/esm5/components/calendar-month/calendar-month.component.js +9 -16
- package/esm5/components/carousel/carousel.component.js +1 -1
- package/esm5/components/combo-box/combo-box.directive.js +1 -1
- package/esm5/components/combo-box/combo-box.providers.js +1 -1
- package/esm5/components/field-error/field-error.component.js +4 -3
- package/esm5/components/input-count/input-count.component.js +2 -2
- package/esm5/components/input-date/input-date.component.js +1 -1
- package/esm5/components/input-date-range/input-date-range.component.js +1 -1
- package/esm5/components/input-month-range/input-month-range.component.js +6 -4
- package/esm5/components/input-month-range/input-month-range.directive.js +3 -3
- package/esm5/components/input-number/input-number.component.js +1 -1
- package/esm5/components/input-phone-international/input-phone-international.component.js +4 -4
- package/esm5/components/input-tag/input-tag.component.js +3 -3
- package/esm5/components/input-time/input-time-options.js +1 -1
- package/esm5/components/multi-select/hide-selected.pipe.js +1 -1
- package/esm5/components/multi-select/multi-select-group/multi-select-group.component.js +3 -2
- package/esm5/components/pagination/pagination.component.js +3 -3
- package/esm5/components/pdf-viewer/pdf-viewer.service.js +1 -1
- package/esm5/components/stepper/stepper.component.js +9 -9
- package/esm5/components/tree/misc/tree.tokens.js +1 -1
- package/esm5/constants/masks.js +5 -5
- package/esm5/directives/dropdown-selection/dropdown-selection.directive.js +2 -4
- package/esm5/pipes/field-error/field-error-pipe.js +3 -14
- package/esm5/pipes/filter-by-input/filter-by-input.base.js +15 -2
- package/esm5/tokens/mobile-calendar.js +1 -1
- package/esm5/utils/files/format-size.js +2 -2
- package/esm5/utils/mask/create-auto-corrected-date-time-pipe.js +1 -1
- package/esm5/utils/mask/create-date-mask.js +3 -3
- package/esm5/utils/mask/create-time-mask.js +2 -2
- package/esm5/utils/miscellaneous/replay-control-value-changes-factory.js +3 -1
- package/fesm2015/taiga-ui-kit-abstract.js +1 -1
- package/fesm2015/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-calendar-month.js +8 -15
- package/fesm2015/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-field-error.js +3 -2
- package/fesm2015/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-month-range.js +7 -5
- package/fesm2015/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js +3 -3
- package/fesm2015/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm2015/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js +1 -1
- package/fesm2015/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm2015/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pagination.js +2 -2
- package/fesm2015/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-stepper.js +8 -8
- package/fesm2015/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm2015/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm2015/taiga-ui-kit-constants.js +4 -4
- package/fesm2015/taiga-ui-kit-constants.js.map +1 -1
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js +1 -3
- package/fesm2015/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-field-error.js +1 -8
- package/fesm2015/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js +7 -1
- package/fesm2015/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm2015/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js +1 -1
- package/fesm2015/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-mask.js +3 -3
- package/fesm2015/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js +3 -1
- package/fesm2015/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/fesm5/taiga-ui-kit-abstract.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-calendar-month.js +8 -15
- package/fesm5/taiga-ui-kit-components-calendar-month.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-carousel.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-combo-box.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-field-error.js +3 -2
- package/fesm5/taiga-ui-kit-components-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-count.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-date.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-month-range.js +7 -5
- package/fesm5/taiga-ui-kit-components-input-month-range.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-number.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-phone-international.js +3 -3
- package/fesm5/taiga-ui-kit-components-input-phone-international.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-tag.js +2 -2
- package/fesm5/taiga-ui-kit-components-input-tag.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-input-time.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js +2 -1
- package/fesm5/taiga-ui-kit-components-multi-select.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pagination.js +2 -2
- package/fesm5/taiga-ui-kit-components-pagination.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-pdf-viewer.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-stepper.js +8 -8
- package/fesm5/taiga-ui-kit-components-stepper.js.map +1 -1
- package/fesm5/taiga-ui-kit-components-tree.js.map +1 -1
- package/fesm5/taiga-ui-kit-constants.js +4 -4
- package/fesm5/taiga-ui-kit-constants.js.map +1 -1
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js +1 -3
- package/fesm5/taiga-ui-kit-directives-dropdown-selection.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-field-error.js +1 -12
- package/fesm5/taiga-ui-kit-pipes-field-error.js.map +1 -1
- package/fesm5/taiga-ui-kit-pipes-filter-by-input.js +12 -1
- package/fesm5/taiga-ui-kit-pipes-filter-by-input.js.map +1 -1
- package/fesm5/taiga-ui-kit-tokens.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js +1 -1
- package/fesm5/taiga-ui-kit-utils-files.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-mask.js +3 -3
- package/fesm5/taiga-ui-kit-utils-mask.js.map +1 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js +3 -1
- package/fesm5/taiga-ui-kit-utils-miscellaneous.js.map +1 -1
- package/package.json +4 -4
- package/pipes/field-error/field-error-pipe.d.ts +2 -3
- package/pipes/field-error/taiga-ui-kit-pipes-field-error.metadata.json +1 -1
- package/pipes/filter-by-input/filter-by-input.base.d.ts +6 -0
- package/pipes/filter-by-input/taiga-ui-kit-pipes-filter-by-input.metadata.json +1 -1
- package/tokens/mobile-calendar.d.ts +1 -1
- package/utils/miscellaneous/replay-control-value-changes-factory.d.ts +2 -0
- package/utils/miscellaneous/taiga-ui-kit-utils-miscellaneous.metadata.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-multi-select.js","sources":["ng://@taiga-ui/kit/components/multi-select/multi-select-options.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.component.ts","ng://@taiga-ui/kit/components/multi-select/hide-selected.pipe.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.module.ts","ng://@taiga-ui/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: '',\n};\n\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken<\n TuiMultiSelectOptions<unknown>\n>('Default parameters for multi select component', {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n});\n\nexport const tuiMultiSelectOptionsProvider: <T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiMultiSelectOptions<T>>) => ({\n provide: TUI_MULTI_SELECT_OPTIONS,\n useValue: {...TUI_MULTI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n EMPTY_ARRAY,\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DATA_LIST_ACCESSOR,\n TUI_DATA_LIST_HOST,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiSvgService,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {iconBlank} from '@taiga-ui/kit/constants';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select-options';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Input()\n @HostBinding('class._editable')\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiSvgService) svgService: TuiSvgService,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, changeDetectorRef);\n\n svgService.define({iconBlank});\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.input && this.input.focused) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n /**\n * Pass empty icon to InputTag (inside this component)\n * to prevent overflow of arrow icon by many tags\n */\n get tagIcon(): string {\n return this.interactive ? 'iconBlank' : '';\n }\n\n get inputHidden(): boolean {\n return !this.editable && !this.computedGroup;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n get context(): TuiContextWithImplicit<readonly T[]> {\n return this.getContext(this.value);\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiMapper<\n readonly T[],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify: TuiStringHandler<T>, group: boolean) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiMapper<\n TuiBooleanHandler<T>,\n TuiBooleanHandler<string | TuiStringifiableItem<T>>\n > = handler => stringifiable =>\n typeof stringifiable === 'string' || handler(stringifiable.item);\n\n onHoveredChange(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.updateValue(\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index),\n );\n this.updateSearch(null);\n }\n\n onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n const index = value.indexOf(options[0]);\n\n event.preventDefault();\n this.updateValue(\n index === -1\n ? [...value, options[0]]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.editable &&\n this.interactive &&\n nativeFocusableElement &&\n isNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onArrowClick(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n this.focusInput();\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.updateValue(value.map(({item}) => item));\n }\n\n onSearch(search: string | null): void {\n this.open = true;\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n @tuiPure\n private getContext($implicit: readonly T[]): TuiContextWithImplicit<readonly T[]> {\n return {$implicit};\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n component?: TuiMultiSelectComponent<T>, // TODO: 3.0 @deprecated remove\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n const {value, identityMatcher} = component ?? this.component;\n\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subItems => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n isPresent,\n itemsQueryListObservable,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiDefaultProp,\n TuiIdentityMatcher,\n tuiPure,\n tuiReplayedValueChangesFrom,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_DATA_LIST_HOST,\n TUI_OPTION_CONTENT,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: null,\n },\n ],\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n label = '';\n\n constructor(\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeXS | TuiSizeL {\n return (this.options.first && this.options.first.size) || 'm';\n }\n\n get checkboxSize(): TuiSizeL {\n return this.options.first && sizeBigger(this.options.first.size) ? 'l' : 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest(this.items$, this.valueChanges$).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): readonly T[] {\n return this.filter(getOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return itemsQueryListObservable(this.options).pipe(\n map(options => options.map(({value}) => value).filter(isPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiReplayedValueChangesFrom<readonly T[]>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): readonly T[] {\n return items.map(({value}) => value).filter(isPresent);\n }\n}\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport function hostFallbackFactory<T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n): TuiDataListHost<T> {\n return (\n host || {\n handleOption: option => {\n if (!control.control) {\n return;\n }\n\n const value = control.value || [];\n const index = value.indexOf(option);\n\n control.control.setValue(\n index === -1\n ? [...value, option]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n },\n }\n );\n}\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n// TODO: 3.0 remove in ivy compilation\nexport const MULTI_SELECT_ACCESSOR = {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n};\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: TUI_MULTI_SELECT_OPTION,\n },\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: hostFallbackFactory,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: MULTI_SELECT_ACCESSOR,\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveCheckboxModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiHoveredModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiPrimitiveCheckboxModule,\n TuiDataListModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n})\nexport class TuiMultiSelectModule {}\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-multi-select.js","sources":["ng://@taiga-ui/kit/components/multi-select/multi-select-options.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.component.ts","ng://@taiga-ui/kit/components/multi-select/hide-selected.pipe.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.component.ts","ng://@taiga-ui/kit/components/multi-select/multi-select-group/multi-select-group.directive.ts","ng://@taiga-ui/kit/components/multi-select/multi-select.module.ts","ng://@taiga-ui/kit/components/multi-select/taiga-ui-kit-components-multi-select.ts"],"sourcesContent":["import {InjectionToken, ValueProvider} from '@angular/core';\nimport {TuiContextWithImplicit} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport interface TuiMultiSelectOptions<T> {\n readonly expandable: boolean;\n readonly valueContent: PolymorpheusContent<TuiContextWithImplicit<readonly T[]>>;\n}\n\nexport const TUI_MULTI_SELECT_DEFAULT_OPTIONS: TuiMultiSelectOptions<unknown> = {\n expandable: true,\n valueContent: '',\n};\n\nexport const TUI_MULTI_SELECT_OPTIONS = new InjectionToken<\n TuiMultiSelectOptions<unknown>\n>('Default parameters for multi select component', {\n factory: () => TUI_MULTI_SELECT_DEFAULT_OPTIONS,\n});\n\nexport const tuiMultiSelectOptionsProvider: <T>(\n options: Partial<TuiMultiSelectOptions<T>>,\n) => ValueProvider = <T>(options: Partial<TuiMultiSelectOptions<T>>) => ({\n provide: TUI_MULTI_SELECT_OPTIONS,\n useValue: {...TUI_MULTI_SELECT_DEFAULT_OPTIONS, ...options},\n});\n","import {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChild,\n EventEmitter,\n forwardRef,\n HostBinding,\n Inject,\n Input,\n Optional,\n Output,\n Self,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n AbstractTuiMultipleControl,\n EMPTY_ARRAY,\n isNativeFocused,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiActiveZoneDirective,\n TuiBooleanHandler,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiMapper,\n tuiPure,\n TuiStringHandler,\n} from '@taiga-ui/cdk';\nimport {\n TEXTFIELD_CONTROLLER_PROVIDER,\n TUI_DATA_LIST_ACCESSOR,\n TUI_DATA_LIST_HOST,\n TUI_TEXTFIELD_WATCHED_CONTROLLER,\n TuiDataListAccessor,\n TuiDataListDirective,\n TuiDataListHost,\n TuiHostedDropdownComponent,\n TuiSizeL,\n TuiSizeM,\n TuiSizeS,\n TuiSvgService,\n TuiTextfieldController,\n} from '@taiga-ui/core';\nimport {TuiStringifiableItem} from '@taiga-ui/kit/classes';\nimport {TUI_ARROW_MODE, TuiArrowMode} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagComponent} from '@taiga-ui/kit/components/input-tag';\nimport {iconBlank} from '@taiga-ui/kit/constants';\nimport {FIXED_DROPDOWN_CONTROLLER_PROVIDER} from '@taiga-ui/kit/providers';\nimport {TUI_ITEMS_HANDLERS, TuiItemsHandlers} from '@taiga-ui/kit/tokens';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_MULTI_SELECT_OPTIONS, TuiMultiSelectOptions} from './multi-select-options';\n\n@Component({\n selector: 'tui-multi-select',\n templateUrl: './multi-select.template.html',\n styleUrls: ['./multi-select.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n {\n provide: TUI_DATA_LIST_HOST,\n useExisting: forwardRef(() => TuiMultiSelectComponent),\n },\n FIXED_DROPDOWN_CONTROLLER_PROVIDER,\n TEXTFIELD_CONTROLLER_PROVIDER,\n ],\n})\nexport class TuiMultiSelectComponent<T>\n extends AbstractTuiMultipleControl<T>\n implements TuiFocusableElementAccessor, TuiDataListHost<T>\n{\n @ContentChild(TUI_DATA_LIST_ACCESSOR as any)\n private readonly accessor?: TuiDataListAccessor<T>;\n\n @ViewChild(TuiHostedDropdownComponent)\n private readonly hostedDropdown?: TuiHostedDropdownComponent;\n\n @ViewChild(TuiInputTagComponent)\n private readonly input?: TuiInputTagComponent;\n\n @Input()\n @tuiDefaultProp()\n stringify: TuiItemsHandlers<T>['stringify'] = this.itemsHandlers.stringify;\n\n @Input()\n @tuiDefaultProp()\n identityMatcher: TuiItemsHandlers<T>['identityMatcher'] =\n this.itemsHandlers.identityMatcher;\n\n @Input()\n @tuiDefaultProp()\n expandable: TuiMultiSelectOptions<T>['expandable'] = this.options.expandable;\n\n @Input()\n @tuiDefaultProp()\n search: string | null = '';\n\n @Input()\n @HostBinding('class._editable')\n @tuiDefaultProp()\n editable = true;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiItemsHandlers<T>['disabledItemHandler'] =\n this.itemsHandlers.disabledItemHandler;\n\n @Input()\n @tuiDefaultProp()\n valueContent: TuiMultiSelectOptions<T>['valueContent'] = this.options.valueContent;\n\n @Output()\n readonly searchChange = new EventEmitter<string | null>();\n\n @ContentChild(TuiDataListDirective, {read: TemplateRef})\n readonly datalist: PolymorpheusContent<\n TuiContextWithImplicit<TuiActiveZoneDirective>\n > = '';\n\n open = false;\n\n constructor(\n @Optional()\n @Self()\n @Inject(NgControl)\n control: NgControl | null,\n @Inject(ChangeDetectorRef) changeDetectorRef: ChangeDetectorRef,\n @Inject(TuiSvgService) svgService: TuiSvgService,\n @Inject(TUI_ARROW_MODE)\n private readonly arrowMode: TuiArrowMode,\n @Inject(TUI_ITEMS_HANDLERS)\n private readonly itemsHandlers: TuiItemsHandlers<T>,\n @Inject(TUI_MULTI_SELECT_OPTIONS)\n private readonly options: TuiMultiSelectOptions<T>,\n @Inject(TUI_TEXTFIELD_WATCHED_CONTROLLER)\n readonly controller: TuiTextfieldController,\n ) {\n super(control, changeDetectorRef);\n\n svgService.define({iconBlank});\n }\n\n @HostBinding('attr.data-size')\n get size(): TuiSizeL | TuiSizeS {\n return this.controller.size;\n }\n\n get arrow(): PolymorpheusContent<\n TuiContextWithImplicit<TuiSizeS | TuiSizeM | TuiSizeL>\n > {\n return !this.interactive ? this.arrowMode.disabled : this.arrowMode.interactive;\n }\n\n get nativeFocusableElement(): HTMLInputElement | null {\n return this.input ? this.input.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return (\n (!!this.input && this.input.focused) ||\n (!!this.hostedDropdown && this.hostedDropdown.focused)\n );\n }\n\n get computedValue(): readonly T[] {\n return this.computedGroup ? EMPTY_ARRAY : this.value;\n }\n\n // @bad TODO: think of a better way\n get searchOrSpace(): string {\n return this.computedGroup ? ' ' : this.searchString;\n }\n\n get searchString(): string {\n return this.search === null ? '' : this.search;\n }\n\n /**\n * Pass empty icon to InputTag (inside this component)\n * to prevent overflow of arrow icon by many tags\n */\n get tagIcon(): string {\n return this.interactive ? 'iconBlank' : '';\n }\n\n get inputHidden(): boolean {\n return !this.editable && !this.computedGroup;\n }\n\n get computedGroup(): boolean {\n return (\n !!this.valueContent &&\n this.value.length > 0 &&\n (!this.focused || !this.editable)\n );\n }\n\n get context(): TuiContextWithImplicit<readonly T[]> {\n return this.getContext(this.value);\n }\n\n @tuiPure\n getStringifier(\n stringify: TuiStringHandler<T>,\n ): TuiStringHandler<TuiContextWithImplicit<T>> {\n return ({$implicit}) => stringify($implicit);\n }\n\n readonly valueMapper: TuiMapper<\n readonly T[],\n ReadonlyArray<TuiStringifiableItem<T>>\n > = (value, stringify: TuiStringHandler<T>, group: boolean) =>\n group\n ? EMPTY_ARRAY\n : value.map(item => new TuiStringifiableItem(item, stringify));\n\n readonly disabledItemHandlerWrapper: TuiMapper<\n TuiBooleanHandler<T>,\n TuiBooleanHandler<string | TuiStringifiableItem<T>>\n > = handler => stringifiable =>\n typeof stringifiable === 'string' || handler(stringifiable.item);\n\n onHoveredChange(hovered: boolean): void {\n this.updateHovered(hovered);\n }\n\n onSpace(event: Event): void {\n if (!this.editable) {\n event.preventDefault();\n }\n\n if (!this.readOnly) {\n this.open = true;\n }\n }\n\n handleOption(option: T): void {\n const {value, identityMatcher} = this;\n const index = value.findIndex(item => identityMatcher(item, option));\n\n this.updateValue(\n index === -1 ? [...value, option] : value.filter((_, i) => i !== index),\n );\n this.updateSearch(null);\n }\n\n onEnter(event: Event): void {\n const {value} = this;\n const options = this.accessor ? this.accessor.getOptions() : [];\n\n if (options.length !== 1) {\n return;\n }\n\n const index = value.indexOf(options[0]);\n\n event.preventDefault();\n this.updateValue(\n index === -1\n ? [...value, options[0]]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n this.updateSearch(null);\n }\n\n onClick({nativeFocusableElement}: TuiInputTagComponent): void {\n if (\n this.editable &&\n this.interactive &&\n nativeFocusableElement &&\n isNativeFocused(nativeFocusableElement)\n ) {\n this.hostedDropdown?.updateOpen(!this.open);\n }\n }\n\n onArrowClick(): void {\n this.hostedDropdown?.updateOpen(!this.open);\n this.focusInput();\n }\n\n onInput(value: ReadonlyArray<TuiStringifiableItem<T>>): void {\n this.updateValue(value.map(({item}) => item));\n }\n\n onSearch(search: string | null): void {\n this.open = true;\n this.updateSearch(search);\n }\n\n onActiveZone(active: boolean): void {\n this.updateFocused(active);\n }\n\n setDisabledState(): void {\n super.setDisabledState();\n this.open = false;\n }\n\n @tuiPure\n private getContext($implicit: readonly T[]): TuiContextWithImplicit<readonly T[]> {\n return {$implicit};\n }\n\n private updateSearch(search: string | null): void {\n if (this.search === search) {\n return;\n }\n\n this.search = search;\n this.searchChange.emit(search);\n }\n\n private focusInput(preventScroll: boolean = false): void {\n if (this.nativeFocusableElement) {\n setNativeFocused(this.nativeFocusableElement, true, preventScroll);\n }\n }\n}\n","import {Inject, Pipe, PipeTransform} from '@angular/core';\nimport {TuiIdentityMatcher, tuiPure} from '@taiga-ui/cdk';\nimport {isFlat} from '@taiga-ui/kit/utils';\n\nimport {TuiMultiSelectComponent} from './multi-select.component';\n\n@Pipe({\n name: 'tuiHideSelected',\n pure: false,\n})\nexport class TuiHideSelectedPipe implements PipeTransform {\n constructor(\n @Inject(TuiMultiSelectComponent)\n private readonly component: TuiMultiSelectComponent<any>,\n ) {}\n\n transform<T>(\n items: readonly T[] | null,\n component?: TuiMultiSelectComponent<T>, // TODO: 3.0 @deprecated remove\n ): readonly T[] | null;\n transform<T>(\n items: ReadonlyArray<readonly T[]> | null,\n component?: TuiMultiSelectComponent<T>, // TODO: 3.0 @deprecated remove\n ): ReadonlyArray<readonly T[]> | null;\n transform<T>(\n items: readonly T[] | ReadonlyArray<readonly T[]> | null,\n component?: TuiMultiSelectComponent<T>, // TODO: 3.0 @deprecated remove\n ): readonly T[] | ReadonlyArray<readonly T[]> | null {\n const {value, identityMatcher} = component ?? this.component;\n\n if (!items) {\n return null;\n }\n\n return isFlat(items)\n ? this.filter(items, value, identityMatcher)\n : this.filter2d(items, value, identityMatcher);\n }\n\n @tuiPure\n private filter2d<T>(\n items: ReadonlyArray<readonly T[]>,\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): ReadonlyArray<readonly T[]> {\n return items.map(subItems => this.filter(subItems, value, matcher));\n }\n\n @tuiPure\n private filter<T>(\n items: readonly T[],\n value: readonly T[],\n matcher: TuiIdentityMatcher<T>,\n ): readonly T[] {\n return items.filter(item => value.every(selected => !matcher(selected, item)));\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n Inject,\n Input,\n QueryList,\n} from '@angular/core';\nimport {NgControl} from '@angular/forms';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n isPresent,\n itemsQueryListObservable,\n TUI_DEFAULT_IDENTITY_MATCHER,\n tuiDefaultProp,\n TuiIdentityMatcher,\n tuiPure,\n tuiReplayedValueChangesFrom,\n} from '@taiga-ui/cdk';\nimport {\n sizeBigger,\n TUI_DATA_LIST_HOST,\n TUI_OPTION_CONTENT,\n TuiDataListHost,\n TuiOptionComponent,\n TuiSizeL,\n TuiSizeXS,\n} from '@taiga-ui/core';\nimport {combineLatest, Observable} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-opt-group[tuiMultiSelectGroup]',\n templateUrl: './multi-select-group.template.html',\n styleUrls: ['./multi-select-group.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n viewProviders: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: null,\n },\n ],\n})\nexport class TuiMultiSelectGroupComponent<T> {\n @ContentChildren(TuiOptionComponent)\n private readonly options: QueryList<TuiOptionComponent<T>> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp()\n label = '';\n\n constructor(\n @Inject(TUI_DATA_LIST_HOST) private readonly host: TuiDataListHost<T>,\n @Inject(NgControl) private readonly control: NgControl,\n ) {}\n\n get size(): TuiSizeXS | TuiSizeL {\n return this.options.first?.size || 'm';\n }\n\n get checkboxSize(): TuiSizeL {\n return this.options.first && sizeBigger(this.options.first.size) ? 'l' : 'm';\n }\n\n @tuiPure\n get empty$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(map(({length}) => !length));\n }\n\n @tuiPure\n get disabled$(): Observable<boolean> {\n return itemsQueryListObservable(this.options).pipe(\n map(items => items.every(({disabled}) => disabled)),\n );\n }\n\n @tuiPure\n get value$(): Observable<boolean | null> {\n return combineLatest(this.items$, this.valueChanges$).pipe(\n map(([items, current]) => {\n let result = false;\n\n for (let i = 0; i < items.length; i++) {\n const selected = current.some(selected =>\n this.matcher(selected, items[i]),\n );\n\n if ((!selected && result) || (selected && !result && i)) {\n return null;\n }\n\n result = selected;\n }\n\n return result;\n }),\n );\n }\n\n onClick(checked: boolean | null): void {\n if (!this.control.control) {\n return;\n }\n\n const controlValue: readonly T[] = this.control.value || [];\n const {values} = this;\n const filtered = controlValue.filter(current =>\n values.every(item => !this.matcher(current, item)),\n );\n\n this.control.control.setValue(checked ? filtered : [...filtered, ...values]);\n }\n\n private get values(): readonly T[] {\n return this.filter(getOriginalArrayFromQueryList(this.options));\n }\n\n private get matcher(): TuiIdentityMatcher<T> {\n return this.host.identityMatcher || TUI_DEFAULT_IDENTITY_MATCHER;\n }\n\n @tuiPure\n private get items$(): Observable<readonly T[]> {\n return itemsQueryListObservable(this.options).pipe(\n map(options => options.map(({value}) => value).filter(isPresent)),\n );\n }\n\n @tuiPure\n private get valueChanges$(): Observable<readonly T[]> {\n return tuiReplayedValueChangesFrom<readonly T[]>(this.control).pipe(\n map(value => value || []),\n );\n }\n\n @tuiPure\n private filter(items: ReadonlyArray<TuiOptionComponent<T>>): readonly T[] {\n return items.map(({value}) => value).filter(isPresent);\n }\n}\n","import {Directive, forwardRef, Optional} from '@angular/core';\nimport {NG_VALUE_ACCESSOR, NgControl} from '@angular/forms';\nimport {EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {TUI_DATA_LIST_HOST, TUI_OPTION_CONTENT, TuiDataListHost} from '@taiga-ui/core';\nimport {TuiMultiSelectOptionComponent} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiMultiSelectComponent} from '../multi-select.component';\n\nexport function hostFallbackFactory<T>(\n control: NgControl,\n host: TuiDataListHost<T> | null,\n): TuiDataListHost<T> {\n return (\n host || {\n handleOption: option => {\n if (!control.control) {\n return;\n }\n\n const value = control.value || [];\n const index = value.indexOf(option);\n\n control.control.setValue(\n index === -1\n ? [...value, option]\n : [...value.slice(0, index), ...value.slice(index + 1)],\n );\n },\n }\n );\n}\n\nexport const TUI_MULTI_SELECT_OPTION = new PolymorpheusComponent(\n TuiMultiSelectOptionComponent,\n);\n\n// TODO: 3.0 remove in ivy compilation\nexport const MULTI_SELECT_ACCESSOR = {\n writeValue: EMPTY_FUNCTION,\n registerOnChange: EMPTY_FUNCTION,\n registerOnTouched: EMPTY_FUNCTION,\n};\n\n@Directive({\n selector: '[tuiMultiSelectGroup]',\n providers: [\n {\n provide: TUI_OPTION_CONTENT,\n useValue: TUI_MULTI_SELECT_OPTION,\n },\n {\n provide: TUI_DATA_LIST_HOST,\n deps: [\n NgControl,\n [new Optional(), forwardRef(() => TuiMultiSelectComponent)],\n ],\n useFactory: hostFallbackFactory,\n },\n {\n provide: NG_VALUE_ACCESSOR,\n multi: true,\n useValue: MULTI_SELECT_ACCESSOR,\n },\n ],\n})\nexport class TuiMultiSelectGroupDirective {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {FormsModule} from '@angular/forms';\nimport {\n TuiActiveZoneModule,\n TuiHoveredModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiPreventDefaultModule,\n} from '@taiga-ui/cdk';\nimport {\n TuiDataListModule,\n TuiHostedDropdownModule,\n TuiPrimitiveCheckboxModule,\n TuiSvgModule,\n} from '@taiga-ui/core';\nimport {TuiArrowModule} from '@taiga-ui/kit/components/arrow';\nimport {TuiInputTagModule} from '@taiga-ui/kit/components/input-tag';\nimport {TuiMultiSelectOptionModule} from '@taiga-ui/kit/components/multi-select-option';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiHideSelectedPipe} from './hide-selected.pipe';\nimport {TuiMultiSelectComponent} from './multi-select.component';\nimport {TuiMultiSelectGroupComponent} from './multi-select-group/multi-select-group.component';\nimport {TuiMultiSelectGroupDirective} from './multi-select-group/multi-select-group.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n FormsModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiArrowModule,\n TuiLetModule,\n TuiMapperPipeModule,\n TuiHoveredModule,\n TuiSvgModule,\n TuiHostedDropdownModule,\n TuiInputTagModule,\n TuiMultiSelectOptionModule,\n TuiPrimitiveCheckboxModule,\n TuiDataListModule,\n ],\n declarations: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n exports: [\n TuiMultiSelectComponent,\n TuiMultiSelectGroupComponent,\n TuiMultiSelectGroupDirective,\n TuiHideSelectedPipe,\n ],\n})\nexport class TuiMultiSelectModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -160,7 +160,7 @@ var TuiPaginationComponent = /** @class */ (function (_super) {
|
|
|
160
160
|
return;
|
|
161
161
|
}
|
|
162
162
|
var previous = this.elements.find(function (_, index, array) { return array[index + 1] === element; });
|
|
163
|
-
if (previous
|
|
163
|
+
if (previous === null || previous === void 0 ? void 0 : previous.nativeFocusableElement) {
|
|
164
164
|
setNativeFocused(previous.nativeFocusableElement);
|
|
165
165
|
}
|
|
166
166
|
};
|
|
@@ -169,7 +169,7 @@ var TuiPaginationComponent = /** @class */ (function (_super) {
|
|
|
169
169
|
return;
|
|
170
170
|
}
|
|
171
171
|
var next = this.elements.find(function (_, index, array) { return array[index - 1] === element; });
|
|
172
|
-
if (next
|
|
172
|
+
if (next === null || next === void 0 ? void 0 : next.nativeFocusableElement) {
|
|
173
173
|
setNativeFocused(next.nativeFocusableElement);
|
|
174
174
|
}
|
|
175
175
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pagination.js","sources":["ng://@taiga-ui/kit/components/pagination/pagination.component.ts","ng://@taiga-ui/kit/components/pagination/pagination.module.ts","ng://@taiga-ui/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n clamp,\n EMPTY_QUERY,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {horizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\nexport function nonNegativeInteger(length: number): boolean {\n return Number.isInteger(length) && length >= 0;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPaginationComponent),\n },\n ],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly elements: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp(nonNegativeInteger, 'Must be non-negative integer')\n length = 1;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n @tuiDefaultProp()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n @tuiDefaultProp()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<number>> | null = null;\n\n /**\n * Active page index\n */\n @Input()\n @tuiDefaultProp(nonNegativeInteger, 'Must be non-negative integer')\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n const activeElement = this.elements.find(\n (_, index) => index === activeElementIndex,\n );\n\n return activeElement ? activeElement.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n get mode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n getItemContext(index: number): TuiContextWithImplicit<number> {\n return {$implicit: index};\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (!this.sizeM) {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return clamp(computedIndex, elementIndex, this.lastIndex - reverseElementIndex);\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.elements.first) {\n return;\n }\n\n const previous = this.elements.find(\n (_, index, array) => array[index + 1] === element,\n );\n\n if (previous && previous.nativeFocusableElement) {\n setNativeFocused(previous.nativeFocusableElement);\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.elements.last) {\n return;\n }\n\n const next = this.elements.find(\n (_, index, array) => array[index - 1] === element,\n );\n\n if (next && next.nativeFocusableElement) {\n setNativeFocused(next.nativeFocusableElement);\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n clamp(this.index + horizontalDirectionToNumber(direction), 0, this.lastIndex),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n setNativeFocused(nativeFocusableElement);\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiLetModule,\n TuiPreventDefaultModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAsCA,IAAM,WAAW,GAAG,CAAC,CAAC;AACtB,IAAM,kBAAkB,GAAG,CAAC,CAAC;SAEb,kBAAkB,CAAC,MAAc;IAC7C,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;IAcY,0CAAsB;IAiD9B,gCACyC,UAAmC,EAGvD,aAAsC,EAChB,MAAoC;QAL/E,YAOI,iBAAO,SACV;QAPwC,gBAAU,GAAV,UAAU,CAAyB;QAGvD,mBAAa,GAAb,aAAa,CAAyB;QAChB,YAAM,GAAN,MAAM,CAA8B;QAlD9D,cAAQ,GAA2C,WAAW,CAAC;QAIhF,YAAM,GAAG,CAAC,CAAC;QAIX,UAAI,GAAa,GAAG,CAAC;QAIZ,cAAQ,GAAG,KAAK,CAAC;;;;QAO1B,mBAAa,GAAG,CAAC,CAAC;;;;QAOlB,iBAAW,GAAG,CAAC,CAAC;;;;QAOhB,aAAO,GAA+D,IAAI,CAAC;;;;QAO3E,WAAK,GAAG,CAAC,CAAC;QAGD,iBAAW,GAAG,IAAI,YAAY,EAAU,CAAC;;KAUjD;+BA1DQ,sBAAsB;IA4D/B,sBAAI,0DAAsB;aAA1B;YACI,IAAI,IAAI,CAAC,QAAQ,EAAE;gBACf,OAAO,IAAI,CAAC;aACf;YAED,IAAI,kBAAkB,GAAG,CAAC,CAAC;YACpB,IAAA,oCAAc,CAAS;YAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,cAAc,EAAE,CAAC,EAAE,EAAE;gBACrC,IAAM,SAAS,GAAG,IAAI,CAAC,0BAA0B,CAAC,CAAC,CAAC,CAAC;gBAErD,IAAI,SAAS,EAAE;oBACX,kBAAkB,EAAE,CAAC;iBACxB;gBAED,IAAI,SAAS,KAAK,IAAI,CAAC,KAAK,EAAE;oBAC1B,MAAM;iBACT;aACJ;YAED,IAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CACpC,UAAC,CAAC,EAAE,KAAK,IAAK,OAAA,KAAK,KAAK,kBAAkB,GAAA,CAC7C,CAAC;YAEF,OAAO,aAAa,GAAG,aAAa,CAAC,sBAAsB,GAAG,IAAI,CAAC;SACtE;;;OAAA;IAED,sBAAI,2CAAO;aAAX;YACI,OAAO,iBAAiB,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC3D;;;OAAA;IAKD,sBAAI,kDAAc;;;;aAAlB;YACI,OAAO,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CAAC;SAC/D;;;OAAA;IAED,sBAAI,yCAAK;aAAT;YACI,OAAO,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC;SAC5B;;;OAAA;IAED,sBAAI,wCAAI;aAAR;YACI,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,GAAG,IAAI,CAAC;SAC9D;;;OAAA;IAED,sBAAI,uDAAmB;aAAvB;YACI,OAAO,IAAI,CAAC,KAAK,KAAK,CAAC,CAAC;SAC3B;;;OAAA;IAED,sBAAI,wDAAoB;aAAxB;YACI,OAAO,IAAI,CAAC,YAAY,KAAK,CAAC,CAAC;SAClC;;;OAAA;IAED,mDAAkB,GAAlB,UAAmB,KAAa;QAC5B,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC;KAChD;IAED,+CAAc,GAAd,UAAe,KAAa;QACxB,OAAO,EAAC,SAAS,EAAE,KAAK,EAAC,CAAC;KAC7B;;;;;;IAOD,2DAA0B,GAA1B,UAA2B,YAAoB;QAC3C,IAAI,CAAC,IAAI,CAAC,KAAK,EAAE;YACb,OAAO,YAAY,CAAC;SACvB;QAED,IAAI,YAAY,GAAG,IAAI,CAAC,WAAW,EAAE;YACjC,OAAO,YAAY,CAAC;SACvB;QAED,IAAI,YAAY,KAAK,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;YACzE,OAAO,IAAI,CAAC;SACf;QAED,IAAM,mBAAmB,GAAG,IAAI,CAAC,gBAAgB,GAAG,YAAY,CAAC;QAEjE,IACI,mBAAmB,KAAK,IAAI,CAAC,WAAW;YACxC,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,YAAY,CAAC,EAC3C;YACE,OAAO,IAAI,CAAC;SACf;QAED,IAAI,mBAAmB,GAAG,IAAI,CAAC,WAAW,EAAE;YACxC,OAAO,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC;SAC/C;QAED,IAAM,aAAa,GAAG,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,GAAG,YAAY,CAAC;QAErE,OAAO,KAAK,CAAC,aAAa,EAAE,YAAY,EAAE,IAAI,CAAC,SAAS,GAAG,mBAAmB,CAAC,CAAC;KACnF;IAED,+CAAc,GAAd,UAAe,KAAa;QACxB,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,+CAA8C;KAC5E;IAED,oDAAmB,GAAnB,UAAoB,KAAa,EAAE,IAA0B;QACzD,OAAO,IAAI,CAAC,KAAK,KAAK,KAAK,IAAI,IAAI,KAAK,SAAS;;0CAEnB;KACjC;IAED,+CAAc,GAAd,UAAe,KAAa;QACxB,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;KAC3B;IAED,0DAAyB,GAAzB,UAA0B,OAA2B;QACjD,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;YACjC,OAAO;SACV;QAED,IAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC/B,UAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,GAAA,CACpD,CAAC;QAEF,IAAI,QAAQ,IAAI,QAAQ,CAAC,sBAAsB,EAAE;YAC7C,gBAAgB,CAAC,QAAQ,CAAC,sBAAsB,CAAC,CAAC;SACrD;KACJ;IAED,2DAA0B,GAA1B,UAA2B,OAA2B;QAClD,IAAI,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;YAChC,OAAO;SACV;QAED,IAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,IAAI,CAC3B,UAAC,CAAC,EAAE,KAAK,EAAE,KAAK,IAAK,OAAA,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC,KAAK,OAAO,GAAA,CACpD,CAAC;QAEF,IAAI,IAAI,IAAI,IAAI,CAAC,sBAAsB,EAAE;YACrC,gBAAgB,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;SACjD;KACJ;IAED,6CAAY,GAAZ,UAAa,SAAiC;QAC1C,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;KACtB;IAED,6CAAY,GAAZ,UAAa,OAAgB;QACzB,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;KAC/B;IAKD,sBAAY,gDAAY;;;;aAAxB;YACI,OAAO,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC;SACtC;;;OAAA;IAKD,sBAAY,iDAAa;;;;aAAzB;YACI,OAAO,IAAI,CAAC,WAAW,GAAG,WAAW,GAAG,IAAI,CAAC,aAAa,CAAC;SAC9D;;;OAAA;IAKD,sBAAY,4CAAQ;;;;aAApB;YACI,OAAO,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,iBAAiB,CAAC;SAChD;;;OAAA;IAKD,sBAAY,qDAAiB;;;;aAA7B;YACI,OAAO,IAAI,CAAC,aAAa,GAAG,CAAC,GAAG,kBAAkB,CAAC;SACtD;;;OAAA;IAED,sBAAY,6CAAS;aAArB;YACI,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;SAC1B;;;OAAA;IAED,sBAAY,oDAAgB;aAA5B;YACI,OAAO,IAAI,CAAC,cAAc,GAAG,CAAC,CAAC;SAClC;;;OAAA;;;;;;IAOO,kDAAiB,GAAzB,UAA0B,KAAa;QACnC,OAAO,CAAC,IAAI,CAAC,QAAQ,IAAI,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC;KACvD;IAEO,4CAAW,GAAnB,UAAoB,SAAiC;QACjD,IAAI,CAAC,WAAW,CACZ,KAAK,CAAC,IAAI,CAAC,KAAK,GAAG,2BAA2B,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,CAChF,CAAC;KACL;IAEO,4CAAW,GAAnB;QACW,IAAA,oDAAsB,CAAS;QAEtC,IAAI,sBAAsB,EAAE;YACxB,gBAAgB,CAAC,sBAAsB,CAAC,CAAC;SAC5C;KACJ;IAEO,4CAAW,GAAnB,UAAoB,KAAa;QAC7B,IAAI,IAAI,CAAC,KAAK,KAAK,KAAK,EAAE;YACtB,OAAO;SACV;QAED,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KAChC;;;gBAhOoD,UAAU,uBAA1D,MAAM,SAAC,UAAU;gBAGc,gBAAgB,uBAF/C,QAAQ,YACR,MAAM,SAAC,gBAAgB;gBAEuB,UAAU,uBAAxD,MAAM,SAAC,oBAAoB;;IAlDhC;QADC,YAAY,CAAC,SAAS,EAAE,EAAC,IAAI,EAAE,2BAA2B,EAAC,CAAC;4DACmB;IAIhF;QAFC,KAAK,EAAE;QACP,cAAc,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;0DACxD;IAIX;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;wDACI;IAIrB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;4DACS;IAO1B;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;iEACC;IAOlB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;+DACD;IAOhB;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;2DAC0D;IAO3E;QAFC,KAAK,EAAE;QACP,cAAc,CAAC,kBAAkB,EAAE,8BAA8B,CAAC;yDACzD;IAGV;QADC,MAAM,EAAE;+DACyC;IAhDzC,sBAAsB;QAZlC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,87GAAyC;YAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,2BAA2B;oBACpC,WAAW,EAAE,UAAU,CAAC,cAAM,OAAA,wBAAsB,GAAA,CAAC;iBACxD;aACJ;;SACJ,CAAC;QAoDO,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;QAClB,WAAA,QAAQ,EAAE,CAAA;QACV,WAAA,MAAM,CAAC,gBAAgB,CAAC,CAAA;QAExB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OAvDxB,sBAAsB,CAoRlC;IAAD,6BAAC;CAAA,CAnRW,sBAAsB;;;ICjClC;KAAmC;IAAtB,mBAAmB;QAb/B,QAAQ,CAAC;YACN,OAAO,EAAE;gBACL,YAAY;gBACZ,oBAAoB;gBACpB,YAAY;gBACZ,kBAAkB;gBAClB,uBAAuB;gBACvB,mBAAmB;gBACnB,eAAe;aAClB;YACD,YAAY,EAAE,CAAC,sBAAsB,CAAC;YACtC,OAAO,EAAE,CAAC,sBAAsB,CAAC;SACpC,CAAC;OACW,mBAAmB,CAAG;IAAD,0BAAC;CAAnC;;AC1BA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-pagination.js","sources":["ng://@taiga-ui/kit/components/pagination/pagination.component.ts","ng://@taiga-ui/kit/components/pagination/pagination.module.ts","ng://@taiga-ui/kit/components/pagination/taiga-ui-kit-components-pagination.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Inject,\n Input,\n Optional,\n Output,\n QueryList,\n ViewChildren,\n} from '@angular/core';\nimport {\n AbstractTuiInteractive,\n clamp,\n EMPTY_QUERY,\n isNativeFocusedIn,\n setNativeFocused,\n TUI_FOCUSABLE_ITEM_ACCESSOR,\n TuiContextWithImplicit,\n tuiDefaultProp,\n TuiFocusableElementAccessor,\n TuiNativeFocusableElement,\n} from '@taiga-ui/cdk';\nimport {\n TuiAppearance,\n TuiBrightness,\n TuiButtonComponent,\n TuiHorizontalDirection,\n TuiModeDirective,\n TuiSizeS,\n} from '@taiga-ui/core';\nimport {TUI_PAGINATION_TEXTS} from '@taiga-ui/kit/tokens';\nimport {horizontalDirectionToNumber} from '@taiga-ui/kit/utils/math';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nconst DOTS_LENGTH = 1;\nconst ACTIVE_ITEM_LENGTH = 1;\n\nexport function nonNegativeInteger(length: number): boolean {\n return Number.isInteger(length) && length >= 0;\n}\n\n// @dynamic\n@Component({\n selector: 'tui-pagination',\n templateUrl: './pagination.template.html',\n styleUrls: ['./pagination.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_FOCUSABLE_ITEM_ACCESSOR,\n useExisting: forwardRef(() => TuiPaginationComponent),\n },\n ],\n})\nexport class TuiPaginationComponent\n extends AbstractTuiInteractive\n implements TuiFocusableElementAccessor\n{\n @ViewChildren('element', {read: TUI_FOCUSABLE_ITEM_ACCESSOR})\n private readonly elements: QueryList<TuiFocusableElementAccessor> = EMPTY_QUERY;\n\n @Input()\n @tuiDefaultProp(nonNegativeInteger, 'Must be non-negative integer')\n length = 1;\n\n @Input()\n @tuiDefaultProp()\n size: TuiSizeS = 'm';\n\n @Input()\n @tuiDefaultProp()\n readonly disabled = false;\n\n /**\n * Amount of visible pages around active page\n */\n @Input()\n @tuiDefaultProp()\n activePadding = 1;\n\n /**\n * Amount of visible pages at the edges\n */\n @Input()\n @tuiDefaultProp()\n sidePadding = 1;\n\n /**\n * Customization for page number display.\n */\n @Input()\n @tuiDefaultProp()\n content: PolymorpheusContent<TuiContextWithImplicit<number>> | null = null;\n\n /**\n * Active page index\n */\n @Input()\n @tuiDefaultProp(nonNegativeInteger, 'Must be non-negative integer')\n index = 0;\n\n @Output()\n readonly indexChange = new EventEmitter<number>();\n\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TuiModeDirective)\n private readonly modeDirective: TuiModeDirective | null,\n @Inject(TUI_PAGINATION_TEXTS) readonly texts$: Observable<[string, string]>,\n ) {\n super();\n }\n\n get nativeFocusableElement(): TuiNativeFocusableElement | null {\n if (this.disabled) {\n return null;\n }\n\n let activeElementIndex = 0;\n const {elementsLength} = this;\n\n for (let i = 0; i < elementsLength; i++) {\n const itemIndex = this.getItemIndexByElementIndex(i);\n\n if (itemIndex) {\n activeElementIndex++;\n }\n\n if (itemIndex === this.index) {\n break;\n }\n }\n\n const activeElement = this.elements.find(\n (_, index) => index === activeElementIndex,\n );\n\n return activeElement ? activeElement.nativeFocusableElement : null;\n }\n\n get focused(): boolean {\n return isNativeFocusedIn(this.elementRef.nativeElement);\n }\n\n /**\n * Number of items in a container.\n */\n get elementsLength(): number {\n return this.itemsFit ? this.length : this.maxElementsLength;\n }\n\n get sizeM(): boolean {\n return this.size === 'm';\n }\n\n get mode(): TuiBrightness | null {\n return this.modeDirective ? this.modeDirective.mode : null;\n }\n\n get arrowIsDisabledLeft(): boolean {\n return this.index === 0;\n }\n\n get arrowIsDisabledRight(): boolean {\n return this.reverseIndex === 0;\n }\n\n elementIsFocusable(index: number): boolean {\n return this.index === index && !this.focused;\n }\n\n getItemContext(index: number): TuiContextWithImplicit<number> {\n return {$implicit: index};\n }\n\n /**\n * Get index by element index\n * @param elementIndex\n * @returns index or null (for '…')\n */\n getItemIndexByElementIndex(elementIndex: number): number | null {\n if (!this.sizeM) {\n return elementIndex;\n }\n\n if (elementIndex < this.sidePadding) {\n return elementIndex;\n }\n\n if (elementIndex === this.sidePadding && this.hasCollapsedItems(this.index)) {\n return null;\n }\n\n const reverseElementIndex = this.lastElementIndex - elementIndex;\n\n if (\n reverseElementIndex === this.sidePadding &&\n this.hasCollapsedItems(this.reverseIndex)\n ) {\n return null;\n }\n\n if (reverseElementIndex < this.sidePadding) {\n return this.lastIndex - reverseElementIndex;\n }\n\n const computedIndex = this.index - this.maxHalfLength + elementIndex;\n\n return clamp(computedIndex, elementIndex, this.lastIndex - reverseElementIndex);\n }\n\n getElementMode(index: number): TuiAppearance {\n return this.index === index ? TuiAppearance.Primary : TuiAppearance.Flat;\n }\n\n getSmallElementMode(index: number, mode: TuiBrightness | null): TuiAppearance {\n return this.index === index && mode !== 'onLight'\n ? TuiAppearance.Primary\n : TuiAppearance.Secondary;\n }\n\n onElementClick(index: number): void {\n this.updateIndex(index);\n }\n\n onElementKeyDownArrowLeft(element: TuiButtonComponent): void {\n if (element === this.elements.first) {\n return;\n }\n\n const previous = this.elements.find(\n (_, index, array) => array[index + 1] === element,\n );\n\n if (previous?.nativeFocusableElement) {\n setNativeFocused(previous.nativeFocusableElement);\n }\n }\n\n onElementKeyDownArrowRight(element: TuiButtonComponent): void {\n if (element === this.elements.last) {\n return;\n }\n\n const next = this.elements.find(\n (_, index, array) => array[index - 1] === element,\n );\n\n if (next?.nativeFocusableElement) {\n setNativeFocused(next.nativeFocusableElement);\n }\n }\n\n onArrowClick(direction: TuiHorizontalDirection): void {\n this.tryChangeTo(direction);\n this.focusActive();\n }\n\n onActiveZone(focused: boolean): void {\n this.updateFocused(focused);\n }\n\n /**\n * Active index from the end\n */\n private get reverseIndex(): number {\n return this.lastIndex - this.index;\n }\n\n /**\n * Max number of elements in half (not counting the middle one).\n */\n private get maxHalfLength(): number {\n return this.sidePadding + DOTS_LENGTH + this.activePadding;\n }\n\n /**\n * Is there '...' anywhere\n */\n private get itemsFit(): boolean {\n return this.length <= this.maxElementsLength;\n }\n\n /**\n * Max number of elements\n */\n private get maxElementsLength(): number {\n return this.maxHalfLength * 2 + ACTIVE_ITEM_LENGTH;\n }\n\n private get lastIndex(): number {\n return this.length - 1;\n }\n\n private get lastElementIndex(): number {\n return this.elementsLength - 1;\n }\n\n /**\n * Are there collapsed items at that index\n * @param index\n * @returns there are collapsed items\n */\n private hasCollapsedItems(index: number): boolean {\n return !this.itemsFit && index > this.maxHalfLength;\n }\n\n private tryChangeTo(direction: TuiHorizontalDirection): void {\n this.updateIndex(\n clamp(this.index + horizontalDirectionToNumber(direction), 0, this.lastIndex),\n );\n }\n\n private focusActive(): void {\n const {nativeFocusableElement} = this;\n\n if (nativeFocusableElement) {\n setNativeFocused(nativeFocusableElement);\n }\n }\n\n private updateIndex(index: number): void {\n if (this.index === index) {\n return;\n }\n\n this.index = index;\n this.indexChange.emit(index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiActiveZoneModule,\n TuiLetModule,\n TuiPreventDefaultModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPaginationComponent} from './pagination.component';\n\n@NgModule({\n imports: [\n CommonModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n PolymorpheusModule,\n TuiPreventDefaultModule,\n TuiActiveZoneModule,\n TuiButtonModule,\n ],\n declarations: [TuiPaginationComponent],\n exports: [TuiPaginationComponent],\n})\nexport class TuiPaginationModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-pdf-viewer.js","sources":["ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.component.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.service.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.directive.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.module.ts","ng://@taiga-ui/kit/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_CLOSE_WORD,\n tuiFadeIn,\n tuiSlideInTop,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer-options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n templateUrl: './pdf-viewer.template.html',\n styleUrls: ['./pdf-viewer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiPdfViewerComponent<I, O> {\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n readonly animation = {value: '', ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPdfViewerOptions<I>, O>,\n ) {}\n}\n","import {Injectable} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TuiPdfViewerOptions} from './pdf-viewer-options';\n\nconst DIALOG = new PolymorpheusComponent(TuiPdfViewerComponent);\nconst DEFAULT_OPTIONS = {label: '', actions: ''} as const;\n\ntype Content<G> = PolymorpheusContent
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-pdf-viewer.js","sources":["ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.component.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.service.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.directive.ts","ng://@taiga-ui/kit/components/pdf-viewer/pdf-viewer.module.ts","ng://@taiga-ui/kit/components/pdf-viewer/taiga-ui-kit-components-pdf-viewer.ts"],"sourcesContent":["import {AnimationOptions} from '@angular/animations';\nimport {ChangeDetectionStrategy, Component, HostBinding, Inject} from '@angular/core';\nimport {TuiDialog} from '@taiga-ui/cdk';\nimport {\n TUI_ANIMATION_OPTIONS,\n TUI_CLOSE_WORD,\n tuiFadeIn,\n tuiSlideInTop,\n} from '@taiga-ui/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerOptions} from './pdf-viewer-options';\n\n@Component({\n selector: 'tui-pdf-viewer',\n templateUrl: './pdf-viewer.template.html',\n styleUrls: ['./pdf-viewer.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiSlideInTop, tuiFadeIn],\n})\nexport class TuiPdfViewerComponent<I, O> {\n @HostBinding('@tuiSlideInTop')\n @HostBinding('@tuiFadeIn')\n readonly animation = {value: '', ...this.options} as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(TUI_CLOSE_WORD) readonly closeWord$: Observable<string>,\n @Inject(POLYMORPHEUS_CONTEXT)\n readonly context: TuiDialog<TuiPdfViewerOptions<I>, O>,\n ) {}\n}\n","import {Injectable} from '@angular/core';\nimport {SafeResourceUrl} from '@angular/platform-browser';\nimport {AbstractTuiDialogService, TuiBaseDialogContext} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent, PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Observable} from 'rxjs';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TuiPdfViewerOptions} from './pdf-viewer-options';\n\nconst DIALOG = new PolymorpheusComponent(TuiPdfViewerComponent);\nconst DEFAULT_OPTIONS = {label: '', actions: ''} as const;\n\ntype Content<G> = PolymorpheusContent<\n TuiBaseDialogContext<G> & TuiPdfViewerOptions<unknown>\n>;\n\n@Injectable({\n providedIn: 'root',\n})\nexport class TuiPdfViewerService extends AbstractTuiDialogService<\n TuiPdfViewerOptions<unknown>\n> {\n protected readonly component = DIALOG;\n protected readonly defaultOptions: TuiPdfViewerOptions<unknown> =\n DEFAULT_OPTIONS as TuiPdfViewerOptions<unknown>;\n\n open<G>(\n content: SafeResourceUrl | Content<G>,\n options: Partial<TuiPdfViewerOptions<any>> = {},\n ): Observable<G> {\n return super.open(content as Content<G>, options);\n }\n}\n","import {Directive} from '@angular/core';\nimport {AbstractTuiDialogDirective, AbstractTuiDialogService} from '@taiga-ui/cdk';\n\nimport {TuiPdfViewerService} from './pdf-viewer.service';\nimport {TuiPdfViewerOptions} from './pdf-viewer-options';\n\n@Directive({\n selector: 'ng-template[tuiPdfViewer]',\n providers: [\n {\n provide: AbstractTuiDialogService,\n useExisting: TuiPdfViewerService,\n },\n ],\n inputs: ['options: tuiPdfViewerOptions', 'open: tuiPdfViewer'],\n outputs: ['openChange: tuiPdfViewerChange'],\n})\nexport class TuiPdfViewerDirective<T> extends AbstractTuiDialogDirective<\n TuiPdfViewerOptions<T>\n> {}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TUI_DIALOGS} from '@taiga-ui/cdk';\nimport {TuiButtonModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiPdfViewerComponent} from './pdf-viewer.component';\nimport {TuiPdfViewerDirective} from './pdf-viewer.directive';\nimport {TuiPdfViewerService} from './pdf-viewer.service';\n\n@NgModule({\n imports: [CommonModule, TuiButtonModule, PolymorpheusModule],\n declarations: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n exports: [TuiPdfViewerComponent, TuiPdfViewerDirective],\n providers: [\n {\n provide: TUI_DIALOGS,\n useExisting: TuiPdfViewerService,\n multi: true,\n },\n ],\n entryComponents: [TuiPdfViewerComponent],\n})\nexport class TuiPdfViewerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;IA0BI,+BACoD,OAAyB,EACxC,UAA8B,EAEtD,OAA6C;QAHN,YAAO,GAAP,OAAO,CAAkB;QACxC,eAAU,GAAV,UAAU,CAAoB;QAEtD,YAAO,GAAP,OAAO,CAAsC;QANjD,cAAS,GAAG,WAAC,KAAK,EAAE,EAAE,IAAK,IAAI,CAAC,OAAO,CAAU,CAAC;KAOvD;;gDAJC,MAAM,SAAC,qBAAqB;gBACgB,UAAU,uBAAtD,MAAM,SAAC,cAAc;gDACrB,MAAM,SAAC,oBAAoB;;IALhC;QAFC,WAAW,CAAC,gBAAgB,CAAC;QAC7B,WAAW,CAAC,YAAY,CAAC;4DACiC;IAHlD,qBAAqB;QAPjC,SAAS,CAAC;YACP,QAAQ,EAAE,gBAAgB;YAC1B,kzBAAyC;YAEzC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,UAAU,EAAE,CAAC,aAAa,EAAE,SAAS,CAAC;;SACzC,CAAC;QAOO,WAAA,MAAM,CAAC,qBAAqB,CAAC,CAAA;QAC7B,WAAA,MAAM,CAAC,cAAc,CAAC,CAAA;QACtB,WAAA,MAAM,CAAC,oBAAoB,CAAC,CAAA;OARxB,qBAAqB,CAWjC;IAAD,4BAAC;CAXD;;ACZA,IAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,qBAAqB,CAAC,CAAC;AAChE,IAAM,eAAe,GAAG,EAAC,KAAK,EAAE,EAAE,EAAE,OAAO,EAAE,EAAE,EAAU,CAAC;;IASjB,uCAExC;IAFD;QAAA,qEAaC;QAVsB,eAAS,GAAG,MAAM,CAAC;QACnB,oBAAc,GAC7B,eAA+C,CAAC;;KAQvD;IANG,kCAAI,GAAJ,UACI,OAAqC,EACrC,OAA+C;QAA/C,wBAAA,EAAA,YAA+C;QAE/C,OAAO,iBAAM,IAAI,YAAC,OAAqB,EAAE,OAAO,CAAC,CAAC;KACrD;;IAZQ,mBAAmB;QAH/B,UAAU,CAAC;YACR,UAAU,EAAE,MAAM;SACrB,CAAC;OACW,mBAAmB,CAa/B;8BAhCD;CAgCC,CAbwC,wBAAwB;;;ICFnB,yCAE7C;IAFD;;KAEI;IAFS,qBAAqB;QAXjC,SAAS,CAAC;YACP,QAAQ,EAAE,2BAA2B;YACrC,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,wBAAwB;oBACjC,WAAW,EAAE,mBAAmB;iBACnC;aACJ;YACD,MAAM,EAAE,CAAC,8BAA8B,EAAE,oBAAoB,CAAC;YAC9D,OAAO,EAAE,CAAC,gCAAgC,CAAC;SAC9C,CAAC;OACW,qBAAqB,CAE9B;IAAD,4BAAC;CAAA,CAF0C,0BAA0B;;;ICMxE;KAAkC;IAArB,kBAAkB;QAb9B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,eAAe,EAAE,kBAAkB,CAAC;YAC5D,YAAY,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;YAC5D,OAAO,EAAE,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;YACvD,SAAS,EAAE;gBACP;oBACI,OAAO,EAAE,WAAW;oBACpB,WAAW,EAAE,mBAAmB;oBAChC,KAAK,EAAE,IAAI;iBACd;aACJ;YACD,eAAe,EAAE,CAAC,qBAAqB,CAAC;SAC3C,CAAC;OACW,kBAAkB,CAAG;IAAD,yBAAC;CAAlC;;ACvBA;;;;;;"}
|
|
@@ -6,6 +6,14 @@ import { identity, Observable } from 'rxjs';
|
|
|
6
6
|
import { delay, filter } from 'rxjs/operators';
|
|
7
7
|
import { CommonModule } from '@angular/common';
|
|
8
8
|
|
|
9
|
+
var ONLY_HORIZONTAL_SCROLL = {
|
|
10
|
+
block: 'nearest',
|
|
11
|
+
inline: 'center',
|
|
12
|
+
};
|
|
13
|
+
var ONLY_VERTICAL_SCROLL = {
|
|
14
|
+
block: 'center',
|
|
15
|
+
inline: 'nearest',
|
|
16
|
+
};
|
|
9
17
|
var TuiStepperComponent = /** @class */ (function () {
|
|
10
18
|
function TuiStepperComponent() {
|
|
11
19
|
this.steps = EMPTY_QUERY;
|
|
@@ -65,14 +73,6 @@ var TuiStepperComponent = /** @class */ (function () {
|
|
|
65
73
|
moveFocus(stepElements.indexOf(current), stepElements, step);
|
|
66
74
|
};
|
|
67
75
|
TuiStepperComponent.prototype.scrollIntoView = function (targetStepIndex) {
|
|
68
|
-
var ONLY_HORIZONTAL_SCROLL = {
|
|
69
|
-
block: 'nearest',
|
|
70
|
-
inline: 'center',
|
|
71
|
-
};
|
|
72
|
-
var ONLY_VERTICAL_SCROLL = {
|
|
73
|
-
block: 'center',
|
|
74
|
-
inline: 'nearest',
|
|
75
|
-
};
|
|
76
76
|
this.getNativeElements(this.steps)[targetStepIndex].scrollIntoView(this.orientation === 'vertical'
|
|
77
77
|
? ONLY_VERTICAL_SCROLL
|
|
78
78
|
: ONLY_HORIZONTAL_SCROLL);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nimport {TuiStepComponent} from './step/step.component';\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number): void {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number): void {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number): void {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n this.scrollIntoView(index);\n }\n\n @tuiPure\n private getNativeElements(\n queryList: QueryList<ElementRef<HTMLElement>>,\n ): HTMLElement[] {\n return queryList.map(({nativeElement}) => nativeElement);\n }\n\n private moveFocus(current: EventTarget, step: number): void {\n tuiAssertIsHTMLElement(current);\n\n const stepElements = this.getNativeElements(this.steps);\n\n moveFocus(stepElements.indexOf(current), stepElements, step);\n }\n\n private scrollIntoView(targetStepIndex: number): void {\n const ONLY_HORIZONTAL_SCROLL: ScrollIntoViewOptions = {\n block: 'nearest',\n inline: 'center',\n };\n const ONLY_VERTICAL_SCROLL: ScrollIntoViewOptions = {\n block: 'center',\n inline: 'nearest',\n };\n\n this.getNativeElements(this.steps)[targetStepIndex].scrollIntoView(\n this.orientation === 'vertical'\n ? ONLY_VERTICAL_SCROLL\n : ONLY_HORIZONTAL_SCROLL,\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate(): void {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;IAkCA;QAEqB,UAAK,GAAuC,WAAW,CAAC;QAKzE,gBAAW,GAAoB,YAAY,CAAC;QAI5C,oBAAe,GAAG,CAAC,CAAC;QAGX,0BAAqB,GAAG,IAAI,YAAY,EAAU,CAAC;KAkF/D;IA/EG,sBAAI,yCAAQ;aAAZ;;;YAGI,OAAO,wBAAwB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;SAC9D;;;OAAA;IAID,0CAAY,GAAZ,UAAa,KAAY,EAAE,IAAY;QACnC,IAAI,IAAI,CAAC,WAAW,KAAK,YAAY,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YACpD,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACtC;IAID,wCAAU,GAAV,UAAW,KAAY,EAAE,IAAY;QACjC,IAAI,IAAI,CAAC,WAAW,KAAK,UAAU,IAAI,CAAC,KAAK,CAAC,MAAM,EAAE;YAClD,OAAO;SACV;QAED,KAAK,CAAC,cAAc,EAAE,CAAC;QACvB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;KACtC;IAED,qCAAO,GAAP,UAAQ,IAAiB;QACrB,OAAO,6BAA6B,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,SAAS,CACtD,UAAC,EAAe;gBAAd,gCAAa;YAAM,OAAA,aAAa,KAAK,IAAI;SAAA,CAC9C,CAAC;KACL;IAED,sCAAQ,GAAR,UAAS,KAAa;QAClB,OAAO,KAAK,KAAK,IAAI,CAAC,eAAe,CAAC;KACzC;IAED,sCAAQ,GAAR,UAAS,KAAa;QAClB,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,EAAE;YAChC,OAAO;SACV;QAED,IAAI,CAAC,eAAe,GAAG,KAAK,CAAC;QAC7B,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACvC,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;KAC9B;IAGO,+CAAiB,GAAzB,UACI,SAA6C;QAE7C,OAAO,SAAS,CAAC,GAAG,CAAC,UAAC,EAAe;gBAAd,gCAAa;YAAM,OAAA,aAAa;SAAA,CAAC,CAAC;KAC5D;IAEO,uCAAS,GAAjB,UAAkB,OAAoB,EAAE,IAAY;QAChD,sBAAsB,CAAC,OAAO,CAAC,CAAC;QAEhC,IAAM,YAAY,GAAG,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAExD,SAAS,CAAC,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;KAChE;IAEO,4CAAc,GAAtB,UAAuB,eAAuB;QAC1C,IAAM,sBAAsB,GAA0B;YAClD,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,QAAQ;SACnB,CAAC;QACF,IAAM,oBAAoB,GAA0B;YAChD,KAAK,EAAE,QAAQ;YACf,MAAM,EAAE,SAAS;SACpB,CAAC;QAEF,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,eAAe,CAAC,CAAC,cAAc,CAC9D,IAAI,CAAC,WAAW,KAAK,UAAU;cACzB,oBAAoB;cACpB,sBAAsB,CAC/B,CAAC;KACL;IA7FD;QADC,eAAe,CAAC,UAAU,CAAC,cAAM,OAAA,gBAAgB,GAAA,CAAC,EAAE,EAAC,IAAI,EAAE,UAAU,EAAC,CAAC;sDACC;IAKzE;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,uBAAuB,CAAC;QACpC,cAAc,EAAE;4DAC2B;IAI5C;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;gEACG;IAGpB;QADC,MAAM,EAAE;sEACmD;IAG5D;QADC,OAAO;uDAKP;IAID;QAFC,YAAY,CAAC,oBAAoB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QACnD,YAAY,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;2DAQnD;IAID;QAFC,YAAY,CAAC,mBAAmB,EAAE,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;QAClD,YAAY,CAAC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;yDAQjD;IAuBD;QADC,OAAO;gEAKP;IAtEQ,mBAAmB;QAN/B,SAAS,CAAC;YACP,QAAQ,EAAE,8BAA8B;YACxC,iGAAsC;YAEtC,eAAe,EAAE,uBAAuB,CAAC,MAAM;;SAClD,CAAC;OACW,mBAAmB,CAgG/B;IAAD,0BAAC;CAhGD;;;ICMI,0BACoC,aAAqC,EACjC,iBAAsC,EAC5B,OAA4B,EACrC,UAAmC;QAJ5E,iBAaC;QAViD,YAAO,GAAP,OAAO,CAAqB;QACrC,eAAU,GAAV,UAAU,CAAyB;QAb5E,UAAK,GAAgC,QAAQ,CAAC;QAI9C,SAAI,GAAG,EAAE,CAAC;QAGV,iBAAY,GAAG,KAAK,CAAC;QAQjB,iBAAiB,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YAC/C,KAAI,CAAC,QAAQ,EAAE,CAAC;SACnB,CAAC,CAAC;QAEH,aAAa,CAAC,SAAS,CAAC,UAAA,OAAO;YAC3B,KAAI,CAAC,YAAY,GAAG,OAAO,CAAC;SAC/B,CAAC,CAAC;KACN;IAGD,sBAAI,sCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SAC5C;;;OAAA;IAGD,sBAAI,wCAAU;aAAd;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,KAAK,UAAU,CAAC;SAClD;;;OAAA;IAGD,sBAAI,sCAAQ;aAAZ;YACI,OAAO,IAAI,CAAC,QAAQ,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;SACjC;;;OAAA;IAED,sBAAI,mCAAK;aAAT;YACI,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;SAC9D;;;OAAA;IAGD,mCAAQ,GAAR;QACI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;KACrC;;gBApCkD,sBAAsB,uBAApE,MAAM,SAAC,sBAAsB;gBACyB,UAAU,uBAAhE,MAAM,SAAC,0BAA0B;gBACqB,mBAAmB,uBAAzE,MAAM,SAAC,mBAAmB;gBACsB,UAAU,uBAA1D,MAAM,SAAC,UAAU;;IAbtB;QAHC,KAAK,EAAE;QACP,WAAW,CAAC,iBAAiB,CAAC;QAC9B,cAAc,EAAE;mDAC6B;IAI9C;QAFC,KAAK,EAAE;QACP,cAAc,EAAE;kDACP;IAGV;QADC,WAAW,CAAC,sBAAsB,CAAC;0DACf;IAkBrB;QADC,WAAW,CAAC,eAAe,CAAC;oDAG5B;IAGD;QADC,WAAW,CAAC,iBAAiB,CAAC;sDAG9B;IAGD;QADC,WAAW,CAAC,UAAU,CAAC;oDAGvB;IAOD;QADC,YAAY,CAAC,OAAO,CAAC;oDAGrB;IAlDQ,gBAAgB;QAX5B,SAAS,CAAC;YACP,QAAQ,EACJ,yFAAyF;YAC7F,wWAAmC;YAEnC,eAAe,EAAE,uBAAuB,CAAC,MAAM;YAC/C,SAAS,EAAE,CAAC,iBAAiB,EAAE,0BAA0B,EAAE,sBAAsB,CAAC;YAClF,IAAI,EAAE;gBACF,IAAI,EAAE,QAAQ;aACjB;;SACJ,CAAC;QAeO,WAAA,MAAM,CAAC,sBAAsB,CAAC,CAAA;QAC9B,WAAA,MAAM,CAAC,0BAA0B,CAAC,CAAA;QAClC,WAAA,MAAM,CAAC,mBAAmB,CAAC,CAAA;QAC3B,WAAA,MAAM,CAAC,UAAU,CAAC,CAAA;OAjBd,gBAAgB,CAmD5B;IAAD,uBAAC;CAnDD;;;ICfA;KAAgC;IAAnB,gBAAgB;QAL5B,QAAQ,CAAC;YACN,OAAO,EAAE,CAAC,YAAY,EAAE,YAAY,CAAC;YACrC,YAAY,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;YACrD,OAAO,EAAE,CAAC,mBAAmB,EAAE,gBAAgB,CAAC;SACnD,CAAC;OACW,gBAAgB,CAAG;IAAD,uBAAC;CAAhC;;ACZA;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-stepper.js","sources":["ng://@taiga-ui/kit/components/stepper/stepper.component.ts","ng://@taiga-ui/kit/components/stepper/step/step.component.ts","ng://@taiga-ui/kit/components/stepper/stepper.module.ts","ng://@taiga-ui/kit/components/stepper/taiga-ui-kit-components-stepper.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n HostListener,\n Input,\n Output,\n QueryList,\n} from '@angular/core';\nimport {\n EMPTY_QUERY,\n getOriginalArrayFromQueryList,\n itemsQueryListObservable,\n moveFocus,\n tuiAssertIsHTMLElement,\n tuiDefaultProp,\n tuiPure,\n} from '@taiga-ui/cdk';\nimport {TuiOrientationT} from '@taiga-ui/core';\nimport {Observable} from 'rxjs';\nimport {delay} from 'rxjs/operators';\n\nimport {TuiStepComponent} from './step/step.component';\n\nconst ONLY_HORIZONTAL_SCROLL: ScrollIntoViewOptions = {\n block: 'nearest',\n inline: 'center',\n};\n\nconst ONLY_VERTICAL_SCROLL: ScrollIntoViewOptions = {\n block: 'center',\n inline: 'nearest',\n};\n\n@Component({\n selector: 'tui-stepper, nav[tuiStepper]',\n templateUrl: './stepper.template.html',\n styleUrls: ['./stepper.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiStepperComponent {\n @ContentChildren(forwardRef(() => TuiStepComponent), {read: ElementRef})\n private readonly steps: QueryList<ElementRef<HTMLElement>> = EMPTY_QUERY;\n\n @Input()\n @HostBinding('attr.data-orientation')\n @tuiDefaultProp()\n orientation: TuiOrientationT = 'horizontal';\n\n @Input()\n @tuiDefaultProp()\n activeItemIndex = 0;\n\n @Output()\n readonly activeItemIndexChange = new EventEmitter<number>();\n\n @tuiPure\n get changes$(): Observable<unknown> {\n // Delay is required to trigger change detection after steps are rendered\n // so they can update their \"active\" status\n return itemsQueryListObservable(this.steps).pipe(delay(0));\n }\n\n @HostListener('keydown.arrowRight', ['$event', '1'])\n @HostListener('keydown.arrowLeft', ['$event', '-1'])\n onHorizontal(event: Event, step: number): void {\n if (this.orientation !== 'horizontal' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n @HostListener('keydown.arrowDown', ['$event', '1'])\n @HostListener('keydown.arrowUp', ['$event', '-1'])\n onVertical(event: Event, step: number): void {\n if (this.orientation !== 'vertical' || !event.target) {\n return;\n }\n\n event.preventDefault();\n this.moveFocus(event.target, step);\n }\n\n indexOf(step: HTMLElement): number {\n return getOriginalArrayFromQueryList(this.steps).findIndex(\n ({nativeElement}) => nativeElement === step,\n );\n }\n\n isActive(index: number): boolean {\n return index === this.activeItemIndex;\n }\n\n activate(index: number): void {\n if (this.activeItemIndex === index) {\n return;\n }\n\n this.activeItemIndex = index;\n this.activeItemIndexChange.emit(index);\n this.scrollIntoView(index);\n }\n\n @tuiPure\n private getNativeElements(\n queryList: QueryList<ElementRef<HTMLElement>>,\n ): HTMLElement[] {\n return queryList.map(({nativeElement}) => nativeElement);\n }\n\n private moveFocus(current: EventTarget, step: number): void {\n tuiAssertIsHTMLElement(current);\n\n const stepElements = this.getNativeElements(this.steps);\n\n moveFocus(stepElements.indexOf(current), stepElements, step);\n }\n\n private scrollIntoView(targetStepIndex: number): void {\n this.getNativeElements(this.steps)[targetStepIndex].scrollIntoView(\n this.orientation === 'vertical'\n ? ONLY_VERTICAL_SCROLL\n : ONLY_HORIZONTAL_SCROLL,\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {tuiDefaultProp, TuiDestroyService, TuiFocusVisibleService} from '@taiga-ui/cdk';\nimport {TuiRouterLinkActiveService} from '@taiga-ui/core';\nimport {identity, Observable} from 'rxjs';\nimport {filter} from 'rxjs/operators';\n\nimport {TuiStepperComponent} from '../stepper.component';\n\n@Component({\n selector:\n 'button[tuiStep], a[tuiStep]:not([routerLink]), a[tuiStep][routerLink][routerLinkActive]',\n templateUrl: './step.template.html',\n styleUrls: ['./step.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [TuiDestroyService, TuiRouterLinkActiveService, TuiFocusVisibleService],\n host: {\n type: 'button',\n },\n})\nexport class TuiStepComponent {\n @Input()\n @HostBinding('attr.data-state')\n @tuiDefaultProp()\n state: 'normal' | 'pass' | 'error' = 'normal';\n\n @Input()\n @tuiDefaultProp()\n icon = '';\n\n @HostBinding('class._focus-visible')\n focusVisible = false;\n\n constructor(\n @Inject(TuiFocusVisibleService) focusVisible$: TuiFocusVisibleService,\n @Inject(TuiRouterLinkActiveService) routerLinkActive$: Observable<boolean>,\n @Inject(TuiStepperComponent) private readonly stepper: TuiStepperComponent,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {\n routerLinkActive$.pipe(filter(identity)).subscribe(() => {\n this.activate();\n });\n\n focusVisible$.subscribe(visible => {\n this.focusVisible = visible;\n });\n }\n\n @HostBinding('class._active')\n get isActive(): boolean {\n return this.stepper.isActive(this.index);\n }\n\n @HostBinding('class._vertical')\n get isVertical(): boolean {\n return this.stepper.orientation === 'vertical';\n }\n\n @HostBinding('tabIndex')\n get tabIndex(): number {\n return this.isActive ? 0 : -1;\n }\n\n get index(): number {\n return this.stepper.indexOf(this.elementRef.nativeElement);\n }\n\n @HostListener('click')\n activate(): void {\n this.stepper.activate(this.index);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiSvgModule} from '@taiga-ui/core';\n\nimport {TuiStepComponent} from './step/step.component';\nimport {TuiStepperComponent} from './stepper.component';\n\n@NgModule({\n imports: [CommonModule, TuiSvgModule],\n declarations: [TuiStepperComponent, TuiStepComponent],\n exports: [TuiStepperComponent, TuiStepComponent],\n})\nexport class TuiStepperModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<any>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<any>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.check$.next();\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler ?? TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\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-tree.js","sources":["ng://@taiga-ui/kit/components/tree/directives/tree-children.directive.ts","ng://@taiga-ui/kit/components/tree/components/tree-item-content/tree-item-content.component.ts","ng://@taiga-ui/kit/components/tree/misc/tree.constants.ts","ng://@taiga-ui/kit/components/tree/misc/tree.tokens.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.providers.ts","ng://@taiga-ui/kit/components/tree/components/tree-item/tree-item.component.ts","ng://@taiga-ui/kit/components/tree/components/tree/tree.component.ts","ng://@taiga-ui/kit/components/tree/directives/tree-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-item-controller.directive.ts","ng://@taiga-ui/kit/components/tree/directives/tree-node.directive.ts","ng://@taiga-ui/kit/components/tree/misc/tree.service.ts","ng://@taiga-ui/kit/components/tree/tree.module.ts","ng://@taiga-ui/kit/components/tree/taiga-ui-kit-components-tree.ts"],"sourcesContent":["import {Directive, Input} from '@angular/core';\nimport {EMPTY_ARRAY, tuiDefaultProp, TuiHandler} from '@taiga-ui/cdk';\n\n@Directive({\n selector: 'tui-tree[childrenHandler]',\n})\nexport class TuiTreeChildrenDirective<T> {\n @Input()\n @tuiDefaultProp()\n childrenHandler: TuiHandler<T, readonly T[]> =\n TuiTreeChildrenDirective.defaultHandler;\n\n static defaultHandler<G>(item: G): readonly G[] {\n return Array.isArray(item) ? item : EMPTY_ARRAY;\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n forwardRef,\n HostBinding,\n Inject,\n} from '@angular/core';\nimport {POLYMORPHEUS_CONTEXT} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER} from '../../misc/tree.constants';\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../../misc/tree.tokens';\n\n@Component({\n selector: 'tui-tree-item-content',\n templateUrl: 'tree-item-content.template.html',\n styleUrls: ['tree-item-content.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiTreeItemContentComponent {\n constructor(\n @Inject(POLYMORPHEUS_CONTEXT) readonly context: TuiTreeItemContext,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n ) {}\n\n get isExpanded(): boolean {\n return this.context.$implicit.isExpanded;\n }\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return (\n this.context.$implicit.isExpandable &&\n this.controller !== TUI_DEFAULT_TREE_CONTROLLER\n );\n }\n\n onClick(): void {\n this.controller.toggle(this.context.$implicit);\n }\n}\n","import {ALWAYS_TRUE_HANDLER, EMPTY_FUNCTION} from '@taiga-ui/cdk';\nimport {PolymorpheusComponent} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeItemContentComponent} from '../components/tree-item-content/tree-item-content.component';\nimport {TuiTreeController} from './tree.interfaces';\n\nexport const TUI_TREE_ITEM_CONTENT = new PolymorpheusComponent(\n TuiTreeItemContentComponent,\n);\n\nexport const TUI_DEFAULT_TREE_CONTROLLER: TuiTreeController = {\n isExpanded: ALWAYS_TRUE_HANDLER,\n toggle: EMPTY_FUNCTION as () => void,\n};\n","import {InjectionToken} from '@angular/core';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nimport {TUI_DEFAULT_TREE_CONTROLLER, TUI_TREE_ITEM_CONTENT} from './tree.constants';\nimport {\n TuiTreeAccessor,\n TuiTreeController,\n TuiTreeItemContext,\n TuiTreeLoader,\n} from './tree.interfaces';\n\nexport const TUI_TREE_ACCESSOR = new InjectionToken<TuiTreeAccessor<unknown>>(\n 'Controller for tracking value - TuiTreeItemComponent pairs',\n);\n\nexport const TUI_TREE_CONTROLLER = new InjectionToken<TuiTreeController>(\n 'Controller for expanding the tree',\n {\n factory: () => TUI_DEFAULT_TREE_CONTROLLER,\n },\n);\n\nexport const TUI_TREE_NODE = new InjectionToken('A node of a tree view');\n\nexport const TUI_TREE_LOADING = new InjectionToken(\n 'A tree node placeholder for loading',\n {factory: () => ({})},\n);\n\nexport const TUI_TREE_START = new InjectionToken('A tree node starting point');\n\nexport const TUI_TREE_LOADER = new InjectionToken<TuiTreeLoader<unknown>>(\n 'A service to load tree progressively',\n);\n\nexport const TUI_TREE_CONTENT = new InjectionToken<\n PolymorpheusContent<TuiTreeItemContext>\n>('Content for a tree item', {\n factory: () => TUI_TREE_ITEM_CONTENT,\n});\n\nexport const TUI_TREE_LEVEL = new InjectionToken<number>(\n 'Nesting level of current TreeView node',\n {\n factory: () => -1,\n },\n);\n","import {forwardRef, Provider, SkipSelf} from '@angular/core';\n\nimport {TUI_TREE_LEVEL, TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from './tree-item.component';\n\nexport const TUI_TREE_ITEM_PROVIDERS: Provider[] = [\n {\n provide: TUI_TREE_LEVEL,\n deps: [[new SkipSelf(), TUI_TREE_LEVEL]],\n useFactory: treeLevelFactory,\n },\n {\n provide: TUI_TREE_NODE,\n useExisting: forwardRef(() => TuiTreeItemComponent),\n },\n];\n\nexport function treeLevelFactory(level: number): number {\n return ++level;\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ContentChildren,\n DoCheck,\n ElementRef,\n forwardRef,\n HostBinding,\n Inject,\n QueryList,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeController, TuiTreeItemContext} from '../../misc/tree.interfaces';\nimport {\n TUI_TREE_CONTENT,\n TUI_TREE_CONTROLLER,\n TUI_TREE_LEVEL,\n TUI_TREE_NODE,\n} from '../../misc/tree.tokens';\nimport {TUI_TREE_ITEM_PROVIDERS} from './tree-item.providers';\n\n@Component({\n selector: 'tui-tree-item',\n templateUrl: './tree-item.template.html',\n styleUrls: ['./tree-item.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TREE_ITEM_PROVIDERS,\n host: {\n role: 'treeitem',\n },\n})\nexport class TuiTreeItemComponent implements DoCheck {\n @ContentChildren(TUI_TREE_NODE as any)\n private readonly nested: QueryList<unknown> = EMPTY_QUERY;\n\n private readonly change$ = new Subject<void>();\n\n readonly expanded$ = this.change$.pipe(\n startWith(null),\n map(() => this.isExpanded),\n distinctUntilChanged(),\n );\n\n readonly attached$ = this.change$.pipe(\n map(() => this.elementRef.nativeElement.isConnected),\n distinctUntilChanged(),\n );\n\n constructor(\n @Inject(ElementRef)\n private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(forwardRef(() => TUI_TREE_CONTROLLER))\n private readonly controller: TuiTreeController,\n @Inject(forwardRef(() => TUI_TREE_LEVEL))\n readonly level: number,\n @Inject(forwardRef(() => TUI_TREE_CONTENT))\n readonly content: PolymorpheusContent<TuiTreeItemContext>,\n ) {}\n\n @HostBinding('class._expandable')\n get isExpandable(): boolean {\n return !!this.nested.length;\n }\n\n get isExpanded(): boolean {\n return this.controller.isExpanded(this);\n }\n\n ngDoCheck(): void {\n this.change$.next();\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n DoCheck,\n Inject,\n Input,\n Optional,\n ViewChild,\n} from '@angular/core';\nimport {TuiHandler} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\nimport {Subject} from 'rxjs';\nimport {distinctUntilChanged, map, startWith} from 'rxjs/operators';\n\nimport {TuiTreeChildrenDirective} from '../../directives/tree-children.directive';\nimport {TuiTreeContext} from '../../misc/tree.interfaces';\nimport {TUI_TREE_NODE} from '../../misc/tree.tokens';\nimport {TuiTreeItemComponent} from '../tree-item/tree-item.component';\n\n@Component({\n selector: 'tui-tree[value]',\n templateUrl: 'tree.template.html',\n styleUrls: ['tree.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_TREE_NODE,\n useExisting: TuiTreeComponent,\n },\n ],\n host: {\n role: 'tree',\n },\n})\nexport class TuiTreeComponent<T> implements DoCheck {\n private readonly check$ = new Subject<void>();\n\n @Input()\n value!: T;\n\n @ViewChild(TuiTreeItemComponent)\n readonly item?: TuiTreeItemComponent;\n\n @ViewChild(TuiTreeComponent)\n readonly child?: TuiTreeComponent<T>;\n\n readonly children$ = this.check$.pipe(\n startWith(null),\n map(() => this.handler(this.value)),\n distinctUntilChanged(),\n );\n\n constructor(\n @Optional()\n @Inject(TuiTreeChildrenDirective)\n readonly directive: TuiTreeChildrenDirective<T> | null,\n ) {}\n\n @Input()\n content: PolymorpheusContent<TuiTreeContext<T>> = ({$implicit}) => String($implicit);\n\n ngDoCheck(): void {\n this.check$.next();\n this.item?.ngDoCheck();\n this.child?.ngDoCheck();\n }\n\n private get handler(): TuiHandler<T, readonly T[]> {\n return this.directive?.childrenHandler ?? TuiTreeChildrenDirective.defaultHandler;\n }\n}\n","import {Directive, EventEmitter, Input, Output} from '@angular/core';\nimport {isPresent, tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor, TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR, TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController][map]',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_ACCESSOR,\n useExisting: TuiTreeControllerDirective,\n },\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeControllerDirective,\n },\n ],\n})\nexport class TuiTreeControllerDirective<T>\n implements TuiTreeController, TuiTreeAccessor<T>\n{\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n @Input()\n @tuiDefaultProp()\n map: Map<T, boolean> = new Map();\n\n @Output()\n readonly toggled = new EventEmitter<T>();\n\n readonly items = new Map<TuiTreeItemComponent, T>();\n\n register(item: TuiTreeItemComponent, value: T): void {\n this.items.set(item, value);\n }\n\n unregister(item: TuiTreeItemComponent): void {\n this.items.delete(item);\n }\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n const value = this.items.get(item);\n\n return (value && this.map.get(value)) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n const value = this.items.get(item);\n const expanded = this.isExpanded(item);\n\n if (!isPresent(value)) {\n return;\n }\n\n this.toggled.emit(value);\n this.map.set(value, !expanded);\n }\n}\n","import {Directive, Input} from '@angular/core';\nimport {tuiDefaultProp} from '@taiga-ui/cdk';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeController} from '../misc/tree.interfaces';\nimport {TUI_TREE_CONTROLLER} from '../misc/tree.tokens';\n\n@Directive({\n selector: '[tuiTreeController]:not([map])',\n exportAs: 'tuiTreeController',\n providers: [\n {\n provide: TUI_TREE_CONTROLLER,\n useExisting: TuiTreeItemControllerDirective,\n },\n ],\n})\nexport class TuiTreeItemControllerDirective implements TuiTreeController {\n private readonly map = new WeakMap<TuiTreeItemComponent, boolean>();\n\n @Input('tuiTreeController')\n @tuiDefaultProp()\n fallback = true;\n\n isExpanded(item: TuiTreeItemComponent): boolean {\n return this.map.get(item) ?? this.fallback;\n }\n\n toggle(item: TuiTreeItemComponent): void {\n this.map.set(item, !this.isExpanded(item));\n }\n}\n","import {Directive, Inject, Input, OnDestroy, Optional} from '@angular/core';\n\nimport {TuiTreeItemComponent} from '../components/tree-item/tree-item.component';\nimport {TuiTreeAccessor} from '../misc/tree.interfaces';\nimport {TUI_TREE_ACCESSOR} from '../misc/tree.tokens';\n\n@Directive({\n selector: 'tui-tree-item[tuiTreeNode]',\n})\nexport class TuiTreeNodeDirective<T> implements OnDestroy {\n @Input('tuiTreeNode')\n set value(value: T) {\n this.directive?.register(this.component, value);\n }\n\n constructor(\n @Optional()\n @Inject(TUI_TREE_ACCESSOR)\n private readonly directive: TuiTreeAccessor<T>,\n @Inject(TuiTreeItemComponent)\n private readonly component: TuiTreeItemComponent,\n ) {}\n\n ngOnDestroy(): void {\n this.directive?.unregister(this.component);\n }\n}\n","import {Inject, Injectable} from '@angular/core';\nimport {Subject} from 'rxjs';\nimport {map, mapTo, startWith, switchMap, tap} from 'rxjs/operators';\n\nimport {TuiTreeLoader} from './tree.interfaces';\nimport {TUI_TREE_LOADER, TUI_TREE_LOADING, TUI_TREE_START} from './tree.tokens';\n\n// @dynamic\n@Injectable()\nexport class TuiTreeService<T> {\n private readonly map = new Map<T, readonly T[]>([[this.loading, []]]);\n\n private readonly load$ = new Subject<T>();\n\n readonly data$ = this.load$.pipe(\n switchMap(item =>\n this.loader.loadChildren(item).pipe(\n tap(children => this.map.set(item, children)),\n map(children => children.filter(item => !this.loader.hasChildren(item))),\n tap(children => children.forEach(child => this.map.set(child, []))),\n ),\n ),\n startWith(null),\n mapTo(this.start),\n );\n\n constructor(\n @Inject(TUI_TREE_LOADING) private readonly loading: T,\n @Inject(TUI_TREE_START) private readonly start: T,\n @Inject(TUI_TREE_LOADER) private readonly loader: TuiTreeLoader<T>,\n ) {}\n\n getChildren(item: T): readonly T[] {\n return this.map.get(item) ?? [this.loading];\n }\n\n loadChildren(item: T): void {\n if (this.map.get(item)) {\n return;\n }\n\n this.map.set(item, [this.loading]);\n this.load$.next(item);\n }\n}\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\nimport {TuiButtonModule, TuiExpandModule} from '@taiga-ui/core';\nimport {PolymorpheusModule} from '@tinkoff/ng-polymorpheus';\n\nimport {TuiTreeComponent} from './components/tree/tree.component';\nimport {TuiTreeItemComponent} from './components/tree-item/tree-item.component';\nimport {TuiTreeItemContentComponent} from './components/tree-item-content/tree-item-content.component';\nimport {TuiTreeChildrenDirective} from './directives/tree-children.directive';\nimport {TuiTreeControllerDirective} from './directives/tree-controller.directive';\nimport {TuiTreeItemControllerDirective} from './directives/tree-item-controller.directive';\nimport {TuiTreeNodeDirective} from './directives/tree-node.directive';\n\n@NgModule({\n imports: [\n CommonModule,\n PolymorpheusModule,\n TuiExpandModule,\n TuiLetModule,\n TuiButtonModule,\n ],\n entryComponents: [TuiTreeItemContentComponent],\n declarations: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeItemContentComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n TuiTreeNodeDirective,\n ],\n exports: [\n TuiTreeComponent,\n TuiTreeItemComponent,\n TuiTreeChildrenDirective,\n TuiTreeItemControllerDirective,\n TuiTreeControllerDirective,\n ],\n})\nexport class TuiTreeModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { __spread } from 'tslib';
|
|
2
|
-
import { CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
|
|
2
|
+
import { CHAR_PLUS, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_EN_DASH } from '@taiga-ui/cdk';
|
|
3
3
|
import { TUI_DIGIT_REGEXP } from '@taiga-ui/core';
|
|
4
4
|
|
|
5
5
|
var DATE_TIME_SEPARATOR = ', ';
|
|
@@ -25,7 +25,7 @@ var GROUP_CLASS_NAMES = [
|
|
|
25
25
|
var iconBlank = '<svg></svg>';
|
|
26
26
|
|
|
27
27
|
var TUI_PHONE_MASK = [
|
|
28
|
-
|
|
28
|
+
CHAR_PLUS,
|
|
29
29
|
'7',
|
|
30
30
|
' ',
|
|
31
31
|
TUI_DIGIT_REGEXP,
|
|
@@ -35,10 +35,10 @@ var TUI_PHONE_MASK = [
|
|
|
35
35
|
TUI_DIGIT_REGEXP,
|
|
36
36
|
TUI_DIGIT_REGEXP,
|
|
37
37
|
TUI_DIGIT_REGEXP,
|
|
38
|
-
|
|
38
|
+
CHAR_HYPHEN,
|
|
39
39
|
TUI_DIGIT_REGEXP,
|
|
40
40
|
TUI_DIGIT_REGEXP,
|
|
41
|
-
|
|
41
|
+
CHAR_HYPHEN,
|
|
42
42
|
TUI_DIGIT_REGEXP,
|
|
43
43
|
TUI_DIGIT_REGEXP,
|
|
44
44
|
];
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/max-time-values.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_NO_BREAK_SPACE} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-constants.js","sources":["ng://@taiga-ui/kit/constants/date-time-separator.ts","ng://@taiga-ui/kit/constants/empty-mask.ts","ng://@taiga-ui/kit/constants/group-class-names.ts","ng://@taiga-ui/kit/constants/icon-blank.ts","ng://@taiga-ui/kit/constants/masks.ts","ng://@taiga-ui/kit/constants/math.ts","ng://@taiga-ui/kit/constants/max-day-range-length-mapper.ts","ng://@taiga-ui/kit/constants/max-time-values.ts","ng://@taiga-ui/kit/constants/router-link-options.ts","ng://@taiga-ui/kit/constants/taiga-ui-kit-constants.ts"],"sourcesContent":["export const DATE_TIME_SEPARATOR = ', ';\n","import {TuiTextMaskOptions} from '@taiga-ui/core';\n\nexport const EMPTY_MASK: TuiTextMaskOptions = {\n mask(): false {\n return false;\n },\n};\n","export const GROUP_CLASS_NAMES = [\n '_active',\n '_disabled',\n '_focused',\n '_focus-visible',\n '_hosted_dropdown_focused',\n 'ng-invalid',\n 'ng-touched',\n '_pressed',\n '_readonly',\n];\n","export const iconBlank = '<svg></svg>';\n","import {CHAR_EN_DASH, CHAR_HYPHEN, CHAR_NO_BREAK_SPACE, CHAR_PLUS} from '@taiga-ui/cdk';\nimport {TUI_DIGIT_REGEXP, TuiTextMaskList} from '@taiga-ui/core';\n\nexport const TUI_PHONE_MASK: TuiTextMaskList = [\n CHAR_PLUS,\n '7',\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ' ',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n CHAR_HYPHEN,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n CHAR_HYPHEN,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\nexport const TUI_TIME_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n ':',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n\n/**\n * @deprecated use {@link tuiCreateDateMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_MASK: TuiTextMaskList = [\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n '.',\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n TUI_DIGIT_REGEXP,\n];\n/**\n * @deprecated use {@link tuiCreateDateRangeMask} (from '@taiga-ui/kit') instead\n */\nexport const TUI_DATE_RANGE_MASK: TuiTextMaskList = [\n ...TUI_DATE_MASK,\n CHAR_NO_BREAK_SPACE,\n CHAR_EN_DASH,\n CHAR_NO_BREAK_SPACE,\n ...TUI_DATE_MASK,\n];\n","/**\n * Used as a limit for eliminating JS issues with floating point math\n */\nexport const TUI_FLOATING_PRECISION = 7;\n","import {TuiDay, TuiDayLike, TuiDayRange, TuiMapper} from '@taiga-ui/cdk';\n\nexport const MAX_DAY_RANGE_LENGTH_MAPPER: TuiMapper<TuiDay, TuiDay> = (\n min,\n value: TuiDayRange,\n maxLength: TuiDayLike | null,\n backwards: boolean,\n) => {\n if (!value || !value.isSingleDay || !maxLength) {\n return min;\n }\n\n const dateShift = value.from\n .append(maxLength, backwards)\n .append({day: 1}, !backwards);\n\n if (backwards) {\n return dateShift.dayBefore(min) ? min : dateShift;\n }\n\n if (!min) {\n return dateShift;\n }\n\n return dateShift.dayAfter(min) ? min : dateShift;\n};\n","import {TuiTimeFormatParts} from '@taiga-ui/kit/types';\n\nexport const MAX_TIME_VALUES: Record<TuiTimeFormatParts, number> = {\n HH: 23,\n MM: 59,\n SS: 59,\n MS: 999,\n};\n","export const DEFAULT_ROUTER_LINK_OPTIONS = {\n fragment: '',\n preserveFragment: true,\n replaceUrl: false,\n skipLocationChange: false,\n queryParams: null,\n useHref: false,\n target: null,\n};\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;IAAa,mBAAmB,GAAG;;ICEtB,UAAU,GAAuB;IAC1C,IAAI,EAAJ;QACI,OAAO,KAAK,CAAC;KAChB;;;ICLQ,iBAAiB,GAAG;IAC7B,SAAS;IACT,WAAW;IACX,UAAU;IACV,gBAAgB;IAChB,0BAA0B;IAC1B,YAAY;IACZ,YAAY;IACZ,UAAU;IACV,WAAW;;;ICTF,SAAS,GAAG;;ICGZ,cAAc,GAAoB;IAC3C,SAAS;IACT,GAAG;IACH,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;IAChB,WAAW;IACX,gBAAgB;IAChB,gBAAgB;EAClB;IACW,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;EAClB;AAEF;;;IAGa,aAAa,GAAoB;IAC1C,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,GAAG;IACH,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;IAChB,gBAAgB;EAClB;AACF;;;IAGa,mBAAmB,YACzB,aAAa;IAChB,mBAAmB;IACnB,YAAY;IACZ,mBAAmB;GAChB,aAAa;;ACpDpB;;;IAGa,sBAAsB,GAAG;;ICDzB,2BAA2B,GAA8B,UAClE,GAAG,EACH,KAAkB,EAClB,SAA4B,EAC5B,SAAkB;IAElB,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,WAAW,IAAI,CAAC,SAAS,EAAE;QAC5C,OAAO,GAAG,CAAC;KACd;IAED,IAAM,SAAS,GAAG,KAAK,CAAC,IAAI;SACvB,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC;SAC5B,MAAM,CAAC,EAAC,GAAG,EAAE,CAAC,EAAC,EAAE,CAAC,SAAS,CAAC,CAAC;IAElC,IAAI,SAAS,EAAE;QACX,OAAO,SAAS,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;KACrD;IAED,IAAI,CAAC,GAAG,EAAE;QACN,OAAO,SAAS,CAAC;KACpB;IAED,OAAO,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,GAAG,GAAG,SAAS,CAAC;AACrD;;ICvBa,eAAe,GAAuC;IAC/D,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,EAAE;IACN,EAAE,EAAE,GAAG;;;ICNE,2BAA2B,GAAG;IACvC,QAAQ,EAAE,EAAE;IACZ,gBAAgB,EAAE,IAAI;IACtB,UAAU,EAAE,KAAK;IACjB,kBAAkB,EAAE,KAAK;IACzB,WAAW,EAAE,IAAI;IACjB,OAAO,EAAE,KAAK;IACd,MAAM,EAAE,IAAI;;;ACPhB;;;;;;"}
|
|
@@ -44,9 +44,7 @@ var TuiDropdownSelectionDirective = /** @class */ (function (_super) {
|
|
|
44
44
|
nativeElement.contains(active)) {
|
|
45
45
|
return _this.veryVerySadInputFix(active);
|
|
46
46
|
}
|
|
47
|
-
return selection
|
|
48
|
-
? selection.getRangeAt(0)
|
|
49
|
-
: _this.range;
|
|
47
|
+
return (selection === null || selection === void 0 ? void 0 : selection.rangeCount) ? selection.getRangeAt(0) : _this.range;
|
|
50
48
|
}), takeUntil(destroy$))
|
|
51
49
|
.subscribe(function (range) {
|
|
52
50
|
var contained = !!range && nativeElement.contains(range.commonAncestorContainer);
|