@wizco/fenixds-ngx 17.10.0 → 17.11.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,109 @@
1
+ import { Component, EventEmitter, HostListener, Input, Output, ViewEncapsulation, } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ export class SubTabsComponent {
4
+ el;
5
+ selectedIndex = 0;
6
+ tabChange = new EventEmitter();
7
+ indicator;
8
+ resizeObserver;
9
+ constructor(el) {
10
+ this.el = el;
11
+ }
12
+ ngAfterContentInit() {
13
+ this.indicator = document.createElement('div');
14
+ this.indicator.className = 'wco-sub-tabs__indicator';
15
+ this.el.nativeElement.prepend(this.indicator);
16
+ setTimeout(() => {
17
+ this.reserveBoldWidth();
18
+ this.indicator.style.transition = 'none';
19
+ this.applySelection(this.selectedIndex, false);
20
+ requestAnimationFrame(() => requestAnimationFrame(() => {
21
+ this.indicator.style.transition = '';
22
+ }));
23
+ }, 0);
24
+ this.resizeObserver = new ResizeObserver(() => {
25
+ this.refreshIndicator();
26
+ });
27
+ this.resizeObserver.observe(this.el.nativeElement);
28
+ }
29
+ ngOnChanges(changes) {
30
+ if (changes['selectedIndex'] && !changes['selectedIndex'].firstChange) {
31
+ this.applySelection(this.selectedIndex, false);
32
+ }
33
+ }
34
+ onClick(event) {
35
+ const items = this.getItems();
36
+ const target = event.target;
37
+ for (let i = 0; i < items.length; i++) {
38
+ if (items[i] === target || items[i].contains(target)) {
39
+ this.applySelection(i, true);
40
+ break;
41
+ }
42
+ }
43
+ }
44
+ getItems() {
45
+ return Array.from(this.el.nativeElement.children).filter((c) => !c.classList.contains('wco-sub-tabs__indicator'));
46
+ }
47
+ reserveBoldWidth() {
48
+ const items = this.getItems();
49
+ const host = this.el.nativeElement;
50
+ items.forEach((item) => {
51
+ const clone = item.cloneNode(true);
52
+ clone.style.cssText = `
53
+ font-weight: 600;
54
+ visibility: hidden;
55
+ position: absolute;
56
+ pointer-events: none;
57
+ white-space: nowrap;
58
+ `;
59
+ host.appendChild(clone);
60
+ const boldWidth = clone.offsetWidth;
61
+ host.removeChild(clone);
62
+ item.style.minWidth = boldWidth + 'px';
63
+ });
64
+ }
65
+ applySelection(index, emit) {
66
+ const items = this.getItems();
67
+ if (!items.length)
68
+ return;
69
+ const clamped = Math.max(0, Math.min(index, items.length - 1));
70
+ this.selectedIndex = clamped;
71
+ items.forEach((item, i) => {
72
+ item.classList.toggle('wco-subtab-selected', i === clamped);
73
+ });
74
+ this.moveIndicator(items[clamped]);
75
+ if (emit) {
76
+ this.tabChange.emit(clamped);
77
+ }
78
+ }
79
+ refreshIndicator() {
80
+ const items = this.getItems();
81
+ const selected = items[this.selectedIndex];
82
+ if (selected) {
83
+ this.moveIndicator(selected);
84
+ }
85
+ }
86
+ moveIndicator(element) {
87
+ if (!this.indicator)
88
+ return;
89
+ this.el.nativeElement.style.setProperty('--subtab-left', element.offsetLeft + 'px');
90
+ this.el.nativeElement.style.setProperty('--subtab-width', element.offsetWidth + 'px');
91
+ }
92
+ ngOnDestroy() {
93
+ this.resizeObserver?.disconnect();
94
+ }
95
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubTabsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
96
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubTabsComponent, isStandalone: true, selector: "wco-sub-tabs", inputs: { selectedIndex: "selectedIndex" }, outputs: { tabChange: "tabChange" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["wco-sub-tabs{display:inline-flex;position:relative;background:#e5e5e5;border-radius:8px;padding:4px}wco-sub-tabs>.wco-sub-tabs__indicator{position:absolute;top:4px;bottom:4px;left:var(--subtab-left, 0px);width:var(--subtab-width, 0px);background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f;pointer-events:none;z-index:0;transition:left .22s cubic-bezier(.645,.045,.355,1),width .15s cubic-bezier(.645,.045,.355,1)}wco-sub-tabs>*:not(.wco-sub-tabs__indicator){position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:var(--wco-font-size-xs);font-weight:500;color:var(--wco-color-neutral-700);border-radius:6px;white-space:nowrap;line-height:1.4;transition:color .2s ease}wco-sub-tabs>*:not(.wco-sub-tabs__indicator):focus-visible{outline:2px solid var(--wco-color-primary-400);outline-offset:-2px}wco-sub-tabs>*.wco-subtab-selected{color:var(--wco-color-neutral-900);font-weight:600}\n"], encapsulation: i0.ViewEncapsulation.None });
97
+ }
98
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubTabsComponent, decorators: [{
99
+ type: Component,
100
+ args: [{ selector: 'wco-sub-tabs', standalone: true, imports: [], template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, styles: ["wco-sub-tabs{display:inline-flex;position:relative;background:#e5e5e5;border-radius:8px;padding:4px}wco-sub-tabs>.wco-sub-tabs__indicator{position:absolute;top:4px;bottom:4px;left:var(--subtab-left, 0px);width:var(--subtab-width, 0px);background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f;pointer-events:none;z-index:0;transition:left .22s cubic-bezier(.645,.045,.355,1),width .15s cubic-bezier(.645,.045,.355,1)}wco-sub-tabs>*:not(.wco-sub-tabs__indicator){position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:var(--wco-font-size-xs);font-weight:500;color:var(--wco-color-neutral-700);border-radius:6px;white-space:nowrap;line-height:1.4;transition:color .2s ease}wco-sub-tabs>*:not(.wco-sub-tabs__indicator):focus-visible{outline:2px solid var(--wco-color-primary-400);outline-offset:-2px}wco-sub-tabs>*.wco-subtab-selected{color:var(--wco-color-neutral-900);font-weight:600}\n"] }]
101
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { selectedIndex: [{
102
+ type: Input
103
+ }], tabChange: [{
104
+ type: Output
105
+ }], onClick: [{
106
+ type: HostListener,
107
+ args: ['click', ['$event']]
108
+ }] } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3ViLXRhYnMuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LWNvbXBvbmVudHMvc3JjL2xpYi9zdWItdGFicy9zdWItdGFicy5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUVMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLEtBQUssRUFHTCxNQUFNLEVBRU4saUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOztBQVV2QixNQUFNLE9BQU8sZ0JBQWdCO0lBVVA7SUFSYixhQUFhLEdBQUcsQ0FBQyxDQUFDO0lBR2xCLFNBQVMsR0FBRyxJQUFJLFlBQVksRUFBVSxDQUFDO0lBRXRDLFNBQVMsQ0FBZTtJQUN4QixjQUFjLENBQWtCO0lBRXhDLFlBQW9CLEVBQTJCO1FBQTNCLE9BQUUsR0FBRixFQUFFLENBQXlCO0lBQUcsQ0FBQztJQUVuRCxrQkFBa0I7UUFDaEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQy9DLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxHQUFHLHlCQUF5QixDQUFDO1FBQ3JELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFFOUMsVUFBVSxDQUFDLEdBQUcsRUFBRTtZQUNkLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ3hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVUsR0FBRyxNQUFNLENBQUM7WUFDekMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFLEtBQUssQ0FBQyxDQUFDO1lBQy9DLHFCQUFxQixDQUFDLEdBQUcsRUFBRSxDQUFDLHFCQUFxQixDQUFDLEdBQUcsRUFBRTtnQkFDckQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFL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Q1osSUFBSSxXQUNQLEVBQUUsWUFDRCwyQkFBMkIsaUJBRXRCLGlCQUFpQixDQUFDLElBQUk7K0VBSTlCLGFBQWE7c0JBRG5CLEtBQUs7Z0JBSUMsU0FBUztzQkFEZixNQUFNO2dCQW1DUCxPQUFPO3NCQUROLFlBQVk7dUJBQUMsT0FBTyxFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWZ0ZXJDb250ZW50SW5pdCxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBFdmVudEVtaXR0ZXIsXG4gIEhvc3RMaXN0ZW5lcixcbiAgSW5wdXQsXG4gIE9uQ2hhbmdlcyxcbiAgT25EZXN0cm95LFxuICBPdXRwdXQsXG4gIFNpbXBsZUNoYW5nZXMsXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnd2NvLXN1Yi10YWJzJyxcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgaW1wb3J0czogW10sXG4gIHRlbXBsYXRlOiBgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PmAsXG4gIHN0eWxlVXJsczogWycuL3N1Yi10YWJzLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFN1YlRhYnNDb21wb25lbnQgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBzZWxlY3RlZEluZGV4ID0gMDtcblxuICBAT3V0cHV0KClcbiAgcHVibGljIHRhYkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gIHByaXZhdGUgaW5kaWNhdG9yITogSFRNTEVsZW1lbnQ7XG4gIHByaXZhdGUgcmVzaXplT2JzZXJ2ZXI/OiBSZXNpemVPYnNlcnZlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGVsOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50Pikge31cblxuICBuZ0FmdGVyQ29udGVudEluaXQoKTogdm9pZCB7XG4gICAgdGhpcy5pbmRpY2F0b3IgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdkaXYnKTtcbiAgICB0aGlzLmluZGljYXRvci5jbGFzc05hbWUgPSAnd2NvLXN1Yi10YWJzX19pbmRpY2F0b3InO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5wcmVwZW5kKHRoaXMuaW5kaWNhdG9yKTtcblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy5yZXNlcnZlQm9sZFdpZHRoKCk7XG4gICAgICB0aGlzLmluZGljYXRvci5zdHlsZS50cmFuc2l0aW9uID0gJ25vbmUnO1xuICAgICAgdGhpcy5hcHBseVNlbGVjdGlvbih0aGlzLnNlbGVjdGVkSW5kZXgsIGZhbHNlKTtcbiAgICAgIHJlcXVlc3RBbmltYXRpb25GcmFtZSgoKSA9PiByZXF1ZXN0QW5pbWF0aW9uRnJhbWUoKCkgPT4ge1xuICAgICAgICB0aGlzLmluZGljYXRvci5zdHlsZS50cmFuc2l0aW9uID0gJyc7XG4gICAgICB9KSk7XG4gICAgfSwgMCk7XG5cbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgIHRoaXMucmVmcmVzaEluZGljYXRvcigpO1xuICAgIH0pO1xuICAgIHRoaXMucmVzaXplT2JzZXJ2ZXIub2JzZXJ2ZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQpO1xuICB9XG5cbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgIGlmIChjaGFuZ2VzWydzZWxlY3RlZEluZGV4J10gJiYgIWNoYW5nZXNbJ3NlbGVjdGVkSW5kZXgnXS5maXJzdENoYW5nZSkge1xuICAgICAgdGhpcy5hcHBseVNlbGVjdGlvbih0aGlzLnNlbGVjdGVkSW5kZXgsIGZhbHNlKTtcbiAgICB9XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdjbGljaycsIFsnJGV2ZW50J10pXG4gIG9uQ2xpY2soZXZlbnQ6IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc3QgaXRlbXMgPSB0aGlzLmdldEl0ZW1zKCk7XG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xuXG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCBpdGVtcy5sZW5ndGg7IGkrKykge1xuICAgICAgaWYgKGl0ZW1zW2ldID09PSB0YXJnZXQgfHwgaXRlbXNbaV0uY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICB0aGlzLmFwcGx5U2VsZWN0aW9uKGksIHRydWUpO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGdldEl0ZW1zKCk6IEhUTUxFbGVtZW50W10ge1xuICAgIHJldHVybiBBcnJheS5mcm9tKHRoaXMuZWwubmF0aXZlRWxlbWVudC5jaGlsZHJlbikuZmlsdGVyKFxuICAgICAgKGMpID0+ICFjLmNsYXNzTGlzdC5jb250YWlucygnd2NvLXN1Yi10YWJzX19pbmRpY2F0b3InKVxuICAgICkgYXMgSFRNTEVsZW1lbnRbXTtcbiAgfVxuXG4gIHByaXZhdGUgcmVzZXJ2ZUJvbGRXaWR0aCgpOiB2b2lkIHtcbiAgICBjb25zdCBpdGVtcyA9IHRoaXMuZ2V0SXRlbXMoKTtcbiAgICBjb25zdCBob3N0ID0gdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgY29uc3QgY2xvbmUgPSBpdGVtLmNsb25lTm9kZSh0cnVlKSBhcyBIVE1MRWxlbWVudDtcbiAgICAgIGNsb25lLnN0eWxlLmNzc1RleHQgPSBgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIGA7XG4gICAgICBob3N0LmFwcGVuZENoaWxkKGNsb25lKTtcbiAgICAgIGNvbnN0IGJvbGRXaWR0aCA9IGNsb25lLm9mZnNldFdpZHRoO1xuICAgICAgaG9zdC5yZW1vdmVDaGlsZChjbG9uZSk7XG4gICAgICBpdGVtLnN0eWxlLm1pbldpZHRoID0gYm9sZFdpZHRoICsgJ3B4JztcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgYXBwbHlTZWxlY3Rpb24oaW5kZXg6IG51bWJlciwgZW1pdDogYm9vbGVhbik6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGlmICghaXRlbXMubGVuZ3RoKSByZXR1cm47XG5cbiAgICBjb25zdCBjbGFtcGVkID0gTWF0aC5tYXgoMCwgTWF0aC5taW4oaW5kZXgsIGl0ZW1zLmxlbmd0aCAtIDEpKTtcbiAgICB0aGlzLnNlbGVjdGVkSW5kZXggPSBjbGFtcGVkO1xuXG4gICAgaXRlbXMuZm9yRWFjaCgoaXRlbSwgaSkgPT4ge1xuICAgICAgaXRlbS5jbGFzc0xpc3QudG9nZ2xlKCd3Y28tc3VidGFiLXNlbGVjdGVkJywgaSA9PT0gY2xhbXBlZCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLm1vdmVJbmRpY2F0b3IoaXRlbXNbY2xhbXBlZF0pO1xuXG4gICAgaWYgKGVtaXQpIHtcbiAgICAgIHRoaXMudGFiQ2hhbmdlLmVtaXQoY2xhbXBlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSByZWZyZXNoSW5kaWNhdG9yKCk6IHZvaWQge1xuICAgIGNvbnN0IGl0ZW1zID0gdGhpcy5nZXRJdGVtcygpO1xuICAgIGNvbnN0IHNlbGVjdGVkID0gaXRlbXNbdGhpcy5zZWxlY3RlZEluZGV4XTtcbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMubW92ZUluZGljYXRvcihzZWxlY3RlZCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBtb3ZlSW5kaWNhdG9yKGVsZW1lbnQ6IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmluZGljYXRvcikgcmV0dXJuO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdWJ0YWItbGVmdCcsIGVsZW1lbnQub2Zmc2V0TGVmdCArICdweCcpO1xuICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS1zdWJ0YWItd2lkdGgnLCBlbGVtZW50Lm9mZnNldFdpZHRoICsgJ3B4Jyk7XG4gIH1cblxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2l6ZU9ic2VydmVyPy5kaXNjb25uZWN0KCk7XG4gIH1cbn1cbiJdfQ==
@@ -30,4 +30,6 @@ export * from './lib/modal-alert/modal-alert.types';
30
30
  // Table
31
31
  export * from './lib/table/table.component';
32
32
  export * from './lib/table/table.types';
33
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLG1CQUFtQjtBQUNuQixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsOENBQThDLENBQUM7QUFFN0QsYUFBYTtBQUNiLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxZQUFZO0FBQ1osY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxTQUFTO0FBQ1QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGVBQWU7QUFDZixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsUUFBUTtBQUNSLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZmVuaXhkc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAvc3RlcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyLWdyb3VwL3N0ZXBwZXItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQudHlwZXMnO1xuXG4vLyBtc2cgYm94IGZlZWRiYWNrXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tc2ctYm94LWZlZWRiYWNrL21zZy1ib3gtZmVlZGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWViYWNrLnR5cGVzJztcblxuLy9tc2cgbmF2dGFic1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMudHlwZXMnO1xuXG4vL1BhZ2luYXRpb25cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG4vLyBBdmF0YXJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8vIFNtYXJ0IFNlbGVjdFxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbi8vIFRpbWVsaW5lXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuXG4vLyBQcmV2aWV3IEZpbGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUudHlwZXMnO1xuXG4vLyBNb2RhbFxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtYWxlcnQvbW9kYWwtYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LnR5cGVzJztcblxuLy8gVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS90YWJsZS50eXBlcyc7XG4iXX0=
33
+ // Sub Tabs
34
+ export * from './lib/sub-tabs/sub-tabs.component';
35
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25neC1jb21wb25lbnRzL3NyYy9wdWJsaWMtYXBpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYywyQkFBMkIsQ0FBQztBQUMxQyxjQUFjLGlDQUFpQyxDQUFDO0FBQ2hELGNBQWMsNkNBQTZDLENBQUM7QUFDNUQsY0FBYywrQkFBK0IsQ0FBQztBQUM5QyxjQUFjLDJCQUEyQixDQUFDO0FBRTFDLG1CQUFtQjtBQUNuQixjQUFjLG1EQUFtRCxDQUFDO0FBQ2xFLGNBQWMsOENBQThDLENBQUM7QUFFN0QsYUFBYTtBQUNiLGNBQWMsMkJBQTJCLENBQUM7QUFDMUMsY0FBYyx1QkFBdUIsQ0FBQztBQUV0QyxZQUFZO0FBQ1osY0FBYyx1Q0FBdUMsQ0FBQztBQUV0RCxTQUFTO0FBQ1QsY0FBYyx5Q0FBeUMsQ0FBQztBQUV4RCxlQUFlO0FBQ2YsY0FBYywyQ0FBMkMsQ0FBQztBQUMxRCxjQUFjLG1EQUFtRCxDQUFDO0FBRWxFLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDO0FBRWxELGVBQWU7QUFDZixjQUFjLDJDQUEyQyxDQUFDO0FBQzFELGNBQWMsdUNBQXVDLENBQUM7QUFFdEQsUUFBUTtBQUNSLGNBQWMseUNBQXlDLENBQUM7QUFDeEQsY0FBYyxxQ0FBcUMsQ0FBQztBQUVwRCxRQUFRO0FBQ1IsY0FBYyw2QkFBNkIsQ0FBQztBQUM1QyxjQUFjLHlCQUF5QixDQUFDO0FBRXhDLFdBQVc7QUFDWCxjQUFjLG1DQUFtQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZ3gtZmVuaXhkc1xuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vbGliL3N0ZXAvc3RlcC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc3RlcHBlci9zdGVwcGVyLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdGVwcGVyLWdyb3VwL3N0ZXBwZXItZ3JvdXAuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VwbG9hZC91cGxvYWQudHlwZXMnO1xuXG4vLyBtc2cgYm94IGZlZWRiYWNrXG5leHBvcnQgKiBmcm9tICcuL2xpYi9tc2ctYm94LWZlZWRiYWNrL21zZy1ib3gtZmVlZGJhY2suY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21zZy1ib3gtZmVlZGJhY2svbXNnLWJveC1mZWViYWNrLnR5cGVzJztcblxuLy9tc2cgbmF2dGFic1xuZXhwb3J0ICogZnJvbSAnLi9saWIvdGFicy90YWJzLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJzL3RhYnMudHlwZXMnO1xuXG4vL1BhZ2luYXRpb25cbmV4cG9ydCAqIGZyb20gJy4vbGliL3BhZ2luYXRpb24vcGFnaW5hdGlvbi5jb21wb25lbnQnO1xuXG4vLyBBdmF0YXJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3VzZXItYXZhdGFyL3VzZXItYXZhdGFyLmNvbXBvbmVudCc7XG5cbi8vIFNtYXJ0IFNlbGVjdFxuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc21hcnQtc2VsZWN0L3NtYXJ0LXNlbGVjdC1vcHRpb25zLmNvbXBvbmVudCc7XG5cbi8vIFRpbWVsaW5lXG5leHBvcnQgKiBmcm9tICcuL2xpYi90aW1lbGluZS90aW1lbGluZS5jb21wb25lbnQnO1xuXG4vLyBQcmV2aWV3IEZpbGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL3ByZXZpZXctZmlsZS9wcmV2aWV3LWZpbGUudHlwZXMnO1xuXG4vLyBNb2RhbFxuZXhwb3J0ICogZnJvbSAnLi9saWIvbW9kYWwtYWxlcnQvbW9kYWwtYWxlcnQuY29tcG9uZW50JztcbmV4cG9ydCAqIGZyb20gJy4vbGliL21vZGFsLWFsZXJ0L21vZGFsLWFsZXJ0LnR5cGVzJztcblxuLy8gVGFibGVcbmV4cG9ydCAqIGZyb20gJy4vbGliL3RhYmxlL3RhYmxlLmNvbXBvbmVudCc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi90YWJsZS90YWJsZS50eXBlcyc7XG5cbi8vIFN1YiBUYWJzXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zdWItdGFicy9zdWItdGFicy5jb21wb25lbnQnO1xuIl19
@@ -2187,6 +2187,113 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2187
2187
  args: ['table']
2188
2188
  }] } });
