carriera-intern-components 1.1.39 → 1.1.40

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.
@@ -14,7 +14,7 @@ export declare class AvatarComponent {
14
14
  * The size of the avatar in pixels.
15
15
  * @type {Size}
16
16
  */
17
- size: import("@angular/core").InputSignal<160 | 18 | 22 | 32 | 74 | 28>;
17
+ size: import("@angular/core").InputSignal<18 | 22 | 32 | 74 | 160 | 28>;
18
18
  /**
19
19
  * Whether the avatar should be rounded or not.
20
20
  * @type {boolean}
@@ -0,0 +1 @@
1
+ export * from './scroll-state.enum';
@@ -0,0 +1,6 @@
1
+ export declare enum eScrollState {
2
+ START = "start",
3
+ SCROLLING = "scrolling",
4
+ END = "end",
5
+ NOT_NEEDED = "not_needed"
6
+ }
@@ -0,0 +1,82 @@
1
+ import { AfterViewInit, ElementRef, EventEmitter, OnChanges, SimpleChanges } from '@angular/core';
2
+ import { eScrollState } from './enums';
3
+ import * as i0 from "@angular/core";
4
+ export declare class StickyScrollbarComponent implements AfterViewInit, OnChanges {
5
+ scrollContainer: ElementRef<HTMLDivElement>;
6
+ scrollThumb: ElementRef<HTMLDivElement>;
7
+ /**
8
+ * Input to set scroll position programmatically (for syncing multiple scrollbars)
9
+ */
10
+ scrollPosition?: number;
11
+ /**
12
+ * Hide the scrollbar track completely
13
+ */
14
+ hideTrack: boolean;
15
+ /**
16
+ * Offset for the sticky position from the bottom (in pixels)
17
+ * @default 0
18
+ */
19
+ stickyOffset: number;
20
+ /**
21
+ * Output to emit scroll position changes (for syncing multiple scrollbars)
22
+ */
23
+ scrollPositionChange: EventEmitter<number>;
24
+ /**
25
+ * Output to emit scroll state changes (start, scrolling, end)
26
+ */
27
+ scrollStateChange: EventEmitter<eScrollState>;
28
+ private readonly renderer;
29
+ private readonly destroyRef;
30
+ isDragging: boolean;
31
+ private dragStartX;
32
+ private scrollStartLeft;
33
+ private isSettingScrollPosition;
34
+ private currentScrollState?;
35
+ private setPositionTimeout?;
36
+ private dragStart$;
37
+ private dragEnd$;
38
+ ngOnChanges(changes: SimpleChanges): void;
39
+ ngAfterViewInit(): void;
40
+ /**
41
+ * Applies the scroll position from input (programmatically)
42
+ */
43
+ private applyScrollPosition;
44
+ /**
45
+ * Updates scrollbar thumb size and position based on content
46
+ */
47
+ private updateScrollbar;
48
+ /**
49
+ * Observes container resize to update scrollbar
50
+ */
51
+ private setupResizeObserver;
52
+ /**
53
+ * Updates scroll state and emits the state change event
54
+ */
55
+ private updateScrollState;
56
+ /**
57
+ * Calculates the scroll state based on current scroll position
58
+ */
59
+ private calculateScrollState;
60
+ /**
61
+ * Handles scroll event on the container
62
+ */
63
+ onScroll(): void;
64
+ /**
65
+ * Handles mouse down on scrollbar thumb
66
+ */
67
+ onThumbMouseDown(event: MouseEvent): void;
68
+ /**
69
+ * Sets up drag event listeners (called once during initialization)
70
+ */
71
+ private setupDragListeners;
72
+ /**
73
+ * Handles thumb dragging
74
+ */
75
+ private onThumbDrag;
76
+ /**
77
+ * Handles mouse up to end dragging
78
+ */
79
+ onThumbMouseUp(): void;
80
+ static ɵfac: i0.ɵɵFactoryDeclaration<StickyScrollbarComponent, never>;
81
+ static ɵcmp: i0.ɵɵComponentDeclaration<StickyScrollbarComponent, "ca-sticky-scrollbar", never, { "scrollPosition": { "alias": "scrollPosition"; "required": false; }; "hideTrack": { "alias": "hideTrack"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; }, { "scrollPositionChange": "scrollPositionChange"; "scrollStateChange": "scrollStateChange"; }, never, ["*"], true, never>;
82
+ }
@@ -8,11 +8,11 @@ export declare const INPUT_CHARACTER_SETS: {
8
8
  readonly QUOTES: readonly ["\"", "'", "`"];
9
9
  readonly WHITESPACE: readonly [" ", "\t"];
10
10
  readonly DBA_SPECIAL: readonly ["!", "#", "'", "$", "&", "%", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", "=", ">", "?", "[", "]", "\\", "^"];
11
- readonly ALPHANUMERIC: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "a" | "b" | "i" | "p" | "q" | "s" | "u" | "8" | "9" | "c" | "d" | "e" | "f" | "g" | "h" | "j" | "k" | "l" | "m" | "n" | "o" | "r" | "t" | "v" | "w" | "x" | "y" | "z")[];
11
+ readonly ALPHANUMERIC: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z")[];
12
12
  readonly ALPHANUMERIC_WITH_SPACES: string[];
13
13
  readonly EMAIL_SPECIAL: readonly ["@", ".", "-", "_", "+"];
14
- readonly EMAIL_CHARACTERS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "." | "a" | "b" | "i" | "p" | "q" | "s" | "u" | "8" | "9" | "c" | "d" | "e" | "f" | "g" | "h" | "j" | "k" | "l" | "m" | "n" | "o" | "r" | "t" | "v" | "w" | "x" | "y" | "z" | "@" | "+" | "-" | "_")[];
15
- readonly SPECIAL_EXCEPT_NAME_FRIENDLY: ("*" | "." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
16
- readonly NAME_CHARACTER_EXCLUSIONS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "*" | "." | "8" | "9" | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
17
- readonly SPECIAL: ("*" | "." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
14
+ readonly EMAIL_CHARACTERS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" | "." | "@" | "+" | "-" | "_")[];
15
+ readonly SPECIAL_EXCEPT_NAME_FRIENDLY: ("." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
16
+ readonly NAME_CHARACTER_EXCLUSIONS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
17
+ readonly SPECIAL: ("." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
18
18
  };
@@ -1,7 +1,7 @@
1
1
  import * as i1 from '@angular/forms';
2
2
  import { Validators, FormsModule, FormControl, ReactiveFormsModule, FormGroup } from '@angular/forms';
3
3
  import * as i0 from '@angular/core';
4
- import { Pipe, input, output, signal, effect, Optional, Self, Component, HostListener, Directive, EventEmitter, Output, Input, computed, ViewChild, Injectable, inject, Inject, forwardRef, ViewContainerRef } from '@angular/core';
4
+ import { Pipe, input, output, signal, effect, Optional, Self, Component, HostListener, Directive, EventEmitter, Output, Input, computed, ViewChild, Injectable, inject, Inject, forwardRef, ViewContainerRef, Renderer2, DestroyRef } from '@angular/core';
5
5
  import * as i2 from '@ng-bootstrap/ng-bootstrap';
6
6
  import { NgbPopover, NgbTooltipModule, NgbDropdownModule, NgbTooltip, NgbPopoverModule, NgbModule } from '@ng-bootstrap/ng-bootstrap';
7
7
  import * as i4 from 'angular-svg-icon';
@@ -12,11 +12,12 @@ import { ImageCropperComponent } from 'ngx-image-cropper';
12
12
  import * as pdfjsLib from 'pdfjs-dist';
13
13
  import * as i1$1 from '@angular/platform-browser';
14
14
  import moment from 'moment';
15
- import { Subject, takeUntil, distinctUntilChanged as distinctUntilChanged$1, tap, filter, debounceTime, switchMap, of, catchError } from 'rxjs';
15
+ import { Subject, takeUntil, distinctUntilChanged as distinctUntilChanged$1, tap, filter, debounceTime, switchMap, of, catchError, fromEvent } from 'rxjs';
16
16
  import { distinctUntilChanged, takeUntil as takeUntil$1 } from 'rxjs/operators';
17
17
  import * as i3 from '@angular/cdk/scrolling';
18
18
  import { ScrollingModule, VIRTUAL_SCROLL_STRATEGY } from '@angular/cdk/scrolling';
19
19
  import * as i1$2 from '@angular/cdk/clipboard';
20
+ import { takeUntilDestroyed } from '@angular/core/rxjs-interop';
20
21
 
21
22
  /**
22
23
  * Creates a validator that ignores validation rules when the control is autofilled.
@@ -8608,6 +8609,268 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
8608
8609
  args: ['container']
8609
8610
  }] } });
8610
8611
 
8612
+ var eScrollState;
8613
+ (function (eScrollState) {
8614
+ eScrollState["START"] = "start";
8615
+ eScrollState["SCROLLING"] = "scrolling";
8616
+ eScrollState["END"] = "end";
8617
+ eScrollState["NOT_NEEDED"] = "not_needed";
8618
+ })(eScrollState || (eScrollState = {}));
8619
+
8620
+ // Angular Core
8621
+ class StickyScrollbarComponent {
8622
+ scrollContainer;
8623
+ scrollThumb;
8624
+ /**
8625
+ * Input to set scroll position programmatically (for syncing multiple scrollbars)
8626
+ */
8627
+ scrollPosition;
8628
+ /**
8629
+ * Hide the scrollbar track completely
8630
+ */
8631
+ hideTrack = false;
8632
+ /**
8633
+ * Offset for the sticky position from the bottom (in pixels)
8634
+ * @default 0
8635
+ */
8636
+ stickyOffset = 0;
8637
+ /**
8638
+ * Output to emit scroll position changes (for syncing multiple scrollbars)
8639
+ */
8640
+ scrollPositionChange = new EventEmitter();
8641
+ /**
8642
+ * Output to emit scroll state changes (start, scrolling, end)
8643
+ */
8644
+ scrollStateChange = new EventEmitter();
8645
+ renderer = inject(Renderer2);
8646
+ destroyRef = inject(DestroyRef);
8647
+ isDragging = false;
8648
+ dragStartX = 0;
8649
+ scrollStartLeft = 0;
8650
+ isSettingScrollPosition = false;
8651
+ currentScrollState;
8652
+ setPositionTimeout;
8653
+ dragStart$ = new Subject();
8654
+ dragEnd$ = new Subject();
8655
+ ngOnChanges(changes) {
8656
+ if (changes['scrollPosition'] && !changes['scrollPosition'].firstChange) {
8657
+ this.applyScrollPosition();
8658
+ }
8659
+ }
8660
+ ngAfterViewInit() {
8661
+ this.updateScrollbar();
8662
+ this.setupResizeObserver();
8663
+ this.setupDragListeners();
8664
+ // Apply initial scroll position if provided
8665
+ if (this.scrollPosition !== undefined) {
8666
+ this.applyScrollPosition();
8667
+ }
8668
+ // Set initial scroll state to Start
8669
+ this.updateScrollState(eScrollState.START);
8670
+ // Cleanup on destroy
8671
+ this.destroyRef.onDestroy(() => {
8672
+ if (this.setPositionTimeout) {
8673
+ clearTimeout(this.setPositionTimeout);
8674
+ }
8675
+ this.dragStart$.complete();
8676
+ this.dragEnd$.complete();
8677
+ });
8678
+ }
8679
+ /**
8680
+ * Applies the scroll position from input (programmatically)
8681
+ */
8682
+ applyScrollPosition() {
8683
+ if (this.scrollPosition === undefined || !this.scrollContainer) {
8684
+ return;
8685
+ }
8686
+ this.isSettingScrollPosition = true;
8687
+ this.scrollContainer.nativeElement.scrollLeft = this.scrollPosition;
8688
+ this.updateScrollbar();
8689
+ // Calculate and emit scroll state based on new position
8690
+ const newState = this.calculateScrollState();
8691
+ this.updateScrollState(newState);
8692
+ // Clear any existing timeout
8693
+ if (this.setPositionTimeout) {
8694
+ clearTimeout(this.setPositionTimeout);
8695
+ }
8696
+ // Reset flag after a short delay to ensure scroll event is processed
8697
+ this.setPositionTimeout = setTimeout(() => {
8698
+ this.isSettingScrollPosition = false;
8699
+ this.setPositionTimeout = undefined;
8700
+ }, 0);
8701
+ }
8702
+ /**
8703
+ * Updates scrollbar thumb size and position based on content
8704
+ */
8705
+ updateScrollbar() {
8706
+ const container = this.scrollContainer.nativeElement;
8707
+ const thumb = this.scrollThumb.nativeElement;
8708
+ const containerWidth = container.clientWidth;
8709
+ const contentWidth = container.scrollWidth;
8710
+ const scrollLeft = container.scrollLeft;
8711
+ // Calculate thumb width as a ratio of visible content
8712
+ const thumbWidth = (containerWidth / contentWidth) * containerWidth;
8713
+ const thumbPosition = (scrollLeft / contentWidth) * containerWidth;
8714
+ // Hide scrollbar if content fits within container
8715
+ const shouldShow = contentWidth > containerWidth;
8716
+ this.renderer.setStyle(thumb.parentElement, 'opacity', shouldShow ? '1' : '0');
8717
+ this.renderer.setStyle(thumb.parentElement, 'pointer-events', shouldShow ? 'auto' : 'none');
8718
+ // Update thumb dimensions and position
8719
+ this.renderer.setStyle(thumb, 'width', `${thumbWidth}px`);
8720
+ this.renderer.setStyle(thumb, 'transform', `translateX(${thumbPosition}px)`);
8721
+ // Update scroll state after scrollbar update
8722
+ const newState = this.calculateScrollState();
8723
+ this.updateScrollState(newState);
8724
+ }
8725
+ /**
8726
+ * Observes container resize to update scrollbar
8727
+ */
8728
+ setupResizeObserver() {
8729
+ const resizeObserver = new ResizeObserver(() => {
8730
+ this.updateScrollbar();
8731
+ });
8732
+ resizeObserver.observe(this.scrollContainer.nativeElement);
8733
+ resizeObserver.observe(this.scrollContainer.nativeElement.firstElementChild);
8734
+ this.destroyRef.onDestroy(() => {
8735
+ resizeObserver.disconnect();
8736
+ });
8737
+ }
8738
+ /**
8739
+ * Updates scroll state and emits the state change event
8740
+ */
8741
+ updateScrollState(newState) {
8742
+ if (this.currentScrollState !== newState) {
8743
+ this.currentScrollState = newState;
8744
+ this.scrollStateChange.emit(newState);
8745
+ }
8746
+ }
8747
+ /**
8748
+ * Calculates the scroll state based on current scroll position
8749
+ */
8750
+ calculateScrollState() {
8751
+ const container = this.scrollContainer.nativeElement;
8752
+ const containerWidth = container.clientWidth;
8753
+ const contentWidth = container.scrollWidth;
8754
+ const scrollLeft = container.scrollLeft;
8755
+ const maxScroll = contentWidth - containerWidth;
8756
+ // Check if scrollbar is not needed
8757
+ if (contentWidth <= containerWidth) {
8758
+ return eScrollState.NOT_NEEDED;
8759
+ }
8760
+ // Determine scroll state based on position
8761
+ if (scrollLeft <= 1) {
8762
+ // At the start (with small tolerance for rounding)
8763
+ return eScrollState.START;
8764
+ }
8765
+ else if (scrollLeft >= maxScroll - 1) {
8766
+ // At the end (with small tolerance for rounding)
8767
+ return eScrollState.END;
8768
+ }
8769
+ else {
8770
+ // In the middle
8771
+ return eScrollState.SCROLLING;
8772
+ }
8773
+ }
8774
+ /**
8775
+ * Handles scroll event on the container
8776
+ */
8777
+ onScroll() {
8778
+ if (!this.isDragging) {
8779
+ this.updateScrollbar();
8780
+ }
8781
+ // Emit scroll position only if it's user-initiated (not programmatically set)
8782
+ if (!this.isSettingScrollPosition) {
8783
+ const container = this.scrollContainer.nativeElement;
8784
+ const scrollLeft = container.scrollLeft;
8785
+ this.scrollPositionChange.emit(scrollLeft);
8786
+ // Calculate and emit scroll state based on position
8787
+ const newState = this.calculateScrollState();
8788
+ this.updateScrollState(newState);
8789
+ }
8790
+ }
8791
+ /**
8792
+ * Handles mouse down on scrollbar thumb
8793
+ */
8794
+ onThumbMouseDown(event) {
8795
+ event.preventDefault();
8796
+ event.stopPropagation();
8797
+ this.isDragging = true;
8798
+ this.dragStartX = event.clientX;
8799
+ this.scrollStartLeft = this.scrollContainer.nativeElement.scrollLeft;
8800
+ // Emit drag start event
8801
+ this.dragStart$.next(event);
8802
+ }
8803
+ /**
8804
+ * Sets up drag event listeners (called once during initialization)
8805
+ */
8806
+ setupDragListeners() {
8807
+ const mouseMove$ = fromEvent(document, 'mousemove');
8808
+ const mouseUp$ = fromEvent(document, 'mouseup');
8809
+ // Handle mouse move - only active when dragging
8810
+ mouseMove$
8811
+ .pipe(filter(() => this.isDragging), takeUntilDestroyed(this.destroyRef))
8812
+ .subscribe((event) => {
8813
+ this.onThumbDrag(event);
8814
+ });
8815
+ // Handle mouse up - only active when dragging
8816
+ mouseUp$
8817
+ .pipe(filter(() => this.isDragging), takeUntilDestroyed(this.destroyRef))
8818
+ .subscribe(() => {
8819
+ this.onThumbMouseUp();
8820
+ this.dragEnd$.next();
8821
+ });
8822
+ }
8823
+ /**
8824
+ * Handles thumb dragging
8825
+ */
8826
+ onThumbDrag(event) {
8827
+ const container = this.scrollContainer.nativeElement;
8828
+ const deltaX = event.clientX - this.dragStartX;
8829
+ // Calculate scroll delta based on content/container ratio
8830
+ const containerWidth = container.clientWidth;
8831
+ const contentWidth = container.scrollWidth;
8832
+ const scrollDelta = (deltaX / containerWidth) * contentWidth;
8833
+ // Update scroll position
8834
+ container.scrollLeft = this.scrollStartLeft + scrollDelta;
8835
+ // Update scrollbar position during drag
8836
+ this.updateScrollbar();
8837
+ // Emit the new scroll position
8838
+ const scrollLeft = container.scrollLeft;
8839
+ this.scrollPositionChange.emit(scrollLeft);
8840
+ // Calculate and emit scroll state based on position
8841
+ const newState = this.calculateScrollState();
8842
+ this.updateScrollState(newState);
8843
+ }
8844
+ /**
8845
+ * Handles mouse up to end dragging
8846
+ */
8847
+ onThumbMouseUp() {
8848
+ this.isDragging = false;
8849
+ }
8850
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StickyScrollbarComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
8851
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "19.2.14", type: StickyScrollbarComponent, isStandalone: true, selector: "ca-sticky-scrollbar", inputs: { scrollPosition: "scrollPosition", hideTrack: "hideTrack", stickyOffset: "stickyOffset" }, outputs: { scrollPositionChange: "scrollPositionChange", scrollStateChange: "scrollStateChange" }, viewQueries: [{ propertyName: "scrollContainer", first: true, predicate: ["scrollContainer"], descendants: true }, { propertyName: "scrollThumb", first: true, predicate: ["scrollThumb"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<div class=\"sticky-scrollbar-wrapper\">\n <div\n #scrollContainer\n class=\"sticky-scrollbar-container\"\n (scroll)=\"onScroll()\"\n >\n <ng-content></ng-content>\n </div>\n <div\n class=\"sticky-scrollbar-track\"\n [class.hidden]=\"hideTrack\"\n [style.bottom.px]=\"stickyOffset\"\n >\n <div\n #scrollThumb\n class=\"sticky-scrollbar-thumb\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"onThumbMouseDown($event)\"\n (mouseup)=\"onThumbMouseUp()\"\n ></div>\n </div>\n</div>\n", styles: [".sticky-scrollbar-wrapper{position:relative;height:100%;width:100%;display:flex;flex-direction:column}.sticky-scrollbar-container{flex:1;width:100%;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.sticky-scrollbar-container::-webkit-scrollbar{display:none}.sticky-scrollbar-track{position:sticky;bottom:0;width:100%;height:6px;border-radius:2px;margin-top:1px;cursor:pointer;transition:opacity .1s ease-in-out;z-index:10}.sticky-scrollbar-track.hidden{display:none}.sticky-scrollbar-thumb{height:100%;background-color:#aaa;border-radius:2px;transition:background-color .1s ease-in-out;cursor:grab;min-width:30px}.sticky-scrollbar-thumb:hover{background-color:#424242b2}.sticky-scrollbar-thumb.dragging{background-color:#424242b2;cursor:grabbing}\n"], dependencies: [{ kind: "ngmodule", type: CommonModule }] });
8852
+ }
8853
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImport: i0, type: StickyScrollbarComponent, decorators: [{
8854
+ type: Component,
8855
+ args: [{ selector: 'ca-sticky-scrollbar', imports: [CommonModule], template: "<div class=\"sticky-scrollbar-wrapper\">\n <div\n #scrollContainer\n class=\"sticky-scrollbar-container\"\n (scroll)=\"onScroll()\"\n >\n <ng-content></ng-content>\n </div>\n <div\n class=\"sticky-scrollbar-track\"\n [class.hidden]=\"hideTrack\"\n [style.bottom.px]=\"stickyOffset\"\n >\n <div\n #scrollThumb\n class=\"sticky-scrollbar-thumb\"\n [class.dragging]=\"isDragging\"\n (mousedown)=\"onThumbMouseDown($event)\"\n (mouseup)=\"onThumbMouseUp()\"\n ></div>\n </div>\n</div>\n", styles: [".sticky-scrollbar-wrapper{position:relative;height:100%;width:100%;display:flex;flex-direction:column}.sticky-scrollbar-container{flex:1;width:100%;overflow-x:auto;overflow-y:hidden;-ms-overflow-style:none;scrollbar-width:none}.sticky-scrollbar-container::-webkit-scrollbar{display:none}.sticky-scrollbar-track{position:sticky;bottom:0;width:100%;height:6px;border-radius:2px;margin-top:1px;cursor:pointer;transition:opacity .1s ease-in-out;z-index:10}.sticky-scrollbar-track.hidden{display:none}.sticky-scrollbar-thumb{height:100%;background-color:#aaa;border-radius:2px;transition:background-color .1s ease-in-out;cursor:grab;min-width:30px}.sticky-scrollbar-thumb:hover{background-color:#424242b2}.sticky-scrollbar-thumb.dragging{background-color:#424242b2;cursor:grabbing}\n"] }]
8856
+ }], propDecorators: { scrollContainer: [{
8857
+ type: ViewChild,
8858
+ args: ['scrollContainer', { static: false }]
8859
+ }], scrollThumb: [{
8860
+ type: ViewChild,
8861
+ args: ['scrollThumb', { static: false }]
8862
+ }], scrollPosition: [{
8863
+ type: Input
8864
+ }], hideTrack: [{
8865
+ type: Input
8866
+ }], stickyOffset: [{
8867
+ type: Input
8868
+ }], scrollPositionChange: [{
8869
+ type: Output
8870
+ }], scrollStateChange: [{
8871
+ type: Output
8872
+ }] } });
8873
+
8611
8874
  /*
8612
8875
  * Public API Surface of carriera-intern-components
8613
8876
  */
@@ -8616,5 +8879,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "19.2.14", ngImpo
8616
8879
  * Generated bundle index. Do not edit.
8617
8880
  */
8618
8881
 
8619
- export { AvatarComponent, CaiInputDatetimePickerComponent, CopyComponent, DropZoneComponent, DropdownTypes, INPUT_CHARACTER_SETS, InputAddressComponent, InputComponent, IntervalDropdownComponent, ListContactDropdownComponent, PmComponent, RatingReviewComponent, ReviewModalComponent, SelectedBusinessFieldComponent, TabOptionDropdownComponent, ignoreWhenAutofilled, sizes };
8882
+ export { AvatarComponent, CaiInputDatetimePickerComponent, CopyComponent, DropZoneComponent, DropdownTypes, INPUT_CHARACTER_SETS, InputAddressComponent, InputComponent, IntervalDropdownComponent, ListContactDropdownComponent, PmComponent, RatingReviewComponent, ReviewModalComponent, SelectedBusinessFieldComponent, StickyScrollbarComponent, TabOptionDropdownComponent, eScrollState, ignoreWhenAutofilled, sizes };
8620
8883
  //# sourceMappingURL=carriera-intern-components.mjs.map