@scion/components 15.0.2 → 16.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dimension/dimension.directive.d.ts +2 -2
- package/esm2022/dimension/dimension.directive.mjs +84 -0
- package/esm2022/dimension/dimension.module.mjs +39 -0
- package/esm2022/sashbox/element-ref.directive.mjs +28 -0
- package/esm2022/sashbox/sash-initializer.directive.mjs +33 -0
- package/esm2022/sashbox/sash.directive.mjs +145 -0
- package/esm2022/sashbox/sashbox.component.mjs +279 -0
- package/esm2022/sashbox/sashbox.module.mjs +70 -0
- package/esm2022/splitter/splitter.component.mjs +228 -0
- package/esm2022/splitter/splitter.module.mjs +43 -0
- package/esm2022/throbber/ellipsis-throbber/ellipsis-throbber.component.mjs +26 -0
- package/esm2022/throbber/ripple-throbber/ripple-throbber.component.mjs +26 -0
- package/esm2022/throbber/roller-throbber/roller-throbber.component.mjs +26 -0
- package/esm2022/throbber/spinner-throbber/spinner-throbber.component.mjs +27 -0
- package/esm2022/throbber/throbber.component.mjs +68 -0
- package/esm2022/throbber/throbber.module.mjs +49 -0
- package/esm2022/viewport/native-scrollbar-track-size-provider.service.mjs +115 -0
- package/esm2022/viewport/scrollable.directive.mjs +94 -0
- package/esm2022/viewport/scrollbar/scrollbar.component.mjs +323 -0
- package/esm2022/viewport/viewport.component.mjs +282 -0
- package/esm2022/viewport/viewport.module.mjs +51 -0
- package/{fesm2015 → fesm2022}/scion-components-dimension.mjs +12 -7
- package/{fesm2015 → fesm2022}/scion-components-dimension.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/scion-components-sashbox.mjs +47 -42
- package/{fesm2020 → fesm2022}/scion-components-sashbox.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/scion-components-splitter.mjs +22 -17
- package/{fesm2020 → fesm2022}/scion-components-splitter.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/scion-components-throbber.mjs +28 -23
- package/{fesm2015 → fesm2022}/scion-components-throbber.mjs.map +1 -1
- package/{fesm2020 → fesm2022}/scion-components-viewport.mjs +65 -60
- package/{fesm2015 → fesm2022}/scion-components-viewport.mjs.map +1 -1
- package/package.json +27 -43
- package/sashbox/sash-initializer.directive.d.ts +1 -1
- package/sashbox/sash.directive.d.ts +1 -1
- package/sashbox/sashbox.component.d.ts +1 -1
- package/splitter/splitter.component.d.ts +1 -1
- package/throbber/throbber.component.d.ts +1 -1
- package/viewport/scrollable.directive.d.ts +1 -1
- package/viewport/scrollbar/scrollbar.component.d.ts +1 -1
- package/viewport/viewport.component.d.ts +2 -2
- package/esm2020/dimension/dimension.directive.mjs +0 -83
- package/esm2020/dimension/dimension.module.mjs +0 -38
- package/esm2020/sashbox/element-ref.directive.mjs +0 -27
- package/esm2020/sashbox/sash-initializer.directive.mjs +0 -32
- package/esm2020/sashbox/sash.directive.mjs +0 -144
- package/esm2020/sashbox/sashbox.component.mjs +0 -278
- package/esm2020/sashbox/sashbox.module.mjs +0 -69
- package/esm2020/splitter/splitter.component.mjs +0 -227
- package/esm2020/splitter/splitter.module.mjs +0 -42
- package/esm2020/throbber/ellipsis-throbber/ellipsis-throbber.component.mjs +0 -25
- package/esm2020/throbber/ripple-throbber/ripple-throbber.component.mjs +0 -25
- package/esm2020/throbber/roller-throbber/roller-throbber.component.mjs +0 -25
- package/esm2020/throbber/spinner-throbber/spinner-throbber.component.mjs +0 -26
- package/esm2020/throbber/throbber.component.mjs +0 -67
- package/esm2020/throbber/throbber.module.mjs +0 -48
- package/esm2020/viewport/native-scrollbar-track-size-provider.service.mjs +0 -114
- package/esm2020/viewport/scrollable.directive.mjs +0 -93
- package/esm2020/viewport/scrollbar/scrollbar.component.mjs +0 -322
- package/esm2020/viewport/viewport.component.mjs +0 -281
- package/esm2020/viewport/viewport.module.mjs +0 -50
- package/fesm2015/scion-components-sashbox.mjs +0 -554
- package/fesm2015/scion-components-sashbox.mjs.map +0 -1
- package/fesm2015/scion-components-splitter.mjs +0 -284
- package/fesm2015/scion-components-splitter.mjs.map +0 -1
- package/fesm2015/scion-components-throbber.mjs +0 -214
- package/fesm2015/scion-components-viewport.mjs +0 -861
- package/fesm2015/scion-components.mjs +0 -4
- package/fesm2015/scion-components.mjs.map +0 -1
- package/fesm2020/scion-components-dimension.mjs +0 -135
- package/fesm2020/scion-components-dimension.mjs.map +0 -1
- package/fesm2020/scion-components-throbber.mjs.map +0 -1
- package/fesm2020/scion-components-viewport.mjs.map +0 -1
- /package/{esm2020 → esm2022}/dimension/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/dimension/scion-components-dimension.mjs +0 -0
- /package/{esm2020 → esm2022}/public-api.mjs +0 -0
- /package/{esm2020 → esm2022}/sashbox/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/sashbox/sashbox-accessor.mjs +0 -0
- /package/{esm2020 → esm2022}/sashbox/scion-components-sashbox.mjs +0 -0
- /package/{esm2020 → esm2022}/scion-components.mjs +0 -0
- /package/{esm2020 → esm2022}/splitter/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/splitter/scion-components-splitter.mjs +0 -0
- /package/{esm2020 → esm2022}/throbber/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/throbber/scion-components-throbber.mjs +0 -0
- /package/{esm2020 → esm2022}/viewport/public_api.mjs +0 -0
- /package/{esm2020 → esm2022}/viewport/scion-components-viewport.mjs +0 -0
- /package/{fesm2020 → fesm2022}/scion-components.mjs +0 -0
- /package/{fesm2020 → fesm2022}/scion-components.mjs.map +0 -0
|
@@ -1,69 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { NgModule } from '@angular/core';
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import { SciSashboxComponent } from './sashbox.component';
|
|
13
|
-
import { SciSashDirective } from './sash.directive';
|
|
14
|
-
import { SciSashInitializerDirective } from './sash-initializer.directive';
|
|
15
|
-
import { SciSplitterModule } from '@scion/components/splitter';
|
|
16
|
-
import { SciElementRefDirective } from './element-ref.directive';
|
|
17
|
-
import * as i0 from "@angular/core";
|
|
18
|
-
/**
|
|
19
|
-
* Provides a sashbox component that lays out its children in a row or column arrangement and places a splitter between each child.
|
|
20
|
-
*
|
|
21
|
-
* ### Usage:
|
|
22
|
-
*
|
|
23
|
-
* ```html
|
|
24
|
-
* <sci-sashbox direction="row">
|
|
25
|
-
* <ng-template sciSash size="1">
|
|
26
|
-
* ...
|
|
27
|
-
* </ng-template>
|
|
28
|
-
*
|
|
29
|
-
* <ng-template sciSash size="2">
|
|
30
|
-
* ...
|
|
31
|
-
* </ng-template>
|
|
32
|
-
*
|
|
33
|
-
* <ng-template sciSash size="1">
|
|
34
|
-
* ...
|
|
35
|
-
* </ng-template>
|
|
36
|
-
* </sci-sashbox>
|
|
37
|
-
* ```
|
|
38
|
-
*/
|
|
39
|
-
export class SciSashboxModule {
|
|
40
|
-
}
|
|
41
|
-
SciSashboxModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSashboxModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
42
|
-
SciSashboxModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: SciSashboxModule, declarations: [SciSashboxComponent,
|
|
43
|
-
SciSashDirective,
|
|
44
|
-
SciSashInitializerDirective,
|
|
45
|
-
SciElementRefDirective], imports: [CommonModule,
|
|
46
|
-
SciSplitterModule], exports: [SciSashboxComponent,
|
|
47
|
-
SciSashDirective] });
|
|
48
|
-
SciSashboxModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSashboxModule, imports: [CommonModule,
|
|
49
|
-
SciSplitterModule] });
|
|
50
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSashboxModule, decorators: [{
|
|
51
|
-
type: NgModule,
|
|
52
|
-
args: [{
|
|
53
|
-
declarations: [
|
|
54
|
-
SciSashboxComponent,
|
|
55
|
-
SciSashDirective,
|
|
56
|
-
SciSashInitializerDirective,
|
|
57
|
-
SciElementRefDirective,
|
|
58
|
-
],
|
|
59
|
-
imports: [
|
|
60
|
-
CommonModule,
|
|
61
|
-
SciSplitterModule,
|
|
62
|
-
],
|
|
63
|
-
exports: [
|
|
64
|
-
SciSashboxComponent,
|
|
65
|
-
SciSashDirective,
|
|
66
|
-
],
|
|
67
|
-
}]
|
|
68
|
-
}] });
|
|
69
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2FzaGJveC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3Nhc2hib3gvc3JjL3Nhc2hib3gubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG1CQUFtQixFQUFDLE1BQU0scUJBQXFCLENBQUM7QUFDeEQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFDLDJCQUEyQixFQUFDLE1BQU0sOEJBQThCLENBQUM7QUFDekUsT0FBTyxFQUFDLGlCQUFpQixFQUFDLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFDLHNCQUFzQixFQUFDLE1BQU0seUJBQXlCLENBQUM7O0FBRS9EOzs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQW9CRztBQWlCSCxNQUFNLE9BQU8sZ0JBQWdCOzs2R0FBaEIsZ0JBQWdCOzhHQUFoQixnQkFBZ0IsaUJBZHpCLG1CQUFtQjtRQUNuQixnQkFBZ0I7UUFDaEIsMkJBQTJCO1FBQzNCLHNCQUFzQixhQUd0QixZQUFZO1FBQ1osaUJBQWlCLGFBR2pCLG1CQUFtQjtRQUNuQixnQkFBZ0I7OEdBR1AsZ0JBQWdCLFlBUnpCLFlBQVk7UUFDWixpQkFBaUI7MkZBT1IsZ0JBQWdCO2tCQWhCNUIsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osbUJBQW1CO3dCQUNuQixnQkFBZ0I7d0JBQ2hCLDJCQUEyQjt3QkFDM0Isc0JBQXNCO3FCQUN2QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixpQkFBaUI7cUJBQ2xCO29CQUNELE9BQU8sRUFBRTt3QkFDUCxtQkFBbUI7d0JBQ25CLGdCQUFnQjtxQkFDakI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTY2lTYXNoYm94Q29tcG9uZW50fSBmcm9tICcuL3Nhc2hib3guY29tcG9uZW50JztcbmltcG9ydCB7U2NpU2FzaERpcmVjdGl2ZX0gZnJvbSAnLi9zYXNoLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NjaVNhc2hJbml0aWFsaXplckRpcmVjdGl2ZX0gZnJvbSAnLi9zYXNoLWluaXRpYWxpemVyLmRpcmVjdGl2ZSc7XG5pbXBvcnQge1NjaVNwbGl0dGVyTW9kdWxlfSBmcm9tICdAc2Npb24vY29tcG9uZW50cy9zcGxpdHRlcic7XG5pbXBvcnQge1NjaUVsZW1lbnRSZWZEaXJlY3RpdmV9IGZyb20gJy4vZWxlbWVudC1yZWYuZGlyZWN0aXZlJztcblxuLyoqXG4gKiBQcm92aWRlcyBhIHNhc2hib3ggY29tcG9uZW50IHRoYXQgbGF5cyBvdXQgaXRzIGNoaWxkcmVuIGluIGEgcm93IG9yIGNvbHVtbiBhcnJhbmdlbWVudCBhbmQgcGxhY2VzIGEgc3BsaXR0ZXIgYmV0d2VlbiBlYWNoIGNoaWxkLlxuICpcbiAqICMjIyBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8c2NpLXNhc2hib3ggZGlyZWN0aW9uPVwicm93XCI+XG4gKiAgIDxuZy10ZW1wbGF0ZSBzY2lTYXNoIHNpemU9XCIxXCI+XG4gKiAgICAgLi4uXG4gKiAgIDwvbmctdGVtcGxhdGU+XG4gKlxuICogICA8bmctdGVtcGxhdGUgc2NpU2FzaCBzaXplPVwiMlwiPlxuICogICAgIC4uLlxuICogICA8L25nLXRlbXBsYXRlPlxuICpcbiAqICAgPG5nLXRlbXBsYXRlIHNjaVNhc2ggc2l6ZT1cIjFcIj5cbiAqICAgICAuLi5cbiAqICAgPC9uZy10ZW1wbGF0ZT5cbiAqIDwvc2NpLXNhc2hib3g+XG4gKiBgYGBcbiAqL1xuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgU2NpU2FzaGJveENvbXBvbmVudCxcbiAgICBTY2lTYXNoRGlyZWN0aXZlLFxuICAgIFNjaVNhc2hJbml0aWFsaXplckRpcmVjdGl2ZSxcbiAgICBTY2lFbGVtZW50UmVmRGlyZWN0aXZlLFxuICBdLFxuICBpbXBvcnRzOiBbXG4gICAgQ29tbW9uTW9kdWxlLFxuICAgIFNjaVNwbGl0dGVyTW9kdWxlLFxuICBdLFxuICBleHBvcnRzOiBbXG4gICAgU2NpU2FzaGJveENvbXBvbmVudCxcbiAgICBTY2lTYXNoRGlyZWN0aXZlLFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lTYXNoYm94TW9kdWxlIHtcbn1cbiJdfQ==
|
|
@@ -1,227 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component, EventEmitter, HostBinding, Inject, Input, NgZone, Output, ViewChild } from '@angular/core';
|
|
11
|
-
import { fromEvent, merge, Subject } from 'rxjs';
|
|
12
|
-
import { DOCUMENT } from '@angular/common';
|
|
13
|
-
import { tapFirst } from '@scion/toolkit/operators';
|
|
14
|
-
import { first, takeUntil } from 'rxjs/operators';
|
|
15
|
-
import * as i0 from "@angular/core";
|
|
16
|
-
/**
|
|
17
|
-
* Represents a splitter, a visual element that allows the user to control the size of elements next to it.
|
|
18
|
-
*
|
|
19
|
-
* The splitter has a handle that the user can move depending on the orientation of the splitter.
|
|
20
|
-
*
|
|
21
|
-
* Note that this control neither does change the size of adjacent elements nor does it (re-)position itself, but emits the distance by
|
|
22
|
-
* which the user has theoretically moved the splitter. You must subscribe to these events and change your layout accordingly.
|
|
23
|
-
*
|
|
24
|
-
* In the toolkit, {@link SciSashboxComponent} uses this splitter to divide a layout into several resizable sections.
|
|
25
|
-
* Another use case would be a resizable sidebar panel.
|
|
26
|
-
*
|
|
27
|
-
* ### Usage:
|
|
28
|
-
*
|
|
29
|
-
* ```html
|
|
30
|
-
* <sci-splitter (move)="onSplitterMove($event.distance)"></sci-splitter>
|
|
31
|
-
* ```
|
|
32
|
-
*
|
|
33
|
-
* ### Theme override:
|
|
34
|
-
* The default style of the splitter is made up of shades of gray.
|
|
35
|
-
* You can control the appearance by overriding the following CSS variables:
|
|
36
|
-
*
|
|
37
|
-
* - --sci-splitter-bgcolor: Sets the background color of the splitter.
|
|
38
|
-
* - --sci-splitter-bgcolor_hover: Sets the background color of the splitter when hovering it.
|
|
39
|
-
* - --sci-splitter-size: Sets the size of the splitter along the main axis.
|
|
40
|
-
* - --sci-splitter-size_hover: Sets the size of the splitter along the main axis when hovering it.
|
|
41
|
-
* - --sci-splitter-touch-target-size: Sets the touch target size to move the splitter (accessibility).
|
|
42
|
-
* - --sci-splitter-cross-axis-size: Sets the splitter size along the cross axis.
|
|
43
|
-
* - --sci-splitter-border-radius: Sets the border radius of the splitter.
|
|
44
|
-
* - --sci-splitter-opacity_active: Sets the opacity of the splitter while the user moves the splitter.
|
|
45
|
-
* - --sci-splitter-opacity_hover: Sets the opacity of the splitter when hovering it.
|
|
46
|
-
*
|
|
47
|
-
* Example:
|
|
48
|
-
*
|
|
49
|
-
* ```scss
|
|
50
|
-
* sci-splitter {
|
|
51
|
-
* --sci-splitter-bgcolor: black;
|
|
52
|
-
* --sci-splitter-bgcolor_hover: black;
|
|
53
|
-
* }
|
|
54
|
-
* ```
|
|
55
|
-
*
|
|
56
|
-
* @dynamic ignore 'strictMetadataEmit' errors due to the usage of {@link Document} as ambient type for DI.
|
|
57
|
-
*/
|
|
58
|
-
export class SciSplitterComponent {
|
|
59
|
-
constructor(_zone, _cd, _document) {
|
|
60
|
-
this._zone = _zone;
|
|
61
|
-
this._cd = _cd;
|
|
62
|
-
this._document = _document;
|
|
63
|
-
this._destroy$ = new Subject();
|
|
64
|
-
/* @docs-private */
|
|
65
|
-
this.moving = false;
|
|
66
|
-
/**
|
|
67
|
-
* Controls whether to render a vertical or horizontal splitter.
|
|
68
|
-
* By default, if not specified, renders a vertical splitter.
|
|
69
|
-
*/
|
|
70
|
-
this.orientation = 'vertical';
|
|
71
|
-
/**
|
|
72
|
-
* Emits when starting to move the splitter.
|
|
73
|
-
*/
|
|
74
|
-
this.start = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
|
|
75
|
-
/**
|
|
76
|
-
* Emits the distance in pixels when the splitter is moved.
|
|
77
|
-
* The event is emitted outside of the Angular zone.
|
|
78
|
-
*/
|
|
79
|
-
this.move = new EventEmitter();
|
|
80
|
-
/**
|
|
81
|
-
* Emits when ending to move the splitter.
|
|
82
|
-
*/
|
|
83
|
-
this.end = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
|
|
84
|
-
/**
|
|
85
|
-
* Emits when to reset the splitter position.
|
|
86
|
-
*/
|
|
87
|
-
this.reset = new EventEmitter(); // eslint-disable-line @angular-eslint/no-output-native
|
|
88
|
-
}
|
|
89
|
-
get isVertical() {
|
|
90
|
-
return !this.isHorizontal;
|
|
91
|
-
}
|
|
92
|
-
get isHorizontal() {
|
|
93
|
-
return this.orientation === 'horizontal';
|
|
94
|
-
}
|
|
95
|
-
/* @docs-private */
|
|
96
|
-
get splitterCursor() {
|
|
97
|
-
return this.isVertical ? 'ew-resize' : 'ns-resize';
|
|
98
|
-
}
|
|
99
|
-
/* @docs-private */
|
|
100
|
-
ngOnInit() {
|
|
101
|
-
fromEvent(this.touchTargetElementRef.nativeElement, 'dblclick')
|
|
102
|
-
.pipe(takeUntil(this._destroy$))
|
|
103
|
-
.subscribe(() => this.onReset());
|
|
104
|
-
fromEvent(this.touchTargetElementRef.nativeElement, 'touchstart')
|
|
105
|
-
.pipe(takeUntil(this._destroy$))
|
|
106
|
-
.subscribe((event) => this.onTouchStart(event));
|
|
107
|
-
fromEvent(this.touchTargetElementRef.nativeElement, 'mousedown')
|
|
108
|
-
.pipe(takeUntil(this._destroy$))
|
|
109
|
-
.subscribe((event) => this.onMouseDown(event));
|
|
110
|
-
}
|
|
111
|
-
onReset() {
|
|
112
|
-
this.reset.emit();
|
|
113
|
-
}
|
|
114
|
-
onTouchStart(startEvent) {
|
|
115
|
-
this.installMoveListener({
|
|
116
|
-
startEvent: startEvent,
|
|
117
|
-
moveEventNames: ['touchmove'],
|
|
118
|
-
endEventNames: ['touchend', 'touchcancel'],
|
|
119
|
-
eventPositionFn: (touchEvent) => {
|
|
120
|
-
const touch = touchEvent.touches[0];
|
|
121
|
-
if (this.isVertical) {
|
|
122
|
-
return { screenPos: touch.screenX, clientPos: touch.clientX, pagePos: touch.pageX };
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
return { screenPos: touch.screenY, clientPos: touch.clientY, pagePos: touch.pageY };
|
|
126
|
-
}
|
|
127
|
-
},
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
onMouseDown(startEvent) {
|
|
131
|
-
if (startEvent.button !== 0) {
|
|
132
|
-
return;
|
|
133
|
-
}
|
|
134
|
-
this.installMoveListener({
|
|
135
|
-
startEvent: startEvent,
|
|
136
|
-
moveEventNames: ['mousemove', 'sci-mousemove'],
|
|
137
|
-
endEventNames: ['mouseup', 'sci-mouseup'],
|
|
138
|
-
eventPositionFn: (mouseEvent) => {
|
|
139
|
-
if (this.isVertical) {
|
|
140
|
-
return { screenPos: mouseEvent.screenX, clientPos: mouseEvent.clientX, pagePos: mouseEvent.pageX };
|
|
141
|
-
}
|
|
142
|
-
else {
|
|
143
|
-
return { screenPos: mouseEvent.screenY, clientPos: mouseEvent.clientY, pagePos: mouseEvent.pageY };
|
|
144
|
-
}
|
|
145
|
-
},
|
|
146
|
-
});
|
|
147
|
-
}
|
|
148
|
-
installMoveListener(config) {
|
|
149
|
-
const startEvent = config.startEvent;
|
|
150
|
-
startEvent.preventDefault();
|
|
151
|
-
this._zone.runOutsideAngular(() => {
|
|
152
|
-
// install listeners on document level to allow fast dragging the splitter.
|
|
153
|
-
const moveEvent$ = merge(...config.moveEventNames.map(eventName => fromEvent(this._document, eventName)));
|
|
154
|
-
const endEvent$ = merge(...config.endEventNames.map(eventName => fromEvent(this._document, eventName)));
|
|
155
|
-
let lastClientPos = config.eventPositionFn(startEvent).clientPos;
|
|
156
|
-
// Apply cursor on document level to prevent flickering while moving the splitter
|
|
157
|
-
const oldDocumentCursor = this._document.body.style.cursor;
|
|
158
|
-
this._document.body.style.cursor = this.splitterCursor;
|
|
159
|
-
// Listen for 'move' events until stop moving the splitter
|
|
160
|
-
moveEvent$
|
|
161
|
-
.pipe(tapFirst(() => this._zone.run(() => {
|
|
162
|
-
this.moving = true;
|
|
163
|
-
this.start.next();
|
|
164
|
-
this._cd.markForCheck();
|
|
165
|
-
})), takeUntil(merge(endEvent$, this._destroy$)))
|
|
166
|
-
.subscribe((moveEvent) => {
|
|
167
|
-
const eventPos = config.eventPositionFn(moveEvent);
|
|
168
|
-
const newClientPos = eventPos.clientPos;
|
|
169
|
-
const distance = newClientPos - lastClientPos;
|
|
170
|
-
lastClientPos = newClientPos;
|
|
171
|
-
NgZone.assertNotInAngularZone();
|
|
172
|
-
this.move.emit({ distance, position: eventPos });
|
|
173
|
-
});
|
|
174
|
-
// Listen for 'end' events; call 'stop propagation' to not close overlays
|
|
175
|
-
endEvent$
|
|
176
|
-
.pipe(first(), takeUntil(this._destroy$))
|
|
177
|
-
.subscribe((endEvent) => {
|
|
178
|
-
endEvent.stopPropagation();
|
|
179
|
-
this._document.body.style.cursor = oldDocumentCursor;
|
|
180
|
-
this.moving && this._zone.run(() => {
|
|
181
|
-
this.end.next();
|
|
182
|
-
this.moving = false;
|
|
183
|
-
this._cd.markForCheck();
|
|
184
|
-
});
|
|
185
|
-
});
|
|
186
|
-
});
|
|
187
|
-
}
|
|
188
|
-
/* @docs-private */
|
|
189
|
-
ngOnDestroy() {
|
|
190
|
-
this._destroy$.next();
|
|
191
|
-
}
|
|
192
|
-
}
|
|
193
|
-
SciSplitterComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterComponent, deps: [{ token: i0.NgZone }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
|
|
194
|
-
SciSplitterComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciSplitterComponent, selector: "sci-splitter", inputs: { orientation: "orientation" }, outputs: { start: "start", move: "move", end: "end", reset: "reset" }, host: { properties: { "class.moving": "this.moving", "class.vertical": "this.isVertical", "class.horizontal": "this.isHorizontal", "style.cursor": "this.splitterCursor" } }, viewQueries: [{ propertyName: "touchTargetElementRef", first: true, predicate: ["touch_target"], descendants: true, static: true }], ngImport: i0, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: [":host{--sci-splitter-bgcolor: #d2d2d2;--sci-splitter-bgcolor_hover: var(--sci-splitter-bgcolor);--sci-splitter-size: 1px;--sci-splitter-size_hover: 8px;--sci-splitter-touch-target-size: 15px;--sci-splitter-cross-axis-size: 100%;--sci-splitter-border-radius: 0;--sci-splitter-opacity_active: 1;--sci-splitter-opacity_hover: .3;display:grid;position:relative;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);opacity:var(--sci-splitter-opacity_hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--sci-splitter-size);height:var(--sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--sci-splitter-size);height:100%}:host.horizontal{height:var(--sci-splitter-size);width:var(--sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--sci-splitter-opacity_active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);width:var(--sci-splitter-size_hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);height:var(--sci-splitter-size_hover)}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
195
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterComponent, decorators: [{
|
|
196
|
-
type: Component,
|
|
197
|
-
args: [{ selector: 'sci-splitter', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #touch_target class=\"touch-target\">\n <div class=\"handle\"></div>\n</div>\n", styles: [":host{--sci-splitter-bgcolor: #d2d2d2;--sci-splitter-bgcolor_hover: var(--sci-splitter-bgcolor);--sci-splitter-size: 1px;--sci-splitter-size_hover: 8px;--sci-splitter-touch-target-size: 15px;--sci-splitter-cross-axis-size: 100%;--sci-splitter-border-radius: 0;--sci-splitter-opacity_active: 1;--sci-splitter-opacity_hover: .3;display:grid;position:relative;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);place-items:center;align-self:center}:host>div.touch-target{position:absolute;display:grid;place-items:center;pointer-events:auto}:host>div.touch-target>div.handle{position:absolute;background-color:var(--sci-splitter-bgcolor);border-radius:var(--sci-splitter-border-radius);opacity:var(--sci-splitter-opacity_hover);transition-property:width,height;transition-timing-function:ease-in;transition-duration:75ms}:host.vertical{width:var(--sci-splitter-size);height:var(--sci-splitter-cross-axis-size)}:host.vertical>div.touch-target{width:var(--sci-splitter-touch-target-size);height:100%}:host.vertical>div.touch-target>div.handle{width:var(--sci-splitter-size);height:100%}:host.horizontal{height:var(--sci-splitter-size);width:var(--sci-splitter-cross-axis-size)}:host.horizontal>div.touch-target{width:100%;height:var(--sci-splitter-touch-target-size)}:host.horizontal>div.touch-target>div.handle{width:100%;height:var(--sci-splitter-size)}:host>div.touch-target:active>div.handle{opacity:var(--sci-splitter-opacity_active)}:host.vertical.moving>div.touch-target>div.handle,:host.vertical>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);width:var(--sci-splitter-size_hover)}:host.horizontal.moving>div.touch-target>div.handle,:host.horizontal>div.touch-target:hover>div.handle{background-color:var(--sci-splitter-bgcolor_hover);height:var(--sci-splitter-size_hover)}\n"] }]
|
|
198
|
-
}], ctorParameters: function () { return [{ type: i0.NgZone }, { type: i0.ChangeDetectorRef }, { type: Document, decorators: [{
|
|
199
|
-
type: Inject,
|
|
200
|
-
args: [DOCUMENT]
|
|
201
|
-
}] }]; }, propDecorators: { moving: [{
|
|
202
|
-
type: HostBinding,
|
|
203
|
-
args: ['class.moving']
|
|
204
|
-
}], isVertical: [{
|
|
205
|
-
type: HostBinding,
|
|
206
|
-
args: ['class.vertical']
|
|
207
|
-
}], isHorizontal: [{
|
|
208
|
-
type: HostBinding,
|
|
209
|
-
args: ['class.horizontal']
|
|
210
|
-
}], orientation: [{
|
|
211
|
-
type: Input
|
|
212
|
-
}], start: [{
|
|
213
|
-
type: Output
|
|
214
|
-
}], move: [{
|
|
215
|
-
type: Output
|
|
216
|
-
}], end: [{
|
|
217
|
-
type: Output
|
|
218
|
-
}], reset: [{
|
|
219
|
-
type: Output
|
|
220
|
-
}], splitterCursor: [{
|
|
221
|
-
type: HostBinding,
|
|
222
|
-
args: ['style.cursor']
|
|
223
|
-
}], touchTargetElementRef: [{
|
|
224
|
-
type: ViewChild,
|
|
225
|
-
args: ['touch_target', { static: true }]
|
|
226
|
-
}] } });
|
|
227
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQXFCLFNBQVMsRUFBYyxZQUFZLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxFQUFxQixNQUFNLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDO0FBQ3hMLE9BQU8sRUFBQyxTQUFTLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDekMsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQ2xELE9BQU8sRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7O0FBRWhEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQXlDRztBQU9ILE1BQU0sT0FBTyxvQkFBb0I7SUE0RC9CLFlBQW9CLEtBQWEsRUFDYixHQUFzQixFQUNKLFNBQW1CO1FBRnJDLFVBQUssR0FBTCxLQUFLLENBQVE7UUFDYixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUNKLGNBQVMsR0FBVCxTQUFTLENBQVU7UUE1RGpELGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBRXhDLG1CQUFtQjtRQUVaLFdBQU0sR0FBRyxLQUFLLENBQUM7UUFZdEI7OztXQUdHO1FBRUksZ0JBQVcsR0FBOEIsVUFBVSxDQUFD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LGNBQWM7Z0JBT3BCLHFCQUFxQjtzQkFEM0IsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ2hhbmdlRGV0ZWN0b3JSZWYsIENvbXBvbmVudCwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBIb3N0QmluZGluZywgSW5qZWN0LCBJbnB1dCwgTmdab25lLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBWaWV3Q2hpbGR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtmcm9tRXZlbnQsIG1lcmdlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcbmltcG9ydCB7RE9DVU1FTlR9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge3RhcEZpcnN0fSBmcm9tICdAc2Npb24vdG9vbGtpdC9vcGVyYXRvcnMnO1xuaW1wb3J0IHtmaXJzdCwgdGFrZVVudGlsfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIHNwbGl0dGVyLCBhIHZpc3VhbCBlbGVtZW50IHRoYXQgYWxsb3dzIHRoZSB1c2VyIHRvIGNvbnRyb2wgdGhlIHNpemUgb2YgZWxlbWVudHMgbmV4dCB0byBpdC5cbiAqXG4gKiBUaGUgc3BsaXR0ZXIgaGFzIGEgaGFuZGxlIHRoYXQgdGhlIHVzZXIgY2FuIG1vdmUgZGVwZW5kaW5nIG9uIHRoZSBvcmllbnRhdGlvbiBvZiB0aGUgc3BsaXR0ZXIuXG4gKlxuICogTm90ZSB0aGF0IHRoaXMgY29udHJvbCBuZWl0aGVyIGRvZXMgY2hhbmdlIHRoZSBzaXplIG9mIGFkamFjZW50IGVsZW1lbnRzIG5vciBkb2VzIGl0IChyZS0pcG9zaXRpb24gaXRzZWxmLCBidXQgZW1pdHMgdGhlIGRpc3RhbmNlIGJ5XG4gKiB3aGljaCB0aGUgdXNlciBoYXMgdGhlb3JldGljYWxseSBtb3ZlZCB0aGUgc3BsaXR0ZXIuIFlvdSBtdXN0IHN1YnNjcmliZSB0byB0aGVzZSBldmVudHMgYW5kIGNoYW5nZSB5b3VyIGxheW91dCBhY2NvcmRpbmdseS5cbiAqXG4gKiBJbiB0aGUgdG9vbGtpdCwge0BsaW5rIFNjaVNhc2hib3hDb21wb25lbnR9IHVzZXMgdGhpcyBzcGxpdHRlciB0byBkaXZpZGUgYSBsYXlvdXQgaW50byBzZXZlcmFsIHJlc2l6YWJsZSBzZWN0aW9ucy5cbiAqIEFub3RoZXIgdXNlIGNhc2Ugd291bGQgYmUgYSByZXNpemFibGUgc2lkZWJhciBwYW5lbC5cbiAqXG4gKiAjIyMgVXNhZ2U6XG4gKlxuICogYGBgaHRtbFxuICogPHNjaS1zcGxpdHRlciAobW92ZSk9XCJvblNwbGl0dGVyTW92ZSgkZXZlbnQuZGlzdGFuY2UpXCI+PC9zY2ktc3BsaXR0ZXI+XG4gKiBgYGBcbiAqXG4gKiAjIyMgVGhlbWUgb3ZlcnJpZGU6XG4gKiBUaGUgZGVmYXVsdCBzdHlsZSBvZiB0aGUgc3BsaXR0ZXIgaXMgbWFkZSB1cCBvZiBzaGFkZXMgb2YgZ3JheS5cbiAqIFlvdSBjYW4gY29udHJvbCB0aGUgYXBwZWFyYW5jZSBieSBvdmVycmlkaW5nIHRoZSBmb2xsb3dpbmcgQ1NTIHZhcmlhYmxlczpcbiAqXG4gKiAtIC0tc2NpLXNwbGl0dGVyLWJnY29sb3I6IFNldHMgdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIHNwbGl0dGVyLlxuICogLSAtLXNjaS1zcGxpdHRlci1iZ2NvbG9yX2hvdmVyOiBTZXRzIHRoZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzcGxpdHRlciB3aGVuIGhvdmVyaW5nIGl0LlxuICogLSAtLXNjaS1zcGxpdHRlci1zaXplOiBTZXRzIHRoZSBzaXplIG9mIHRoZSBzcGxpdHRlciBhbG9uZyB0aGUgbWFpbiBheGlzLlxuICogLSAtLXNjaS1zcGxpdHRlci1zaXplX2hvdmVyOiBTZXRzIHRoZSBzaXplIG9mIHRoZSBzcGxpdHRlciBhbG9uZyB0aGUgbWFpbiBheGlzIHdoZW4gaG92ZXJpbmcgaXQuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLXRvdWNoLXRhcmdldC1zaXplOiBTZXRzIHRoZSB0b3VjaCB0YXJnZXQgc2l6ZSB0byBtb3ZlIHRoZSBzcGxpdHRlciAoYWNjZXNzaWJpbGl0eSkuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLWNyb3NzLWF4aXMtc2l6ZTogU2V0cyB0aGUgc3BsaXR0ZXIgc2l6ZSBhbG9uZyB0aGUgY3Jvc3MgYXhpcy5cbiAqIC0gLS1zY2ktc3BsaXR0ZXItYm9yZGVyLXJhZGl1czogU2V0cyB0aGUgYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3BsaXR0ZXIuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLW9wYWNpdHlfYWN0aXZlOiBTZXRzIHRoZSBvcGFjaXR5IG9mIHRoZSBzcGxpdHRlciB3aGlsZSB0aGUgdXNlciBtb3ZlcyB0aGUgc3BsaXR0ZXIuXG4gKiAtIC0tc2NpLXNwbGl0dGVyLW9wYWNpdHlfaG92ZXI6IFNldHMgdGhlIG9wYWNpdHkgb2YgdGhlIHNwbGl0dGVyIHdoZW4gaG92ZXJpbmcgaXQuXG4gKlxuICogRXhhbXBsZTpcbiAqXG4gKiBgYGBzY3NzXG4gKiBzY2ktc3BsaXR0ZXIge1xuICogICAtLXNjaS1zcGxpdHRlci1iZ2NvbG9yOiBibGFjaztcbiAqICAgLS1zY2ktc3BsaXR0ZXItYmdjb2xvcl9ob3ZlcjogYmxhY2s7XG4gKiB9XG4gKiBgYGBcbiAqXG4gKiBAZHluYW1pYyBpZ25vcmUgJ3N0cmljdE1ldGFkYXRhRW1pdCcgZXJyb3JzIGR1ZSB0byB0aGUgdXNhZ2Ugb2Yge0BsaW5rIERvY3VtZW50fSBhcyBhbWJpZW50IHR5cGUgZm9yIERJLlxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktc3BsaXR0ZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vc3BsaXR0ZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9zcGxpdHRlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU3BsaXR0ZXJDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XG5cbiAgcHJpdmF0ZSBfZGVzdHJveSQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5tb3ZpbmcnKVxuICBwdWJsaWMgbW92aW5nID0gZmFsc2U7XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy52ZXJ0aWNhbCcpXG4gIHB1YmxpYyBnZXQgaXNWZXJ0aWNhbCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gIXRoaXMuaXNIb3Jpem9udGFsO1xuICB9XG5cbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5ob3Jpem9udGFsJylcbiAgcHVibGljIGdldCBpc0hvcml6b250YWwoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIHRoaXMub3JpZW50YXRpb24gPT09ICdob3Jpem9udGFsJztcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250cm9scyB3aGV0aGVyIHRvIHJlbmRlciBhIHZlcnRpY2FsIG9yIGhvcml6b250YWwgc3BsaXR0ZXIuXG4gICAqIEJ5IGRlZmF1bHQsIGlmIG5vdCBzcGVjaWZpZWQsIHJlbmRlcnMgYSB2ZXJ0aWNhbCBzcGxpdHRlci5cbiAgICovXG4gIEBJbnB1dCgpXG4gIHB1YmxpYyBvcmllbnRhdGlvbjogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJyA9ICd2ZXJ0aWNhbCc7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gc3RhcnRpbmcgdG8gbW92ZSB0aGUgc3BsaXR0ZXIuXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHN0YXJ0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyoqXG4gICAqIEVtaXRzIHRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgd2hlbiB0aGUgc3BsaXR0ZXIgaXMgbW92ZWQuXG4gICAqIFRoZSBldmVudCBpcyBlbWl0dGVkIG91dHNpZGUgb2YgdGhlIEFuZ3VsYXIgem9uZS5cbiAgICovXG4gIEBPdXRwdXQoKVxuICBwdWJsaWMgbW92ZSA9IG5ldyBFdmVudEVtaXR0ZXI8U3BsaXR0ZXJNb3ZlRXZlbnQ+KCk7XG5cbiAgLyoqXG4gICAqIEVtaXRzIHdoZW4gZW5kaW5nIHRvIG1vdmUgdGhlIHNwbGl0dGVyLlxuICAgKi9cbiAgQE91dHB1dCgpXG4gIHB1YmxpYyBlbmQgPSBuZXcgRXZlbnRFbWl0dGVyPHZvaWQ+KCk7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgQGFuZ3VsYXItZXNsaW50L25vLW91dHB1dC1uYXRpdmVcblxuICAvKipcbiAgICogRW1pdHMgd2hlbiB0byByZXNldCB0aGUgc3BsaXR0ZXIgcG9zaXRpb24uXG4gICAqL1xuICBAT3V0cHV0KClcbiAgcHVibGljIHJlc2V0ID0gbmV3IEV2ZW50RW1pdHRlcjx2b2lkPigpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIEBhbmd1bGFyLWVzbGludC9uby1vdXRwdXQtbmF0aXZlXG5cbiAgLyogQGRvY3MtcHJpdmF0ZSAqL1xuICBASG9zdEJpbmRpbmcoJ3N0eWxlLmN1cnNvcicpXG4gIHB1YmxpYyBnZXQgc3BsaXR0ZXJDdXJzb3IoKTogc3RyaW5nIHtcbiAgICByZXR1cm4gdGhpcy5pc1ZlcnRpY2FsID8gJ2V3LXJlc2l6ZScgOiAnbnMtcmVzaXplJztcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgQFZpZXdDaGlsZCgndG91Y2hfdGFyZ2V0Jywge3N0YXRpYzogdHJ1ZX0pXG4gIHB1YmxpYyB0b3VjaFRhcmdldEVsZW1lbnRSZWYhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIF96b25lOiBOZ1pvbmUsXG4gICAgICAgICAgICAgIHByaXZhdGUgX2NkOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgICAgICAgQEluamVjdChET0NVTUVOVCkgcHJpdmF0ZSBfZG9jdW1lbnQ6IERvY3VtZW50KSB7XG4gIH1cblxuICAvKiBAZG9jcy1wcml2YXRlICovXG4gIHB1YmxpYyBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICBmcm9tRXZlbnQodGhpcy50b3VjaFRhcmdldEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ2RibGNsaWNrJylcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMub25SZXNldCgpKTtcblxuICAgIGZyb21FdmVudDxUb3VjaEV2ZW50Pih0aGlzLnRvdWNoVGFyZ2V0RWxlbWVudFJlZi5uYXRpdmVFbGVtZW50LCAndG91Y2hzdGFydCcpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IFRvdWNoRXZlbnQpID0+IHRoaXMub25Ub3VjaFN0YXJ0KGV2ZW50KSk7XG5cbiAgICBmcm9tRXZlbnQ8TW91c2VFdmVudD4odGhpcy50b3VjaFRhcmdldEVsZW1lbnRSZWYubmF0aXZlRWxlbWVudCwgJ21vdXNlZG93bicpXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fZGVzdHJveSQpKVxuICAgICAgLnN1YnNjcmliZSgoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHRoaXMub25Nb3VzZURvd24oZXZlbnQpKTtcbiAgfVxuXG4gIHByaXZhdGUgb25SZXNldCgpOiB2b2lkIHtcbiAgICB0aGlzLnJlc2V0LmVtaXQoKTtcbiAgfVxuXG4gIHByaXZhdGUgb25Ub3VjaFN0YXJ0KHN0YXJ0RXZlbnQ6IFRvdWNoRXZlbnQpOiB2b2lkIHtcbiAgICB0aGlzLmluc3RhbGxNb3ZlTGlzdGVuZXIoe1xuICAgICAgICBzdGFydEV2ZW50OiBzdGFydEV2ZW50LFxuICAgICAgICBtb3ZlRXZlbnROYW1lczogWyd0b3VjaG1vdmUnXSxcbiAgICAgICAgZW5kRXZlbnROYW1lczogWyd0b3VjaGVuZCcsICd0b3VjaGNhbmNlbCddLFxuICAgICAgICBldmVudFBvc2l0aW9uRm46ICh0b3VjaEV2ZW50OiBUb3VjaEV2ZW50KTogRXZlbnRQb3NpdGlvbiA9PiB7XG4gICAgICAgICAgY29uc3QgdG91Y2g6IFRvdWNoID0gdG91Y2hFdmVudC50b3VjaGVzWzBdO1xuICAgICAgICAgIGlmICh0aGlzLmlzVmVydGljYWwpIHtcbiAgICAgICAgICAgIHJldHVybiB7c2NyZWVuUG9zOiB0b3VjaC5zY3JlZW5YLCBjbGllbnRQb3M6IHRvdWNoLmNsaWVudFgsIHBhZ2VQb3M6IHRvdWNoLnBhZ2VYfTtcbiAgICAgICAgICB9XG4gICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3NjcmVlblBvczogdG91Y2guc2NyZWVuWSwgY2xpZW50UG9zOiB0b3VjaC5jbGllbnRZLCBwYWdlUG9zOiB0b3VjaC5wYWdlWX07XG4gICAgICAgICAgfVxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICApO1xuICB9XG5cbiAgcHJpdmF0ZSBvbk1vdXNlRG93bihzdGFydEV2ZW50OiBNb3VzZUV2ZW50KTogdm9pZCB7XG4gICAgaWYgKHN0YXJ0RXZlbnQuYnV0dG9uICE9PSAwKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5pbnN0YWxsTW92ZUxpc3RlbmVyKHtcbiAgICAgICAgc3RhcnRFdmVudDogc3RhcnRFdmVudCxcbiAgICAgICAgbW92ZUV2ZW50TmFtZXM6IFsnbW91c2Vtb3ZlJywgJ3NjaS1tb3VzZW1vdmUnXSxcbiAgICAgICAgZW5kRXZlbnROYW1lczogWydtb3VzZXVwJywgJ3NjaS1tb3VzZXVwJ10sXG4gICAgICAgIGV2ZW50UG9zaXRpb25GbjogKG1vdXNlRXZlbnQ6IE1vdXNlRXZlbnQpOiBFdmVudFBvc2l0aW9uID0+IHtcbiAgICAgICAgICBpZiAodGhpcy5pc1ZlcnRpY2FsKSB7XG4gICAgICAgICAgICByZXR1cm4ge3NjcmVlblBvczogbW91c2VFdmVudC5zY3JlZW5YLCBjbGllbnRQb3M6IG1vdXNlRXZlbnQuY2xpZW50WCwgcGFnZVBvczogbW91c2VFdmVudC5wYWdlWH07XG4gICAgICAgICAgfVxuICAgICAgICAgIGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHtzY3JlZW5Qb3M6IG1vdXNlRXZlbnQuc2NyZWVuWSwgY2xpZW50UG9zOiBtb3VzZUV2ZW50LmNsaWVudFksIHBhZ2VQb3M6IG1vdXNlRXZlbnQucGFnZVl9O1xuICAgICAgICAgIH1cbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgaW5zdGFsbE1vdmVMaXN0ZW5lcjxFVkVOVCBleHRlbmRzIEV2ZW50Pihjb25maWc6IHtzdGFydEV2ZW50OiBFVkVOVDsgbW92ZUV2ZW50TmFtZXM6IHN0cmluZ1tdOyBlbmRFdmVudE5hbWVzOiBzdHJpbmdbXTsgZXZlbnRQb3NpdGlvbkZuOiAoZXZlbnQ6IEVWRU5UKSA9PiBFdmVudFBvc2l0aW9ufSk6IHZvaWQge1xuICAgIGNvbnN0IHN0YXJ0RXZlbnQgPSBjb25maWcuc3RhcnRFdmVudDtcblxuICAgIHN0YXJ0RXZlbnQucHJldmVudERlZmF1bHQoKTtcblxuICAgIHRoaXMuX3pvbmUucnVuT3V0c2lkZUFuZ3VsYXIoKCkgPT4ge1xuICAgICAgLy8gaW5zdGFsbCBsaXN0ZW5lcnMgb24gZG9jdW1lbnQgbGV2ZWwgdG8gYWxsb3cgZmFzdCBkcmFnZ2luZyB0aGUgc3BsaXR0ZXIuXG4gICAgICBjb25zdCBtb3ZlRXZlbnQkID0gbWVyZ2UoLi4uY29uZmlnLm1vdmVFdmVudE5hbWVzLm1hcChldmVudE5hbWUgPT4gZnJvbUV2ZW50PEVWRU5UPih0aGlzLl9kb2N1bWVudCwgZXZlbnROYW1lKSkpO1xuICAgICAgY29uc3QgZW5kRXZlbnQkID0gbWVyZ2UoLi4uY29uZmlnLmVuZEV2ZW50TmFtZXMubWFwKGV2ZW50TmFtZSA9PiBmcm9tRXZlbnQ8RVZFTlQ+KHRoaXMuX2RvY3VtZW50LCBldmVudE5hbWUpKSk7XG4gICAgICBsZXQgbGFzdENsaWVudFBvcyA9IGNvbmZpZy5ldmVudFBvc2l0aW9uRm4oc3RhcnRFdmVudCkuY2xpZW50UG9zO1xuXG4gICAgICAvLyBBcHBseSBjdXJzb3Igb24gZG9jdW1lbnQgbGV2ZWwgdG8gcHJldmVudCBmbGlja2VyaW5nIHdoaWxlIG1vdmluZyB0aGUgc3BsaXR0ZXJcbiAgICAgIGNvbnN0IG9sZERvY3VtZW50Q3Vyc29yID0gdGhpcy5fZG9jdW1lbnQuYm9keS5zdHlsZS5jdXJzb3I7XG4gICAgICB0aGlzLl9kb2N1bWVudC5ib2R5LnN0eWxlLmN1cnNvciA9IHRoaXMuc3BsaXR0ZXJDdXJzb3I7XG5cbiAgICAgIC8vIExpc3RlbiBmb3IgJ21vdmUnIGV2ZW50cyB1bnRpbCBzdG9wIG1vdmluZyB0aGUgc3BsaXR0ZXJcbiAgICAgIG1vdmVFdmVudCRcbiAgICAgICAgLnBpcGUoXG4gICAgICAgICAgdGFwRmlyc3QoKCkgPT4gdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5tb3ZpbmcgPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5zdGFydC5uZXh0KCk7XG4gICAgICAgICAgICB0aGlzLl9jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICAgICAgICB9KSksXG4gICAgICAgICAgdGFrZVVudGlsKG1lcmdlKGVuZEV2ZW50JCwgdGhpcy5fZGVzdHJveSQpKSxcbiAgICAgICAgKVxuICAgICAgICAuc3Vic2NyaWJlKChtb3ZlRXZlbnQ6IEVWRU5UKSA9PiB7XG4gICAgICAgICAgY29uc3QgZXZlbnRQb3MgPSBjb25maWcuZXZlbnRQb3NpdGlvbkZuKG1vdmVFdmVudCk7XG4gICAgICAgICAgY29uc3QgbmV3Q2xpZW50UG9zID0gZXZlbnRQb3MuY2xpZW50UG9zO1xuICAgICAgICAgIGNvbnN0IGRpc3RhbmNlID0gbmV3Q2xpZW50UG9zIC0gbGFzdENsaWVudFBvcztcbiAgICAgICAgICBsYXN0Q2xpZW50UG9zID0gbmV3Q2xpZW50UG9zO1xuXG4gICAgICAgICAgTmdab25lLmFzc2VydE5vdEluQW5ndWxhclpvbmUoKTtcbiAgICAgICAgICB0aGlzLm1vdmUuZW1pdCh7ZGlzdGFuY2UsIHBvc2l0aW9uOiBldmVudFBvc30pO1xuICAgICAgICB9KTtcblxuICAgICAgLy8gTGlzdGVuIGZvciAnZW5kJyBldmVudHM7IGNhbGwgJ3N0b3AgcHJvcGFnYXRpb24nIHRvIG5vdCBjbG9zZSBvdmVybGF5c1xuICAgICAgZW5kRXZlbnQkXG4gICAgICAgIC5waXBlKGZpcnN0KCksIHRha2VVbnRpbCh0aGlzLl9kZXN0cm95JCkpXG4gICAgICAgIC5zdWJzY3JpYmUoKGVuZEV2ZW50OiBFVkVOVCkgPT4ge1xuICAgICAgICAgIGVuZEV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgIHRoaXMuX2RvY3VtZW50LmJvZHkuc3R5bGUuY3Vyc29yID0gb2xkRG9jdW1lbnRDdXJzb3I7XG4gICAgICAgICAgdGhpcy5tb3ZpbmcgJiYgdGhpcy5fem9uZS5ydW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5lbmQubmV4dCgpO1xuICAgICAgICAgICAgdGhpcy5tb3ZpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIHRoaXMuX2NkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9KTtcbiAgICB9KTtcbiAgfVxuXG4gIC8qIEBkb2NzLXByaXZhdGUgKi9cbiAgcHVibGljIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgIHRoaXMuX2Rlc3Ryb3kkLm5leHQoKTtcbiAgfVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50UG9zaXRpb24ge1xuICBjbGllbnRQb3M6IG51bWJlcjtcbiAgcGFnZVBvczogbnVtYmVyO1xuICBzY3JlZW5Qb3M6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBFdmVudCB0aGF0IGlzIGVtaXR0ZWQgd2hlbiBtb3ZpbmcgdGhlIHNwbGl0dGVyLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNwbGl0dGVyTW92ZUV2ZW50IHtcbiAgLyoqXG4gICAqIFRoZSBkaXN0YW5jZSBpbiBwaXhlbHMgYnkgd2hpY2ggdGhlIHVzZXIgaGFzIG1vdmVkIHRoZSBzcGxpdHRlciBzaW5jZSB0aGUgbGFzdCBlbWlzc2lvbi5cbiAgICovXG4gIGRpc3RhbmNlOiBudW1iZXI7XG4gIC8qKlxuICAgKiBUaGUgcG9zaXRpb24gd2hlcmUgdGhlIG1vdXNlIG9yIHRvdWNoIGV2ZW50IGhhcyBvY2N1cnJlZC5cbiAgICovXG4gIHBvc2l0aW9uOiBFdmVudFBvc2l0aW9uO1xufVxuIiwiPGRpdiAjdG91Y2hfdGFyZ2V0IGNsYXNzPVwidG91Y2gtdGFyZ2V0XCI+XG4gIDxkaXYgY2xhc3M9XCJoYW5kbGVcIj48L2Rpdj5cbjwvZGl2PlxuIl19
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { NgModule } from '@angular/core';
|
|
11
|
-
import { CommonModule } from '@angular/common';
|
|
12
|
-
import { SciSplitterComponent } from './splitter.component';
|
|
13
|
-
import * as i0 from "@angular/core";
|
|
14
|
-
/**
|
|
15
|
-
* Provides a splitter, a visual element that allows the user to control the size of elements next to it.
|
|
16
|
-
*
|
|
17
|
-
* ### Usage:
|
|
18
|
-
*
|
|
19
|
-
* ```html
|
|
20
|
-
* <sci-splitter (move)="onSplitterMove($event.distance)"></sci-splitter>
|
|
21
|
-
* ```
|
|
22
|
-
*/
|
|
23
|
-
export class SciSplitterModule {
|
|
24
|
-
}
|
|
25
|
-
SciSplitterModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
26
|
-
SciSplitterModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterModule, declarations: [SciSplitterComponent], imports: [CommonModule], exports: [SciSplitterComponent] });
|
|
27
|
-
SciSplitterModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterModule, imports: [CommonModule] });
|
|
28
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSplitterModule, decorators: [{
|
|
29
|
-
type: NgModule,
|
|
30
|
-
args: [{
|
|
31
|
-
declarations: [
|
|
32
|
-
SciSplitterComponent,
|
|
33
|
-
],
|
|
34
|
-
imports: [
|
|
35
|
-
CommonModule,
|
|
36
|
-
],
|
|
37
|
-
exports: [
|
|
38
|
-
SciSplitterComponent,
|
|
39
|
-
],
|
|
40
|
-
}]
|
|
41
|
-
}] });
|
|
42
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3BsaXR0ZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy9zcGxpdHRlci9zcmMvc3BsaXR0ZXIubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLFFBQVEsRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2QyxPQUFPLEVBQUMsWUFBWSxFQUFDLE1BQU0saUJBQWlCLENBQUM7QUFDN0MsT0FBTyxFQUFDLG9CQUFvQixFQUFDLE1BQU0sc0JBQXNCLENBQUM7O0FBRTFEOzs7Ozs7OztHQVFHO0FBWUgsTUFBTSxPQUFPLGlCQUFpQjs7OEdBQWpCLGlCQUFpQjsrR0FBakIsaUJBQWlCLGlCQVQxQixvQkFBb0IsYUFHcEIsWUFBWSxhQUdaLG9CQUFvQjsrR0FHWCxpQkFBaUIsWUFOMUIsWUFBWTsyRkFNSCxpQkFBaUI7a0JBWDdCLFFBQVE7bUJBQUM7b0JBQ1IsWUFBWSxFQUFFO3dCQUNaLG9CQUFvQjtxQkFDckI7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLFlBQVk7cUJBQ2I7b0JBQ0QsT0FBTyxFQUFFO3dCQUNQLG9CQUFvQjtxQkFDckI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge05nTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7Q29tbW9uTW9kdWxlfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHtTY2lTcGxpdHRlckNvbXBvbmVudH0gZnJvbSAnLi9zcGxpdHRlci5jb21wb25lbnQnO1xuXG4vKipcbiAqIFByb3ZpZGVzIGEgc3BsaXR0ZXIsIGEgdmlzdWFsIGVsZW1lbnQgdGhhdCBhbGxvd3MgdGhlIHVzZXIgdG8gY29udHJvbCB0aGUgc2l6ZSBvZiBlbGVtZW50cyBuZXh0IHRvIGl0LlxuICpcbiAqICMjIyBVc2FnZTpcbiAqXG4gKiBgYGBodG1sXG4gKiA8c2NpLXNwbGl0dGVyIChtb3ZlKT1cIm9uU3BsaXR0ZXJNb3ZlKCRldmVudC5kaXN0YW5jZSlcIj48L3NjaS1zcGxpdHRlcj5cbiAqIGBgYFxuICovXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBTY2lTcGxpdHRlckNvbXBvbmVudCxcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgXSxcbiAgZXhwb3J0czogW1xuICAgIFNjaVNwbGl0dGVyQ29tcG9uZW50LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lTcGxpdHRlck1vZHVsZSB7XG59XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.
|
|
14
|
-
*
|
|
15
|
-
* Throbber type: `ellipsis`
|
|
16
|
-
*/
|
|
17
|
-
export class SciEllipsisThrobberComponent {
|
|
18
|
-
}
|
|
19
|
-
SciEllipsisThrobberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciEllipsisThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
SciEllipsisThrobberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciEllipsisThrobberComponent, selector: "sci-ellipsis-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: [":host{display:inline-flex;justify-content:space-between;font-size:var(--sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--sci-throbber-duration) ease-in-out infinite;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciEllipsisThrobberComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'sci-ellipsis-throbber', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n", styles: [":host{display:inline-flex;justify-content:space-between;font-size:var(--sci-throbber-size);width:1em;box-sizing:border-box}:host>div.point{flex:none;border-radius:50%;width:.3em;height:.3em;animation:sci-ellipsis-throbber var(--sci-throbber-duration) ease-in-out infinite;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -6)}:host>div.point:nth-child(2){animation-delay:calc(var(--sci-throbber-duration) / -12)}@keyframes sci-ellipsis-throbber{0%{transform:scale(0)}40%{transform:scale(1)}80%,to{transform:scale(0)}}\n"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvZWxsaXBzaXMtdGhyb2JiZXIvZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvZWxsaXBzaXMtdGhyb2JiZXIvZWxsaXBzaXMtdGhyb2JiZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFDLE1BQU0sZUFBZSxDQUFDOztBQUVqRTs7OztHQUlHO0FBT0gsTUFBTSxPQUFPLDRCQUE0Qjs7eUhBQTVCLDRCQUE0Qjs2R0FBNUIsNEJBQTRCLDZEQ3ZCekMseUZBR0E7MkZEb0JhLDRCQUE0QjtrQkFOeEMsU0FBUzsrQkFDRSx1QkFBdUIsbUJBR2hCLHVCQUF1QixDQUFDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyIvKlxuICogQ29weXJpZ2h0IChjKSAyMDE4LTIwMTkgU3dpc3MgRmVkZXJhbCBSYWlsd2F5c1xuICpcbiAqIFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgYXJlIG1hZGVcbiAqIGF2YWlsYWJsZSB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEVjbGlwc2UgUHVibGljIExpY2Vuc2UgMi4wXG4gKiB3aGljaCBpcyBhdmFpbGFibGUgYXQgaHR0cHM6Ly93d3cuZWNsaXBzZS5vcmcvbGVnYWwvZXBsLTIuMC9cbiAqXG4gKiAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEVQTC0yLjBcbiAqL1xuXG5pbXBvcnQge0NoYW5nZURldGVjdGlvblN0cmF0ZWd5LCBDb21wb25lbnR9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG4vKipcbiAqIFJlcHJlc2VudHMgYSB0aHJvYmJlciBhcyBhbiBlbGxpcHNpcyBjb25zaXN0aW5nIG9mIHRocmVlIGhvcml6b250YWxseSBhcnJhbmdlZCBwb2ludHMgdGhhdCBhcHBlYXIgb25lIGFmdGVyIHRoZSBvdGhlci5cbiAqXG4gKiBUaHJvYmJlciB0eXBlOiBgZWxsaXBzaXNgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjaS1lbGxpcHNpcy10aHJvYmJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9lbGxpcHNpcy10aHJvYmJlci5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL2VsbGlwc2lzLXRocm9iYmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lFbGxpcHNpc1Rocm9iYmVyQ29tcG9uZW50IHtcbn1cbiIsIjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbiJdfQ==
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.
|
|
14
|
-
*
|
|
15
|
-
* Throbber type: `ripple`
|
|
16
|
-
*/
|
|
17
|
-
export class SciRippleThrobberComponent {
|
|
18
|
-
}
|
|
19
|
-
SciRippleThrobberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciRippleThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
SciRippleThrobberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciRippleThrobberComponent, selector: "sci-ripple-throbber", ngImport: i0, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: [":host{display:inline-block;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--sci-throbber-color);animation:sci-ripple-throbber var(--sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciRippleThrobberComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'sci-ripple-throbber', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n", styles: [":host{display:inline-block;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.circle{position:absolute;width:1em;height:1em;border-radius:50%;border:0 solid var(--sci-throbber-color);animation:sci-ripple-throbber var(--sci-throbber-duration) cubic-bezier(0,.2,.8,1) infinite}:host>div.circle:nth-child(1){animation-delay:calc(var(--sci-throbber-duration) / -2)}@keyframes sci-ripple-throbber{0%{transform:scale(0);opacity:0;border-width:0}25%{opacity:1;border-width:.1em}50%{opacity:.75}to{transform:scale(1);opacity:0;border-width:.05em}}\n"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmlwcGxlLXRocm9iYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdGhyb2JiZXIvc3JjL3JpcHBsZS10aHJvYmJlci9yaXBwbGUtdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvcmlwcGxlLXRocm9iYmVyL3JpcHBsZS10aHJvYmJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDdkJ2Qyw4REFFQTsyRkRxQmEsMEJBQTBCO2tCQU50QyxTQUFTOytCQUNFLHFCQUFxQixtQkFHZCx1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgdGhyb2JiZXIgd2l0aCBhIHJpcHBsZWQsIGNlbnRyaWMgd2F2ZSBlZmZlY3QsIHNpbWlsYXIgdG8gdGhyb3dpbmcgYSBzdG9uZSBpbnRvIHdhdGVyLlxuICpcbiAqIFRocm9iYmVyIHR5cGU6IGByaXBwbGVgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjaS1yaXBwbGUtdGhyb2JiZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcmlwcGxlLXRocm9iYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcmlwcGxlLXRocm9iYmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lSaXBwbGVUaHJvYmJlckNvbXBvbmVudCB7XG59XG4iLCI8ZGl2IGNsYXNzPVwiY2lyY2xlXCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwiY2lyY2xlXCI+PC9kaXY+XG4iXX0=
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.
|
|
14
|
-
*
|
|
15
|
-
* Throbber type: `roller`
|
|
16
|
-
*/
|
|
17
|
-
export class SciRollerThrobberComponent {
|
|
18
|
-
}
|
|
19
|
-
SciRollerThrobberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciRollerThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
-
SciRollerThrobberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciRollerThrobberComponent, selector: "sci-roller-throbber", ngImport: i0, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
21
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciRollerThrobberComponent, decorators: [{
|
|
22
|
-
type: Component,
|
|
23
|
-
args: [{ selector: 'sci-roller-throbber', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.point{flex:none;position:absolute;transform-origin:.05em .5em;width:.1em;height:.1em;border-radius:50%;background-color:var(--sci-throbber-color)}:host>div.point:nth-child(1){animation:sci-roller-throbber-1 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.02)}@keyframes sci-roller-throbber-1{0%{transform:rotate(-105deg)}to{transform:rotate(255deg)}}:host>div.point:nth-child(2){animation:sci-roller-throbber-2 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.04)}@keyframes sci-roller-throbber-2{0%{transform:rotate(-90deg)}to{transform:rotate(270deg)}}:host>div.point:nth-child(3){animation:sci-roller-throbber-3 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.06)}@keyframes sci-roller-throbber-3{0%{transform:rotate(-75deg)}to{transform:rotate(285deg)}}:host>div.point:nth-child(4){animation:sci-roller-throbber-4 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.08)}@keyframes sci-roller-throbber-4{0%{transform:rotate(-60deg)}to{transform:rotate(300deg)}}:host>div.point:nth-child(5){animation:sci-roller-throbber-5 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.1)}@keyframes sci-roller-throbber-5{0%{transform:rotate(-45deg)}to{transform:rotate(315deg)}}:host>div.point:nth-child(6){animation:sci-roller-throbber-6 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.12)}@keyframes sci-roller-throbber-6{0%{transform:rotate(-30deg)}to{transform:rotate(330deg)}}:host>div.point:nth-child(7){animation:sci-roller-throbber-7 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.14)}@keyframes sci-roller-throbber-7{0%{transform:rotate(-15deg)}to{transform:rotate(345deg)}}:host>div.point:nth-child(8){animation:sci-roller-throbber-8 var(--sci-throbber-duration) cubic-bezier(.5,0,.5,1) infinite;animation-delay:calc(var(--sci-throbber-duration) * -.16)}@keyframes sci-roller-throbber-8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}\n"] }]
|
|
24
|
-
}] });
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm9sbGVyLXRocm9iYmVyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3NjaW9uL2NvbXBvbmVudHMvdGhyb2JiZXIvc3JjL3JvbGxlci10aHJvYmJlci9yb2xsZXItdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvcm9sbGVyLXRocm9iYmVyL3JvbGxlci10aHJvYmJlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7R0FRRztBQUVILE9BQU8sRUFBQyx1QkFBdUIsRUFBRSxTQUFTLEVBQUMsTUFBTSxlQUFlLENBQUM7O0FBRWpFOzs7O0dBSUc7QUFPSCxNQUFNLE9BQU8sMEJBQTBCOzt1SEFBMUIsMEJBQTBCOzJHQUExQiwwQkFBMEIsMkRDdkJ2Qyx3T0FPeUI7MkZEZ0JaLDBCQUEwQjtrQkFOdEMsU0FBUzsrQkFDRSxxQkFBcUIsbUJBR2QsdUJBQXVCLENBQUMsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBDb3B5cmlnaHQgKGMpIDIwMTgtMjAxOSBTd2lzcyBGZWRlcmFsIFJhaWx3YXlzXG4gKlxuICogVGhpcyBwcm9ncmFtIGFuZCB0aGUgYWNjb21wYW55aW5nIG1hdGVyaWFscyBhcmUgbWFkZVxuICogYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgRWNsaXBzZSBQdWJsaWMgTGljZW5zZSAyLjBcbiAqIHdoaWNoIGlzIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5lY2xpcHNlLm9yZy9sZWdhbC9lcGwtMi4wL1xuICpcbiAqICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogRVBMLTIuMFxuICovXG5cbmltcG9ydCB7Q2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogUmVwcmVzZW50cyBhIGNpcmN1bGFyIHRocm9iYmVyIHdpdGggcG9pbnRzIHJvdGF0aW5nIGFyb3VuZCB0aGUgY2VudGVyIG9mIGEgY2lyY2xlLiBQb2ludHMgaGF2ZSBhIGRlbGF5ZWQgYWNjZWxlcmF0aW9uLCB3aGljaCBsZWFkcyB0byBhbiBhY2NvcmRpb24gZWZmZWN0LlxuICpcbiAqIFRocm9iYmVyIHR5cGU6IGByb2xsZXJgXG4gKi9cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ3NjaS1yb2xsZXItdGhyb2JiZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vcm9sbGVyLXRocm9iYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vcm9sbGVyLXRocm9iYmVyLmNvbXBvbmVudC5zY3NzJ10sXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxufSlcbmV4cG9ydCBjbGFzcyBTY2lSb2xsZXJUaHJvYmJlckNvbXBvbmVudCB7XG59XG4iLCI8ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PlxuPGRpdiBjbGFzcz1cInBvaW50XCI+PC9kaXY+XG48ZGl2IGNsYXNzPVwicG9pbnRcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwb2ludFwiPjwvZGl2PiJdfQ==
|
|
@@ -1,26 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component } from '@angular/core';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
/**
|
|
13
|
-
* Represents a classic spinner throbber with strokes arranged radially. The strokes light up one after the other in clockwise direction
|
|
14
|
-
* and then then fade out again.
|
|
15
|
-
*
|
|
16
|
-
* Throbber type: `spinner`
|
|
17
|
-
*/
|
|
18
|
-
export class SciSpinnerThrobberComponent {
|
|
19
|
-
}
|
|
20
|
-
SciSpinnerThrobberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSpinnerThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
21
|
-
SciSpinnerThrobberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciSpinnerThrobberComponent, selector: "sci-spinner-throbber", ngImport: i0, template: "<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.stroke{flex:none;position:absolute;transform-origin:.0375em .5em;width:.075em;height:.25em;opacity:0;border-radius:20%;background-color:var(--sci-throbber-color);animation:sci-spinner-throbber var(--sci-throbber-duration) linear infinite}:host>div.stroke:nth-child(1){transform:rotate(0);animation-delay:calc(var(--sci-throbber-duration) * .0833333333)}:host>div.stroke:nth-child(2){transform:rotate(30deg);animation-delay:calc(var(--sci-throbber-duration) * .1666666667)}:host>div.stroke:nth-child(3){transform:rotate(60deg);animation-delay:calc(var(--sci-throbber-duration) * .25)}:host>div.stroke:nth-child(4){transform:rotate(90deg);animation-delay:calc(var(--sci-throbber-duration) * .3333333333)}:host>div.stroke:nth-child(5){transform:rotate(120deg);animation-delay:calc(var(--sci-throbber-duration) * .4166666667)}:host>div.stroke:nth-child(6){transform:rotate(150deg);animation-delay:calc(var(--sci-throbber-duration) * .5)}:host>div.stroke:nth-child(7){transform:rotate(180deg);animation-delay:calc(var(--sci-throbber-duration) * .5833333333)}:host>div.stroke:nth-child(8){transform:rotate(210deg);animation-delay:calc(var(--sci-throbber-duration) * .6666666667)}:host>div.stroke:nth-child(9){transform:rotate(240deg);animation-delay:calc(var(--sci-throbber-duration) * .75)}:host>div.stroke:nth-child(10){transform:rotate(270deg);animation-delay:calc(var(--sci-throbber-duration) * .8333333333)}:host>div.stroke:nth-child(11){transform:rotate(300deg);animation-delay:calc(var(--sci-throbber-duration) * .9166666667)}:host>div.stroke:nth-child(12){transform:rotate(330deg);animation-delay:calc(var(--sci-throbber-duration) * 1)}@keyframes sci-spinner-throbber{0%{opacity:1}to{opacity:0}}\n"], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciSpinnerThrobberComponent, decorators: [{
|
|
23
|
-
type: Component,
|
|
24
|
-
args: [{ selector: 'sci-spinner-throbber', changeDetection: ChangeDetectionStrategy.OnPush, template: "<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>\n<div class=\"stroke\"></div>", styles: [":host{display:inline-flex;justify-content:center;position:relative;font-size:var(--sci-throbber-size);width:1em;height:1em;box-sizing:border-box}:host>div.stroke{flex:none;position:absolute;transform-origin:.0375em .5em;width:.075em;height:.25em;opacity:0;border-radius:20%;background-color:var(--sci-throbber-color);animation:sci-spinner-throbber var(--sci-throbber-duration) linear infinite}:host>div.stroke:nth-child(1){transform:rotate(0);animation-delay:calc(var(--sci-throbber-duration) * .0833333333)}:host>div.stroke:nth-child(2){transform:rotate(30deg);animation-delay:calc(var(--sci-throbber-duration) * .1666666667)}:host>div.stroke:nth-child(3){transform:rotate(60deg);animation-delay:calc(var(--sci-throbber-duration) * .25)}:host>div.stroke:nth-child(4){transform:rotate(90deg);animation-delay:calc(var(--sci-throbber-duration) * .3333333333)}:host>div.stroke:nth-child(5){transform:rotate(120deg);animation-delay:calc(var(--sci-throbber-duration) * .4166666667)}:host>div.stroke:nth-child(6){transform:rotate(150deg);animation-delay:calc(var(--sci-throbber-duration) * .5)}:host>div.stroke:nth-child(7){transform:rotate(180deg);animation-delay:calc(var(--sci-throbber-duration) * .5833333333)}:host>div.stroke:nth-child(8){transform:rotate(210deg);animation-delay:calc(var(--sci-throbber-duration) * .6666666667)}:host>div.stroke:nth-child(9){transform:rotate(240deg);animation-delay:calc(var(--sci-throbber-duration) * .75)}:host>div.stroke:nth-child(10){transform:rotate(270deg);animation-delay:calc(var(--sci-throbber-duration) * .8333333333)}:host>div.stroke:nth-child(11){transform:rotate(300deg);animation-delay:calc(var(--sci-throbber-duration) * .9166666667)}:host>div.stroke:nth-child(12){transform:rotate(330deg);animation-delay:calc(var(--sci-throbber-duration) * 1)}@keyframes sci-spinner-throbber{0%{opacity:1}to{opacity:0}}\n"] }]
|
|
25
|
-
}] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3Bpbm5lci10aHJvYmJlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9zY2lvbi9jb21wb25lbnRzL3Rocm9iYmVyL3NyYy9zcGlubmVyLXRocm9iYmVyL3NwaW5uZXItdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvc3Bpbm5lci10aHJvYmJlci9zcGlubmVyLXRocm9iYmVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7OztHQVFHO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFNBQVMsRUFBQyxNQUFNLGVBQWUsQ0FBQzs7QUFFakU7Ozs7O0dBS0c7QUFPSCxNQUFNLE9BQU8sMkJBQTJCOzt3SEFBM0IsMkJBQTJCOzRHQUEzQiwyQkFBMkIsNERDeEJ4Qyx3V0FXMEI7MkZEYWIsMkJBQTJCO2tCQU52QyxTQUFTOytCQUNFLHNCQUFzQixtQkFHZix1QkFBdUIsQ0FBQyxNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50fSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuLyoqXG4gKiBSZXByZXNlbnRzIGEgY2xhc3NpYyBzcGlubmVyIHRocm9iYmVyIHdpdGggc3Ryb2tlcyBhcnJhbmdlZCByYWRpYWxseS4gVGhlIHN0cm9rZXMgbGlnaHQgdXAgb25lIGFmdGVyIHRoZSBvdGhlciBpbiBjbG9ja3dpc2UgZGlyZWN0aW9uXG4gKiBhbmQgdGhlbiB0aGVuIGZhZGUgb3V0IGFnYWluLlxuICpcbiAqIFRocm9iYmVyIHR5cGU6IGBzcGlubmVyYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktc3Bpbm5lci10aHJvYmJlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9zcGlubmVyLXRocm9iYmVyLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vc3Bpbm5lci10aHJvYmJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NpU3Bpbm5lclRocm9iYmVyQ29tcG9uZW50IHtcbn1cbiIsIjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj5cbjxkaXYgY2xhc3M9XCJzdHJva2VcIj48L2Rpdj4iXX0=
|
|
@@ -1,67 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
* Copyright (c) 2018-2019 Swiss Federal Railways
|
|
3
|
-
*
|
|
4
|
-
* This program and the accompanying materials are made
|
|
5
|
-
* available under the terms of the Eclipse Public License 2.0
|
|
6
|
-
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
7
|
-
*
|
|
8
|
-
* SPDX-License-Identifier: EPL-2.0
|
|
9
|
-
*/
|
|
10
|
-
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/common";
|
|
13
|
-
import * as i2 from "./ellipsis-throbber/ellipsis-throbber.component";
|
|
14
|
-
import * as i3 from "./ripple-throbber/ripple-throbber.component";
|
|
15
|
-
import * as i4 from "./roller-throbber/roller-throbber.component";
|
|
16
|
-
import * as i5 from "./spinner-throbber/spinner-throbber.component";
|
|
17
|
-
/**
|
|
18
|
-
* Animated graphical control to indicate the execution of an action.
|
|
19
|
-
*
|
|
20
|
-
* Choose between different throbber presentations by setting the `type` property: `ellipsis`, `ripple`, `roller`, `spinner`.
|
|
21
|
-
*
|
|
22
|
-
* ### CSS styling:
|
|
23
|
-
*
|
|
24
|
-
* You can override the following CSS variables:
|
|
25
|
-
*
|
|
26
|
-
* - sci-throbber-color: Sets the color of the throbber (by default, uses `lightgray`).
|
|
27
|
-
* - sci-throbber-size: Defines the size of the throbber. Most throbbers are quadratic having the same width and height.
|
|
28
|
-
* For non-quadratic throbbers, the size usually specifies the height (by default, uses `50px`).
|
|
29
|
-
* - sci-throbber-duration: Sets the duration of a single animation cycle (by default, uses `1.25s`).
|
|
30
|
-
*
|
|
31
|
-
* Example:
|
|
32
|
-
*
|
|
33
|
-
* ```css
|
|
34
|
-
*
|
|
35
|
-
* sci-throbber {
|
|
36
|
-
* --sci-throbber-color: blue;
|
|
37
|
-
* --sci-throbber-size: 50px;
|
|
38
|
-
* --sci-throbber-duration: 1s
|
|
39
|
-
* }
|
|
40
|
-
* ```
|
|
41
|
-
*/
|
|
42
|
-
export class SciThrobberComponent {
|
|
43
|
-
constructor() {
|
|
44
|
-
/**
|
|
45
|
-
* Chooses between different throbber presentation. If not set, uses `spinner` type.
|
|
46
|
-
*
|
|
47
|
-
* - **ellipsis**
|
|
48
|
-
* Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.
|
|
49
|
-
* - **ripple**
|
|
50
|
-
* Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.
|
|
51
|
-
* - **roller**
|
|
52
|
-
* Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.
|
|
53
|
-
* - **spinner** (default)
|
|
54
|
-
* Represents a classic spinner throbber with strokes arranged radially. The strokes light up one after the other in clockwise direction and then then fade out again.
|
|
55
|
-
*/
|
|
56
|
-
this.type = 'spinner';
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
SciThrobberComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
60
|
-
SciThrobberComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.2", type: SciThrobberComponent, selector: "sci-throbber", inputs: { type: "type" }, ngImport: i0, template: "<ng-container [ngSwitch]=\"type\">\n <sci-ellipsis-throbber *ngSwitchCase=\"'ellipsis'\"></sci-ellipsis-throbber>\n <sci-ripple-throbber *ngSwitchCase=\"'ripple'\"></sci-ripple-throbber>\n <sci-roller-throbber *ngSwitchCase=\"'roller'\"></sci-roller-throbber>\n <sci-spinner-throbber *ngSwitchCase=\"'spinner'\"></sci-spinner-throbber>\n <sci-spinner-throbber *ngSwitchDefault></sci-spinner-throbber>\n</ng-container>", styles: [":host{display:inline-grid;--sci-throbber-color: lightgray;--sci-throbber-size: 50px;--sci-throbber-duration: 1.25s}\n"], dependencies: [{ kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "directive", type: i1.NgSwitchDefault, selector: "[ngSwitchDefault]" }, { kind: "component", type: i2.SciEllipsisThrobberComponent, selector: "sci-ellipsis-throbber" }, { kind: "component", type: i3.SciRippleThrobberComponent, selector: "sci-ripple-throbber" }, { kind: "component", type: i4.SciRollerThrobberComponent, selector: "sci-roller-throbber" }, { kind: "component", type: i5.SciSpinnerThrobberComponent, selector: "sci-spinner-throbber" }], changeDetection: i0.ChangeDetectionStrategy.OnPush });
|
|
61
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.2", ngImport: i0, type: SciThrobberComponent, decorators: [{
|
|
62
|
-
type: Component,
|
|
63
|
-
args: [{ selector: 'sci-throbber', changeDetection: ChangeDetectionStrategy.OnPush, template: "<ng-container [ngSwitch]=\"type\">\n <sci-ellipsis-throbber *ngSwitchCase=\"'ellipsis'\"></sci-ellipsis-throbber>\n <sci-ripple-throbber *ngSwitchCase=\"'ripple'\"></sci-ripple-throbber>\n <sci-roller-throbber *ngSwitchCase=\"'roller'\"></sci-roller-throbber>\n <sci-spinner-throbber *ngSwitchCase=\"'spinner'\"></sci-spinner-throbber>\n <sci-spinner-throbber *ngSwitchDefault></sci-spinner-throbber>\n</ng-container>", styles: [":host{display:inline-grid;--sci-throbber-color: lightgray;--sci-throbber-size: 50px;--sci-throbber-duration: 1.25s}\n"] }]
|
|
64
|
-
}], propDecorators: { type: [{
|
|
65
|
-
type: Input
|
|
66
|
-
}] } });
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGhyb2JiZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvdGhyb2JiZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvc2Npb24vY29tcG9uZW50cy90aHJvYmJlci9zcmMvdGhyb2JiZXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7Ozs7Ozs7O0dBUUc7QUFFSCxPQUFPLEVBQUMsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQzs7Ozs7OztBQUV4RTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBd0JHO0FBT0gsTUFBTSxPQUFPLG9CQUFvQjtJQU5qQztRQVFFOzs7Ozs7Ozs7OztXQVdHO1FBRUksU0FBSSxHQUFpRCxTQUFTLENBQUM7S0FDdkU7O2lIQWhCWSxvQkFBb0I7cUdBQXBCLG9CQUFvQiw4RUMzQ2pDLHdhQU1lOzJGRHFDRixvQkFBb0I7a0JBTmhDLFNBQVM7K0JBQ0UsY0FBYyxtQkFHUCx1QkFBdUIsQ0FBQyxNQUFNOzhCQWlCeEMsSUFBSTtzQkFEVixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIENvcHlyaWdodCAoYykgMjAxOC0yMDE5IFN3aXNzIEZlZGVyYWwgUmFpbHdheXNcbiAqXG4gKiBUaGlzIHByb2dyYW0gYW5kIHRoZSBhY2NvbXBhbnlpbmcgbWF0ZXJpYWxzIGFyZSBtYWRlXG4gKiBhdmFpbGFibGUgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBFY2xpcHNlIFB1YmxpYyBMaWNlbnNlIDIuMFxuICogd2hpY2ggaXMgYXZhaWxhYmxlIGF0IGh0dHBzOi8vd3d3LmVjbGlwc2Uub3JnL2xlZ2FsL2VwbC0yLjAvXG4gKlxuICogIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBFUEwtMi4wXG4gKi9cblxuaW1wb3J0IHtDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5cbi8qKlxuICogQW5pbWF0ZWQgZ3JhcGhpY2FsIGNvbnRyb2wgdG8gaW5kaWNhdGUgdGhlIGV4ZWN1dGlvbiBvZiBhbiBhY3Rpb24uXG4gKlxuICogQ2hvb3NlIGJldHdlZW4gZGlmZmVyZW50IHRocm9iYmVyIHByZXNlbnRhdGlvbnMgYnkgc2V0dGluZyB0aGUgYHR5cGVgIHByb3BlcnR5OiBgZWxsaXBzaXNgLCBgcmlwcGxlYCwgYHJvbGxlcmAsIGBzcGlubmVyYC5cbiAqXG4gKiAjIyMgQ1NTIHN0eWxpbmc6XG4gKlxuICogWW91IGNhbiBvdmVycmlkZSB0aGUgZm9sbG93aW5nIENTUyB2YXJpYWJsZXM6XG4gKlxuICogLSBzY2ktdGhyb2JiZXItY29sb3I6ICAgICBTZXRzIHRoZSBjb2xvciBvZiB0aGUgdGhyb2JiZXIgKGJ5IGRlZmF1bHQsIHVzZXMgYGxpZ2h0Z3JheWApLlxuICogLSBzY2ktdGhyb2JiZXItc2l6ZTogICAgICBEZWZpbmVzIHRoZSBzaXplIG9mIHRoZSB0aHJvYmJlci4gTW9zdCB0aHJvYmJlcnMgYXJlIHF1YWRyYXRpYyBoYXZpbmcgdGhlIHNhbWUgd2lkdGggYW5kIGhlaWdodC5cbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIG5vbi1xdWFkcmF0aWMgdGhyb2JiZXJzLCB0aGUgc2l6ZSB1c3VhbGx5IHNwZWNpZmllcyB0aGUgaGVpZ2h0IChieSBkZWZhdWx0LCB1c2VzIGA1MHB4YCkuXG4gKiAtIHNjaS10aHJvYmJlci1kdXJhdGlvbjogIFNldHMgdGhlIGR1cmF0aW9uIG9mIGEgc2luZ2xlIGFuaW1hdGlvbiBjeWNsZSAoYnkgZGVmYXVsdCwgdXNlcyBgMS4yNXNgKS5cbiAqXG4gKiBFeGFtcGxlOlxuICpcbiAqIGBgYGNzc1xuICpcbiAqIHNjaS10aHJvYmJlciB7XG4gKiAgIC0tc2NpLXRocm9iYmVyLWNvbG9yOiBibHVlO1xuICogICAtLXNjaS10aHJvYmJlci1zaXplOiA1MHB4O1xuICogICAtLXNjaS10aHJvYmJlci1kdXJhdGlvbjogMXNcbiAqIH1cbiAqIGBgYFxuICovXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdzY2ktdGhyb2JiZXInLFxuICB0ZW1wbGF0ZVVybDogJy4vdGhyb2JiZXIuY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi90aHJvYmJlci5jb21wb25lbnQuc2NzcyddLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbn0pXG5leHBvcnQgY2xhc3MgU2NpVGhyb2JiZXJDb21wb25lbnQge1xuXG4gIC8qKlxuICAgKiBDaG9vc2VzIGJldHdlZW4gZGlmZmVyZW50IHRocm9iYmVyIHByZXNlbnRhdGlvbi4gSWYgbm90IHNldCwgdXNlcyBgc3Bpbm5lcmAgdHlwZS5cbiAgICpcbiAgICogLSAqKmVsbGlwc2lzKipcbiAgICogUmVwcmVzZW50cyBhIHRocm9iYmVyIGFzIGFuIGVsbGlwc2lzIGNvbnNpc3Rpbmcgb2YgdGhyZWUgaG9yaXpvbnRhbGx5IGFycmFuZ2VkIHBvaW50cyB0aGF0IGFwcGVhciBvbmUgYWZ0ZXIgdGhlIG90aGVyLlxuICAgKiAtICoqcmlwcGxlKipcbiAgICogUmVwcmVzZW50cyBhIHRocm9iYmVyIHdpdGggYSByaXBwbGVkLCBjZW50cmljIHdhdmUgZWZmZWN0LCBzaW1pbGFyIHRvIHRocm93aW5nIGEgc3RvbmUgaW50byB3YXRlci5cbiAgICogLSAqKnJvbGxlcioqXG4gICAqIFJlcHJlc2VudHMgYSBjaXJjdWxhciB0aHJvYmJlciB3aXRoIHBvaW50cyByb3RhdGluZyBhcm91bmQgdGhlIGNlbnRlciBvZiBhIGNpcmNsZS4gUG9pbnRzIGhhdmUgYSBkZWxheWVkIGFjY2VsZXJhdGlvbiwgd2hpY2ggbGVhZHMgdG8gYW4gYWNjb3JkaW9uIGVmZmVjdC5cbiAgICogLSAqKnNwaW5uZXIqKiAoZGVmYXVsdClcbiAgICogUmVwcmVzZW50cyBhIGNsYXNzaWMgc3Bpbm5lciB0aHJvYmJlciB3aXRoIHN0cm9rZXMgYXJyYW5nZWQgcmFkaWFsbHkuIFRoZSBzdHJva2VzIGxpZ2h0IHVwIG9uZSBhZnRlciB0aGUgb3RoZXIgaW4gY2xvY2t3aXNlIGRpcmVjdGlvbiBhbmQgdGhlbiB0aGVuIGZhZGUgb3V0IGFnYWluLlxuICAgKi9cbiAgQElucHV0KClcbiAgcHVibGljIHR5cGU6ICdlbGxpcHNpcycgfCAncmlwcGxlJyB8ICdyb2xsZXInIHwgJ3NwaW5uZXInID0gJ3NwaW5uZXInO1xufVxuIiwiPG5nLWNvbnRhaW5lciBbbmdTd2l0Y2hdPVwidHlwZVwiPlxuICA8c2NpLWVsbGlwc2lzLXRocm9iYmVyICpuZ1N3aXRjaENhc2U9XCInZWxsaXBzaXMnXCI+PC9zY2ktZWxsaXBzaXMtdGhyb2JiZXI+XG4gIDxzY2ktcmlwcGxlLXRocm9iYmVyICpuZ1N3aXRjaENhc2U9XCIncmlwcGxlJ1wiPjwvc2NpLXJpcHBsZS10aHJvYmJlcj5cbiAgPHNjaS1yb2xsZXItdGhyb2JiZXIgKm5nU3dpdGNoQ2FzZT1cIidyb2xsZXInXCI+PC9zY2ktcm9sbGVyLXRocm9iYmVyPlxuICA8c2NpLXNwaW5uZXItdGhyb2JiZXIgKm5nU3dpdGNoQ2FzZT1cIidzcGlubmVyJ1wiPjwvc2NpLXNwaW5uZXItdGhyb2JiZXI+XG4gIDxzY2ktc3Bpbm5lci10aHJvYmJlciAqbmdTd2l0Y2hEZWZhdWx0Pjwvc2NpLXNwaW5uZXItdGhyb2JiZXI+XG48L25nLWNvbnRhaW5lcj4iXX0=
|