2189
2189
 
2190
+ class SubTabsComponent {
2191
+ el;
2192
+ selectedIndex = 0;
2193
+ tabChange = new EventEmitter();
2194
+ indicator;
2195
+ resizeObserver;
2196
+ constructor(el) {
2197
+ this.el = el;
2198
+ }
2199
+ ngAfterContentInit() {
2200
+ this.indicator = document.createElement('div');
2201
+ this.indicator.className = 'wco-sub-tabs__indicator';
2202
+ this.el.nativeElement.prepend(this.indicator);
2203
+ setTimeout(() => {
2204
+ this.reserveBoldWidth();
2205
+ this.indicator.style.transition = 'none';
2206
+ this.applySelection(this.selectedIndex, false);
2207
+ requestAnimationFrame(() => requestAnimationFrame(() => {
2208
+ this.indicator.style.transition = '';
2209
+ }));
2210
+ }, 0);
2211
+ this.resizeObserver = new ResizeObserver(() => {
2212
+ this.refreshIndicator();
2213
+ });
2214
+ this.resizeObserver.observe(this.el.nativeElement);
2215
+ }
2216
+ ngOnChanges(changes) {
2217
+ if (changes['selectedIndex'] && !changes['selectedIndex'].firstChange) {
2218
+ this.applySelection(this.selectedIndex, false);
2219
+ }
2220
+ }
2221
+ onClick(event) {
2222
+ const items = this.getItems();
2223
+ const target = event.target;
2224
+ for (let i = 0; i < items.length; i++) {
2225
+ if (items[i] === target || items[i].contains(target)) {
2226
+ this.applySelection(i, true);
2227
+ break;
2228
+ }
2229
+ }
2230
+ }
2231
+ getItems() {
2232
+ return Array.from(this.el.nativeElement.children).filter((c) => !c.classList.contains('wco-sub-tabs__indicator'));
2233
+ }
2234
+ reserveBoldWidth() {
2235
+ const items = this.getItems();
2236
+ const host = this.el.nativeElement;
2237
+ items.forEach((item) => {
2238
+ const clone = item.cloneNode(true);
2239
+ clone.style.cssText = `
2240
+ font-weight: 600;
2241
+ visibility: hidden;
2242
+ position: absolute;
2243
+ pointer-events: none;
2244
+ white-space: nowrap;
2245
+ `;
2246
+ host.appendChild(clone);
2247
+ const boldWidth = clone.offsetWidth;
2248
+ host.removeChild(clone);
2249
+ item.style.minWidth = boldWidth + 'px';
2250
+ });
2251
+ }
2252
+ applySelection(index, emit) {
2253
+ const items = this.getItems();
2254
+ if (!items.length)
2255
+ return;
2256
+ const clamped = Math.max(0, Math.min(index, items.length - 1));
2257
+ this.selectedIndex = clamped;
2258
+ items.forEach((item, i) => {
2259
+ item.classList.toggle('wco-subtab-selected', i === clamped);
2260
+ });
2261
+ this.moveIndicator(items[clamped]);
2262
+ if (emit) {
2263
+ this.tabChange.emit(clamped);
2264
+ }
2265
+ }
2266
+ refreshIndicator() {
2267
+ const items = this.getItems();
2268
+ const selected = items[this.selectedIndex];
2269
+ if (selected) {
2270
+ this.moveIndicator(selected);
2271
+ }
2272
+ }
2273
+ moveIndicator(element) {
2274
+ if (!this.indicator)
2275
+ return;
2276
+ this.el.nativeElement.style.setProperty('--subtab-left', element.offsetLeft + 'px');
2277
+ this.el.nativeElement.style.setProperty('--subtab-width', element.offsetWidth + 'px');
2278
+ }
2279
+ ngOnDestroy() {
2280
+ this.resizeObserver?.disconnect();
2281
+ }
2282
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubTabsComponent, deps: [{ token: i0.ElementRef }], target: i0.ɵɵFactoryTarget.Component });
2283
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.13", type: SubTabsComponent, isStandalone: true, selector: "wco-sub-tabs", inputs: { selectedIndex: "selectedIndex" }, outputs: { tabChange: "tabChange" }, host: { listeners: { "click": "onClick($event)" } }, usesOnChanges: true, ngImport: i0, template: `<ng-content></ng-content>`, isInline: true, styles: ["wco-sub-tabs{display:inline-flex;position:relative;background:#e5e5e5;border-radius:8px;padding:4px}wco-sub-tabs>.wco-sub-tabs__indicator{position:absolute;top:4px;bottom:4px;left:var(--subtab-left, 0px);width:var(--subtab-width, 0px);background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f;pointer-events:none;z-index:0;transition:left .22s cubic-bezier(.645,.045,.355,1),width .15s cubic-bezier(.645,.045,.355,1)}wco-sub-tabs>*:not(.wco-sub-tabs__indicator){position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:var(--wco-font-size-xs);font-weight:500;color:var(--wco-color-neutral-700);border-radius:6px;white-space:nowrap;line-height:1.4;transition:color .2s ease}wco-sub-tabs>*:not(.wco-sub-tabs__indicator):focus-visible{outline:2px solid var(--wco-color-primary-400);outline-offset:-2px}wco-sub-tabs>*.wco-subtab-selected{color:var(--wco-color-neutral-900);font-weight:600}\n"], encapsulation: i0.ViewEncapsulation.None });
2284
+ }
2285
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImport: i0, type: SubTabsComponent, decorators: [{
2286
+ type: Component,
2287
+ args: [{ selector: 'wco-sub-tabs', standalone: true, imports: [], template: `<ng-content></ng-content>`, encapsulation: ViewEncapsulation.None, styles: ["wco-sub-tabs{display:inline-flex;position:relative;background:#e5e5e5;border-radius:8px;padding:4px}wco-sub-tabs>.wco-sub-tabs__indicator{position:absolute;top:4px;bottom:4px;left:var(--subtab-left, 0px);width:var(--subtab-width, 0px);background:#fff;border-radius:6px;box-shadow:0 1px 3px #0000001f;pointer-events:none;z-index:0;transition:left .22s cubic-bezier(.645,.045,.355,1),width .15s cubic-bezier(.645,.045,.355,1)}wco-sub-tabs>*:not(.wco-sub-tabs__indicator){position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;text-align:center;padding:6px 12px;background:transparent;border:none;cursor:pointer;font-size:var(--wco-font-size-xs);font-weight:500;color:var(--wco-color-neutral-700);border-radius:6px;white-space:nowrap;line-height:1.4;transition:color .2s ease}wco-sub-tabs>*:not(.wco-sub-tabs__indicator):focus-visible{outline:2px solid var(--wco-color-primary-400);outline-offset:-2px}wco-sub-tabs>*.wco-subtab-selected{color:var(--wco-color-neutral-900);font-weight:600}\n"] }]
2288
+ }], ctorParameters: () => [{ type: i0.ElementRef }], propDecorators: { selectedIndex: [{
2289
+ type: Input
2290
+ }], tabChange: [{
2291
+ type: Output
2292
+ }], onClick: [{
2293
+ type: HostListener,
2294
+ args: ['click', ['$event']]
2295
+ }] } });
2296
+
2190
2297
  /*
2191
2298
  * Public API Surface of ngx-fenixds
2192
2299
  */
@@ -2195,5 +2302,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.13", ngImpo
2195
2302
  * Generated bundle index. Do not edit.
2196
2303
  */
2197
2304
 
2198
- export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, StepperGroupComponent, TableComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent };
2305
+ export { MsgBoxFeedbackComponent, PaginationComponent, PreviewFileComponent, SmartSelectComponent, SmartSelectOptionComponent, StepComponent, StepperComponent, StepperGroupComponent, SubTabsComponent, TableComponent, TabsComponent, TimelineComponent, UploadComponent, UserAvatarComponent, WcoModalAlertComponent };
2199
2306
  //# sourceMappingURL=wizco-fenixds-ngx.mjs.map