@taiga-ui/kit 4.32.0-canary.6ddb93c → 4.32.0-canary.e87e07e
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.
|
@@ -7,7 +7,7 @@ import { tuiGetClosestFocusable, tuiIsNativeFocused } from '@taiga-ui/cdk/utils/
|
|
|
7
7
|
import { tuiClamp, tuiToInt } from '@taiga-ui/cdk/utils/math';
|
|
8
8
|
import { tuiPx } from '@taiga-ui/cdk/utils/miscellaneous';
|
|
9
9
|
import { TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
10
|
-
import { TuiChevron } from '@taiga-ui/kit/directives';
|
|
10
|
+
import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
|
|
11
11
|
import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
|
|
12
12
|
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
13
13
|
import { filter, map, tap } from 'rxjs';
|
|
@@ -208,4 +208,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
|
|
|
208
208
|
type: Input,
|
|
209
209
|
args: ['activeItemIndex']
|
|
210
210
|
}] } });
|
|
211
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDcEQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3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QyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQVF0QyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlVLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkFNSSxTQUFTO3NCQURuQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpSXNFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUdldENsb3Nlc3RGb2N1c2FibGUsIHR1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlUb0ludH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMnO1xuaW1wb3J0IHtUVUlfTU9SRV9XT1JEfSBmcm9tICdAdGFpZ2EtdWkva2l0L3Rva2Vucyc7XG5pbXBvcnQgdHlwZSB7UG9seW1vcnBoZXVzQ29udGVudH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge1BvbHltb3JwaGV1c091dGxldH0gZnJvbSAnQHRhaWdhLXVpL3BvbHltb3JwaGV1cyc7XG5pbXBvcnQge2ZpbHRlciwgbWFwLCB0YXB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1R1aVRhYn0gZnJvbSAnLi90YWIuZGlyZWN0aXZlJztcbmltcG9ydCB7VFVJX1RBQlNfT1BUSU9OU30gZnJvbSAnLi90YWJzLm9wdGlvbnMnO1xuaW1wb3J0IHtUVUlfVEFCU19QUk9WSURFUlMsIFRVSV9UQUJTX1JFRlJFU0h9IGZyb20gJy4vdGFicy5wcm92aWRlcnMnO1xuaW1wb3J0IHtUdWlUYWJzSG9yaXpvbnRhbH0gZnJvbSAnLi90YWJzLWhvcml6b250YWwuZGlyZWN0aXZlJztcblxuQENvbXBvbmVudCh7XG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBzZWxlY3RvcjogJ3R1aS10YWJzLXdpdGgtbW9yZSwgbmF2W3R1aVRhYnNXaXRoTW9yZV0nLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBQb2x5bW9ycGhldXNPdXRsZXQsXG4gICAgICAgIFR1aUNoZXZyb24sXG4gICAgICAgIFR1aURyb3Bkb3duLFxuICAgICAgICBUdWlUYWIsXG4gICAgICAgIFR1aVRhYnNIb3Jpem9udGFsLFxuICAgIF0sXG4gICAgdGVtcGxhdGVVcmw6ICcuL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwnLFxuICAgIHN0eWxlVXJsczogWycuL3RhYnMtd2l0aC1tb3JlLnN0eWxlLmxlc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBwcm92aWRlcnM6IFRVSV9UQUJTX1BST1ZJREVSUyxcbiAgICBob3N0OiB7XG4gICAgICAgICdbYXR0ci5kYXRhLXNpemVdJzogJ3NpemUnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aVRhYnNXaXRoTW9yZSBpbXBsZW1lbnRzIEFmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQge1xuICAgIEBWaWV3Q2hpbGQoVHVpVGFiLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBtb3JlQnV0dG9uPzogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG5cbiAgICBAVmlld0NoaWxkKFR1aVRhYnNIb3Jpem9udGFsLCB7cmVhZDogRWxlbWVudFJlZn0pXG4gICAgcHJpdmF0ZSByZWFkb25seSBkaXI/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIHByaXZhdGUgcmVhZG9ubHkgb3B0aW9ucyA9IGluamVjdChUVUlfVEFCU19PUFRJT05TKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IHJlZnJlc2gkID0gaW5qZWN0KFRVSV9UQUJTX1JFRlJFU0gpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZWwgPSB0dWlJbmplY3RFbGVtZW50KCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuICAgIHByaXZhdGUgbWF4SW5kZXggPSBJbmZpbml0eTtcblxuICAgIEBDb250ZW50Q2hpbGRyZW4oVHVpSXRlbSwge3JlYWQ6IFRlbXBsYXRlUmVmfSlcbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgaXRlbXM6IFF1ZXJ5TGlzdDxUZW1wbGF0ZVJlZjxSZWNvcmQ8c3RyaW5nLCB1bmtub3duPj4+ID1cbiAgICAgICAgRU1QVFlfUVVFUlk7XG5cbiAgICBwcm90ZWN0ZWQgcmVhZG9ubHkgbW9yZVdvcmQkID0gaW5qZWN0KFRVSV9NT1JFX1dPUkQpO1xuICAgIHByb3RlY3RlZCBvcGVuID0gZmFsc2U7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBzaXplOiBUdWlTaXplTCA9IHRoaXMub3B0aW9ucy5zaXplO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgbW9yZUNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBkcm9wZG93bkNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpQ29udGV4dDxUdWlBY3RpdmVab25lPj47XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyB1bmRlcmxpbmUgPSB0aGlzLm9wdGlvbnMudW5kZXJsaW5lO1xuXG4gICAgQElucHV0KClcbiAgICBwdWJsaWMgaXRlbXNMaW1pdCA9IHRoaXMub3B0aW9ucy5pdGVtc0xpbWl0O1xuXG4gICAgQE91dHB1dCgpXG4gICAgcHVibGljIHJlYWRvbmx5IGFjdGl2ZUl0ZW1JbmRleENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8bnVtYmVyPigpO1xuXG4gICAgcHVibGljIGFjdGl2ZUl0ZW1JbmRleCA9IDA7XG5cbiAgICBASW5wdXQoJ2FjdGl2ZUl0ZW1JbmRleCcpXG4gICAgcHVibGljIHNldCBpdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5hY3RpdmVJdGVtSW5kZXggPSBhY3RpdmVJdGVtSW5kZXg7XG4gICAgICAgIHRoaXMubWF4SW5kZXggPSB0aGlzLmdldE1heEluZGV4KCk7XG4gICAgfVxuXG4gICAgcHVibGljIGdldCBsYXN0VmlzaWJsZUluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGlmICh0aGlzLml0ZW1zTGltaXQgKyAxID49IHRoaXMuaXRlbXMubGVuZ3RoKSB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5tYXhJbmRleDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IG9mZnNldCA9XG4gICAgICAgICAgICB0aGlzLml0ZW1zTGltaXQgLSAxID4gdGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmVcbiAgICAgICAgICAgICAgICA/IDFcbiAgICAgICAgICAgICAgICA6IDI7XG5cbiAgICAgICAgcmV0dXJuIE1hdGgubWluKHRoaXMuaXRlbXNMaW1pdCAtIG9mZnNldCwgdGhpcy5tYXhJbmRleCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5yZWZyZXNoJFxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKCgpID0+IHRoaXMuZ2V0TWF4SW5kZXgoKSksXG4gICAgICAgICAgICAgICAgdGFwKCgpID0+IHRoaXMucmVmcmVzaCgpKSxcbiAgICAgICAgICAgICAgICBmaWx0ZXIoKG1heEluZGV4KSA9PiB0aGlzLm1heEluZGV4ICE9PSBtYXhJbmRleCksXG4gICAgICAgICAgICApXG4gICAgICAgICAgICAuc3Vic2NyaWJlKChtYXhJbmRleCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMubWF4SW5kZXggPSBtYXhJbmRleDtcbiAgICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdDaGVja2VkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZnJlc2goKTtcbiAgICB9XG5cbiAgICAvLyBUT0RPOiBJbXByb3ZlIHBlcmZvcm1hbmNlXG4gICAgcHJvdGVjdGVkIGdldCB0YWJzKCk6IHJlYWRvbmx5IEhUTUxFbGVtZW50W10ge1xuICAgICAgICByZXR1cm4gQXJyYXkuZnJvbTxIVE1MRWxlbWVudD4odGhpcy5lbC5xdWVyeVNlbGVjdG9yQWxsKCdbdHVpVGFiXScpKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQgfCBudWxsIHtcbiAgICAgICAgY29uc3Qge3RhYnN9ID0gdGhpcztcbiAgICAgICAgY29uc3Qgc2FmZUFjdGl2ZUluZGV4ID0gdHVpQ2xhbXAodGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgMCwgMCwgdGFicy5sZW5ndGggLSAyKTtcblxuICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSB8fCB0aGlzLmxhc3RWaXNpYmxlSW5kZXggPj0gc2FmZUFjdGl2ZUluZGV4XG4gICAgICAgICAgICA/IHRhYnNbc2FmZUFjdGl2ZUluZGV4XSB8fCBudWxsXG4gICAgICAgICAgICA6IHRoaXMubW9yZUJ1dHRvbj8ubmF0aXZlRWxlbWVudCB8fCBudWxsO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNNb3JlQWxvbmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggPCAwICYmICF0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNNb3JlVmlzaWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuaXRlbXMubGVuZ3RoIC0gMTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzTW9yZUZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5tb3JlQnV0dG9uICYmIHR1aUlzTmF0aXZlRm9jdXNlZCh0aGlzLm1vcmVCdXR0b24ubmF0aXZlRWxlbWVudCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc01vcmVBY3RpdmUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICB0aGlzLm9wZW4gfHxcbiAgICAgICAgICAgICghdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZSAmJiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggPCB0aGlzLmFjdGl2ZUl0ZW1JbmRleClcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BY3RpdmVJdGVtSW5kZXhDaGFuZ2UoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVJdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25DbGljayhpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChpbmRleCk7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3dSaWdodChldmVudDogRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKHR1aUlzRWxlbWVudChldmVudC50YXJnZXQpICYmIHR1aUlzTmF0aXZlRm9jdXNlZChldmVudC50YXJnZXQpKSB7XG4gICAgICAgICAgICB0aGlzLmZvY3VzTW9yZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uQXJyb3dMZWZ0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBsZXQgaW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG5cbiAgICAgICAgd2hpbGUgKGluZGV4ID49IDApIHtcbiAgICAgICAgICAgIHRhYnNbaW5kZXhdPy5mb2N1cygpO1xuXG4gICAgICAgICAgICBpZiAodHVpSXNOYXRpdmVGb2N1c2VkKHRhYnNbaW5kZXhdKSkge1xuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5kZXgtLTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbldyYXBwZXJBcnJvdyhcbiAgICAgICAgZXZlbnQ6IEV2ZW50LFxuICAgICAgICB3cmFwcGVyOiBIVE1MRWxlbWVudCxcbiAgICAgICAgcHJldmlvdXM6IGJvb2xlYW4sXG4gICAgKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQgPSBldmVudC50YXJnZXQgYXMgSFRNTEJ1dHRvbkVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IHRhcmdldCA9IHR1aUdldENsb3Nlc3RGb2N1c2FibGUoe2luaXRpYWw6IGJ1dHRvbiwgcm9vdDogd3JhcHBlciwgcHJldmlvdXN9KTtcblxuICAgICAgICBpZiAodGFyZ2V0KSB7XG4gICAgICAgICAgICB0YXJnZXQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb3RlY3RlZCBpc092ZXJmbG93bihpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCAhPT0gdGhpcy5hY3RpdmVJdGVtSW5kZXggfHwgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIHNob3VsZFNob3coaW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gaW5kZXggPiB0aGlzLmxhc3RWaXNpYmxlSW5kZXggJiYgdGhpcy5pc092ZXJmbG93bihpbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXQgbWFyZ2luKCk6IG51bWJlciB7XG4gICAgICAgIHJldHVybiB0aGlzLnNpemUgPT09ICdsJyA/IDI0IDogMTY7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c01vcmUoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLm1vcmVCdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIGdldE1heEluZGV4KCk6IG51bWJlciB7XG4gICAgICAgIGNvbnN0IHt0YWJzLCBhY3RpdmVJdGVtSW5kZXgsIG1hcmdpbn0gPSB0aGlzO1xuXG4gICAgICAgIGlmICh0YWJzLmxlbmd0aCA8IDIpIHtcbiAgICAgICAgICAgIHJldHVybiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qge2V4cG9zZUFjdGl2ZSwgbWluTW9yZVdpZHRofSA9IHRoaXMub3B0aW9ucztcbiAgICAgICAgY29uc3Qge2NsaWVudFdpZHRofSA9IHRoaXMuZWw7XG4gICAgICAgIGNvbnN0IGFjdGl2ZSA9IHRhYnNbYWN0aXZlSXRlbUluZGV4XTtcbiAgICAgICAgY29uc3QgYWN0aXZlV2lkdGggPSBhY3RpdmU/LnNjcm9sbFdpZHRoID8/IDA7XG4gICAgICAgIGNvbnN0IG1vcmVXaWR0aCA9IE1hdGgubWF4KHRhYnNbdGFicy5sZW5ndGggLSAxXT8uc2Nyb2xsV2lkdGggPz8gMCwgbWluTW9yZVdpZHRoKTtcbiAgICAgICAgbGV0IG1heEluZGV4ID0gdGFicy5sZW5ndGggLSAyO1xuICAgICAgICBsZXQgdG90YWwgPVxuICAgICAgICAgICAgdGFicy5yZWR1Y2UoKGFjYywge3Njcm9sbFdpZHRofSkgPT4gYWNjICsgc2Nyb2xsV2lkdGgsIDApICtcbiAgICAgICAgICAgIG1heEluZGV4ICogbWFyZ2luIC1cbiAgICAgICAgICAgICh0YWJzW3RhYnMubGVuZ3RoIC0gMV0/LnNjcm9sbFdpZHRoID8/IDApO1xuXG4gICAgICAgIGlmIChOdW1iZXIuaXNOYU4odG90YWwpIHx8IHRvdGFsIDw9IGNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICByZXR1cm4gSW5maW5pdHk7XG4gICAgICAgIH1cblxuICAgICAgICB3aGlsZSAobWF4SW5kZXgpIHtcbiAgICAgICAgICAgIHRvdGFsIC09ICh0YWJzW21heEluZGV4XT8uc2Nyb2xsV2lkdGggPz8gMCkgKyBtYXJnaW47XG4gICAgICAgICAgICBtYXhJbmRleC0tO1xuXG4gICAgICAgICAgICBjb25zdCBhY3RpdmVEaXNwbGFjZWQgPSBleHBvc2VBY3RpdmUgJiYgYWN0aXZlSXRlbUluZGV4ID4gbWF4SW5kZXg7XG4gICAgICAgICAgICBjb25zdCBhY3RpdmVPZmZzZXQgPSBhY3RpdmVEaXNwbGFjZWQgPyBhY3RpdmVXaWR0aCArIG1hcmdpbiA6IDA7XG4gICAgICAgICAgICBjb25zdCBjdXJyZW50V2lkdGggPSB0b3RhbCArIGFjdGl2ZU9mZnNldCArIG1vcmVXaWR0aCArIG1hcmdpbjtcbiAgICAgICAgICAgIC8vIE5lZWRlZCBmb3IgZGlmZmVyZW50IHJvdW5kaW5nIG9mIHZpc2libGUgYW5kIGhpZGRlbiBlbGVtZW50cyBzY3JvbGxXaWR0aFxuICAgICAgICAgICAgY29uc3Qgc2FmZXR5T2Zmc2V0ID0gdHVpVG9JbnQodGhpcy5tYXhJbmRleCA9PT0gbWF4SW5kZXggLSAxKTtcblxuICAgICAgICAgICAgaWYgKGN1cnJlbnRXaWR0aCArIHNhZmV0eU9mZnNldCA8IGNsaWVudFdpZHRoKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG1heEluZGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIC0xO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQWN0aXZlSXRlbUluZGV4KGFjdGl2ZUl0ZW1JbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaXRlbUluZGV4ID0gYWN0aXZlSXRlbUluZGV4O1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleENoYW5nZS5lbWl0KGFjdGl2ZUl0ZW1JbmRleCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZWZyZXNoKCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7b2Zmc2V0TGVmdCA9IDAsIG9mZnNldFdpZHRoID0gMH0gPSB0aGlzLmFjdGl2ZUVsZW1lbnQgfHwge307XG5cbiAgICAgICAgdGhpcy5kaXI/Lm5hdGl2ZUVsZW1lbnQuc3R5bGUuc2V0UHJvcGVydHkoJy0tdC1sZWZ0JywgdHVpUHgob2Zmc2V0TGVmdCkpO1xuICAgICAgICB0aGlzLmRpcj8ubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LXdpZHRoJywgdHVpUHgob2Zmc2V0V2lkdGgpKTtcbiAgICB9XG59XG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiaXRlbXMuY2hhbmdlcyB8IGFzeW5jXCIgLz5cbjx0dWktdGFic1xuICAgIGNsYXNzPVwidC10YWJzXCJcbiAgICBbYWN0aXZlSXRlbUluZGV4XT1cImFjdGl2ZUl0ZW1JbmRleFwiXG4gICAgW3NpemVdPVwic2l6ZVwiXG4gICAgW3VuZGVybGluZV09XCJ1bmRlcmxpbmVcIlxuICAgIChhY3RpdmVJdGVtSW5kZXhDaGFuZ2UpPVwib25BY3RpdmVJdGVtSW5kZXhDaGFuZ2UoJGV2ZW50KVwiXG4gICAgKGtleWRvd24uYXJyb3dSaWdodCk9XCJvbkFycm93UmlnaHQoJGV2ZW50KVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICAgKm5nSWY9XCJpbmRleCA8PSBsYXN0VmlzaWJsZUluZGV4OyBlbHNlIGhpZGRlblwiXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCJcbiAgICAgICAgLz5cbiAgICAgICAgPG5nLXRlbXBsYXRlICNoaWRkZW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ0LWZsZXhcIlxuICAgICAgICAgICAgICAgIFtjbGFzcy50LW92ZXJmbG93bl09XCJpc092ZXJmbG93bihpbmRleClcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwiaXRlbVwiIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvdHVpLXRhYnM+XG5cbjxidXR0b25cbiAgICAqbmdJZj1cIm1vcmVDb250ZW50OyBlbHNlIGNoZXZyb25cIlxuICAgIHR1aVRhYlxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIGNsYXNzPVwidC1tb3JlXCJcbiAgICBbY2xhc3MuX2FjdGl2ZV09XCJpc01vcmVBY3RpdmVcIlxuICAgIFtjbGFzcy50LW5vLW1hcmdpbl09XCJpc01vcmVBbG9uZVwiXG4gICAgW2NsYXNzLnQtb3ZlcmZsb3duXT1cIiFpc01vcmVWaXNpYmxlXCJcbiAgICBbdGFiSW5kZXhdPVwiaXNNb3JlRm9jdXNhYmxlID8gMCA6IC0xXCJcbiAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50IHx8IGRyb3Bkb3duXCJcbiAgICBbKHR1aURyb3Bkb3duT3BlbildPVwib3BlblwiXG4gICAgKGtleWRvd24uYXJyb3dMZWZ0LnByZXZlbnQpPVwib25BcnJvd0xlZnQoKVwiXG4+XG4gICAgPG5nLWNvbnRhaW5lciAqcG9seW1vcnBoZXVzT3V0bGV0PVwibW9yZUNvbnRlbnQgYXMgdGV4dFwiPlxuICAgICAgICB7eyB0ZXh0IH19XG4gICAgPC9uZy1jb250YWluZXI+XG48L2J1dHRvbj5cbjxuZy10ZW1wbGF0ZSAjY2hldnJvbj5cbiAgICA8YnV0dG9uXG4gICAgICAgIHR1aUNoZXZyb25cbiAgICAgICAgdHVpVGFiXG4gICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICBjbGFzcz1cInQtbW9yZVwiXG4gICAgICAgIFtjbGFzcy5fYWN0aXZlXT1cImlzTW9yZUFjdGl2ZVwiXG4gICAgICAgIFtjbGFzcy50LW5vLW1hcmdpbl09XCJpc01vcmVBbG9uZVwiXG4gICAgICAgIFtjbGFzcy50LW92ZXJmbG93bl09XCIhaXNNb3JlVmlzaWJsZVwiXG4gICAgICAgIFt0YWJJbmRleF09XCJpc01vcmVGb2N1c2FibGUgPyAwIDogLTFcIlxuICAgICAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50IHx8IGRyb3Bkb3duXCJcbiAgICAgICAgWyh0dWlEcm9wZG93bk9wZW4pXT1cIm9wZW5cIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvbkFycm93TGVmdCgpXCJcbiAgICA+XG4gICAgICAgIHt7IG1vcmVXb3JkJCB8IGFzeW5jIH19XG4gICAgPC9idXR0b24+XG48L25nLXRlbXBsYXRlPlxuPG5nLXRlbXBsYXRlICNkcm9wZG93bj5cbiAgICA8ZGl2XG4gICAgICAgICNlbGVtZW50XG4gICAgICAgIGNsYXNzPVwidC1kcm9wZG93blwiXG4gICAgICAgIFthdHRyLmRhdGEtc2l6ZV09XCJzaXplXCJcbiAgICAgICAgKGtleWRvd24uYXJyb3dEb3duLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCBmYWxzZSlcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd1VwLnByZXZlbnQpPVwib25XcmFwcGVyQXJyb3coJGV2ZW50LCBlbGVtZW50LCB0cnVlKVwiXG4gICAgPlxuICAgICAgICA8ZGl2XG4gICAgICAgICAgICAqbmdGb3I9XCJsZXQgaXRlbSBvZiBpdGVtczsgbGV0IGluZGV4ID0gaW5kZXhcIlxuICAgICAgICAgICAgY2xhc3M9XCJ0LWRyb3Bkb3duLWl0ZW1cIlxuICAgICAgICAgICAgKHR1aS10YWItYWN0aXZhdGUpPVwib25DbGljayhpbmRleClcIlxuICAgICAgICA+XG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvdWxkU2hvdyhpbmRleClcIj5cbiAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJpdGVtXCIgLz5cbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbjwvbmctdGVtcGxhdGU+XG4iXX0=
|
|
211
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFicy13aXRoLW1vcmUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva2l0L2NvbXBvbmVudHMvdGFicy90YWJzLXdpdGgtbW9yZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9raXQvY29tcG9uZW50cy90YWJzL3RhYnMtd2l0aC1tb3JlLnRlbXBsYXRlLmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLFlBQVksRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBRTdDLE9BQU8sRUFDSCx1QkFBdUIsRUFDdkIsaUJBQWlCLEVBQ2pCLFNBQVMsRUFDVCxlQUFlLEVBQ2YsVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLE1BQU0sRUFDTixXQUFXLEVBQ1gsU0FBUyxHQUNaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQztBQUVwRCxPQUFPLEVBQUMsT0FBTyxFQUFDLE1BQU0sK0JBQStCLENBQUM7QUFFdEQsT0FBTyxFQUFDLGdCQUFnQixFQUFFLFlBQVksRUFBQyxNQUFNLHlCQUF5QixDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxzQkFBc0IsRUFBRSxrQkFBa0IsRUFBQyxNQUFNLDJCQUEyQixDQUFDO0FBQ3JGLE9BQU8sRUFBQyxRQUFRLEVBQUUsUUFBUSxFQUFDLE1BQU0sMEJBQTBCLENBQUM7QUFDNUQsT0FBTyxFQUFDLEtBQUssRUFBQyxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUUvRCxPQUFPLEVBQUMsVUFBVSxFQUFDLE1BQU0sa0NBQWtDLENBQUM7QUFDNUQsT0FBTyxFQUFDLGFBQWEsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBRW5ELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLHdCQUF3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QyxJQUFJLEVBQUUsV0FBVyxFQUFDO2dCQVF0QyxJQUFJO3NCQURWLEtBQUs7Z0JBSUMsV0FBVztzQkFEakIsS0FBSztnQkFJQyxlQUFlO3NCQURyQixLQUFLO2dCQUlDLFNBQVM7c0JBRGYsS0FBSztnQkFJQyxVQUFVO3NCQURoQixLQUFLO2dCQUlVLHFCQUFxQjtzQkFEcEMsTUFBTTtnQkFNSSxTQUFTO3NCQURuQixLQUFLO3VCQUFDLGlCQUFpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHR5cGUge0FmdGVyVmlld0NoZWNrZWQsIEFmdGVyVmlld0luaXQsIFF1ZXJ5TGlzdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENoYW5nZURldGVjdG9yUmVmLFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGRyZW4sXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE91dHB1dCxcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtFTVBUWV9RVUVSWX0gZnJvbSAnQHRhaWdhLXVpL2Nkay9jb25zdGFudHMnO1xuaW1wb3J0IHR5cGUge1R1aUFjdGl2ZVpvbmV9IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9hY3RpdmUtem9uZSc7XG5pbXBvcnQge1R1aUl0ZW19IGZyb20gJ0B0YWlnYS11aS9jZGsvZGlyZWN0aXZlcy9pdGVtJztcbmltcG9ydCB0eXBlIHtUdWlDb250ZXh0fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3R5cGVzJztcbmltcG9ydCB7dHVpSW5qZWN0RWxlbWVudCwgdHVpSXNFbGVtZW50fSBmcm9tICdAdGFpZ2EtdWkvY2RrL3V0aWxzL2RvbSc7XG5pbXBvcnQge3R1aUdldENsb3Nlc3RGb2N1c2FibGUsIHR1aUlzTmF0aXZlRm9jdXNlZH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9mb2N1cyc7XG5pbXBvcnQge3R1aUNsYW1wLCB0dWlUb0ludH0gZnJvbSAnQHRhaWdhLXVpL2Nkay91dGlscy9tYXRoJztcbmltcG9ydCB7dHVpUHh9IGZyb20gJ0B0YWlnYS11aS9jZGsvdXRpbHMvbWlzY2VsbGFuZW91cyc7XG5pbXBvcnQge1R1aURyb3Bkb3dufSBmcm9tICdAdGFpZ2EtdWkvY29yZS9kaXJlY3RpdmVzL2Ryb3Bkb3duJztcbmltcG9ydCB0eXBlIHtUdWlTaXplTH0gZnJvbSAnQHRhaWdhLXVpL2NvcmUvdHlwZXMnO1xuaW1wb3J0IHtUdWlDaGV2cm9ufSBmcm9tICdAdGFpZ2EtdWkva2l0L2RpcmVjdGl2ZXMvY2hldnJvbic7XG5pbXBvcnQge1RVSV9NT1JFX1dPUkR9IGZyb20gJ0B0YWlnYS11aS9raXQvdG9rZW5zJztcbmltcG9ydCB0eXBlIHtQb2x5bW9ycGhldXNDb250ZW50fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7UG9seW1vcnBoZXVzT3V0bGV0fSBmcm9tICdAdGFpZ2EtdWkvcG9seW1vcnBoZXVzJztcbmltcG9ydCB7ZmlsdGVyLCBtYXAsIHRhcH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7VHVpVGFifSBmcm9tICcuL3RhYi5kaXJlY3RpdmUnO1xuaW1wb3J0IHtUVUlfVEFCU19PUFRJT05TfSBmcm9tICcuL3RhYnMub3B0aW9ucyc7XG5pbXBvcnQge1RVSV9UQUJTX1BST1ZJREVSUywgVFVJX1RBQlNfUkVGUkVTSH0gZnJvbSAnLi90YWJzLnByb3ZpZGVycyc7XG5pbXBvcnQge1R1aVRhYnNIb3Jpem9udGFsfSBmcm9tICcuL3RhYnMtaG9yaXpvbnRhbC5kaXJlY3RpdmUnO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIHNlbGVjdG9yOiAndHVpLXRhYnMtd2l0aC1tb3JlLCBuYXZbdHVpVGFic1dpdGhNb3JlXScsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBDb21tb25Nb2R1bGUsXG4gICAgICAgIFBvbHltb3JwaGV1c091dGxldCxcbiAgICAgICAgVHVpQ2hldnJvbixcbiAgICAgICAgVHVpRHJvcGRvd24sXG4gICAgICAgIFR1aVRhYixcbiAgICAgICAgVHVpVGFic0hvcml6b250YWwsXG4gICAgXSxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGFicy13aXRoLW1vcmUudGVtcGxhdGUuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFicy13aXRoLW1vcmUuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogVFVJX1RBQlNfUFJPVklERVJTLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRhdGEtc2l6ZV0nOiAnc2l6ZScsXG4gICAgfSxcbn0pXG5leHBvcnQgY2xhc3MgVHVpVGFic1dpdGhNb3JlIGltcGxlbWVudHMgQWZ0ZXJWaWV3Q2hlY2tlZCwgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgQFZpZXdDaGlsZChUdWlUYWIsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IG1vcmVCdXR0b24/OiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoVHVpVGFic0hvcml6b250YWwsIHtyZWFkOiBFbGVtZW50UmVmfSlcbiAgICBwcml2YXRlIHJlYWRvbmx5IGRpcj86IEVsZW1lbnRSZWY8SFRNTEJ1dHRvbkVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSByZWFkb25seSBvcHRpb25zID0gaW5qZWN0KFRVSV9UQUJTX09QVElPTlMpO1xuICAgIHByaXZhdGUgcmVhZG9ubHkgcmVmcmVzaCQgPSBpbmplY3QoVFVJX1RBQlNfUkVGUkVTSCk7XG4gICAgcHJpdmF0ZSByZWFkb25seSBlbCA9IHR1aUluamVjdEVsZW1lbnQoKTtcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XG4gICAgcHJpdmF0ZSBtYXhJbmRleCA9IEluZmluaXR5O1xuXG4gICAgQENvbnRlbnRDaGlsZHJlbihUdWlJdGVtLCB7cmVhZDogVGVtcGxhdGVSZWZ9KVxuICAgIHByb3RlY3RlZCByZWFkb25seSBpdGVtczogUXVlcnlMaXN0PFRlbXBsYXRlUmVmPFJlY29yZDxzdHJpbmcsIHVua25vd24+Pj4gPVxuICAgICAgICBFTVBUWV9RVUVSWTtcblxuICAgIHByb3RlY3RlZCByZWFkb25seSBtb3JlV29yZCQgPSBpbmplY3QoVFVJX01PUkVfV09SRCk7XG4gICAgcHJvdGVjdGVkIG9wZW4gPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHNpemU6IFR1aVNpemVMID0gdGhpcy5vcHRpb25zLnNpemU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBtb3JlQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIGRyb3Bkb3duQ29udGVudDogUG9seW1vcnBoZXVzQ29udGVudDxUdWlDb250ZXh0PFR1aUFjdGl2ZVpvbmU+PjtcblxuICAgIEBJbnB1dCgpXG4gICAgcHVibGljIHVuZGVybGluZSA9IHRoaXMub3B0aW9ucy51bmRlcmxpbmU7XG5cbiAgICBASW5wdXQoKVxuICAgIHB1YmxpYyBpdGVtc0xpbWl0ID0gdGhpcy5vcHRpb25zLml0ZW1zTGltaXQ7XG5cbiAgICBAT3V0cHV0KClcbiAgICBwdWJsaWMgcmVhZG9ubHkgYWN0aXZlSXRlbUluZGV4Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBwdWJsaWMgYWN0aXZlSXRlbUluZGV4ID0gMDtcblxuICAgIEBJbnB1dCgnYWN0aXZlSXRlbUluZGV4JylcbiAgICBwdWJsaWMgc2V0IGl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXg6IG51bWJlcikge1xuICAgICAgICB0aGlzLmFjdGl2ZUl0ZW1JbmRleCA9IGFjdGl2ZUl0ZW1JbmRleDtcbiAgICAgICAgdGhpcy5tYXhJbmRleCA9IHRoaXMuZ2V0TWF4SW5kZXgoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0IGxhc3RWaXNpYmxlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgaWYgKHRoaXMuaXRlbXNMaW1pdCArIDEgPj0gdGhpcy5pdGVtcy5sZW5ndGgpIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm1heEluZGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3Qgb2Zmc2V0ID1cbiAgICAgICAgICAgIHRoaXMuaXRlbXNMaW1pdCAtIDEgPiB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZVxuICAgICAgICAgICAgICAgID8gMVxuICAgICAgICAgICAgICAgIDogMjtcblxuICAgICAgICByZXR1cm4gTWF0aC5taW4odGhpcy5pdGVtc0xpbWl0IC0gb2Zmc2V0LCB0aGlzLm1heEluZGV4KTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLnJlZnJlc2gkXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKCkgPT4gdGhpcy5nZXRNYXhJbmRleCgpKSxcbiAgICAgICAgICAgICAgICB0YXAoKCkgPT4gdGhpcy5yZWZyZXNoKCkpLFxuICAgICAgICAgICAgICAgIGZpbHRlcigobWF4SW5kZXgpID0+IHRoaXMubWF4SW5kZXggIT09IG1heEluZGV4KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKG1heEluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5tYXhJbmRleCA9IG1heEluZGV4O1xuICAgICAgICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIH0pO1xuICAgIH1cblxuICAgIHB1YmxpYyBuZ0FmdGVyVmlld0NoZWNrZWQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVmcmVzaCgpO1xuICAgIH1cblxuICAgIC8vIFRPRE86IEltcHJvdmUgcGVyZm9ybWFuY2VcbiAgICBwcm90ZWN0ZWQgZ2V0IHRhYnMoKTogcmVhZG9ubHkgSFRNTEVsZW1lbnRbXSB7XG4gICAgICAgIHJldHVybiBBcnJheS5mcm9tPEhUTUxFbGVtZW50Pih0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoJ1t0dWlUYWJdJykpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgYWN0aXZlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB8IG51bGwge1xuICAgICAgICBjb25zdCB7dGFic30gPSB0aGlzO1xuICAgICAgICBjb25zdCBzYWZlQWN0aXZlSW5kZXggPSB0dWlDbGFtcCh0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAwLCAwLCB0YWJzLmxlbmd0aCAtIDIpO1xuXG4gICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlIHx8IHRoaXMubGFzdFZpc2libGVJbmRleCA+PSBzYWZlQWN0aXZlSW5kZXhcbiAgICAgICAgICAgID8gdGFic1tzYWZlQWN0aXZlSW5kZXhdIHx8IG51bGxcbiAgICAgICAgICAgIDogdGhpcy5tb3JlQnV0dG9uPy5uYXRpdmVFbGVtZW50IHx8IG51bGw7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc01vcmVBbG9uZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMubGFzdFZpc2libGVJbmRleCA8IDAgJiYgIXRoaXMub3B0aW9ucy5leHBvc2VBY3RpdmU7XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGdldCBpc01vcmVWaXNpYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5sYXN0VmlzaWJsZUluZGV4IDwgdGhpcy5pdGVtcy5sZW5ndGggLSAxO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBnZXQgaXNNb3JlRm9jdXNhYmxlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLm1vcmVCdXR0b24gJiYgdHVpSXNOYXRpdmVGb2N1c2VkKHRoaXMubW9yZUJ1dHRvbi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgZ2V0IGlzTW9yZUFjdGl2ZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgIHRoaXMub3BlbiB8fFxuICAgICAgICAgICAgKCF0aGlzLm9wdGlvbnMuZXhwb3NlQWN0aXZlICYmIHRoaXMubGFzdFZpc2libGVJbmRleCA8IHRoaXMuYWN0aXZlSXRlbUluZGV4KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZShhY3RpdmVJdGVtSW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZUl0ZW1JbmRleChhY3RpdmVJdGVtSW5kZXgpO1xuICAgIH1cblxuICAgIHByb3RlY3RlZCBvbkNsaWNrKGluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZm9jdXNNb3JlKCk7XG4gICAgICAgIHRoaXMudXBkYXRlQWN0aXZlSXRlbUluZGV4KGluZGV4KTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BcnJvd1JpZ2h0KGV2ZW50OiBFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAodHVpSXNFbGVtZW50KGV2ZW50LnRhcmdldCkgJiYgdHVpSXNOYXRpdmVGb2N1c2VkKGV2ZW50LnRhcmdldCkpIHtcbiAgICAgICAgICAgIHRoaXMuZm9jdXNNb3JlKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgb25BcnJvd0xlZnQoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHt0YWJzfSA9IHRoaXM7XG4gICAgICAgIGxldCBpbmRleCA9IHRhYnMubGVuZ3RoIC0gMjtcblxuICAgICAgICB3aGlsZSAoaW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGFic1tpbmRleF0/LmZvY3VzKCk7XG5cbiAgICAgICAgICAgIGlmICh0dWlJc05hdGl2ZUZvY3VzZWQodGFic1tpbmRleF0pKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbmRleC0tO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIG9uV3JhcHBlckFycm93KFxuICAgICAgICBldmVudDogRXZlbnQsXG4gICAgICAgIHdyYXBwZXI6IEhUTUxFbGVtZW50LFxuICAgICAgICBwcmV2aW91czogYm9vbGVhbixcbiAgICApOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MQnV0dG9uRWxlbWVudDtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gdHVpR2V0Q2xvc2VzdEZvY3VzYWJsZSh7aW5pdGlhbDogYnV0dG9uLCByb290OiB3cmFwcGVyLCBwcmV2aW91c30pO1xuXG4gICAgICAgIGlmICh0YXJnZXQpIHtcbiAgICAgICAgICAgIHRhcmdldC5mb2N1cygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJvdGVjdGVkIGlzT3ZlcmZsb3duKGluZGV4OiBudW1iZXIpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIGluZGV4ICE9PSB0aGlzLmFjdGl2ZUl0ZW1JbmRleCB8fCAhdGhpcy5vcHRpb25zLmV4cG9zZUFjdGl2ZTtcbiAgICB9XG5cbiAgICBwcm90ZWN0ZWQgc2hvdWxkU2hvdyhpbmRleDogbnVtYmVyKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBpbmRleCA+IHRoaXMubGFzdFZpc2libGVJbmRleCAmJiB0aGlzLmlzT3ZlcmZsb3duKGluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBtYXJnaW4oKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuc2l6ZSA9PT0gJ2wnID8gMjQgOiAxNjtcbiAgICB9XG5cbiAgICBwcml2YXRlIGZvY3VzTW9yZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMubW9yZUJ1dHRvbikge1xuICAgICAgICAgICAgdGhpcy5tb3JlQnV0dG9uLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0TWF4SW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgY29uc3Qge3RhYnMsIGFjdGl2ZUl0ZW1JbmRleCwgbWFyZ2lufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKHRhYnMubGVuZ3RoIDwgMikge1xuICAgICAgICAgICAgcmV0dXJuIDA7XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZXhwb3NlQWN0aXZlLCBtaW5Nb3JlV2lkdGh9ID0gdGhpcy5vcHRpb25zO1xuICAgICAgICBjb25zdCB7Y2xpZW50V2lkdGh9ID0gdGhpcy5lbDtcbiAgICAgICAgY29uc3QgYWN0aXZlID0gdGFic1thY3RpdmVJdGVtSW5kZXhdO1xuICAgICAgICBjb25zdCBhY3RpdmVXaWR0aCA9IGFjdGl2ZT8uc2Nyb2xsV2lkdGggPz8gMDtcbiAgICAgICAgY29uc3QgbW9yZVdpZHRoID0gTWF0aC5tYXgodGFic1t0YWJzLmxlbmd0aCAtIDFdPy5zY3JvbGxXaWR0aCA/PyAwLCBtaW5Nb3JlV2lkdGgpO1xuICAgICAgICBsZXQgbWF4SW5kZXggPSB0YWJzLmxlbmd0aCAtIDI7XG4gICAgICAgIGxldCB0b3RhbCA9XG4gICAgICAgICAgICB0YWJzLnJlZHVjZSgoYWNjLCB7c2Nyb2xsV2lkdGh9KSA9PiBhY2MgKyBzY3JvbGxXaWR0aCwgMCkgK1xuICAgICAgICAgICAgbWF4SW5kZXggKiBtYXJnaW4gLVxuICAgICAgICAgICAgKHRhYnNbdGFicy5sZW5ndGggLSAxXT8uc2Nyb2xsV2lkdGggPz8gMCk7XG5cbiAgICAgICAgaWYgKE51bWJlci5pc05hTih0b3RhbCkgfHwgdG90YWwgPD0gY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgIHJldHVybiBJbmZpbml0eTtcbiAgICAgICAgfVxuXG4gICAgICAgIHdoaWxlIChtYXhJbmRleCkge1xuICAgICAgICAgICAgdG90YWwgLT0gKHRhYnNbbWF4SW5kZXhdPy5zY3JvbGxXaWR0aCA/PyAwKSArIG1hcmdpbjtcbiAgICAgICAgICAgIG1heEluZGV4LS07XG5cbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZURpc3BsYWNlZCA9IGV4cG9zZUFjdGl2ZSAmJiBhY3RpdmVJdGVtSW5kZXggPiBtYXhJbmRleDtcbiAgICAgICAgICAgIGNvbnN0IGFjdGl2ZU9mZnNldCA9IGFjdGl2ZURpc3BsYWNlZCA/IGFjdGl2ZVdpZHRoICsgbWFyZ2luIDogMDtcbiAgICAgICAgICAgIGNvbnN0IGN1cnJlbnRXaWR0aCA9IHRvdGFsICsgYWN0aXZlT2Zmc2V0ICsgbW9yZVdpZHRoICsgbWFyZ2luO1xuICAgICAgICAgICAgLy8gTmVlZGVkIGZvciBkaWZmZXJlbnQgcm91bmRpbmcgb2YgdmlzaWJsZSBhbmQgaGlkZGVuIGVsZW1lbnRzIHNjcm9sbFdpZHRoXG4gICAgICAgICAgICBjb25zdCBzYWZldHlPZmZzZXQgPSB0dWlUb0ludCh0aGlzLm1heEluZGV4ID09PSBtYXhJbmRleCAtIDEpO1xuXG4gICAgICAgICAgICBpZiAoY3VycmVudFdpZHRoICsgc2FmZXR5T2Zmc2V0IDwgY2xpZW50V2lkdGgpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbWF4SW5kZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gLTE7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB1cGRhdGVBY3RpdmVJdGVtSW5kZXgoYWN0aXZlSXRlbUluZGV4OiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pdGVtSW5kZXggPSBhY3RpdmVJdGVtSW5kZXg7XG4gICAgICAgIHRoaXMuYWN0aXZlSXRlbUluZGV4Q2hhbmdlLmVtaXQoYWN0aXZlSXRlbUluZGV4KTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlZnJlc2goKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtvZmZzZXRMZWZ0ID0gMCwgb2Zmc2V0V2lkdGggPSAwfSA9IHRoaXMuYWN0aXZlRWxlbWVudCB8fCB7fTtcblxuICAgICAgICB0aGlzLmRpcj8ubmF0aXZlRWxlbWVudC5zdHlsZS5zZXRQcm9wZXJ0eSgnLS10LWxlZnQnLCB0dWlQeChvZmZzZXRMZWZ0KSk7XG4gICAgICAgIHRoaXMuZGlyPy5uYXRpdmVFbGVtZW50LnN0eWxlLnNldFByb3BlcnR5KCctLXQtd2lkdGgnLCB0dWlQeChvZmZzZXRXaWR0aCkpO1xuICAgIH1cbn1cbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJpdGVtcy5jaGFuZ2VzIHwgYXN5bmNcIiAvPlxuPHR1aS10YWJzXG4gICAgY2xhc3M9XCJ0LXRhYnNcIlxuICAgIFthY3RpdmVJdGVtSW5kZXhdPVwiYWN0aXZlSXRlbUluZGV4XCJcbiAgICBbc2l6ZV09XCJzaXplXCJcbiAgICBbdW5kZXJsaW5lXT1cInVuZGVybGluZVwiXG4gICAgKGFjdGl2ZUl0ZW1JbmRleENoYW5nZSk9XCJvbkFjdGl2ZUl0ZW1JbmRleENoYW5nZSgkZXZlbnQpXCJcbiAgICAoa2V5ZG93bi5hcnJvd1JpZ2h0KT1cIm9uQXJyb3dSaWdodCgkZXZlbnQpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgICAqbmdJZj1cImluZGV4IDw9IGxhc3RWaXNpYmxlSW5kZXg7IGVsc2UgaGlkZGVuXCJcbiAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0XT1cIml0ZW1cIlxuICAgICAgICAvPlxuICAgICAgICA8bmctdGVtcGxhdGUgI2hpZGRlbj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICBjbGFzcz1cInQtZmxleFwiXG4gICAgICAgICAgICAgICAgW2NsYXNzLnQtb3ZlcmZsb3duXT1cImlzT3ZlcmZsb3duKGluZGV4KVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciBbbmdUZW1wbGF0ZU91dGxldF09XCJpdGVtXCIgLz5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L25nLXRlbXBsYXRlPlxuICAgIDwvbmctY29udGFpbmVyPlxuPC90dWktdGFicz5cblxuPGJ1dHRvblxuICAgICpuZ0lmPVwibW9yZUNvbnRlbnQ7IGVsc2UgY2hldnJvblwiXG4gICAgdHVpVGFiXG4gICAgdHlwZT1cImJ1dHRvblwiXG4gICAgY2xhc3M9XCJ0LW1vcmVcIlxuICAgIFtjbGFzcy5fYWN0aXZlXT1cImlzTW9yZUFjdGl2ZVwiXG4gICAgW2NsYXNzLnQtbm8tbWFyZ2luXT1cImlzTW9yZUFsb25lXCJcbiAgICBbY2xhc3MudC1vdmVyZmxvd25dPVwiIWlzTW9yZVZpc2libGVcIlxuICAgIFt0YWJJbmRleF09XCJpc01vcmVGb2N1c2FibGUgPyAwIDogLTFcIlxuICAgIFt0dWlEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnQgfHwgZHJvcGRvd25cIlxuICAgIFsodHVpRHJvcGRvd25PcGVuKV09XCJvcGVuXCJcbiAgICAoa2V5ZG93bi5hcnJvd0xlZnQucHJldmVudCk9XCJvbkFycm93TGVmdCgpXCJcbj5cbiAgICA8bmctY29udGFpbmVyICpwb2x5bW9ycGhldXNPdXRsZXQ9XCJtb3JlQ29udGVudCBhcyB0ZXh0XCI+XG4gICAgICAgIHt7IHRleHQgfX1cbiAgICA8L25nLWNvbnRhaW5lcj5cbjwvYnV0dG9uPlxuPG5nLXRlbXBsYXRlICNjaGV2cm9uPlxuICAgIDxidXR0b25cbiAgICAgICAgdHVpQ2hldnJvblxuICAgICAgICB0dWlUYWJcbiAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgIGNsYXNzPVwidC1tb3JlXCJcbiAgICAgICAgW2NsYXNzLl9hY3RpdmVdPVwiaXNNb3JlQWN0aXZlXCJcbiAgICAgICAgW2NsYXNzLnQtbm8tbWFyZ2luXT1cImlzTW9yZUFsb25lXCJcbiAgICAgICAgW2NsYXNzLnQtb3ZlcmZsb3duXT1cIiFpc01vcmVWaXNpYmxlXCJcbiAgICAgICAgW3RhYkluZGV4XT1cImlzTW9yZUZvY3VzYWJsZSA/IDAgOiAtMVwiXG4gICAgICAgIFt0dWlEcm9wZG93bl09XCJkcm9wZG93bkNvbnRlbnQgfHwgZHJvcGRvd25cIlxuICAgICAgICBbKHR1aURyb3Bkb3duT3BlbildPVwib3BlblwiXG4gICAgICAgIChrZXlkb3duLmFycm93TGVmdC5wcmV2ZW50KT1cIm9uQXJyb3dMZWZ0KClcIlxuICAgID5cbiAgICAgICAge3sgbW9yZVdvcmQkIHwgYXN5bmMgfX1cbiAgICA8L2J1dHRvbj5cbjwvbmctdGVtcGxhdGU+XG48bmctdGVtcGxhdGUgI2Ryb3Bkb3duPlxuICAgIDxkaXZcbiAgICAgICAgI2VsZW1lbnRcbiAgICAgICAgY2xhc3M9XCJ0LWRyb3Bkb3duXCJcbiAgICAgICAgW2F0dHIuZGF0YS1zaXplXT1cInNpemVcIlxuICAgICAgICAoa2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCk9XCJvbldyYXBwZXJBcnJvdygkZXZlbnQsIGVsZW1lbnQsIGZhbHNlKVwiXG4gICAgICAgIChrZXlkb3duLmFycm93VXAucHJldmVudCk9XCJvbldyYXBwZXJBcnJvdygkZXZlbnQsIGVsZW1lbnQsIHRydWUpXCJcbiAgICA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBpdGVtIG9mIGl0ZW1zOyBsZXQgaW5kZXggPSBpbmRleFwiXG4gICAgICAgICAgICBjbGFzcz1cInQtZHJvcGRvd24taXRlbVwiXG4gICAgICAgICAgICAodHVpLXRhYi1hY3RpdmF0ZSk9XCJvbkNsaWNrKGluZGV4KVwiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJzaG91bGRTaG93KGluZGV4KVwiPlxuICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKnBvbHltb3JwaGV1c091dGxldD1cIml0ZW1cIiAvPlxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
|
|
@@ -18,7 +18,7 @@ import { DOCUMENT, CommonModule } from '@angular/common';
|
|
|
18
18
|
import { tuiClamp, tuiToInt } from '@taiga-ui/cdk/utils/math';
|
|
19
19
|
import * as i2 from '@taiga-ui/core/directives/dropdown';
|
|
20
20
|
import { tuiDropdownOptionsProvider, TuiDropdown } from '@taiga-ui/core/directives/dropdown';
|
|
21
|
-
import { TuiChevron } from '@taiga-ui/kit/directives';
|
|
21
|
+
import { TuiChevron } from '@taiga-ui/kit/directives/chevron';
|
|
22
22
|
import { TUI_MORE_WORD } from '@taiga-ui/kit/tokens';
|
|
23
23
|
import { PolymorpheusOutlet } from '@taiga-ui/polymorpheus';
|
|
24
24
|
import { ResizeObserverService } from '@ng-web-apis/resize-observer';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-kit-components-tabs.mjs","sources":["../../../projects/kit/components/tabs/tab.directive.ts","../../../projects/kit/components/tabs/tabs.options.ts","../../../projects/kit/components/tabs/tabs.directive.ts","../../../projects/kit/components/tabs/tabs-horizontal.directive.ts","../../../projects/kit/components/tabs/tabs-vertical.directive.ts","../../../projects/kit/components/tabs/tabs.providers.ts","../../../projects/kit/components/tabs/tabs-with-more.component.ts","../../../projects/kit/components/tabs/tabs-with-more.template.html","../../../projects/kit/components/tabs/tabs.ts","../../../projects/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import type {OnDestroy} from '@angular/core';\nimport {Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {EMPTY, filter, merge, switchMap, take} from 'rxjs';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\n\n@Directive({\n standalone: true,\n selector:\n 'a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]',\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n },\n})\nexport class TuiTab implements OnDestroy {\n private readonly el = tuiInjectElement();\n private readonly rla = inject(RouterLinkActive, {optional: true});\n private readonly observer =\n this.rla &&\n inject(MutationObserverService, {optional: true})?.pipe(\n filter(() => !!this.rla?.isActive),\n );\n\n protected readonly sub = merge(\n this.observer || EMPTY,\n this.rla?.isActiveChange.pipe(filter(Boolean)) || EMPTY,\n this.el.matches('button')\n ? tuiTypedFromEvent(this.el, 'click').pipe(\n // Delaying execution until after all other click callbacks\n switchMap(() =>\n tuiTypedFromEvent(this.el.parentElement!, 'click').pipe(take(1)),\n ),\n )\n : EMPTY,\n )\n .pipe(takeUntilDestroyed())\n .subscribe(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, {bubbles: true})),\n );\n\n public ngOnDestroy(): void {\n if (tuiIsNativeFocused(this.el)) {\n this.el.blur();\n }\n }\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiTabsOptions {\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n readonly minMoreWidth: number;\n readonly underline: boolean | string;\n readonly size: TuiSizeL;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n minMoreWidth: 0,\n size: 'l',\n};\n\n/**\n * Default parameters for Tabs component\n */\nexport const TUI_TABS_OPTIONS = tuiCreateToken(TUI_TABS_DEFAULT_OPTIONS);\n\nexport function tuiTabsOptionsProvider(options: Partial<TuiTabsOptions>): Provider {\n return tuiProvideOptions(TUI_TABS_OPTIONS, options, TUI_TABS_DEFAULT_OPTIONS);\n}\n","import type {AfterViewChecked} from '@angular/core';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n inject,\n INJECTOR,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nimport {TUI_TAB_ACTIVATE} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./tabs.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-tabs',\n },\n})\nclass TuiTabsStyles {}\n\n@Directive({\n standalone: true,\n host: {\n '[attr.data-size]': 'size',\n [`(${TUI_TAB_ACTIVATE})`]: 'onActivate($event, $event.target)',\n },\n})\nexport class TuiTabsDirective implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = tuiWithStyles(TuiTabsStyles);\n\n @Input()\n public size: TuiSizeL = inject(TUI_TABS_OPTIONS).size;\n\n @Input()\n public activeItemIndex = 0;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public get tabs(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('[tuiTab]'));\n }\n\n public get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n public moveFocus(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n tuiMoveFocus(tabs.indexOf(current), tabs, step);\n }\n\n public ngAfterViewChecked(): void {\n afterNextRender(\n () => {\n this.markTabAsActive();\n },\n {injector: this.injector},\n );\n }\n\n protected onActivate(event: Event, element: HTMLElement): void {\n const index = this.tabs.findIndex((tab) => tab === element);\n\n event.stopPropagation();\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexChange.emit(index);\n this.activeItemIndex = index;\n }\n\n protected markTabAsActive(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach((nativeElement) => {\n const active = nativeElement === activeElement;\n\n nativeElement.classList.toggle('_active', active);\n nativeElement.setAttribute('tabIndex', active ? '0' : '-1');\n });\n }\n}\n","import type {AfterViewChecked, QueryList} from '@angular/core';\nimport {ContentChildren, Directive, forwardRef, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])',\n providers: [\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[class._underline]': 'underline',\n '[style.--t-color]':\n \"underline === true ? 'var(--tui-background-accent-1)' : underline\",\n '(animationend)': 'refresh()',\n '(keydown.arrowRight.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowLeft.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsHorizontal implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly tabs = inject(TuiTabsDirective);\n\n @ContentChildren(forwardRef(() => TuiTab))\n protected readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n protected readonly sub = inject(MutationObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n @Input()\n public underline = this.options.underline;\n\n public ngAfterViewChecked(): void {\n this.scrollTo(this.tabs.activeItemIndex);\n this.refresh();\n }\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n\n protected refresh(): void {\n const {activeElement} = this.tabs;\n\n if (activeElement && !activeElement.isConnected) {\n return;\n }\n\n const {offsetLeft = 0, offsetWidth = 0} = activeElement || {};\n\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n\n @tuiPure\n private scrollTo(index: number): void {\n const element = this.tabs.tabs[index];\n\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n\n if (offsetLeft < this.el.scrollLeft) {\n this.el.scrollLeft = offsetLeft;\n }\n\n if (offsetLeft + offsetWidth > this.el.scrollLeft + this.el.offsetWidth) {\n this.el.scrollLeft = offsetLeft + offsetWidth - this.el.offsetWidth;\n }\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {TuiTabsDirective} from './tabs.directive';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs[vertical], nav[tuiTabs][vertical]',\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[attr.data-vertical]': 'vertical',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsVertical {\n private readonly tabs = inject(TuiTabsDirective);\n\n @Input()\n public vertical: TuiHorizontalDirection = 'left';\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport type {Provider} from '@angular/core';\nimport {ChangeDetectorRef, ElementRef} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\nimport type {Observable} from 'rxjs';\nimport {debounceTime, filter, merge, startWith, tap} from 'rxjs';\n\nexport const TUI_TABS_REFRESH = tuiCreateToken<Observable<unknown>>();\n\nexport const TUI_TABS_PROVIDERS: Provider[] = [\n ResizeObserverService,\n MutationObserverService,\n tuiDropdownOptionsProvider({align: 'right'}),\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n subtree: true,\n characterData: true,\n },\n },\n {\n provide: TUI_TABS_REFRESH,\n deps: [\n ResizeObserverService,\n MutationObserverService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: (\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n cdr: ChangeDetectorRef,\n ): Observable<unknown> =>\n merge(resize$, mutations$.pipe(tap(() => cdr.detectChanges()))).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntilDestroyed(),\n ),\n },\n];\n","import {CommonModule} from '@angular/common';\nimport type {AfterViewChecked, AfterViewInit, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable, tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiToInt} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\nimport {TuiChevron} from '@taiga-ui/kit/directives';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {filter, map, tap} from 'rxjs';\n\nimport {TuiTab} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\nimport {TUI_TABS_PROVIDERS, TUI_TABS_REFRESH} from './tabs.providers';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n TuiChevron,\n TuiDropdown,\n TuiTab,\n TuiTabsHorizontal,\n ],\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABS_PROVIDERS,\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiTabsWithMore implements AfterViewChecked, AfterViewInit {\n @ViewChild(TuiTab, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n @ViewChild(TuiTabsHorizontal, {read: ElementRef})\n private readonly dir?: ElementRef<HTMLButtonElement>;\n\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly refresh$ = inject(TUI_TABS_REFRESH);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private maxIndex = Infinity;\n\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected readonly moreWord$ = inject(TUI_MORE_WORD);\n protected open = false;\n\n @Input()\n public size: TuiSizeL = this.options.size;\n\n @Input()\n public moreContent: PolymorpheusContent;\n\n @Input()\n public dropdownContent: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public underline = this.options.underline;\n\n @Input()\n public itemsLimit = this.options.itemsLimit;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public activeItemIndex = 0;\n\n @Input('activeItemIndex')\n public set itemIndex(activeItemIndex: number) {\n this.activeItemIndex = activeItemIndex;\n this.maxIndex = this.getMaxIndex();\n }\n\n public get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit - 1 > this.activeItemIndex || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n public ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n tap(() => this.refresh()),\n filter((maxIndex) => this.maxIndex !== maxIndex),\n )\n .subscribe((maxIndex) => {\n this.maxIndex = maxIndex;\n this.cdr.detectChanges();\n });\n }\n\n public ngAfterViewChecked(): void {\n this.refresh();\n }\n\n // TODO: Improve performance\n protected get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(this.el.querySelectorAll('[tuiTab]'));\n }\n\n protected get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton?.nativeElement || null;\n }\n\n protected get isMoreAlone(): boolean {\n return this.lastVisibleIndex < 0 && !this.options.exposeActive;\n }\n\n protected get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n protected get isMoreFocusable(): boolean {\n return !!this.moreButton && tuiIsNativeFocused(this.moreButton.nativeElement);\n }\n\n protected get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex)\n );\n }\n\n protected onActiveItemIndexChange(activeItemIndex: number): void {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n protected onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n protected onArrowRight(event: Event): void {\n if (tuiIsElement(event.target) && tuiIsNativeFocused(event.target)) {\n this.focusMore();\n }\n }\n\n protected onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n tabs[index]?.focus();\n\n if (tuiIsNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n protected onWrapperArrow(\n event: Event,\n wrapper: HTMLElement,\n previous: boolean,\n ): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = tuiGetClosestFocusable({initial: button, root: wrapper, previous});\n\n if (target) {\n target.focus();\n }\n }\n\n protected isOverflown(index: number): boolean {\n return index !== this.activeItemIndex || !this.options.exposeActive;\n }\n\n protected shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n private get margin(): number {\n return this.size === 'l' ? 24 : 16;\n }\n\n private focusMore(): void {\n if (this.moreButton) {\n this.moreButton.nativeElement.focus();\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {exposeActive, minMoreWidth} = this.options;\n const {clientWidth} = this.el;\n const active = tabs[activeItemIndex];\n const activeWidth = active?.scrollWidth ?? 0;\n const moreWidth = Math.max(tabs[tabs.length - 1]?.scrollWidth ?? 0, minMoreWidth);\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n (tabs[tabs.length - 1]?.scrollWidth ?? 0);\n\n if (Number.isNaN(total) || total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= (tabs[maxIndex]?.scrollWidth ?? 0) + margin;\n maxIndex--;\n\n const activeDisplaced = exposeActive && activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = tuiToInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private updateActiveItemIndex(activeItemIndex: number): void {\n this.itemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n }\n\n private refresh(): void {\n const {offsetLeft = 0, offsetWidth = 0} = this.activeElement || {};\n\n this.dir?.nativeElement.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.dir?.nativeElement.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<tui-tabs\n class=\"t-tabs\"\n [activeItemIndex]=\"activeItemIndex\"\n [size]=\"size\"\n [underline]=\"underline\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n />\n <ng-template #hidden>\n <div\n class=\"t-flex\"\n [class.t-overflown]=\"isOverflown(index)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </div>\n </ng-template>\n </ng-container>\n</tui-tabs>\n\n<button\n *ngIf=\"moreContent; else chevron\"\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n>\n <ng-container *polymorpheusOutlet=\"moreContent as text\">\n {{ text }}\n </ng-container>\n</button>\n<ng-template #chevron>\n <button\n tuiChevron\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n {{ moreWord$ | async }}\n </button>\n</ng-template>\n<ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n [attr.data-size]=\"size\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n class=\"t-dropdown-item\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container *ngIf=\"shouldShow(index)\">\n <ng-container *polymorpheusOutlet=\"item\" />\n </ng-container>\n </div>\n </div>\n</ng-template>\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\nimport {TuiTabsVertical} from './tabs-vertical.directive';\nimport {TuiTabsWithMore} from './tabs-with-more.component';\n\nexport const TuiTabs = [\n TuiItem,\n TuiTab,\n TuiTabsDirective,\n TuiTabsHorizontal,\n TuiTabsVertical,\n TuiTabsWithMore,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiTabsDirective","i1"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-kit-components-tabs.mjs","sources":["../../../projects/kit/components/tabs/tab.directive.ts","../../../projects/kit/components/tabs/tabs.options.ts","../../../projects/kit/components/tabs/tabs.directive.ts","../../../projects/kit/components/tabs/tabs-horizontal.directive.ts","../../../projects/kit/components/tabs/tabs-vertical.directive.ts","../../../projects/kit/components/tabs/tabs.providers.ts","../../../projects/kit/components/tabs/tabs-with-more.component.ts","../../../projects/kit/components/tabs/tabs-with-more.template.html","../../../projects/kit/components/tabs/tabs.ts","../../../projects/kit/components/tabs/taiga-ui-kit-components-tabs.ts"],"sourcesContent":["import type {OnDestroy} from '@angular/core';\nimport {Directive, inject} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {RouterLinkActive} from '@angular/router';\nimport {MutationObserverService} from '@ng-web-apis/mutation-observer';\nimport {tuiTypedFromEvent} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {TuiWithIcons} from '@taiga-ui/core/directives/icons';\nimport {EMPTY, filter, merge, switchMap, take} from 'rxjs';\n\nexport const TUI_TAB_ACTIVATE = 'tui-tab-activate';\n\n@Directive({\n standalone: true,\n selector:\n 'a[tuiTab]:not([routerLink]), a[tuiTab][routerLink][routerLinkActive], button[tuiTab]',\n hostDirectives: [TuiWithIcons],\n host: {\n type: 'button',\n },\n})\nexport class TuiTab implements OnDestroy {\n private readonly el = tuiInjectElement();\n private readonly rla = inject(RouterLinkActive, {optional: true});\n private readonly observer =\n this.rla &&\n inject(MutationObserverService, {optional: true})?.pipe(\n filter(() => !!this.rla?.isActive),\n );\n\n protected readonly sub = merge(\n this.observer || EMPTY,\n this.rla?.isActiveChange.pipe(filter(Boolean)) || EMPTY,\n this.el.matches('button')\n ? tuiTypedFromEvent(this.el, 'click').pipe(\n // Delaying execution until after all other click callbacks\n switchMap(() =>\n tuiTypedFromEvent(this.el.parentElement!, 'click').pipe(take(1)),\n ),\n )\n : EMPTY,\n )\n .pipe(takeUntilDestroyed())\n .subscribe(() =>\n this.el.dispatchEvent(new CustomEvent(TUI_TAB_ACTIVATE, {bubbles: true})),\n );\n\n public ngOnDestroy(): void {\n if (tuiIsNativeFocused(this.el)) {\n this.el.blur();\n }\n }\n}\n","import type {Provider} from '@angular/core';\nimport {tuiCreateToken, tuiProvideOptions} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nexport interface TuiTabsOptions {\n readonly exposeActive: boolean;\n readonly itemsLimit: number;\n readonly minMoreWidth: number;\n readonly underline: boolean | string;\n readonly size: TuiSizeL;\n}\n\nexport const TUI_TABS_DEFAULT_OPTIONS: TuiTabsOptions = {\n underline: true,\n exposeActive: true,\n itemsLimit: Infinity,\n minMoreWidth: 0,\n size: 'l',\n};\n\n/**\n * Default parameters for Tabs component\n */\nexport const TUI_TABS_OPTIONS = tuiCreateToken(TUI_TABS_DEFAULT_OPTIONS);\n\nexport function tuiTabsOptionsProvider(options: Partial<TuiTabsOptions>): Provider {\n return tuiProvideOptions(TUI_TABS_OPTIONS, options, TUI_TABS_DEFAULT_OPTIONS);\n}\n","import type {AfterViewChecked} from '@angular/core';\nimport {\n afterNextRender,\n ChangeDetectionStrategy,\n Component,\n Directive,\n EventEmitter,\n inject,\n INJECTOR,\n Input,\n Output,\n ViewEncapsulation,\n} from '@angular/core';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiMoveFocus} from '@taiga-ui/cdk/utils/focus';\nimport {tuiWithStyles} from '@taiga-ui/cdk/utils/miscellaneous';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\n\nimport {TUI_TAB_ACTIVATE} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Component({\n standalone: true,\n template: '',\n styleUrls: ['./tabs.style.less'],\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n host: {\n class: 'tui-tabs',\n },\n})\nclass TuiTabsStyles {}\n\n@Directive({\n standalone: true,\n host: {\n '[attr.data-size]': 'size',\n [`(${TUI_TAB_ACTIVATE})`]: 'onActivate($event, $event.target)',\n },\n})\nexport class TuiTabsDirective implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly injector = inject(INJECTOR);\n\n protected readonly nothing = tuiWithStyles(TuiTabsStyles);\n\n @Input()\n public size: TuiSizeL = inject(TUI_TABS_OPTIONS).size;\n\n @Input()\n public activeItemIndex = 0;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public get tabs(): readonly HTMLElement[] {\n return Array.from(this.el.querySelectorAll<HTMLElement>('[tuiTab]'));\n }\n\n public get activeElement(): HTMLElement | null {\n return this.tabs[this.activeItemIndex] || null;\n }\n\n public moveFocus(current: HTMLElement, step: number): void {\n const {tabs} = this;\n\n tuiMoveFocus(tabs.indexOf(current), tabs, step);\n }\n\n public ngAfterViewChecked(): void {\n afterNextRender(\n () => {\n this.markTabAsActive();\n },\n {injector: this.injector},\n );\n }\n\n protected onActivate(event: Event, element: HTMLElement): void {\n const index = this.tabs.findIndex((tab) => tab === element);\n\n event.stopPropagation();\n\n if (index === this.activeItemIndex) {\n return;\n }\n\n this.activeItemIndexChange.emit(index);\n this.activeItemIndex = index;\n }\n\n protected markTabAsActive(): void {\n const {tabs, activeElement} = this;\n\n tabs.forEach((nativeElement) => {\n const active = nativeElement === activeElement;\n\n nativeElement.classList.toggle('_active', active);\n nativeElement.setAttribute('tabIndex', active ? '0' : '-1');\n });\n }\n}\n","import type {AfterViewChecked, QueryList} from '@angular/core';\nimport {ContentChildren, Directive, forwardRef, inject, Input} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport {tuiZonefree} from '@taiga-ui/cdk/observables';\nimport {tuiInjectElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiPure, tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs:not([vertical]), nav[tuiTabs]:not([vertical])',\n providers: [\n MutationObserverService,\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n characterData: true,\n subtree: true,\n },\n },\n ],\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[class._underline]': 'underline',\n '[style.--t-color]':\n \"underline === true ? 'var(--tui-background-accent-1)' : underline\",\n '(animationend)': 'refresh()',\n '(keydown.arrowRight.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowLeft.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsHorizontal implements AfterViewChecked {\n private readonly el = tuiInjectElement();\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly tabs = inject(TuiTabsDirective);\n\n @ContentChildren(forwardRef(() => TuiTab))\n protected readonly children: QueryList<unknown> = EMPTY_QUERY;\n\n protected readonly sub = inject(MutationObserverService, {self: true})\n .pipe(tuiZonefree(), takeUntilDestroyed())\n .subscribe(() => this.refresh());\n\n @Input()\n public underline = this.options.underline;\n\n public ngAfterViewChecked(): void {\n this.scrollTo(this.tabs.activeItemIndex);\n this.refresh();\n }\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n\n protected refresh(): void {\n const {activeElement} = this.tabs;\n\n if (activeElement && !activeElement.isConnected) {\n return;\n }\n\n const {offsetLeft = 0, offsetWidth = 0} = activeElement || {};\n\n this.el.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.el.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n\n @tuiPure\n private scrollTo(index: number): void {\n const element = this.tabs.tabs[index];\n\n if (!element) {\n return;\n }\n\n const {offsetLeft, offsetWidth} = element;\n\n if (offsetLeft < this.el.scrollLeft) {\n this.el.scrollLeft = offsetLeft;\n }\n\n if (offsetLeft + offsetWidth > this.el.scrollLeft + this.el.offsetWidth) {\n this.el.scrollLeft = offsetLeft + offsetWidth - this.el.offsetWidth;\n }\n }\n}\n","import {Directive, inject, Input} from '@angular/core';\nimport type {TuiHorizontalDirection} from '@taiga-ui/core/types';\n\nimport {TuiTabsDirective} from './tabs.directive';\n\n@Directive({\n standalone: true,\n selector: 'tui-tabs[vertical], nav[tuiTabs][vertical]',\n hostDirectives: [\n {\n directive: TuiTabsDirective,\n inputs: ['activeItemIndex', 'size'],\n outputs: ['activeItemIndexChange'],\n },\n ],\n host: {\n '[attr.data-vertical]': 'vertical',\n '(keydown.arrowDown.prevent)': 'onKeyDownArrow($event.target, 1)',\n '(keydown.arrowUp.prevent)': 'onKeyDownArrow($event.target, -1)',\n },\n})\nexport class TuiTabsVertical {\n private readonly tabs = inject(TuiTabsDirective);\n\n @Input()\n public vertical: TuiHorizontalDirection = 'left';\n\n protected onKeyDownArrow(current: HTMLElement, step: number): void {\n this.tabs.moveFocus(current, step);\n }\n}\n","import {DOCUMENT} from '@angular/common';\nimport type {Provider} from '@angular/core';\nimport {ChangeDetectorRef, ElementRef} from '@angular/core';\nimport {takeUntilDestroyed} from '@angular/core/rxjs-interop';\nimport {\n MutationObserverService,\n WA_MUTATION_OBSERVER_INIT,\n} from '@ng-web-apis/mutation-observer';\nimport {ResizeObserverService} from '@ng-web-apis/resize-observer';\nimport {tuiCreateToken} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {tuiDropdownOptionsProvider} from '@taiga-ui/core/directives/dropdown';\nimport type {Observable} from 'rxjs';\nimport {debounceTime, filter, merge, startWith, tap} from 'rxjs';\n\nexport const TUI_TABS_REFRESH = tuiCreateToken<Observable<unknown>>();\n\nexport const TUI_TABS_PROVIDERS: Provider[] = [\n ResizeObserverService,\n MutationObserverService,\n tuiDropdownOptionsProvider({align: 'right'}),\n {\n provide: WA_MUTATION_OBSERVER_INIT,\n useValue: {\n childList: true,\n subtree: true,\n characterData: true,\n },\n },\n {\n provide: TUI_TABS_REFRESH,\n deps: [\n ResizeObserverService,\n MutationObserverService,\n DOCUMENT,\n ElementRef,\n ChangeDetectorRef,\n ],\n useFactory: (\n resize$: Observable<unknown>,\n mutations$: Observable<unknown>,\n {body}: Document,\n {nativeElement}: ElementRef<Node>,\n cdr: ChangeDetectorRef,\n ): Observable<unknown> =>\n merge(resize$, mutations$.pipe(tap(() => cdr.detectChanges()))).pipe(\n // Ignoring cases when host is detached from DOM\n filter(() => body.contains(nativeElement)),\n debounceTime(0),\n startWith(null),\n takeUntilDestroyed(),\n ),\n },\n];\n","import {CommonModule} from '@angular/common';\nimport type {AfterViewChecked, AfterViewInit, QueryList} from '@angular/core';\nimport {\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n ContentChildren,\n ElementRef,\n EventEmitter,\n inject,\n Input,\n Output,\n TemplateRef,\n ViewChild,\n} from '@angular/core';\nimport {EMPTY_QUERY} from '@taiga-ui/cdk/constants';\nimport type {TuiActiveZone} from '@taiga-ui/cdk/directives/active-zone';\nimport {TuiItem} from '@taiga-ui/cdk/directives/item';\nimport type {TuiContext} from '@taiga-ui/cdk/types';\nimport {tuiInjectElement, tuiIsElement} from '@taiga-ui/cdk/utils/dom';\nimport {tuiGetClosestFocusable, tuiIsNativeFocused} from '@taiga-ui/cdk/utils/focus';\nimport {tuiClamp, tuiToInt} from '@taiga-ui/cdk/utils/math';\nimport {tuiPx} from '@taiga-ui/cdk/utils/miscellaneous';\nimport {TuiDropdown} from '@taiga-ui/core/directives/dropdown';\nimport type {TuiSizeL} from '@taiga-ui/core/types';\nimport {TuiChevron} from '@taiga-ui/kit/directives/chevron';\nimport {TUI_MORE_WORD} from '@taiga-ui/kit/tokens';\nimport type {PolymorpheusContent} from '@taiga-ui/polymorpheus';\nimport {PolymorpheusOutlet} from '@taiga-ui/polymorpheus';\nimport {filter, map, tap} from 'rxjs';\n\nimport {TuiTab} from './tab.directive';\nimport {TUI_TABS_OPTIONS} from './tabs.options';\nimport {TUI_TABS_PROVIDERS, TUI_TABS_REFRESH} from './tabs.providers';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\n\n@Component({\n standalone: true,\n selector: 'tui-tabs-with-more, nav[tuiTabsWithMore]',\n imports: [\n CommonModule,\n PolymorpheusOutlet,\n TuiChevron,\n TuiDropdown,\n TuiTab,\n TuiTabsHorizontal,\n ],\n templateUrl: './tabs-with-more.template.html',\n styleUrls: ['./tabs-with-more.style.less'],\n changeDetection: ChangeDetectionStrategy.OnPush,\n providers: TUI_TABS_PROVIDERS,\n host: {\n '[attr.data-size]': 'size',\n },\n})\nexport class TuiTabsWithMore implements AfterViewChecked, AfterViewInit {\n @ViewChild(TuiTab, {read: ElementRef})\n private readonly moreButton?: ElementRef<HTMLButtonElement>;\n\n @ViewChild(TuiTabsHorizontal, {read: ElementRef})\n private readonly dir?: ElementRef<HTMLButtonElement>;\n\n private readonly options = inject(TUI_TABS_OPTIONS);\n private readonly refresh$ = inject(TUI_TABS_REFRESH);\n private readonly el = tuiInjectElement();\n private readonly cdr = inject(ChangeDetectorRef);\n private maxIndex = Infinity;\n\n @ContentChildren(TuiItem, {read: TemplateRef})\n protected readonly items: QueryList<TemplateRef<Record<string, unknown>>> =\n EMPTY_QUERY;\n\n protected readonly moreWord$ = inject(TUI_MORE_WORD);\n protected open = false;\n\n @Input()\n public size: TuiSizeL = this.options.size;\n\n @Input()\n public moreContent: PolymorpheusContent;\n\n @Input()\n public dropdownContent: PolymorpheusContent<TuiContext<TuiActiveZone>>;\n\n @Input()\n public underline = this.options.underline;\n\n @Input()\n public itemsLimit = this.options.itemsLimit;\n\n @Output()\n public readonly activeItemIndexChange = new EventEmitter<number>();\n\n public activeItemIndex = 0;\n\n @Input('activeItemIndex')\n public set itemIndex(activeItemIndex: number) {\n this.activeItemIndex = activeItemIndex;\n this.maxIndex = this.getMaxIndex();\n }\n\n public get lastVisibleIndex(): number {\n if (this.itemsLimit + 1 >= this.items.length) {\n return this.maxIndex;\n }\n\n const offset =\n this.itemsLimit - 1 > this.activeItemIndex || !this.options.exposeActive\n ? 1\n : 2;\n\n return Math.min(this.itemsLimit - offset, this.maxIndex);\n }\n\n public ngAfterViewInit(): void {\n this.refresh$\n .pipe(\n map(() => this.getMaxIndex()),\n tap(() => this.refresh()),\n filter((maxIndex) => this.maxIndex !== maxIndex),\n )\n .subscribe((maxIndex) => {\n this.maxIndex = maxIndex;\n this.cdr.detectChanges();\n });\n }\n\n public ngAfterViewChecked(): void {\n this.refresh();\n }\n\n // TODO: Improve performance\n protected get tabs(): readonly HTMLElement[] {\n return Array.from<HTMLElement>(this.el.querySelectorAll('[tuiTab]'));\n }\n\n protected get activeElement(): HTMLElement | null {\n const {tabs} = this;\n const safeActiveIndex = tuiClamp(this.activeItemIndex || 0, 0, tabs.length - 2);\n\n return this.options.exposeActive || this.lastVisibleIndex >= safeActiveIndex\n ? tabs[safeActiveIndex] || null\n : this.moreButton?.nativeElement || null;\n }\n\n protected get isMoreAlone(): boolean {\n return this.lastVisibleIndex < 0 && !this.options.exposeActive;\n }\n\n protected get isMoreVisible(): boolean {\n return this.lastVisibleIndex < this.items.length - 1;\n }\n\n protected get isMoreFocusable(): boolean {\n return !!this.moreButton && tuiIsNativeFocused(this.moreButton.nativeElement);\n }\n\n protected get isMoreActive(): boolean {\n return (\n this.open ||\n (!this.options.exposeActive && this.lastVisibleIndex < this.activeItemIndex)\n );\n }\n\n protected onActiveItemIndexChange(activeItemIndex: number): void {\n this.updateActiveItemIndex(activeItemIndex);\n }\n\n protected onClick(index: number): void {\n this.open = false;\n this.focusMore();\n this.updateActiveItemIndex(index);\n }\n\n protected onArrowRight(event: Event): void {\n if (tuiIsElement(event.target) && tuiIsNativeFocused(event.target)) {\n this.focusMore();\n }\n }\n\n protected onArrowLeft(): void {\n const {tabs} = this;\n let index = tabs.length - 2;\n\n while (index >= 0) {\n tabs[index]?.focus();\n\n if (tuiIsNativeFocused(tabs[index])) {\n return;\n }\n\n index--;\n }\n }\n\n protected onWrapperArrow(\n event: Event,\n wrapper: HTMLElement,\n previous: boolean,\n ): void {\n const button: HTMLButtonElement = event.target as HTMLButtonElement;\n const target = tuiGetClosestFocusable({initial: button, root: wrapper, previous});\n\n if (target) {\n target.focus();\n }\n }\n\n protected isOverflown(index: number): boolean {\n return index !== this.activeItemIndex || !this.options.exposeActive;\n }\n\n protected shouldShow(index: number): boolean {\n return index > this.lastVisibleIndex && this.isOverflown(index);\n }\n\n private get margin(): number {\n return this.size === 'l' ? 24 : 16;\n }\n\n private focusMore(): void {\n if (this.moreButton) {\n this.moreButton.nativeElement.focus();\n }\n }\n\n private getMaxIndex(): number {\n const {tabs, activeItemIndex, margin} = this;\n\n if (tabs.length < 2) {\n return 0;\n }\n\n const {exposeActive, minMoreWidth} = this.options;\n const {clientWidth} = this.el;\n const active = tabs[activeItemIndex];\n const activeWidth = active?.scrollWidth ?? 0;\n const moreWidth = Math.max(tabs[tabs.length - 1]?.scrollWidth ?? 0, minMoreWidth);\n let maxIndex = tabs.length - 2;\n let total =\n tabs.reduce((acc, {scrollWidth}) => acc + scrollWidth, 0) +\n maxIndex * margin -\n (tabs[tabs.length - 1]?.scrollWidth ?? 0);\n\n if (Number.isNaN(total) || total <= clientWidth) {\n return Infinity;\n }\n\n while (maxIndex) {\n total -= (tabs[maxIndex]?.scrollWidth ?? 0) + margin;\n maxIndex--;\n\n const activeDisplaced = exposeActive && activeItemIndex > maxIndex;\n const activeOffset = activeDisplaced ? activeWidth + margin : 0;\n const currentWidth = total + activeOffset + moreWidth + margin;\n // Needed for different rounding of visible and hidden elements scrollWidth\n const safetyOffset = tuiToInt(this.maxIndex === maxIndex - 1);\n\n if (currentWidth + safetyOffset < clientWidth) {\n return maxIndex;\n }\n }\n\n return -1;\n }\n\n private updateActiveItemIndex(activeItemIndex: number): void {\n this.itemIndex = activeItemIndex;\n this.activeItemIndexChange.emit(activeItemIndex);\n }\n\n private refresh(): void {\n const {offsetLeft = 0, offsetWidth = 0} = this.activeElement || {};\n\n this.dir?.nativeElement.style.setProperty('--t-left', tuiPx(offsetLeft));\n this.dir?.nativeElement.style.setProperty('--t-width', tuiPx(offsetWidth));\n }\n}\n","<ng-container *ngIf=\"items.changes | async\" />\n<tui-tabs\n class=\"t-tabs\"\n [activeItemIndex]=\"activeItemIndex\"\n [size]=\"size\"\n [underline]=\"underline\"\n (activeItemIndexChange)=\"onActiveItemIndexChange($event)\"\n (keydown.arrowRight)=\"onArrowRight($event)\"\n>\n <ng-container *ngFor=\"let item of items; let index = index\">\n <ng-container\n *ngIf=\"index <= lastVisibleIndex; else hidden\"\n [ngTemplateOutlet]=\"item\"\n />\n <ng-template #hidden>\n <div\n class=\"t-flex\"\n [class.t-overflown]=\"isOverflown(index)\"\n >\n <ng-container [ngTemplateOutlet]=\"item\" />\n </div>\n </ng-template>\n </ng-container>\n</tui-tabs>\n\n<button\n *ngIf=\"moreContent; else chevron\"\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n>\n <ng-container *polymorpheusOutlet=\"moreContent as text\">\n {{ text }}\n </ng-container>\n</button>\n<ng-template #chevron>\n <button\n tuiChevron\n tuiTab\n type=\"button\"\n class=\"t-more\"\n [class._active]=\"isMoreActive\"\n [class.t-no-margin]=\"isMoreAlone\"\n [class.t-overflown]=\"!isMoreVisible\"\n [tabIndex]=\"isMoreFocusable ? 0 : -1\"\n [tuiDropdown]=\"dropdownContent || dropdown\"\n [(tuiDropdownOpen)]=\"open\"\n (keydown.arrowLeft.prevent)=\"onArrowLeft()\"\n >\n {{ moreWord$ | async }}\n </button>\n</ng-template>\n<ng-template #dropdown>\n <div\n #element\n class=\"t-dropdown\"\n [attr.data-size]=\"size\"\n (keydown.arrowDown.prevent)=\"onWrapperArrow($event, element, false)\"\n (keydown.arrowUp.prevent)=\"onWrapperArrow($event, element, true)\"\n >\n <div\n *ngFor=\"let item of items; let index = index\"\n class=\"t-dropdown-item\"\n (tui-tab-activate)=\"onClick(index)\"\n >\n <ng-container *ngIf=\"shouldShow(index)\">\n <ng-container *polymorpheusOutlet=\"item\" />\n </ng-container>\n </div>\n </div>\n</ng-template>\n","import {TuiItem} from '@taiga-ui/cdk/directives/item';\n\nimport {TuiTab} from './tab.directive';\nimport {TuiTabsDirective} from './tabs.directive';\nimport {TuiTabsHorizontal} from './tabs-horizontal.directive';\nimport {TuiTabsVertical} from './tabs-vertical.directive';\nimport {TuiTabsWithMore} from './tabs-with-more.component';\n\nexport const TuiTabs = [\n TuiItem,\n TuiTab,\n TuiTabsDirective,\n TuiTabsHorizontal,\n TuiTabsVertical,\n TuiTabsWithMore,\n] as const;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1.TuiTabsDirective","i1"],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/kit",
|
|
3
|
-
"version": "4.32.0-canary.
|
|
3
|
+
"version": "4.32.0-canary.e87e07e",
|
|
4
4
|
"description": "Taiga UI Angular main components kit",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -59,18 +59,18 @@
|
|
|
59
59
|
"esm": "./esm2022/components/accordion/taiga-ui-kit-components-accordion.mjs",
|
|
60
60
|
"default": "./fesm2022/taiga-ui-kit-components-accordion.mjs"
|
|
61
61
|
},
|
|
62
|
-
"./components/avatar": {
|
|
63
|
-
"types": "./components/avatar/index.d.ts",
|
|
64
|
-
"esm2022": "./esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs",
|
|
65
|
-
"esm": "./esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs",
|
|
66
|
-
"default": "./fesm2022/taiga-ui-kit-components-avatar.mjs"
|
|
67
|
-
},
|
|
68
62
|
"./components/action-bar": {
|
|
69
63
|
"types": "./components/action-bar/index.d.ts",
|
|
70
64
|
"esm2022": "./esm2022/components/action-bar/taiga-ui-kit-components-action-bar.mjs",
|
|
71
65
|
"esm": "./esm2022/components/action-bar/taiga-ui-kit-components-action-bar.mjs",
|
|
72
66
|
"default": "./fesm2022/taiga-ui-kit-components-action-bar.mjs"
|
|
73
67
|
},
|
|
68
|
+
"./components/avatar": {
|
|
69
|
+
"types": "./components/avatar/index.d.ts",
|
|
70
|
+
"esm2022": "./esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs",
|
|
71
|
+
"esm": "./esm2022/components/avatar/taiga-ui-kit-components-avatar.mjs",
|
|
72
|
+
"default": "./fesm2022/taiga-ui-kit-components-avatar.mjs"
|
|
73
|
+
},
|
|
74
74
|
"./components/badge": {
|
|
75
75
|
"types": "./components/badge/index.d.ts",
|
|
76
76
|
"esm2022": "./esm2022/components/badge/taiga-ui-kit-components-badge.mjs",
|
|
@@ -341,18 +341,18 @@
|
|
|
341
341
|
"esm": "./esm2022/components/segmented/taiga-ui-kit-components-segmented.mjs",
|
|
342
342
|
"default": "./fesm2022/taiga-ui-kit-components-segmented.mjs"
|
|
343
343
|
},
|
|
344
|
-
"./components/status": {
|
|
345
|
-
"types": "./components/status/index.d.ts",
|
|
346
|
-
"esm2022": "./esm2022/components/status/taiga-ui-kit-components-status.mjs",
|
|
347
|
-
"esm": "./esm2022/components/status/taiga-ui-kit-components-status.mjs",
|
|
348
|
-
"default": "./fesm2022/taiga-ui-kit-components-status.mjs"
|
|
349
|
-
},
|
|
350
344
|
"./components/slider": {
|
|
351
345
|
"types": "./components/slider/index.d.ts",
|
|
352
346
|
"esm2022": "./esm2022/components/slider/taiga-ui-kit-components-slider.mjs",
|
|
353
347
|
"esm": "./esm2022/components/slider/taiga-ui-kit-components-slider.mjs",
|
|
354
348
|
"default": "./fesm2022/taiga-ui-kit-components-slider.mjs"
|
|
355
349
|
},
|
|
350
|
+
"./components/status": {
|
|
351
|
+
"types": "./components/status/index.d.ts",
|
|
352
|
+
"esm2022": "./esm2022/components/status/taiga-ui-kit-components-status.mjs",
|
|
353
|
+
"esm": "./esm2022/components/status/taiga-ui-kit-components-status.mjs",
|
|
354
|
+
"default": "./fesm2022/taiga-ui-kit-components-status.mjs"
|
|
355
|
+
},
|
|
356
356
|
"./components/stepper": {
|
|
357
357
|
"types": "./components/stepper/index.d.ts",
|
|
358
358
|
"esm2022": "./esm2022/components/stepper/taiga-ui-kit-components-stepper.mjs",
|