@taiga-ui/core 3.14.0 → 3.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/taiga-ui-core-components-alert.umd.js +11 -11
- package/bundles/taiga-ui-core-components-alert.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-button.umd.js +16 -16
- package/bundles/taiga-ui-core-components-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-calendar.umd.js +23 -10
- package/bundles/taiga-ui-core-components-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-data-list.umd.js +34 -37
- package/bundles/taiga-ui-core-components-data-list.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-dialog.umd.js +16 -16
- package/bundles/taiga-ui-core-components-dialog.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-error.umd.js +5 -5
- package/bundles/taiga-ui-core-components-error.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-expand.umd.js +17 -18
- package/bundles/taiga-ui-core-components-expand.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-group.umd.js +17 -17
- package/bundles/taiga-ui-core-components-group.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hints-host.umd.js +4 -4
- package/bundles/taiga-ui-core-components-hints-host.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js +13 -13
- package/bundles/taiga-ui-core-components-hosted-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-label.umd.js +6 -6
- package/bundles/taiga-ui-core-components-label.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-link.umd.js +14 -14
- package/bundles/taiga-ui-core-components-link.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-loader.umd.js +5 -5
- package/bundles/taiga-ui-core-components-loader.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-notification.umd.js +10 -10
- package/bundles/taiga-ui-core-components-notification.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js +5 -5
- package/bundles/taiga-ui-core-components-primitive-calendar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js +5 -5
- package/bundles/taiga-ui-core-components-primitive-checkbox.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js +5 -5
- package/bundles/taiga-ui-core-components-primitive-spin-button.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js +58 -58
- package/bundles/taiga-ui-core-components-primitive-textfield.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js +4 -4
- package/bundles/taiga-ui-core-components-primitive-year-picker.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-root.umd.js +7 -7
- package/bundles/taiga-ui-core-components-root.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js +28 -28
- package/bundles/taiga-ui-core-components-scroll-controls.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-scrollbar.umd.js +10 -10
- package/bundles/taiga-ui-core-components-scrollbar.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-svg.umd.js +18 -18
- package/bundles/taiga-ui-core-components-svg.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-theme-night.umd.js +4 -4
- package/bundles/taiga-ui-core-components-theme-night.umd.js.map +1 -1
- package/bundles/taiga-ui-core-components-tooltip.umd.js +9 -9
- package/bundles/taiga-ui-core-components-tooltip.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-dropdown.umd.js +94 -91
- package/bundles/taiga-ui-core-directives-dropdown.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-hint.umd.js +61 -61
- package/bundles/taiga-ui-core-directives-hint.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-mask-accessor.umd.js +1 -1
- package/bundles/taiga-ui-core-directives-mask-accessor.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-mode.umd.js +2 -2
- package/bundles/taiga-ui-core-directives-mode.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js +1 -1
- package/bundles/taiga-ui-core-directives-scroll-into-view.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js +34 -34
- package/bundles/taiga-ui-core-directives-textfield-controller.umd.js.map +1 -1
- package/bundles/taiga-ui-core-directives-wrapper.umd.js +9 -9
- package/bundles/taiga-ui-core-directives-wrapper.umd.js.map +1 -1
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js +3 -3
- package/bundles/taiga-ui-core-internal-primitive-year-month-pagination.umd.js.map +1 -1
- package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js +3 -3
- package/bundles/taiga-ui-core-internal-svg-defs-host.umd.js.map +1 -1
- package/components/calendar/calendar.component.d.ts +4 -2
- package/components/expand/expand.component.d.ts +1 -1
- package/directives/dropdown/dropdown-context.directive.d.ts +4 -4
- package/directives/dropdown/dropdown-options.directive.d.ts +3 -5
- package/directives/dropdown/dropdown-position-sided.directive.d.ts +2 -1
- package/directives/dropdown/dropdown.directive.d.ts +1 -1
- package/esm2015/components/alert/alert.component.js +12 -12
- package/esm2015/components/button/button.component.js +17 -17
- package/esm2015/components/calendar/calendar.component.js +21 -12
- package/esm2015/components/data-list/data-list.component.js +17 -17
- package/esm2015/components/data-list/data-list.directive.js +2 -2
- package/esm2015/components/data-list/opt-group.directive.js +5 -5
- package/esm2015/components/data-list/option/option.component.js +14 -17
- package/esm2015/components/dialog/dialog.component.js +14 -14
- package/esm2015/components/dialog/dialog.directive.js +4 -4
- package/esm2015/components/error/error.component.js +6 -6
- package/esm2015/components/expand/expand-content.directive.js +2 -2
- package/esm2015/components/expand/expand.component.js +17 -19
- package/esm2015/components/group/group-styles.component.js +4 -4
- package/esm2015/components/group/group.directive.js +15 -15
- package/esm2015/components/hints-host/hints-host.component.js +5 -5
- package/esm2015/components/hosted-dropdown/hosted-dropdown-connector.directive.js +2 -2
- package/esm2015/components/hosted-dropdown/hosted-dropdown.component.js +13 -13
- package/esm2015/components/label/label.component.js +7 -7
- package/esm2015/components/link/link.component.js +15 -15
- package/esm2015/components/loader/loader.component.js +6 -6
- package/esm2015/components/notification/notification.component.js +11 -11
- package/esm2015/components/primitive-calendar/primitive-calendar.component.js +6 -6
- package/esm2015/components/primitive-checkbox/primitive-checkbox.component.js +6 -6
- package/esm2015/components/primitive-spin-button/primitive-spin-button.component.js +6 -6
- package/esm2015/components/primitive-textfield/primitive-textfield.component.js +32 -32
- package/esm2015/components/primitive-textfield/primitive-textfield.directive.js +2 -2
- package/esm2015/components/primitive-textfield/textfield/textfield.component.js +13 -13
- package/esm2015/components/primitive-textfield/value-decoration/value-decoration.component.js +15 -15
- package/esm2015/components/primitive-year-picker/primitive-year-picker.component.js +5 -5
- package/esm2015/components/root/root.component.js +8 -8
- package/esm2015/components/scroll-controls/scroll-controls.component.js +6 -6
- package/esm2015/components/scroll-controls/scrollbar-wrapper.directive.js +2 -2
- package/esm2015/components/scroll-controls/scrollbar.directive.js +23 -23
- package/esm2015/components/scrollbar/scroll-ref.directive.js +2 -2
- package/esm2015/components/scrollbar/scrollable.directive.js +2 -2
- package/esm2015/components/scrollbar/scrollbar.component.js +9 -9
- package/esm2015/components/svg/svg.component.js +19 -19
- package/esm2015/components/theme-night/theme-night.component.js +5 -5
- package/esm2015/components/tooltip/tooltip.component.js +10 -10
- package/esm2015/directives/dropdown/dropdown-context.directive.js +16 -16
- package/esm2015/directives/dropdown/dropdown-driver.directive.js +2 -2
- package/esm2015/directives/dropdown/dropdown-host.directive.js +2 -2
- package/esm2015/directives/dropdown/dropdown-hover.directive.js +4 -4
- package/esm2015/directives/dropdown/dropdown-manual.directive.js +2 -2
- package/esm2015/directives/dropdown/dropdown-options.directive.js +19 -15
- package/esm2015/directives/dropdown/dropdown-position-sided.directive.js +17 -14
- package/esm2015/directives/dropdown/dropdown-position.directive.js +12 -14
- package/esm2015/directives/dropdown/dropdown-selection.directive.js +11 -11
- package/esm2015/directives/dropdown/dropdown.component.js +18 -20
- package/esm2015/directives/dropdown/dropdown.directive.js +7 -7
- package/esm2015/directives/hint/hint-describe.directive.js +5 -5
- package/esm2015/directives/hint/hint-driver.directive.js +2 -2
- package/esm2015/directives/hint/hint-host.directive.js +2 -2
- package/esm2015/directives/hint/hint-hover.directive.js +5 -5
- package/esm2015/directives/hint/hint-manual.directive.js +2 -2
- package/esm2015/directives/hint/hint-options.directive.js +12 -12
- package/esm2015/directives/hint/hint-pointer.directive.js +3 -3
- package/esm2015/directives/hint/hint-position.directive.js +25 -25
- package/esm2015/directives/hint/hint.component.js +10 -10
- package/esm2015/directives/hint/hint.directive.js +5 -5
- package/esm2015/directives/mask-accessor/mask-accessor.directive.js +2 -2
- package/esm2015/directives/mode/mode.directive.js +3 -3
- package/esm2015/directives/scroll-into-view/scroll-into-view.directive.js +2 -2
- package/esm2015/directives/textfield-controller/textfield-cleaner.directive.js +4 -4
- package/esm2015/directives/textfield-controller/textfield-custom-content.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-filler.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-icon-left.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-icon.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-label-outside.directive.js +4 -4
- package/esm2015/directives/textfield-controller/textfield-postfix.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-prefix.directive.js +5 -5
- package/esm2015/directives/textfield-controller/textfield-size.directive.js +5 -5
- package/esm2015/directives/wrapper/wrapper.directive.js +10 -10
- package/esm2015/internal/primitive-year-month-pagination/primitive-year-month-pagination.component.js +4 -4
- package/esm2015/internal/svg-defs-host/svg-defs-host.component.js +4 -4
- package/fesm2015/taiga-ui-core-components-alert.js +11 -11
- package/fesm2015/taiga-ui-core-components-alert.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-button.js +16 -16
- package/fesm2015/taiga-ui-core-components-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-calendar.js +20 -11
- package/fesm2015/taiga-ui-core-components-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-data-list.js +34 -37
- package/fesm2015/taiga-ui-core-components-data-list.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-dialog.js +16 -16
- package/fesm2015/taiga-ui-core-components-dialog.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-error.js +5 -5
- package/fesm2015/taiga-ui-core-components-error.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-expand.js +17 -19
- package/fesm2015/taiga-ui-core-components-expand.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-group.js +17 -17
- package/fesm2015/taiga-ui-core-components-group.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hints-host.js +4 -4
- package/fesm2015/taiga-ui-core-components-hints-host.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js +13 -13
- package/fesm2015/taiga-ui-core-components-hosted-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-label.js +6 -6
- package/fesm2015/taiga-ui-core-components-label.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-link.js +14 -14
- package/fesm2015/taiga-ui-core-components-link.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-loader.js +5 -5
- package/fesm2015/taiga-ui-core-components-loader.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-notification.js +10 -10
- package/fesm2015/taiga-ui-core-components-notification.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js +5 -5
- package/fesm2015/taiga-ui-core-components-primitive-calendar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js +5 -5
- package/fesm2015/taiga-ui-core-components-primitive-checkbox.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-spin-button.js +5 -5
- package/fesm2015/taiga-ui-core-components-primitive-spin-button.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js +59 -59
- package/fesm2015/taiga-ui-core-components-primitive-textfield.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-primitive-year-picker.js +4 -4
- package/fesm2015/taiga-ui-core-components-primitive-year-picker.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-root.js +7 -7
- package/fesm2015/taiga-ui-core-components-root.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scroll-controls.js +28 -28
- package/fesm2015/taiga-ui-core-components-scroll-controls.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-scrollbar.js +10 -10
- package/fesm2015/taiga-ui-core-components-scrollbar.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-svg.js +18 -18
- package/fesm2015/taiga-ui-core-components-svg.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-theme-night.js +4 -4
- package/fesm2015/taiga-ui-core-components-theme-night.js.map +1 -1
- package/fesm2015/taiga-ui-core-components-tooltip.js +9 -9
- package/fesm2015/taiga-ui-core-components-tooltip.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-dropdown.js +96 -92
- package/fesm2015/taiga-ui-core-directives-dropdown.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-hint.js +61 -61
- package/fesm2015/taiga-ui-core-directives-hint.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-mask-accessor.js +1 -1
- package/fesm2015/taiga-ui-core-directives-mask-accessor.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-mode.js +2 -2
- package/fesm2015/taiga-ui-core-directives-mode.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-scroll-into-view.js +1 -1
- package/fesm2015/taiga-ui-core-directives-scroll-into-view.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js +34 -34
- package/fesm2015/taiga-ui-core-directives-textfield-controller.js.map +1 -1
- package/fesm2015/taiga-ui-core-directives-wrapper.js +9 -9
- package/fesm2015/taiga-ui-core-directives-wrapper.js.map +1 -1
- package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js +3 -3
- package/fesm2015/taiga-ui-core-internal-primitive-year-month-pagination.js.map +1 -1
- package/fesm2015/taiga-ui-core-internal-svg-defs-host.js +3 -3
- package/fesm2015/taiga-ui-core-internal-svg-defs-host.js.map +1 -1
- package/package.json +6 -6
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-primitive-year-picker.js","sources":["../../../projects/core/components/primitive-year-picker/primitive-year-picker.component.ts","../../../projects/core/components/primitive-year-picker/primitive-year-picker.template.html","../../../projects/core/components/primitive-year-picker/primitive-year-picker.module.ts","../../../projects/core/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDayRange,\n tuiDefaultProp,\n tuiInRange,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n selector: `tui-primitive-year-picker`,\n templateUrl: `./primitive-year-picker.template.html`,\n styleUrls: [`./primitive-year-picker.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveYearPickerComponent {\n private hoveredItem: number | null = null;\n private pressedItem: number | null = null;\n private readonly currentYear = TuiMonth.currentLocal().year;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiMonthRange | TuiYear | null = null;\n\n @Input()\n @tuiDefaultProp()\n initialItem: TuiYear = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiYear = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiYear = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<number> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear>();\n\n @HostBinding(`class._single`)\n get isSingle(): boolean {\n const {value} = this;\n\n return !!value && this.isRange(value) && value.from.yearSame(value.to);\n }\n\n get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n get calculatedMin(): number {\n const initial = this.initialItem.year - LIMIT;\n\n return this.min.year > initial ? this.min.year : initial;\n }\n\n get calculatedMax(): number {\n const initial = this.initialItem.year + LIMIT;\n\n return this.max.year < initial ? this.max.year + 1 : initial;\n }\n\n isRange(item: TuiMonthRange | TuiYear): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n scrollItemIntoView(item: number): boolean {\n return this.initialItem.year === item;\n }\n\n getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n getItemState(item: number): TuiInteractiveState | null {\n const {disabledItemHandler, max, pressedItem, hoveredItem} = this;\n\n if (\n max.year < item ||\n (disabledItemHandler !== ALWAYS_FALSE_HANDLER && disabledItemHandler(item))\n ) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem === item) {\n return TuiInteractiveState.Active;\n }\n\n if (hoveredItem === item) {\n return TuiInteractiveState.Hover;\n }\n\n return null;\n }\n\n // eslint-disable-next-line complexity\n getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.End;\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || !this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return tuiInRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n onItemHovered(hovered: boolean, item: number): void {\n this.updateHoveredItem(hovered, item);\n }\n\n onItemPressed(pressed: boolean, item: number): void {\n this.updatePressedItem(pressed, item);\n }\n\n onItemClick(item: number): void {\n this.yearClick.emit(new TuiYear(item));\n }\n\n private updateHoveredItem(hovered: boolean, item: number): void {\n this.hoveredItem = hovered ? item : null;\n }\n\n private updatePressedItem(pressed: boolean, item: number): void {\n this.pressedItem = pressed ? item : null;\n }\n}\n","<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiScrollIntoViewModule} from '@taiga-ui/core/directives/scroll-into-view';\n\nimport {TuiPrimitiveYearPickerComponent} from './primitive-year-picker.component';\n\n@NgModule({\n imports: [\n TuiHoveredModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiScrollIntoViewModule,\n ],\n declarations: [TuiPrimitiveYearPickerComponent],\n exports: [TuiPrimitiveYearPickerComponent],\n})\nexport class TuiPrimitiveYearPickerModule {}\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-core-components-primitive-year-picker.js","sources":["../../../projects/core/components/primitive-year-picker/primitive-year-picker.component.ts","../../../projects/core/components/primitive-year-picker/primitive-year-picker.template.html","../../../projects/core/components/primitive-year-picker/primitive-year-picker.module.ts","../../../projects/core/components/primitive-year-picker/taiga-ui-core-components-primitive-year-picker.ts"],"sourcesContent":["import {\n ChangeDetectionStrategy,\n Component,\n EventEmitter,\n HostBinding,\n Input,\n Output,\n} from '@angular/core';\nimport {\n ALWAYS_FALSE_HANDLER,\n TUI_FIRST_DAY,\n TUI_LAST_DAY,\n TuiBooleanHandler,\n TuiDayRange,\n tuiDefaultProp,\n tuiInRange,\n TuiMonth,\n TuiMonthRange,\n TuiYear,\n} from '@taiga-ui/cdk';\nimport {TuiInteractiveState, TuiRangeState} from '@taiga-ui/core/enums';\n\nconst LIMIT = 100;\nconst ITEMS_IN_ROW = 4;\n\n@Component({\n selector: 'tui-primitive-year-picker',\n templateUrl: './primitive-year-picker.template.html',\n styleUrls: ['./primitive-year-picker.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n})\nexport class TuiPrimitiveYearPickerComponent {\n private hoveredItem: number | null = null;\n private pressedItem: number | null = null;\n private readonly currentYear = TuiMonth.currentLocal().year;\n\n @Input()\n @tuiDefaultProp()\n value: TuiDayRange | TuiMonthRange | TuiYear | null = null;\n\n @Input()\n @tuiDefaultProp()\n initialItem: TuiYear = TuiMonth.currentLocal();\n\n @Input()\n @tuiDefaultProp()\n min: TuiYear = TUI_FIRST_DAY;\n\n @Input()\n @tuiDefaultProp()\n max: TuiYear = TUI_LAST_DAY;\n\n @Input()\n @tuiDefaultProp()\n disabledItemHandler: TuiBooleanHandler<number> = ALWAYS_FALSE_HANDLER;\n\n @Output()\n readonly yearClick = new EventEmitter<TuiYear>();\n\n @HostBinding('class._single')\n get isSingle(): boolean {\n const {value} = this;\n\n return !!value && this.isRange(value) && value.from.yearSame(value.to);\n }\n\n get rows(): number {\n return Math.ceil((this.calculatedMax - this.calculatedMin) / ITEMS_IN_ROW);\n }\n\n get calculatedMin(): number {\n const initial = this.initialItem.year - LIMIT;\n\n return this.min.year > initial ? this.min.year : initial;\n }\n\n get calculatedMax(): number {\n const initial = this.initialItem.year + LIMIT;\n\n return this.max.year < initial ? this.max.year + 1 : initial;\n }\n\n isRange(item: TuiMonthRange | TuiYear): item is TuiMonthRange {\n return item instanceof TuiMonthRange;\n }\n\n scrollItemIntoView(item: number): boolean {\n return this.initialItem.year === item;\n }\n\n getItem(rowIndex: number, colIndex: number): number {\n return rowIndex * ITEMS_IN_ROW + colIndex + this.calculatedMin;\n }\n\n getItemState(item: number): TuiInteractiveState | null {\n const {disabledItemHandler, max, pressedItem, hoveredItem} = this;\n\n if (\n max.year < item ||\n (disabledItemHandler !== ALWAYS_FALSE_HANDLER && disabledItemHandler(item))\n ) {\n return TuiInteractiveState.Disabled;\n }\n\n if (pressedItem === item) {\n return TuiInteractiveState.Active;\n }\n\n if (hoveredItem === item) {\n return TuiInteractiveState.Hover;\n }\n\n return null;\n }\n\n // eslint-disable-next-line complexity\n getItemRange(item: number): TuiRangeState | null {\n const {value, hoveredItem} = this;\n\n if (value === null) {\n return null;\n }\n\n if (value instanceof TuiYear) {\n return value.year === item ? TuiRangeState.Single : null;\n }\n\n if (\n (value.from.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem > value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem < value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.Start;\n }\n\n if (\n (value.to.year === item && !value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem < value.from.year &&\n value.from.year === item &&\n value.from.yearSame(value.to)) ||\n (hoveredItem !== null &&\n hoveredItem === item &&\n hoveredItem > value.from.year &&\n value.from.yearSame(value.to))\n ) {\n return TuiRangeState.End;\n }\n\n return value.from.yearSame(value.to) && value.from.year === item\n ? TuiRangeState.Single\n : null;\n }\n\n itemIsToday(item: number): boolean {\n return this.currentYear === item;\n }\n\n itemIsInterval(item: number): boolean {\n const {value, hoveredItem} = this;\n\n if (value === null || !this.isRange(value)) {\n return false;\n }\n\n if (!value.from.yearSame(value.to)) {\n return value.from.year <= item && value.to.year > item;\n }\n\n if (hoveredItem === null || value.from.year === hoveredItem) {\n return false;\n }\n\n return tuiInRange(\n item,\n Math.min(value.from.year, hoveredItem),\n Math.max(value.from.year, hoveredItem),\n );\n }\n\n onItemHovered(hovered: boolean, item: number): void {\n this.updateHoveredItem(hovered, item);\n }\n\n onItemPressed(pressed: boolean, item: number): void {\n this.updatePressedItem(pressed, item);\n }\n\n onItemClick(item: number): void {\n this.yearClick.emit(new TuiYear(item));\n }\n\n private updateHoveredItem(hovered: boolean, item: number): void {\n this.hoveredItem = hovered ? item : null;\n }\n\n private updatePressedItem(pressed: boolean, item: number): void {\n this.pressedItem = pressed ? item : null;\n }\n}\n","<div\n *tuiRepeatTimes=\"let rowIndex of rows\"\n automation-id=\"tui-primitive-year-picker__row\"\n class=\"t-row\"\n>\n <ng-container *tuiRepeatTimes=\"let colIndex of 4\">\n <div\n *tuiLet=\"getItem(rowIndex, colIndex) as item\"\n automation-id=\"tui-primitive-year-picker__cell\"\n class=\"t-cell\"\n [class.t-cell_today]=\"itemIsToday(item)\"\n [class.t-cell_interval]=\"itemIsInterval(item)\"\n [attr.data-range]=\"getItemRange(item)\"\n [attr.data-state]=\"getItemState(item)\"\n [tuiScrollIntoView]=\"scrollItemIntoView(item)\"\n (tuiHoveredChange)=\"onItemHovered($event, item)\"\n (tuiPressedChange)=\"onItemPressed($event, item)\"\n (click)=\"onItemClick(item)\"\n >\n <div class=\"t-item\">{{ item }}</div>\n </div>\n </ng-container>\n</div>\n","import {NgModule} from '@angular/core';\nimport {\n TuiHoveredModule,\n TuiLetModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n} from '@taiga-ui/cdk';\nimport {TuiScrollIntoViewModule} from '@taiga-ui/core/directives/scroll-into-view';\n\nimport {TuiPrimitiveYearPickerComponent} from './primitive-year-picker.component';\n\n@NgModule({\n imports: [\n TuiHoveredModule,\n TuiPressedModule,\n TuiRepeatTimesModule,\n TuiLetModule,\n TuiScrollIntoViewModule,\n ],\n declarations: [TuiPrimitiveYearPickerComponent],\n exports: [TuiPrimitiveYearPickerComponent],\n})\nexport class TuiPrimitiveYearPickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -28,25 +28,25 @@ class TuiRootComponent {
|
|
|
28
28
|
? merge(...this.dialogs).pipe(map(({ length }) => !length))
|
|
29
29
|
: of(!this.isMobile);
|
|
30
30
|
tuiAssert.enabled = enabled;
|
|
31
|
-
body.setAttribute(
|
|
31
|
+
body.setAttribute('data-tui-theme', theme.toLowerCase());
|
|
32
32
|
}
|
|
33
33
|
}
|
|
34
34
|
TuiRootComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, deps: [{ token: TUI_ANIMATIONS_DURATION }, { token: ElementRef }, { token: TUI_DIALOGS }, { token: TUI_IS_MOBILE }, { token: TUI_ASSERT_ENABLED }, { token: TUI_IS_MOBILE_RES }, { token: DOCUMENT }, { token: TUI_THEME }], target: i0.ɵɵFactoryTarget.Component });
|
|
35
|
-
TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.
|
|
35
|
+
TuiRootComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.16", type: TuiRootComponent, selector: "tui-root", host: { attributes: { "data-tui-version": "3.15.0" }, listeners: { "$.class._mobile": "isMobileRes$" }, properties: { "style.--tui-duration.ms": "duration" } }, providers: [TUI_IS_MOBILE_RES_PROVIDER], ngImport: i0, template: "<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n", styles: ["@keyframes tuiPresent{to{content:\"1\"}}html,.tui-zero-scrollbar{scrollbar-width:none;-ms-overflow-style:none}html::-webkit-scrollbar,.tui-zero-scrollbar::-webkit-scrollbar,html::-webkit-scrollbar-thumb,.tui-zero-scrollbar::-webkit-scrollbar-thumb{background:transparent;width:0;height:0}body{font:var(--tui-font-text-s);color:var(--tui-text-01);margin:0}tui-root{position:relative;display:block;flex:1;-webkit-tap-highlight-color:transparent}tui-root>.t-root-scrollbar{position:fixed;top:0;left:0;bottom:0;right:0;margin:0}.t-root-content{position:relative;z-index:0;height:100%}\n"], components: [{ type: i1.TuiScrollControlsComponent, selector: "tui-scroll-controls" }, { type: i2.TuiSvgDefsHostComponent, selector: "tui-svg-defs-host" }, { type: i3.TuiDropdownHostComponent, selector: "tui-dropdown-host" }, { type: i3.TuiDialogHostComponent, selector: "tui-dialog-host" }, { type: i3.TuiAlertHostComponent, selector: "tui-alert-host" }, { type: i4.TuiHintsHostComponent, selector: "tui-hints-host" }], directives: [{ type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], pipes: { "async": i5.AsyncPipe }, changeDetection: i0.ChangeDetectionStrategy.Default, encapsulation: i0.ViewEncapsulation.None });
|
|
36
36
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiRootComponent, decorators: [{
|
|
37
37
|
type: Component,
|
|
38
38
|
args: [{
|
|
39
|
-
selector:
|
|
40
|
-
templateUrl:
|
|
41
|
-
styleUrls: [
|
|
39
|
+
selector: 'tui-root',
|
|
40
|
+
templateUrl: 'root.template.html',
|
|
41
|
+
styleUrls: ['./root.style.less'],
|
|
42
42
|
// So that we do not force OnPush on custom dialogs
|
|
43
43
|
changeDetection: ChangeDetectionStrategy.Default,
|
|
44
44
|
providers: [TUI_IS_MOBILE_RES_PROVIDER],
|
|
45
45
|
encapsulation: ViewEncapsulation.None,
|
|
46
46
|
host: {
|
|
47
47
|
'data-tui-version': TUI_VERSION,
|
|
48
|
-
'[style.--tui-duration.ms]':
|
|
49
|
-
'($.class._mobile)':
|
|
48
|
+
'[style.--tui-duration.ms]': 'duration',
|
|
49
|
+
'($.class._mobile)': 'isMobileRes$',
|
|
50
50
|
},
|
|
51
51
|
}]
|
|
52
52
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-root.js","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_DIALOGS, TUI_IS_MOBILE, TUI_VERSION, tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_ASSERT_ENABLED,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector:
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-root.js","sources":["../../../projects/core/components/root/root.component.ts","../../../projects/core/components/root/root.template.html","../../../projects/core/components/root/root.module.ts","../../../projects/core/components/root/taiga-ui-core-components-root.ts"],"sourcesContent":["import {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n ViewEncapsulation,\n} from '@angular/core';\nimport {TUI_DIALOGS, TUI_IS_MOBILE, TUI_VERSION, tuiAssert} from '@taiga-ui/cdk';\nimport {TUI_IS_MOBILE_RES_PROVIDER} from '@taiga-ui/core/providers';\nimport {\n TUI_ANIMATIONS_DURATION,\n TUI_ASSERT_ENABLED,\n TUI_IS_MOBILE_RES,\n TUI_THEME,\n} from '@taiga-ui/core/tokens';\nimport {merge, Observable, of} from 'rxjs';\nimport {map} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-root',\n templateUrl: 'root.template.html',\n styleUrls: ['./root.style.less'],\n // So that we do not force OnPush on custom dialogs\n changeDetection: ChangeDetectionStrategy.Default,\n providers: [TUI_IS_MOBILE_RES_PROVIDER],\n encapsulation: ViewEncapsulation.None,\n host: {\n 'data-tui-version': TUI_VERSION,\n '[style.--tui-duration.ms]': 'duration',\n '($.class._mobile)': 'isMobileRes$',\n },\n})\nexport class TuiRootComponent {\n readonly scrollbars$: Observable<boolean> =\n this.dialogs.length && !this.isMobile\n ? merge(...this.dialogs).pipe(map(({length}) => !length))\n : of(!this.isMobile);\n\n constructor(\n @Inject(TUI_ANIMATIONS_DURATION) readonly duration: number,\n @Inject(ElementRef) readonly elementRef: ElementRef<HTMLElement>,\n @Inject(TUI_DIALOGS)\n readonly dialogs: ReadonlyArray<Observable<readonly unknown[]>>,\n @Inject(TUI_IS_MOBILE) private readonly isMobile: boolean,\n @Inject(TUI_ASSERT_ENABLED) enabled: boolean,\n @Inject(TUI_IS_MOBILE_RES) readonly isMobileRes$: Observable<boolean>,\n @Inject(DOCUMENT) {body}: Document,\n @Inject(TUI_THEME) theme: string,\n ) {\n tuiAssert.enabled = enabled;\n body.setAttribute('data-tui-theme', theme.toLowerCase());\n }\n}\n","<tui-scroll-controls\n *ngIf=\"scrollbars$ | async\"\n class=\"t-root-scrollbar\"\n></tui-scroll-controls>\n<tui-svg-defs-host></tui-svg-defs-host>\n<tui-dropdown-host>\n <div class=\"t-root-content\">\n <ng-content></ng-content>\n </div>\n <ng-content select=\"tuiOverContent\"></ng-content>\n <tui-dialog-host></tui-dialog-host>\n <ng-content select=\"tuiOverDialogs\"></ng-content>\n <tui-alert-host></tui-alert-host>\n <ng-content select=\"tuiOverAlerts\"></ng-content>\n</tui-dropdown-host>\n<ng-content select=\"tuiOverPortals\"></ng-content>\n<tui-hints-host></tui-hints-host>\n<ng-content select=\"tuiOverHints\"></ng-content>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {\n TuiAlertHostModule,\n TuiDialogHostModule,\n TuiDragModule,\n TuiDropdownHostModule,\n} from '@taiga-ui/cdk';\nimport {TuiHintsHostModule} from '@taiga-ui/core/components/hints-host';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\nimport {TuiSvgDefsHostModule} from '@taiga-ui/core/internal/svg-defs-host';\nimport {EventPluginsModule} from '@tinkoff/ng-event-plugins';\n\nimport {TuiRootComponent} from './root.component';\n\n@NgModule({\n imports: [\n CommonModule,\n EventPluginsModule,\n TuiDragModule,\n TuiDropdownHostModule,\n TuiSvgDefsHostModule,\n TuiHintsHostModule,\n TuiDialogHostModule,\n TuiAlertHostModule,\n TuiScrollControlsModule,\n ],\n declarations: [TuiRootComponent],\n exports: [TuiRootComponent],\n})\nexport class TuiRootModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -23,7 +23,7 @@ TuiScrollbarWrapperDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12
|
|
|
23
23
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollbarWrapperDirective, decorators: [{
|
|
24
24
|
type: Directive,
|
|
25
25
|
args: [{
|
|
26
|
-
selector:
|
|
26
|
+
selector: '[tuiScrollbarWrapper]',
|
|
27
27
|
providers: [
|
|
28
28
|
{
|
|
29
29
|
provide: TUI_ELEMENT_REF,
|
|
@@ -42,12 +42,12 @@ class TuiScrollbarDirective {
|
|
|
42
42
|
this.windowRef = windowRef;
|
|
43
43
|
this.elementRef = elementRef;
|
|
44
44
|
this.viewportScroller = viewportScroller;
|
|
45
|
-
this.tuiScrollbar =
|
|
45
|
+
this.tuiScrollbar = 'vertical';
|
|
46
46
|
const { nativeElement } = this.elementRef;
|
|
47
|
-
const mousedown$ = tuiTypedFromEvent(nativeElement,
|
|
48
|
-
const mousemove$ = tuiTypedFromEvent(this.documentRef,
|
|
49
|
-
const mouseup$ = tuiTypedFromEvent(this.documentRef,
|
|
50
|
-
const mousedownWrapper$ = tuiTypedFromEvent(wrapper.nativeElement,
|
|
47
|
+
const mousedown$ = tuiTypedFromEvent(nativeElement, 'mousedown');
|
|
48
|
+
const mousemove$ = tuiTypedFromEvent(this.documentRef, 'mousemove');
|
|
49
|
+
const mouseup$ = tuiTypedFromEvent(this.documentRef, 'mouseup');
|
|
50
|
+
const mousedownWrapper$ = tuiTypedFromEvent(wrapper.nativeElement, 'mousedown');
|
|
51
51
|
merge(mousedownWrapper$.pipe(tuiPreventDefault(), map(event => this.getScrolled(event, 0.5, 0.5))), mousedown$.pipe(tuiPreventDefault(), tuiStopPropagation(), switchMap(event => {
|
|
52
52
|
const rect = nativeElement.getBoundingClientRect();
|
|
53
53
|
const vertical = getOffsetVertical(event, rect);
|
|
@@ -59,46 +59,46 @@ class TuiScrollbarDirective {
|
|
|
59
59
|
const [x, y] = this.viewportScroller.getScrollPosition();
|
|
60
60
|
if (!this.container) {
|
|
61
61
|
this.viewportScroller.scrollToPosition([
|
|
62
|
-
this.tuiScrollbar ===
|
|
63
|
-
this.tuiScrollbar ===
|
|
62
|
+
this.tuiScrollbar === 'vertical' ? x : scrollLeft,
|
|
63
|
+
this.tuiScrollbar === 'vertical' ? scrollTop : y,
|
|
64
64
|
]);
|
|
65
65
|
return;
|
|
66
66
|
}
|
|
67
|
-
if (this.tuiScrollbar ===
|
|
68
|
-
renderer.setProperty(this.container.nativeElement,
|
|
67
|
+
if (this.tuiScrollbar === 'vertical') {
|
|
68
|
+
renderer.setProperty(this.container.nativeElement, 'scrollTop', scrollTop);
|
|
69
69
|
}
|
|
70
70
|
else {
|
|
71
|
-
renderer.setProperty(this.container.nativeElement,
|
|
71
|
+
renderer.setProperty(this.container.nativeElement, 'scrollLeft', scrollLeft);
|
|
72
72
|
}
|
|
73
73
|
});
|
|
74
|
-
merge(fromEvent(this.container ? this.container.nativeElement : this.windowRef,
|
|
74
|
+
merge(fromEvent(this.container ? this.container.nativeElement : this.windowRef, 'scroll'), animationFrame$.pipe(throttleTime(POLLING_TIME)))
|
|
75
75
|
.pipe(tuiZonefree(ngZone), takeUntil(destroy$))
|
|
76
76
|
.subscribe(() => {
|
|
77
|
-
if (this.tuiScrollbar ===
|
|
78
|
-
renderer.setStyle(nativeElement,
|
|
79
|
-
renderer.setStyle(nativeElement,
|
|
77
|
+
if (this.tuiScrollbar === 'vertical') {
|
|
78
|
+
renderer.setStyle(nativeElement, 'top', `${this.thumb * 100}%`);
|
|
79
|
+
renderer.setStyle(nativeElement, 'height', `${this.view * 100}%`);
|
|
80
80
|
}
|
|
81
81
|
else {
|
|
82
|
-
renderer.setStyle(nativeElement,
|
|
83
|
-
renderer.setStyle(nativeElement,
|
|
82
|
+
renderer.setStyle(nativeElement, 'left', `${this.thumb * 100}%`);
|
|
83
|
+
renderer.setStyle(nativeElement, 'width', `${this.view * 100}%`);
|
|
84
84
|
}
|
|
85
85
|
});
|
|
86
86
|
}
|
|
87
87
|
get scrolled() {
|
|
88
88
|
const { scrollTop, scrollHeight, clientHeight, scrollLeft, scrollWidth, clientWidth, } = this.computedContainer;
|
|
89
|
-
return this.tuiScrollbar ===
|
|
89
|
+
return this.tuiScrollbar === 'vertical'
|
|
90
90
|
? scrollTop / (scrollHeight - clientHeight)
|
|
91
91
|
: scrollLeft / (scrollWidth - clientWidth);
|
|
92
92
|
}
|
|
93
93
|
get compensation() {
|
|
94
94
|
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
|
|
95
95
|
if (((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&
|
|
96
|
-
this.tuiScrollbar ===
|
|
96
|
+
this.tuiScrollbar === 'vertical') ||
|
|
97
97
|
((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&
|
|
98
|
-
this.tuiScrollbar ===
|
|
98
|
+
this.tuiScrollbar === 'horizontal')) {
|
|
99
99
|
return 0;
|
|
100
100
|
}
|
|
101
|
-
return this.tuiScrollbar ===
|
|
101
|
+
return this.tuiScrollbar === 'vertical'
|
|
102
102
|
? MIN_WIDTH / clientHeight
|
|
103
103
|
: MIN_WIDTH / clientWidth;
|
|
104
104
|
}
|
|
@@ -108,7 +108,7 @@ class TuiScrollbarDirective {
|
|
|
108
108
|
}
|
|
109
109
|
get view() {
|
|
110
110
|
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.computedContainer;
|
|
111
|
-
return this.tuiScrollbar ===
|
|
111
|
+
return this.tuiScrollbar === 'vertical'
|
|
112
112
|
? Math.ceil((clientHeight / scrollHeight) * 100) / 100
|
|
113
113
|
: Math.ceil((clientWidth / scrollWidth) * 100) / 100;
|
|
114
114
|
}
|
|
@@ -131,7 +131,7 @@ TuiScrollbarDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
|
|
|
131
131
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollbarDirective, decorators: [{
|
|
132
132
|
type: Directive,
|
|
133
133
|
args: [{
|
|
134
|
-
selector:
|
|
134
|
+
selector: '[tuiScrollbar]',
|
|
135
135
|
providers: [TuiDestroyService],
|
|
136
136
|
}]
|
|
137
137
|
}], ctorParameters: function () { return [{ type: i0.NgZone, decorators: [{
|
|
@@ -187,7 +187,7 @@ class TuiScrollControlsComponent {
|
|
|
187
187
|
this.animationFrame$ = animationFrame$;
|
|
188
188
|
this.mode$ = mode$;
|
|
189
189
|
this.refresh$ = this.animationFrame$.pipe(throttleTime(300), map(() => this.scrollbars), startWith([false, false]), distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]), tuiZoneOptimized(this.ngZone));
|
|
190
|
-
this.animation = Object.assign({ value:
|
|
190
|
+
this.animation = Object.assign({ value: '' }, this.options);
|
|
191
191
|
}
|
|
192
192
|
get scrollbars() {
|
|
193
193
|
const { clientHeight, scrollHeight, clientWidth, scrollWidth } = this.scrollRef
|
|
@@ -204,14 +204,14 @@ TuiScrollControlsComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0
|
|
|
204
204
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollControlsComponent, decorators: [{
|
|
205
205
|
type: Component,
|
|
206
206
|
args: [{
|
|
207
|
-
selector:
|
|
208
|
-
templateUrl:
|
|
209
|
-
styleUrls: [
|
|
207
|
+
selector: 'tui-scroll-controls',
|
|
208
|
+
templateUrl: './scroll-controls.template.html',
|
|
209
|
+
styleUrls: ['./scroll-controls.style.less'],
|
|
210
210
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
211
211
|
animations: [tuiFadeIn],
|
|
212
212
|
providers: [MODE_PROVIDER],
|
|
213
213
|
host: {
|
|
214
|
-
'($.data-mode.attr)':
|
|
214
|
+
'($.data-mode.attr)': 'mode$',
|
|
215
215
|
},
|
|
216
216
|
}]
|
|
217
217
|
}], ctorParameters: function () { return [{ type: undefined, decorators: [{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-scroll-controls.js","sources":["../../../projects/core/components/scroll-controls/scrollbar-wrapper.directive.ts","../../../projects/core/components/scroll-controls/scrollbar.directive.ts","../../../projects/core/components/scroll-controls/scroll-controls.component.ts","../../../projects/core/components/scroll-controls/scroll-controls.template.html","../../../projects/core/components/scroll-controls/scroll-controls.module.ts","../../../projects/core/components/scroll-controls/taiga-ui-core-components-scroll-controls.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: `[tuiScrollbarWrapper]`,\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollbarWrapperDirective {}\n","import {DOCUMENT, ViewportScroller} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n POLLING_TIME,\n TuiDestroyService,\n tuiPreventDefault,\n tuiStopPropagation,\n tuiTypedFromEvent,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiOrientation} from '@taiga-ui/core/types';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {map, switchMap, takeUntil, throttleTime} from 'rxjs/operators';\n\nconst MIN_WIDTH = 24;\n\n@Directive({\n selector: `[tuiScrollbar]`,\n providers: [TuiDestroyService],\n})\nexport class TuiScrollbarDirective {\n @Input()\n tuiScrollbar: TuiOrientation = `vertical`;\n\n constructor(\n @Inject(NgZone) ngZone: NgZone,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ELEMENT_REF) private readonly wrapper: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly container: ElementRef<HTMLElement> | null,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewportScroller) private readonly viewportScroller: ViewportScroller,\n ) {\n const {nativeElement} = this.elementRef;\n const mousedown$ = tuiTypedFromEvent(nativeElement, `mousedown`);\n const mousemove$ = tuiTypedFromEvent(this.documentRef, `mousemove`);\n const mouseup$ = tuiTypedFromEvent(this.documentRef, `mouseup`);\n const mousedownWrapper$ = tuiTypedFromEvent(wrapper.nativeElement, `mousedown`);\n\n merge(\n mousedownWrapper$.pipe(\n tuiPreventDefault(),\n map(event => this.getScrolled(event, 0.5, 0.5)),\n ),\n mousedown$.pipe(\n tuiPreventDefault(),\n tuiStopPropagation(),\n switchMap(event => {\n const rect = nativeElement.getBoundingClientRect();\n const vertical = getOffsetVertical(event, rect);\n const horizontal = getOffsetHorizontal(event, rect);\n\n return mousemove$.pipe(\n map(event => this.getScrolled(event, vertical, horizontal)),\n takeUntil(mouseup$),\n );\n }),\n ),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(([scrollTop, scrollLeft]) => {\n const [x, y] = this.viewportScroller.getScrollPosition();\n\n if (!this.container) {\n this.viewportScroller.scrollToPosition([\n this.tuiScrollbar === `vertical` ? x : scrollLeft,\n this.tuiScrollbar === `vertical` ? scrollTop : y,\n ]);\n\n return;\n }\n\n if (this.tuiScrollbar === `vertical`) {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollTop`,\n scrollTop,\n );\n } else {\n renderer.setProperty(\n this.container.nativeElement,\n `scrollLeft`,\n scrollLeft,\n );\n }\n });\n\n merge(\n fromEvent(\n this.container ? this.container.nativeElement : this.windowRef,\n `scroll`,\n ),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n if (this.tuiScrollbar === `vertical`) {\n renderer.setStyle(nativeElement, `top`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `height`, `${this.view * 100}%`);\n } else {\n renderer.setStyle(nativeElement, `left`, `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, `width`, `${this.view * 100}%`);\n }\n });\n }\n\n private get scrolled(): number {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? scrollTop / (scrollHeight - clientHeight)\n : scrollLeft / (scrollWidth - clientWidth);\n }\n\n private get compensation(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n if (\n ((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&\n this.tuiScrollbar === `vertical`) ||\n ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&\n this.tuiScrollbar === `horizontal`)\n ) {\n return 0;\n }\n\n return this.tuiScrollbar === `vertical`\n ? MIN_WIDTH / clientHeight\n : MIN_WIDTH / clientWidth;\n }\n\n private get thumb(): number {\n const compensation = this.compensation || this.view;\n\n return this.scrolled * (1 - compensation);\n }\n\n private get view(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n return this.tuiScrollbar === `vertical`\n ? Math.ceil((clientHeight / scrollHeight) * 100) / 100\n : Math.ceil((clientWidth / scrollWidth) * 100) / 100;\n }\n\n private get computedContainer(): Element {\n return this.container?.nativeElement || this.documentRef.documentElement;\n }\n\n private getScrolled(\n {clientY, clientX}: MouseEvent,\n offsetVertical: number,\n offsetHorizontal: number,\n ): [number, number] {\n const {offsetHeight, offsetWidth} = this.elementRef.nativeElement;\n const {top, left, width, height} =\n this.wrapper.nativeElement.getBoundingClientRect();\n\n const maxTop = this.computedContainer.scrollHeight - height;\n const maxLeft = this.computedContainer.scrollWidth - width;\n const scrolledTop =\n (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);\n const scrolledLeft =\n (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);\n\n return [maxTop * scrolledTop, maxLeft * scrolledLeft];\n }\n}\n\nfunction getOffsetVertical({clientY}: MouseEvent, {top, height}: ClientRect): number {\n return (clientY - top) / height;\n}\n\nfunction getOffsetHorizontal({clientX}: MouseEvent, {left, width}: ClientRect): number {\n return (clientX - left) / width;\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, throttleTime} from 'rxjs/operators';\n\n@Component({\n selector: `tui-scroll-controls`,\n templateUrl: `./scroll-controls.template.html`,\n styleUrls: [`./scroll-controls.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn],\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': `mode$`,\n },\n})\nexport class TuiScrollControlsComponent {\n readonly refresh$ = this.animationFrame$.pipe(\n throttleTime(300),\n map(() => this.scrollbars),\n startWith([false, false]),\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n tuiZoneOptimized(this.ngZone),\n );\n\n readonly animation = {\n value: ``,\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {}\n\n private get scrollbars(): [boolean, boolean] {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} = this.scrollRef\n ? this.scrollRef.nativeElement\n : this.documentRef.documentElement;\n\n return [\n Math.ceil((clientHeight / scrollHeight) * 100) < 100,\n Math.ceil((clientWidth / scrollWidth) * 100) < 100,\n ];\n }\n}\n","<ng-container *ngIf=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollControlsComponent} from './scroll-controls.component';\nimport {TuiScrollbarDirective} from './scrollbar.directive';\nimport {TuiScrollbarWrapperDirective} from './scrollbar-wrapper.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [\n TuiScrollbarDirective,\n TuiScrollbarWrapperDirective,\n TuiScrollControlsComponent,\n ],\n exports: [TuiScrollControlsComponent],\n})\nexport class TuiScrollControlsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiScrollbarWrapperDirective","i3.TuiScrollbarDirective"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-scroll-controls.js","sources":["../../../projects/core/components/scroll-controls/scrollbar-wrapper.directive.ts","../../../projects/core/components/scroll-controls/scrollbar.directive.ts","../../../projects/core/components/scroll-controls/scroll-controls.component.ts","../../../projects/core/components/scroll-controls/scroll-controls.template.html","../../../projects/core/components/scroll-controls/scroll-controls.module.ts","../../../projects/core/components/scroll-controls/taiga-ui-core-components-scroll-controls.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_ELEMENT_REF} from '@taiga-ui/core/tokens';\n\n@Directive({\n selector: '[tuiScrollbarWrapper]',\n providers: [\n {\n provide: TUI_ELEMENT_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollbarWrapperDirective {}\n","import {DOCUMENT, ViewportScroller} from '@angular/common';\nimport {\n Directive,\n ElementRef,\n Inject,\n Input,\n NgZone,\n Optional,\n Renderer2,\n Self,\n} from '@angular/core';\nimport {ANIMATION_FRAME, WINDOW} from '@ng-web-apis/common';\nimport {\n POLLING_TIME,\n TuiDestroyService,\n tuiPreventDefault,\n tuiStopPropagation,\n tuiTypedFromEvent,\n tuiZonefree,\n} from '@taiga-ui/cdk';\nimport {TUI_ELEMENT_REF, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiOrientation} from '@taiga-ui/core/types';\nimport {fromEvent, merge, Observable} from 'rxjs';\nimport {map, switchMap, takeUntil, throttleTime} from 'rxjs/operators';\n\nconst MIN_WIDTH = 24;\n\n@Directive({\n selector: '[tuiScrollbar]',\n providers: [TuiDestroyService],\n})\nexport class TuiScrollbarDirective {\n @Input()\n tuiScrollbar: TuiOrientation = 'vertical';\n\n constructor(\n @Inject(NgZone) ngZone: NgZone,\n @Inject(Renderer2) renderer: Renderer2,\n @Self() @Inject(TuiDestroyService) destroy$: Observable<void>,\n @Inject(ANIMATION_FRAME) animationFrame$: Observable<number>,\n @Inject(TUI_ELEMENT_REF) private readonly wrapper: ElementRef<HTMLElement>,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly container: ElementRef<HTMLElement> | null,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Inject(WINDOW) private readonly windowRef: Window,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(ViewportScroller) private readonly viewportScroller: ViewportScroller,\n ) {\n const {nativeElement} = this.elementRef;\n const mousedown$ = tuiTypedFromEvent(nativeElement, 'mousedown');\n const mousemove$ = tuiTypedFromEvent(this.documentRef, 'mousemove');\n const mouseup$ = tuiTypedFromEvent(this.documentRef, 'mouseup');\n const mousedownWrapper$ = tuiTypedFromEvent(wrapper.nativeElement, 'mousedown');\n\n merge(\n mousedownWrapper$.pipe(\n tuiPreventDefault(),\n map(event => this.getScrolled(event, 0.5, 0.5)),\n ),\n mousedown$.pipe(\n tuiPreventDefault(),\n tuiStopPropagation(),\n switchMap(event => {\n const rect = nativeElement.getBoundingClientRect();\n const vertical = getOffsetVertical(event, rect);\n const horizontal = getOffsetHorizontal(event, rect);\n\n return mousemove$.pipe(\n map(event => this.getScrolled(event, vertical, horizontal)),\n takeUntil(mouseup$),\n );\n }),\n ),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(([scrollTop, scrollLeft]) => {\n const [x, y] = this.viewportScroller.getScrollPosition();\n\n if (!this.container) {\n this.viewportScroller.scrollToPosition([\n this.tuiScrollbar === 'vertical' ? x : scrollLeft,\n this.tuiScrollbar === 'vertical' ? scrollTop : y,\n ]);\n\n return;\n }\n\n if (this.tuiScrollbar === 'vertical') {\n renderer.setProperty(\n this.container.nativeElement,\n 'scrollTop',\n scrollTop,\n );\n } else {\n renderer.setProperty(\n this.container.nativeElement,\n 'scrollLeft',\n scrollLeft,\n );\n }\n });\n\n merge(\n fromEvent(\n this.container ? this.container.nativeElement : this.windowRef,\n 'scroll',\n ),\n animationFrame$.pipe(throttleTime(POLLING_TIME)),\n )\n .pipe(tuiZonefree(ngZone), takeUntil(destroy$))\n .subscribe(() => {\n if (this.tuiScrollbar === 'vertical') {\n renderer.setStyle(nativeElement, 'top', `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, 'height', `${this.view * 100}%`);\n } else {\n renderer.setStyle(nativeElement, 'left', `${this.thumb * 100}%`);\n renderer.setStyle(nativeElement, 'width', `${this.view * 100}%`);\n }\n });\n }\n\n private get scrolled(): number {\n const {\n scrollTop,\n scrollHeight,\n clientHeight,\n scrollLeft,\n scrollWidth,\n clientWidth,\n } = this.computedContainer;\n\n return this.tuiScrollbar === 'vertical'\n ? scrollTop / (scrollHeight - clientHeight)\n : scrollLeft / (scrollWidth - clientWidth);\n }\n\n private get compensation(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n if (\n ((clientHeight * clientHeight) / scrollHeight > MIN_WIDTH &&\n this.tuiScrollbar === 'vertical') ||\n ((clientWidth * clientWidth) / scrollWidth > MIN_WIDTH &&\n this.tuiScrollbar === 'horizontal')\n ) {\n return 0;\n }\n\n return this.tuiScrollbar === 'vertical'\n ? MIN_WIDTH / clientHeight\n : MIN_WIDTH / clientWidth;\n }\n\n private get thumb(): number {\n const compensation = this.compensation || this.view;\n\n return this.scrolled * (1 - compensation);\n }\n\n private get view(): number {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} =\n this.computedContainer;\n\n return this.tuiScrollbar === 'vertical'\n ? Math.ceil((clientHeight / scrollHeight) * 100) / 100\n : Math.ceil((clientWidth / scrollWidth) * 100) / 100;\n }\n\n private get computedContainer(): Element {\n return this.container?.nativeElement || this.documentRef.documentElement;\n }\n\n private getScrolled(\n {clientY, clientX}: MouseEvent,\n offsetVertical: number,\n offsetHorizontal: number,\n ): [number, number] {\n const {offsetHeight, offsetWidth} = this.elementRef.nativeElement;\n const {top, left, width, height} =\n this.wrapper.nativeElement.getBoundingClientRect();\n\n const maxTop = this.computedContainer.scrollHeight - height;\n const maxLeft = this.computedContainer.scrollWidth - width;\n const scrolledTop =\n (clientY - top - offsetHeight * offsetVertical) / (height - offsetHeight);\n const scrolledLeft =\n (clientX - left - offsetWidth * offsetHorizontal) / (width - offsetWidth);\n\n return [maxTop * scrolledTop, maxLeft * scrolledLeft];\n }\n}\n\nfunction getOffsetVertical({clientY}: MouseEvent, {top, height}: ClientRect): number {\n return (clientY - top) / height;\n}\n\nfunction getOffsetHorizontal({clientX}: MouseEvent, {left, width}: ClientRect): number {\n return (clientX - left) / width;\n}\n","import {AnimationOptions} from '@angular/animations';\nimport {DOCUMENT} from '@angular/common';\nimport {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n Inject,\n NgZone,\n Optional,\n} from '@angular/core';\nimport {ANIMATION_FRAME} from '@ng-web-apis/common';\nimport {tuiZoneOptimized} from '@taiga-ui/cdk';\nimport {tuiFadeIn} from '@taiga-ui/core/animations';\nimport {MODE_PROVIDER} from '@taiga-ui/core/providers';\nimport {TUI_ANIMATION_OPTIONS, TUI_MODE, TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\nimport {TuiBrightness} from '@taiga-ui/core/types';\nimport {Observable} from 'rxjs';\nimport {distinctUntilChanged, map, startWith, throttleTime} from 'rxjs/operators';\n\n@Component({\n selector: 'tui-scroll-controls',\n templateUrl: './scroll-controls.template.html',\n styleUrls: ['./scroll-controls.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n animations: [tuiFadeIn],\n providers: [MODE_PROVIDER],\n host: {\n '($.data-mode.attr)': 'mode$',\n },\n})\nexport class TuiScrollControlsComponent {\n readonly refresh$ = this.animationFrame$.pipe(\n throttleTime(300),\n map(() => this.scrollbars),\n startWith([false, false]),\n distinctUntilChanged((a, b) => a[0] === b[0] && a[1] === b[1]),\n tuiZoneOptimized(this.ngZone),\n );\n\n readonly animation = {\n value: '',\n ...this.options,\n } as const;\n\n constructor(\n @Inject(TUI_ANIMATION_OPTIONS) private readonly options: AnimationOptions,\n @Inject(NgZone) private readonly ngZone: NgZone,\n @Inject(DOCUMENT) private readonly documentRef: Document,\n @Optional()\n @Inject(TUI_SCROLL_REF)\n private readonly scrollRef: ElementRef<HTMLElement> | null,\n @Inject(ANIMATION_FRAME) private readonly animationFrame$: Observable<number>,\n @Inject(TUI_MODE) readonly mode$: Observable<TuiBrightness | null>,\n ) {}\n\n private get scrollbars(): [boolean, boolean] {\n const {clientHeight, scrollHeight, clientWidth, scrollWidth} = this.scrollRef\n ? this.scrollRef.nativeElement\n : this.documentRef.documentElement;\n\n return [\n Math.ceil((clientHeight / scrollHeight) * 100) < 100,\n Math.ceil((clientWidth / scrollWidth) * 100) < 100,\n ];\n }\n}\n","<ng-container *ngIf=\"refresh$ | async as bars\">\n <div\n *ngIf=\"bars[0]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_vertical\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-horizontal]=\"bars[1]\"\n >\n <div\n tuiScrollbar=\"vertical\"\n class=\"t-thumb\"\n ></div>\n </div>\n <div\n *ngIf=\"bars[1]\"\n tuiScrollbarWrapper\n class=\"t-bar t-bar_horizontal\"\n [@tuiFadeIn]=\"animation\"\n [class.t-bar_has-vertical]=\"bars[0]\"\n >\n <div\n tuiScrollbar=\"horizontal\"\n class=\"t-thumb\"\n ></div>\n </div>\n</ng-container>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiLetModule} from '@taiga-ui/cdk';\n\nimport {TuiScrollControlsComponent} from './scroll-controls.component';\nimport {TuiScrollbarDirective} from './scrollbar.directive';\nimport {TuiScrollbarWrapperDirective} from './scrollbar-wrapper.directive';\n\n@NgModule({\n imports: [CommonModule, TuiLetModule],\n declarations: [\n TuiScrollbarDirective,\n TuiScrollbarWrapperDirective,\n TuiScrollControlsComponent,\n ],\n exports: [TuiScrollControlsComponent],\n})\nexport class TuiScrollControlsModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.TuiScrollbarWrapperDirective","i3.TuiScrollbarDirective"],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import { TuiScrollControlsModule } from '@taiga-ui/core/components/scroll-contro
|
|
|
10
10
|
import * as i2 from '@angular/common';
|
|
11
11
|
import { CommonModule } from '@angular/common';
|
|
12
12
|
|
|
13
|
-
const SCROLL_REF_SELECTOR =
|
|
13
|
+
const SCROLL_REF_SELECTOR = '[tuiScrollRef]';
|
|
14
14
|
class TuiScrollRefDirective {
|
|
15
15
|
}
|
|
16
16
|
TuiScrollRefDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollRefDirective, deps: [], target: i0.ɵɵFactoryTarget.Directive });
|
|
@@ -49,7 +49,7 @@ TuiScrollableDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "12.0.0",
|
|
|
49
49
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollableDirective, decorators: [{
|
|
50
50
|
type: Directive,
|
|
51
51
|
args: [{
|
|
52
|
-
selector:
|
|
52
|
+
selector: '[tuiScrollable]',
|
|
53
53
|
}]
|
|
54
54
|
}], ctorParameters: function () { return [{ type: i0.ElementRef, decorators: [{
|
|
55
55
|
type: Inject,
|
|
@@ -63,9 +63,9 @@ class TuiScrollbarComponent {
|
|
|
63
63
|
this.userAgent = userAgent;
|
|
64
64
|
this.isIos = isIos;
|
|
65
65
|
this.delegated = false;
|
|
66
|
-
this.isLegacy = !this.cssRef.supports(
|
|
66
|
+
this.isLegacy = !this.cssRef.supports('position', 'sticky') ||
|
|
67
67
|
(tuiIsFirefox(this.userAgent) &&
|
|
68
|
-
!this.cssRef.supports(
|
|
68
|
+
!this.cssRef.supports('scrollbar-width', 'none'));
|
|
69
69
|
this.hidden = false;
|
|
70
70
|
this.browserScrollRef = new ElementRef(this.elementRef.nativeElement);
|
|
71
71
|
}
|
|
@@ -108,9 +108,9 @@ __decorate([
|
|
|
108
108
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImport: i0, type: TuiScrollbarComponent, decorators: [{
|
|
109
109
|
type: Component,
|
|
110
110
|
args: [{
|
|
111
|
-
selector:
|
|
112
|
-
templateUrl:
|
|
113
|
-
styleUrls: [
|
|
111
|
+
selector: 'tui-scrollbar',
|
|
112
|
+
templateUrl: './scrollbar.template.html',
|
|
113
|
+
styleUrls: ['./scrollbar.style.less'],
|
|
114
114
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
115
115
|
providers: [
|
|
116
116
|
{
|
|
@@ -136,13 +136,13 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.16", ngImpo
|
|
|
136
136
|
type: Input
|
|
137
137
|
}], showNative: [{
|
|
138
138
|
type: HostBinding,
|
|
139
|
-
args: [
|
|
139
|
+
args: ['class._legacy']
|
|
140
140
|
}], onScrollable: [{
|
|
141
141
|
type: HostListener,
|
|
142
|
-
args: [`${TUI_SCROLLABLE}.stop`, [
|
|
142
|
+
args: [`${TUI_SCROLLABLE}.stop`, ['$event.detail']]
|
|
143
143
|
}], scrollIntoView: [{
|
|
144
144
|
type: HostListener,
|
|
145
|
-
args: [`${TUI_SCROLL_INTO_VIEW}.stop`, [
|
|
145
|
+
args: [`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail']]
|
|
146
146
|
}] } });
|
|
147
147
|
|
|
148
148
|
class TuiScrollbarModule {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = `[tuiScrollRef]`;\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: `[tuiScrollable]`,\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: `tui-scrollbar`,\n templateUrl: `./scrollbar.template.html`,\n styleUrls: [`./scrollbar.style.less`],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports(`position`, `sticky`) ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports(`scrollbar-width`, `none`));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding(`class._legacy`)\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, [`$event.detail`])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, [`$event.detail`])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-core-components-scrollbar.js","sources":["../../../projects/core/components/scrollbar/scroll-ref.directive.ts","../../../projects/core/components/scrollbar/scrollable.directive.ts","../../../projects/core/components/scrollbar/scrollbar.component.ts","../../../projects/core/components/scrollbar/scrollbar.template.html","../../../projects/core/components/scrollbar/scrollbar.module.ts","../../../projects/core/components/scrollbar/taiga-ui-core-components-scrollbar.ts"],"sourcesContent":["import {Directive, ElementRef} from '@angular/core';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\nexport const SCROLL_REF_SELECTOR = '[tuiScrollRef]';\n\n@Directive({\n selector: SCROLL_REF_SELECTOR,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n useExisting: ElementRef,\n },\n ],\n})\nexport class TuiScrollRefDirective {}\n","import {Directive, ElementRef, Inject, OnInit} from '@angular/core';\nimport {TUI_SCROLLABLE} from '@taiga-ui/core/constants';\n\n@Directive({\n selector: '[tuiScrollable]',\n})\nexport class TuiScrollableDirective implements OnInit {\n constructor(\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n ) {}\n\n ngOnInit(): void {\n this.elementRef.nativeElement.dispatchEvent(\n new CustomEvent(TUI_SCROLLABLE, {\n bubbles: true,\n detail: this.elementRef.nativeElement,\n }),\n );\n }\n}\n","import {\n ChangeDetectionStrategy,\n Component,\n ElementRef,\n HostBinding,\n HostListener,\n Inject,\n Input,\n} from '@angular/core';\nimport {CSS as CSS_TOKEN, USER_AGENT} from '@ng-web-apis/common';\nimport {\n TUI_IS_IOS,\n tuiDefaultProp,\n tuiGetElementOffset,\n TuiInjectionTokenType,\n tuiIsFirefox,\n} from '@taiga-ui/cdk';\nimport {TUI_SCROLL_INTO_VIEW, TUI_SCROLLABLE} from '@taiga-ui/core/constants';\nimport {TUI_SCROLL_REF} from '@taiga-ui/core/tokens';\n\n@Component({\n selector: 'tui-scrollbar',\n templateUrl: './scrollbar.template.html',\n styleUrls: ['./scrollbar.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: [\n {\n provide: TUI_SCROLL_REF,\n deps: [TuiScrollbarComponent],\n useFactory: ({\n browserScrollRef,\n }: TuiScrollbarComponent): ElementRef<HTMLElement> => browserScrollRef,\n },\n ],\n})\nexport class TuiScrollbarComponent {\n private delegated = false;\n\n private readonly isLegacy: boolean =\n !this.cssRef.supports('position', 'sticky') ||\n (tuiIsFirefox(this.userAgent) &&\n !this.cssRef.supports('scrollbar-width', 'none'));\n\n @Input()\n @tuiDefaultProp()\n hidden = false;\n\n readonly browserScrollRef = new ElementRef(this.elementRef.nativeElement);\n\n constructor(\n @Inject(CSS_TOKEN)\n private readonly cssRef: TuiInjectionTokenType<typeof CSS_TOKEN>,\n @Inject(ElementRef) private readonly elementRef: ElementRef<HTMLElement>,\n @Inject(USER_AGENT) private readonly userAgent: string,\n @Inject(TUI_IS_IOS) private readonly isIos: boolean,\n ) {}\n\n get showScrollbars(): boolean {\n return !this.hidden && !this.isIos && (!this.isLegacy || this.delegated);\n }\n\n @HostBinding('class._legacy')\n get showNative(): boolean {\n return this.isLegacy && !this.hidden && !this.delegated;\n }\n\n @HostListener(`${TUI_SCROLLABLE}.stop`, ['$event.detail'])\n onScrollable(element: HTMLElement): void {\n this.delegated = true;\n this.browserScrollRef.nativeElement = element;\n }\n\n @HostListener(`${TUI_SCROLL_INTO_VIEW}.stop`, ['$event.detail'])\n scrollIntoView(detail: HTMLElement): void {\n if (this.delegated) {\n return;\n }\n\n const {nativeElement} = this.browserScrollRef;\n const {offsetTop, offsetLeft} = tuiGetElementOffset(nativeElement, detail);\n const {clientHeight, clientWidth} = nativeElement;\n const {offsetHeight, offsetWidth} = detail;\n const scrollTop = offsetTop + offsetHeight / 2 - clientHeight / 2;\n const scrollLeft = offsetLeft + offsetWidth / 2 - clientWidth / 2;\n\n // ?. for our clients on Windows XP and Chrome 49\n nativeElement.scrollTo?.(scrollLeft, scrollTop);\n }\n}\n","<tui-scroll-controls *ngIf=\"showScrollbars\"></tui-scroll-controls>\n<div class=\"t-content\">\n <ng-content></ng-content>\n</div>\n","import {CommonModule} from '@angular/common';\nimport {NgModule} from '@angular/core';\nimport {TuiScrollControlsModule} from '@taiga-ui/core/components/scroll-controls';\n\nimport {TuiScrollRefDirective} from './scroll-ref.directive';\nimport {TuiScrollableDirective} from './scrollable.directive';\nimport {TuiScrollbarComponent} from './scrollbar.component';\n\n@NgModule({\n imports: [CommonModule, TuiScrollControlsModule],\n declarations: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n exports: [TuiScrollbarComponent, TuiScrollRefDirective, TuiScrollableDirective],\n})\nexport class TuiScrollbarModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["CSS_TOKEN"],"mappings":"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"}
|