@ptsecurity/mosaic 15.3.2 → 15.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/_theming.scss +675 -42
- package/_visual.scss +132 -42
- package/button/button.component.d.ts +1 -0
- package/button-toggle/_button-toggle-theme.scss +92 -0
- package/button-toggle/button-toggle.component.d.ts +6 -2
- package/button-toggle/button-toggle.module.d.ts +2 -1
- package/button-toggle/button-toggle.scss +109 -81
- package/core/styles/_mosaic-theme.scss +6 -0
- package/core/styles/theming/_components-theming.scss +92 -0
- package/core/utils/data-size/config.d.ts +20 -0
- package/core/utils/data-size/data-size.pipe.d.ts +13 -0
- package/core/utils/data-size/index.d.ts +3 -0
- package/core/utils/data-size/size.d.ts +16 -0
- package/core/utils/public-api.d.ts +1 -0
- package/ellipsis-center/ellipsis-center.directive.d.ts +27 -0
- package/ellipsis-center/index.d.ts +1 -0
- package/ellipsis-center/public-api.d.ts +1 -0
- package/esm2020/button/button.component.mjs +9 -7
- package/esm2020/button-toggle/button-toggle.component.mjs +28 -9
- package/esm2020/button-toggle/button-toggle.module.mjs +5 -4
- package/esm2020/core/utils/data-size/config.mjs +22 -0
- package/esm2020/core/utils/data-size/data-size.pipe.mjs +32 -0
- package/esm2020/core/utils/data-size/index.mjs +4 -0
- package/esm2020/core/utils/data-size/size.mjs +50 -0
- package/esm2020/core/utils/public-api.mjs +2 -1
- package/esm2020/core/version.mjs +2 -2
- package/esm2020/ellipsis-center/ellipsis-center.directive.mjs +106 -0
- package/esm2020/ellipsis-center/index.mjs +2 -0
- package/esm2020/ellipsis-center/ptsecurity-mosaic-ellipsis-center.mjs +5 -0
- package/esm2020/ellipsis-center/public-api.mjs +2 -0
- package/esm2020/file-upload/file-drop.mjs +43 -0
- package/esm2020/file-upload/file-upload.mjs +4 -0
- package/esm2020/file-upload/file-upload.module.mjs +66 -0
- package/esm2020/file-upload/index.mjs +2 -0
- package/esm2020/file-upload/multiple-file-upload.component.mjs +161 -0
- package/esm2020/file-upload/ptsecurity-mosaic-file-upload.mjs +5 -0
- package/esm2020/file-upload/public-api.mjs +6 -0
- package/esm2020/file-upload/single-file-upload.component.mjs +130 -0
- package/esm2020/select/select.component.mjs +5 -5
- package/esm2020/timezone/timezone-select.component.mjs +2 -2
- package/esm2020/tree-select/tree-select.component.mjs +8 -5
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs +31 -11
- package/fesm2015/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.mjs +9 -7
- package/fesm2015/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.mjs +101 -2
- package/fesm2015/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs +113 -0
- package/fesm2015/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs +392 -0
- package/fesm2015/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2015/ptsecurity-mosaic-select.mjs +4 -4
- package/fesm2015/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2015/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs +7 -4
- package/fesm2015/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs +31 -11
- package/fesm2020/ptsecurity-mosaic-button-toggle.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-button.mjs +9 -7
- package/fesm2020/ptsecurity-mosaic-button.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-core.mjs +101 -2
- package/fesm2020/ptsecurity-mosaic-core.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs +111 -0
- package/fesm2020/ptsecurity-mosaic-ellipsis-center.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs +388 -0
- package/fesm2020/ptsecurity-mosaic-file-upload.mjs.map +1 -0
- package/fesm2020/ptsecurity-mosaic-select.mjs +4 -4
- package/fesm2020/ptsecurity-mosaic-select.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-timezone.mjs +2 -2
- package/fesm2020/ptsecurity-mosaic-timezone.mjs.map +1 -1
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs +7 -4
- package/fesm2020/ptsecurity-mosaic-tree-select.mjs.map +1 -1
- package/file-upload/README.md +0 -0
- package/file-upload/_file-upload-theme.scss +174 -0
- package/file-upload/file-drop.d.ts +11 -0
- package/file-upload/file-upload.d.ts +22 -0
- package/file-upload/file-upload.module.d.ts +18 -0
- package/file-upload/file-upload.scss +46 -0
- package/file-upload/index.d.ts +1 -0
- package/file-upload/multiple-file-upload.component.d.ts +51 -0
- package/file-upload/multiple-file-upload.component.scss +148 -0
- package/file-upload/public-api.d.ts +5 -0
- package/file-upload/single-file-upload.component.d.ts +34 -0
- package/file-upload/single-file-upload.component.scss +60 -0
- package/package.json +18 -2
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/select/_select-theme.scss +6 -0
- package/select/select.component.d.ts +1 -1
- package/select/select.scss +13 -0
- package/tree-select/_tree-select-theme.scss +6 -0
- package/tree-select/tree-select.component.d.ts +2 -2
- package/tree-select/tree-select.scss +13 -0
@@ -9,47 +9,89 @@
|
|
9
9
|
$tokens: meta.module-variables(tokens) !default;
|
10
10
|
|
11
11
|
.mc-button-toggle-group {
|
12
|
-
|
12
|
+
box-sizing: border-box;
|
13
|
+
display: inline-flex;
|
13
14
|
flex-direction: row;
|
15
|
+
align-items: center;
|
16
|
+
gap: map.get($tokens, size-3xs);
|
17
|
+
|
18
|
+
border-width: var(
|
19
|
+
--mc-button-toggle-group-size-border-width,
|
20
|
+
map.get($tokens, button-toggle-group-size-border-width)
|
21
|
+
);
|
22
|
+
border-radius: var(
|
23
|
+
--mc-button-toggle-group-size-border-radius,
|
24
|
+
map.get($tokens, button-toggle-group-size-border-radius)
|
25
|
+
);
|
26
|
+
border-style: solid;
|
27
|
+
padding: var(
|
28
|
+
--mc-button-toggle-group-size-padding,
|
29
|
+
map.get($tokens, button-toggle-group-size-padding)
|
30
|
+
);
|
14
31
|
|
15
32
|
.mc-button-toggle {
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
33
|
+
display: flex;
|
34
|
+
overflow: hidden;
|
35
|
+
justify-content: flex-start;
|
36
|
+
|
37
|
+
border-radius: var(
|
38
|
+
--mc-button-toggle-size-border-radius,
|
39
|
+
map.get($tokens, button-toggle-size-border-radius)
|
40
|
+
);
|
41
|
+
|
42
|
+
> .mc-button,
|
43
|
+
> .mc-icon-button {
|
44
|
+
border: none;
|
45
|
+
border-width: var(
|
46
|
+
--mc-button-toggle-size-border-width,
|
47
|
+
map.get($tokens, button-toggle-size-border-width)
|
48
|
+
);
|
49
|
+
border-radius: var(
|
50
|
+
--mc-button-toggle-size-border-radius,
|
51
|
+
map.get($tokens, button-toggle-size-border-radius)
|
52
|
+
);
|
53
|
+
min-width: var(
|
54
|
+
--mc-button-toggle-size-min-width,
|
55
|
+
map.get($tokens, button-toggle-size-min-width)
|
56
|
+
);
|
57
|
+
padding-left: var(
|
58
|
+
--mc-button-toggle-size-horizontal-padding,
|
59
|
+
map.get($tokens, button-toggle-size-horizontal-padding)
|
60
|
+
);
|
61
|
+
padding-right: var(
|
62
|
+
--mc-button-toggle-size-horizontal-padding,
|
63
|
+
map.get($tokens, button-toggle-size-horizontal-padding)
|
64
|
+
);
|
65
|
+
|
66
|
+
& .mc-button-wrapper {
|
67
|
+
width: 100%;
|
28
68
|
}
|
29
|
-
}
|
30
69
|
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
-
|
39
|
-
|
40
|
-
|
41
|
-
|
42
|
-
);
|
70
|
+
.mc-button-toggle-wrapper {
|
71
|
+
text-overflow: ellipsis;
|
72
|
+
overflow: hidden;
|
73
|
+
white-space: nowrap;
|
74
|
+
display: inline-block;
|
75
|
+
width: 100%;
|
76
|
+
|
77
|
+
.mc-icon {
|
78
|
+
line-height: 20px;
|
79
|
+
vertical-align: baseline;
|
80
|
+
}
|
43
81
|
}
|
44
82
|
}
|
45
83
|
|
46
|
-
|
84
|
+
&.mc-button-toggle-icon-text {
|
47
85
|
> .mc-button,
|
48
86
|
> .mc-icon-button {
|
49
|
-
|
50
|
-
--mc-button-toggle-size-
|
51
|
-
map.get($tokens, button-toggle-size-
|
52
|
-
)
|
87
|
+
padding-left: var(
|
88
|
+
--mc-button-toggle-size-left-icon-padding,
|
89
|
+
map.get($tokens, button-toggle-size-left-icon-padding)
|
90
|
+
);
|
91
|
+
|
92
|
+
& .mc-icon {
|
93
|
+
margin-right: map.get($tokens, size-xxs);
|
94
|
+
}
|
53
95
|
}
|
54
96
|
}
|
55
97
|
|
@@ -59,10 +101,29 @@ $tokens: meta.module-variables(tokens) !default;
|
|
59
101
|
}
|
60
102
|
|
61
103
|
&:not(.mc-button-toggle_vertical) {
|
62
|
-
|
63
|
-
|
64
|
-
|
65
|
-
|
104
|
+
height: 32px;
|
105
|
+
|
106
|
+
.mc-button-toggle {
|
107
|
+
> .mc-button,
|
108
|
+
> .mc-icon-button {
|
109
|
+
height: 28px;
|
110
|
+
min-height: 28px;
|
111
|
+
}
|
112
|
+
|
113
|
+
&.mc-button-toggle-icon {
|
114
|
+
width: var(
|
115
|
+
--mc-icon-button-toggle-size-width,
|
116
|
+
map.get($tokens, icon-button-toggle-size-width)
|
117
|
+
);
|
118
|
+
|
119
|
+
> .mc-button,
|
120
|
+
> .mc-icon-button {
|
121
|
+
width: var(
|
122
|
+
--mc-icon-button-toggle-size-width,
|
123
|
+
map.get($tokens, icon-button-toggle-size-width)
|
124
|
+
);
|
125
|
+
}
|
126
|
+
}
|
66
127
|
}
|
67
128
|
}
|
68
129
|
}
|
@@ -76,58 +137,25 @@ $tokens: meta.module-variables(tokens) !default;
|
|
76
137
|
border-right: none;
|
77
138
|
}
|
78
139
|
|
79
|
-
.mc-button-toggle:not([disabled]) + .mc-button-toggle:not([disabled]) {
|
80
|
-
margin-top: calc(
|
81
|
-
-1 * var(--mc-button-toggle-size-border-size, #{map.get($tokens, button-toggle-size-border-size)})
|
82
|
-
);
|
83
|
-
}
|
84
|
-
|
85
140
|
.mc-button-toggle {
|
86
|
-
|
87
|
-
.mc-icon-button {
|
88
|
-
width: 100%;
|
89
|
-
}
|
90
|
-
|
91
|
-
&:first-child:not(:last-child) {
|
92
|
-
> .mc-button,
|
93
|
-
> .mc-icon-button {
|
94
|
-
@include common.border-bottom-radius(
|
95
|
-
var(
|
96
|
-
--mc-button-toggle-size-border-siblings-radius,
|
97
|
-
map.get($tokens, button-toggle-size-border-siblings-radius)
|
98
|
-
)
|
99
|
-
);
|
100
|
-
@include common.border-top-radius(
|
101
|
-
var(--mc-button-toggle-size-border-radius, map.get($tokens, button-toggle-size-border-radius)));
|
102
|
-
}
|
103
|
-
}
|
141
|
+
width: 100%;
|
104
142
|
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
)
|
113
|
-
);
|
114
|
-
|
115
|
-
@include common.border-bottom-radius(
|
116
|
-
var(--mc-button-toggle-size-border-radius, map.get($tokens, button-toggle-size-border-radius)));
|
117
|
-
}
|
118
|
-
}
|
143
|
+
> .mc-button,
|
144
|
+
> .mc-icon-button {
|
145
|
+
width: 100%;
|
146
|
+
border-width: var(
|
147
|
+
--mc-button-toggle-size-border-width,
|
148
|
+
map.get($tokens, button-toggle-size-border-width)
|
149
|
+
);
|
119
150
|
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
--mc-button-toggle-size-border-siblings-radius,
|
125
|
-
map.get($tokens, button-toggle-size-border-siblings-radius)
|
126
|
-
)
|
127
|
-
}
|
151
|
+
border-radius: var(
|
152
|
+
--mc-button-toggle-size-border-radius,
|
153
|
+
map.get($tokens, button-toggle-size-border-radius)
|
154
|
+
);
|
128
155
|
}
|
129
156
|
}
|
130
157
|
}
|
158
|
+
|
131
159
|
/* stylelint-enable no-descending-specificity */
|
132
160
|
|
133
161
|
.mc-button-toggle-standalone {
|
@@ -8,6 +8,7 @@
|
|
8
8
|
@use '../selection/pseudo-checkbox/pseudo-checkbox-theme' as *;
|
9
9
|
@use '../../autocomplete/autocomplete-theme' as *;
|
10
10
|
@use '../../button/button-theme' as *;
|
11
|
+
@use '../../button-toggle/button-toggle-theme' as *;
|
11
12
|
@use '../../card/card-theme' as *;
|
12
13
|
@use '../../checkbox/checkbox-theme' as *;
|
13
14
|
@use '../../code-block/code-block-theme' as *;
|
@@ -46,6 +47,7 @@
|
|
46
47
|
@use '../option/option-action-theme' as *;
|
47
48
|
@use '../highlight/highlight-theme' as *;
|
48
49
|
@use '../../dl/dl-theme' as *;
|
50
|
+
@use '../../file-upload/file-upload-theme' as *;
|
49
51
|
|
50
52
|
|
51
53
|
@mixin mosaic-theme($theme) {
|
@@ -55,6 +57,7 @@
|
|
55
57
|
@include mc-autocomplete-theme($theme);
|
56
58
|
@include mc-badge-theme($theme);
|
57
59
|
@include mc-button-theme($theme);
|
60
|
+
@include mc-button-toggle-theme($theme);
|
58
61
|
@include mc-card-theme($theme);
|
59
62
|
@include mc-checkbox-theme($theme);
|
60
63
|
@include mc-code-block-theme($theme);
|
@@ -95,6 +98,7 @@
|
|
95
98
|
@include mc-tree-select-theme($theme);
|
96
99
|
@include mc-tree-theme($theme);
|
97
100
|
@include mc-table-theme($theme);
|
101
|
+
@include mc-file-upload-theme($theme);
|
98
102
|
}
|
99
103
|
|
100
104
|
|
@@ -113,6 +117,7 @@
|
|
113
117
|
@include mc-alert-typography($config);
|
114
118
|
@include mc-badge-typography($config);
|
115
119
|
@include mc-button-typography($config);
|
120
|
+
@include mc-button-toggle-typography($config);
|
116
121
|
@include mc-checkbox-typography($config);
|
117
122
|
@include mc-code-block-typography($config);
|
118
123
|
@include mc-datepicker-typography($config);
|
@@ -142,6 +147,7 @@
|
|
142
147
|
@include mc-tree-select-typography($config);
|
143
148
|
@include mc-tree-typography($config);
|
144
149
|
@include mc-table-typography($config);
|
150
|
+
@include mc-file-upload-typography($config);
|
145
151
|
|
146
152
|
@include mc-markdown-typography($md-config);
|
147
153
|
}
|
@@ -148,6 +148,39 @@
|
|
148
148
|
)
|
149
149
|
);
|
150
150
|
|
151
|
+
$button-toggle: (
|
152
|
+
button-toggle-group: (
|
153
|
+
background: map-get($tokens, 'button-toggle-group-#{$scheme}-background'),
|
154
|
+
border: map-get($tokens, 'button-toggle-group-#{$scheme}-border'),
|
155
|
+
states: (
|
156
|
+
disabled: (
|
157
|
+
opacity: map-get($tokens, 'button-toggle-group-#{$scheme}-states-disabled-opacity')
|
158
|
+
)
|
159
|
+
),
|
160
|
+
),
|
161
|
+
button-toggle: (
|
162
|
+
color: map-get($tokens, 'button-toggle-#{$scheme}-color'),
|
163
|
+
icon: map-get($tokens, 'button-toggle-#{$scheme}-icon'),
|
164
|
+
states: (
|
165
|
+
disabled: (
|
166
|
+
opacity: map-get($tokens, 'button-toggle-#{$scheme}-states-disabled-opacity')
|
167
|
+
),
|
168
|
+
hover: (
|
169
|
+
background: map-get($tokens, 'button-toggle-#{$scheme}-states-hover-background'),
|
170
|
+
icon: map-get($tokens, 'button-toggle-#{$scheme}-states-hover-icon')
|
171
|
+
),
|
172
|
+
active: (
|
173
|
+
background: map-get($tokens, 'button-toggle-#{$scheme}-states-active-background'),
|
174
|
+
icon: map-get($tokens, 'button-toggle-#{$scheme}-states-active-icon')
|
175
|
+
),
|
176
|
+
pressed: (
|
177
|
+
background: map-get($tokens, 'button-toggle-#{$scheme}-states-pressed-background'),
|
178
|
+
icon: map-get($tokens, 'button-toggle-#{$scheme}-states-pressed-icon')
|
179
|
+
)
|
180
|
+
)
|
181
|
+
)
|
182
|
+
);
|
183
|
+
|
151
184
|
$card: (
|
152
185
|
error: (
|
153
186
|
vertical-line: map-get($tokens, 'card-#{$scheme}-error-vertical-line'),
|
@@ -353,6 +386,57 @@
|
|
353
386
|
dd: map-get($tokens, 'description-list-#{$scheme}-dd')
|
354
387
|
);
|
355
388
|
|
389
|
+
$file-upload: (
|
390
|
+
single: (
|
391
|
+
default: (
|
392
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-single-default-background'),
|
393
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-single-default-border'),
|
394
|
+
),
|
395
|
+
states: (
|
396
|
+
error: (
|
397
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-single-states-error-background'),
|
398
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-single-states-error-border')
|
399
|
+
),
|
400
|
+
progress: (
|
401
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-single-states-progress-background'),
|
402
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-single-states-progress-border')
|
403
|
+
),
|
404
|
+
drag-n-drop: (
|
405
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-single-states-drag-n-drop-background'),
|
406
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-single-states-drag-n-drop-border')
|
407
|
+
),
|
408
|
+
disabled: (
|
409
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-single-states-disable-background'),
|
410
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-single-states-disable-border')
|
411
|
+
)
|
412
|
+
)
|
413
|
+
),
|
414
|
+
multiple: (
|
415
|
+
default: (
|
416
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-multiple-default-background'),
|
417
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-multiple-default-border'),
|
418
|
+
),
|
419
|
+
states: (
|
420
|
+
error: (
|
421
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-error-background'),
|
422
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-error-border')
|
423
|
+
),
|
424
|
+
progress: (
|
425
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-progress-background'),
|
426
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-progress-border')
|
427
|
+
),
|
428
|
+
drag-n-drop: (
|
429
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-drag-n-drop-background'),
|
430
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-drag-n-drop-border')
|
431
|
+
),
|
432
|
+
disabled: (
|
433
|
+
background: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-disable-background'),
|
434
|
+
border: map-get($tokens, 'file-upload-#{$scheme}-multiple-states-disable-border')
|
435
|
+
)
|
436
|
+
)
|
437
|
+
)
|
438
|
+
);
|
439
|
+
|
356
440
|
$form-field: (
|
357
441
|
border: map-get($tokens, 'form-field-#{$scheme}-border'),
|
358
442
|
background: map-get($tokens, 'form-field-#{$scheme}-background'),
|
@@ -437,6 +521,11 @@
|
|
437
521
|
state-focused-outline: map-get($tokens, 'link-#{$scheme}-state-focused-outline')
|
438
522
|
);
|
439
523
|
|
524
|
+
$list: (
|
525
|
+
footer-background: map-get($tokens, 'list-#{$scheme}-footer-background'),
|
526
|
+
footer-divider: map-get($tokens, 'list-#{$scheme}-footer-divider'),
|
527
|
+
);
|
528
|
+
|
440
529
|
$loader-overlay: (
|
441
530
|
background: map-get($tokens, 'loader-overlay-#{$scheme}-background'),
|
442
531
|
|
@@ -694,18 +783,21 @@
|
|
694
783
|
popup: $popup,
|
695
784
|
badge: $badge,
|
696
785
|
button: $button,
|
786
|
+
button-toggle: $button-toggle,
|
697
787
|
card: $card,
|
698
788
|
checkbox: $checkbox,
|
699
789
|
code-block: $code-block,
|
700
790
|
datepicker: $datepicker,
|
701
791
|
divider: $divider,
|
702
792
|
dl: $dl,
|
793
|
+
file-upload: $file-upload,
|
703
794
|
form-field: $form-field,
|
704
795
|
form-field-password-hint: $form-field-password-hint,
|
705
796
|
form-field-hint: $form-field-hint,
|
706
797
|
forms: $forms,
|
707
798
|
icon: $icon,
|
708
799
|
link: $link,
|
800
|
+
list: $list,
|
709
801
|
loader-overlay: $loader-overlay,
|
710
802
|
modal: $modal,
|
711
803
|
markdown: $markdown,
|
@@ -0,0 +1,20 @@
|
|
1
|
+
export declare enum MeasurementSystem {
|
2
|
+
SI = "SI",
|
3
|
+
IEC = "IEC"
|
4
|
+
}
|
5
|
+
export declare const sizeUnitsConfig: {
|
6
|
+
defaultUnitSystem: MeasurementSystem;
|
7
|
+
defaultPrecision: number;
|
8
|
+
unitSystems: {
|
9
|
+
SI: {
|
10
|
+
abbreviations: string[];
|
11
|
+
base: number;
|
12
|
+
power: number;
|
13
|
+
};
|
14
|
+
IEC: {
|
15
|
+
abbreviations: string[];
|
16
|
+
base: number;
|
17
|
+
power: number;
|
18
|
+
};
|
19
|
+
};
|
20
|
+
};
|
@@ -0,0 +1,13 @@
|
|
1
|
+
import { PipeTransform } from '@angular/core';
|
2
|
+
import { MeasurementSystem } from './config';
|
3
|
+
import * as i0 from "@angular/core";
|
4
|
+
export declare class McDataSizePipe implements PipeTransform {
|
5
|
+
transform(source: number, precision?: number, measurementSystem?: MeasurementSystem): string;
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<McDataSizePipe, never>;
|
7
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<McDataSizePipe, "mcDataSize", false>;
|
8
|
+
}
|
9
|
+
export declare class McDataSizeModule {
|
10
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<McDataSizeModule, never>;
|
11
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<McDataSizeModule, [typeof McDataSizePipe], never, [typeof McDataSizePipe]>;
|
12
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<McDataSizeModule>;
|
13
|
+
}
|
@@ -0,0 +1,16 @@
|
|
1
|
+
import { MeasurementSystem } from './config';
|
2
|
+
export declare const formatDataSize: (value: number, systemCode?: MeasurementSystem, precision?: number) => {
|
3
|
+
value: string;
|
4
|
+
unit: string;
|
5
|
+
};
|
6
|
+
/**
|
7
|
+
* Переводит байты в Кб, Мб, Гб
|
8
|
+
*
|
9
|
+
* @param value количество байт
|
10
|
+
* @param systemCode система измерения
|
11
|
+
* @param threshold нижний порог подсчета
|
12
|
+
*/
|
13
|
+
export declare const getHumanizedBytes: (value: number, systemCode?: MeasurementSystem, threshold?: number) => {
|
14
|
+
result: number;
|
15
|
+
unit: string;
|
16
|
+
};
|
@@ -0,0 +1,27 @@
|
|
1
|
+
import { Directionality } from '@angular/cdk/bidi';
|
2
|
+
import { Overlay, ScrollDispatcher } from '@angular/cdk/overlay';
|
3
|
+
import { ElementRef, OnInit, OnDestroy, NgZone, ViewContainerRef, Renderer2, AfterViewInit } from '@angular/core';
|
4
|
+
import { McTooltipTrigger } from '@ptsecurity/mosaic/tooltip';
|
5
|
+
import { Subject } from 'rxjs';
|
6
|
+
import * as i0 from "@angular/core";
|
7
|
+
export declare class McEllipsisCenterDirective extends McTooltipTrigger implements OnInit, AfterViewInit, OnDestroy {
|
8
|
+
private renderer;
|
9
|
+
set mcEllipsisCenter(value: string);
|
10
|
+
minVisibleLength: number;
|
11
|
+
readonly resizeStream: Subject<Event>;
|
12
|
+
private _mcEllipsisCenter;
|
13
|
+
private resizeSubscription;
|
14
|
+
private readonly debounceInterval;
|
15
|
+
constructor(overlay: Overlay, elementRef: ElementRef<HTMLElement>, ngZone: NgZone, scrollDispatcher: ScrollDispatcher, hostView: ViewContainerRef, scrollStrategy: any, direction: Directionality, renderer: Renderer2);
|
16
|
+
ngOnInit(): void;
|
17
|
+
ngAfterViewInit(): void;
|
18
|
+
ngOnDestroy(): void;
|
19
|
+
private refresh;
|
20
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<McEllipsisCenterDirective, [null, null, null, null, null, null, { optional: true; }, null]>;
|
21
|
+
static ɵdir: i0.ɵɵDirectiveDeclaration<McEllipsisCenterDirective, "[mcEllipsisCenter]", never, { "mcEllipsisCenter": "mcEllipsisCenter"; "minVisibleLength": "minVisibleLength"; }, {}, never, never, false, never>;
|
22
|
+
}
|
23
|
+
export declare class McEllipsisCenterModule {
|
24
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<McEllipsisCenterModule, never>;
|
25
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<McEllipsisCenterModule, [typeof McEllipsisCenterDirective], never, [typeof McEllipsisCenterDirective]>;
|
26
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<McEllipsisCenterModule>;
|
27
|
+
}
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './public-api';
|
@@ -0,0 +1 @@
|
|
1
|
+
export * from './ellipsis-center.directive';
|
@@ -1,6 +1,6 @@
|
|
1
1
|
import { FocusMonitor } from '@angular/cdk/a11y';
|
2
2
|
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, ViewEncapsulation, Renderer2, QueryList, ContentChildren, SkipSelf, Input } from '@angular/core';
|
3
|
+
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, Directive, ElementRef, ViewEncapsulation, Renderer2, QueryList, ContentChildren, SkipSelf, Input, forwardRef } from '@angular/core';
|
4
4
|
import { mixinColor, mixinTabIndex } from '@ptsecurity/mosaic/core';
|
5
5
|
import { McIcon } from '@ptsecurity/mosaic/icon';
|
6
6
|
import * as i0 from "@angular/core";
|
@@ -10,6 +10,10 @@ export const leftIconClassName = 'mc-icon_left';
|
|
10
10
|
export const rightIconClassName = 'mc-icon_right';
|
11
11
|
export const buttonLeftIconClassName = 'mc-icon-button_left';
|
12
12
|
export const buttonRightIconClassName = 'mc-icon-button_right';
|
13
|
+
export const getNodesWithoutComments = (nodes) => {
|
14
|
+
const COMMENT_NODE = 8;
|
15
|
+
return Array.from(nodes).filter((node) => node.nodeType !== COMMENT_NODE);
|
16
|
+
};
|
13
17
|
export class McButtonCssStyler {
|
14
18
|
constructor(elementRef, renderer, cdr) {
|
15
19
|
this.renderer = renderer;
|
@@ -24,9 +28,7 @@ export class McButtonCssStyler {
|
|
24
28
|
this.renderer.removeClass(this.nativeElement, buttonLeftIconClassName);
|
25
29
|
this.renderer.removeClass(this.nativeElement, buttonRightIconClassName);
|
26
30
|
const twoIcons = 2;
|
27
|
-
const
|
28
|
-
const filteredNodesWithoutComments = Array.from(this.nativeElement.querySelector('.mc-button-wrapper').childNodes)
|
29
|
-
.filter((node) => node.nodeType !== COMMENT_NODE);
|
31
|
+
const filteredNodesWithoutComments = getNodesWithoutComments(this.nativeElement.querySelector('.mc-button-wrapper').childNodes);
|
30
32
|
const currentIsIconButtonValue = !!this.icons.length &&
|
31
33
|
this.icons.length === filteredNodesWithoutComments.length && this.icons.length <= twoIcons;
|
32
34
|
if (currentIsIconButtonValue !== this.isIconButton) {
|
@@ -52,7 +54,7 @@ export class McButtonCssStyler {
|
|
52
54
|
}
|
53
55
|
}
|
54
56
|
/** @nocollapse */ McButtonCssStyler.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonCssStyler, deps: [{ token: i0.ElementRef }, { token: i0.Renderer2 }, { token: i0.ChangeDetectorRef, skipSelf: true }], target: i0.ɵɵFactoryTarget.Directive });
|
55
|
-
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate:
|
57
|
+
/** @nocollapse */ McButtonCssStyler.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "15.2.2", type: McButtonCssStyler, selector: "[mc-button]", host: { properties: { "class.mc-button": "!isIconButton", "class.mc-icon-button": "isIconButton" } }, queries: [{ propertyName: "icons", predicate: i0.forwardRef(function () { return McIcon; }) }], ngImport: i0 });
|
56
58
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImport: i0, type: McButtonCssStyler, decorators: [{
|
57
59
|
type: Directive,
|
58
60
|
args: [{
|
@@ -66,7 +68,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
66
68
|
type: SkipSelf
|
67
69
|
}] }]; }, propDecorators: { icons: [{
|
68
70
|
type: ContentChildren,
|
69
|
-
args: [
|
71
|
+
args: [(forwardRef(() => McIcon))]
|
70
72
|
}] } });
|
71
73
|
/** @docs-private */
|
72
74
|
export class McButtonBase {
|
@@ -143,4 +145,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.2", ngImpor
|
|
143
145
|
}], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1.FocusMonitor }, { type: McButtonCssStyler }]; }, propDecorators: { disabled: [{
|
144
146
|
type: Input
|
145
147
|
}] } });
|
146
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFFVixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBRWYsUUFBUSxFQUNSLEtBQUssRUFDUixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQ0gsVUFBVSxFQUNWLGFBQWEsRUFLaEIsTUFBTSx5QkFBeUIsQ0FBQztBQUNqQyxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0seUJBQXlCLENBQUM7Ozs7QUFHakQsTUFBTSxDQUFDLE1BQU0saUJBQWlCLEdBQUcsY0FBYyxDQUFDO0FBQ2hELE1BQU0sQ0FBQyxNQUFNLGtCQUFrQixHQUFHLGVBQWUsQ0FBQztBQUVsRCxNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxxQkFBcUIsQ0FBQztBQUM3RCxNQUFNLENBQUMsTUFBTSx3QkFBd0IsR0FBRyxzQkFBc0IsQ0FBQztBQVMvRCxNQUFNLE9BQU8saUJBQWlCO0lBTzFCLFlBQVksVUFBc0IsRUFBVSxRQUFtQixFQUFzQixHQUFzQjtRQUEvRCxhQUFRLEdBQVIsUUFBUSxDQUFXO1FBQXNCLFFBQUcsR0FBSCxHQUFHLENBQW1CO1FBRjNHLGlCQUFZLEdBQVksS0FBSyxDQUFDO1FBRzFCLElBQUksQ0FBQyxhQUFhLEdBQUcsVUFBVSxDQUFD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RixpQkFBaUIsRUFBRSxrQkFBa0I7d0JBQ3JDLGlCQUFpQixFQUFFLFVBQVU7d0JBRTdCLFNBQVMsRUFBRSxpQkFBaUI7d0JBQzVCLFFBQVEsRUFBRSxVQUFVO3FCQUN2Qjt5SkFNRyxRQUFRO3NCQURYLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb2N1c01vbml0b3IgfSBmcm9tICdAYW5ndWxhci9jZGsvYTExeSc7XG5pbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgRGlyZWN0aXZlLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgT25EZXN0cm95LFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIFJlbmRlcmVyMixcbiAgICBRdWVyeUxpc3QsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgU2tpcFNlbGYsXG4gICAgSW5wdXRcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQge1xuICAgIG1peGluQ29sb3IsXG4gICAgbWl4aW5UYWJJbmRleCxcbiAgICBDYW5Db2xvcixcbiAgICBDYW5EaXNhYmxlLFxuICAgIENhbkNvbG9yQ3RvcixcbiAgICBIYXNUYWJJbmRleEN0b3Jcbn0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2NvcmUnO1xuaW1wb3J0IHsgTWNJY29uIH0gZnJvbSAnQHB0c2VjdXJpdHkvbW9zYWljL2ljb24nO1xuXG5cbmV4cG9ydCBjb25zdCBsZWZ0SWNvbkNsYXNzTmFtZSA9ICdtYy1pY29uX2xlZnQnO1xuZXhwb3J0IGNvbnN0IHJpZ2h0SWNvbkNsYXNzTmFtZSA9ICdtYy1pY29uX3JpZ2h0JztcblxuZXhwb3J0IGNvbnN0IGJ1dHRvbkxlZnRJY29uQ2xhc3NOYW1lID0gJ21jLWljb24tYnV0dG9uX2xlZnQnO1xuZXhwb3J0IGNvbnN0IGJ1dHRvblJpZ2h0SWNvbkNsYXNzTmFtZSA9ICdtYy1pY29uLWJ1dHRvbl9yaWdodCc7XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21jLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5tYy1idXR0b25dJzogJyFpc0ljb25CdXR0b24nLFxuICAgICAgICAnW2NsYXNzLm1jLWljb24tYnV0dG9uXSc6ICdpc0ljb25CdXR0b24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0J1dHRvbkNzc1N0eWxlciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oTWNJY29uLCB7IGRlc2NlbmRhbnRzOiB0cnVlIH0pIGljb25zOiBRdWVyeUxpc3Q8TWNJY29uPjtcblxuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgaXNJY29uQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIEBTa2lwU2VsZigpIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIGJ1dHRvbkxlZnRJY29uQ2xhc3NOYW1lKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIGJ1dHRvblJpZ2h0SWNvbkNsYXNzTmFtZSk7XG5cbiAgICAgICAgY29uc3QgdHdvSWNvbnMgPSAyO1xuICAgICAgICBjb25zdCBDT01NRU5UX05PREUgPSA4O1xuICAgICAgICBjb25zdCBmaWx0ZXJlZE5vZGVzV2l0aG91dENvbW1lbnRzID0gQXJyYXkuZnJvbShcbiAgICAgICAgICAgIHRoaXMubmF0aXZlRWxlbWVudC5xdWVyeVNlbGVjdG9yKCcubWMtYnV0dG9uLXdyYXBwZXInKSEuY2hpbGROb2RlcyBhcyBOb2RlTGlzdFxuICAgICAgICApXG4gICAgICAgICAgICAuZmlsdGVyKChub2RlKSA9PiBub2RlLm5vZGVUeXBlICE9PSBDT01NRU5UX05PREUpO1xuICAgICAgICBjb25zdCBjdXJyZW50SXNJY29uQnV0dG9uVmFsdWUgPSAhIXRoaXMuaWNvbnMubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLmljb25zLmxlbmd0aCA9PT0gZmlsdGVyZWROb2Rlc1dpdGhvdXRDb21tZW50cy5sZW5ndGggJiYgdGhpcy5pY29ucy5sZW5ndGggPD0gdHdvSWNvbnM7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJc0ljb25CdXR0b25WYWx1ZSAhPT0gdGhpcy5pc0ljb25CdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuaXNJY29uQnV0dG9uID0gY3VycmVudElzSWNvbkJ1dHRvblZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaWNvbnMubGVuZ3RoICYmIGZpbHRlcmVkTm9kZXNXaXRob3V0Q29tbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy5pY29ucy5tYXAoKGl0ZW0pID0+IGl0ZW0uZ2V0SG9zdEVsZW1lbnQoKSlcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCgoaWNvbkhvc3RFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCBsZWZ0SWNvbkNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCByaWdodEljb25DbGFzc05hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGljb25JbmRleCA9IGZpbHRlcmVkTm9kZXNXaXRob3V0Q29tbWVudHMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGUpID0+IG5vZGUgPT09IGljb25Ib3N0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCBsZWZ0SWNvbkNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgYnV0dG9uTGVmdEljb25DbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGljb25JbmRleCA9PT0gZmlsdGVyZWROb2Rlc1dpdGhvdXRDb21tZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGljb25Ib3N0RWxlbWVudCwgcmlnaHRJY29uQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCBidXR0b25SaWdodEljb25DbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjbGFzcyBNY0J1dHRvbkJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IE1jQnV0dG9uTWl4aW5CYXNlOiBIYXNUYWJJbmRleEN0b3IgJiBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBNY0J1dHRvbkJhc2UgPSBtaXhpblRhYkluZGV4KG1peGluQ29sb3IoTWNCdXR0b25CYXNlKSk7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbbWMtYnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGlucHV0czogWydjb2xvcicsICd0YWJJbmRleCddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnRhYkluZGV4XSc6ICd0YWJJbmRleCcsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jQnV0dG9uIGV4dGVuZHMgTWNCdXR0b25NaXhpbkJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIENhbkRpc2FibGUsIENhbkNvbG9yIHtcbiAgICBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLnN0b3BGb2N1c01vbml0b3IoKSA6IHRoaXMucnVuRm9jdXNNb25pdG9yKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsIHByaXZhdGUgc3R5bGVyOiBNY0J1dHRvbkNzc1N0eWxlcikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmKTtcblxuICAgICAgICB0aGlzLnJ1bkZvY3VzTW9uaXRvcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0b3BGb2N1c01vbml0b3IoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0SG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgZm9jdXNWaWFLZXlib2FyZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5nZXRIb3N0RWxlbWVudCgpLCAna2V5Ym9hcmQnKTtcbiAgICB9XG5cbiAgICBoYWx0RGlzYWJsZWRFdmVudHMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb2plY3RDb250ZW50Q2hhbmdlZCgpIHtcbiAgICAgICAgdGhpcy5zdHlsZXIudXBkYXRlQ2xhc3NNb2RpZmllckZvckljb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5Gb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcEZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cIm1jLWJ1dHRvbi13cmFwcGVyXCIgKGNka09ic2VydmVDb250ZW50KT1cInByb2plY3RDb250ZW50Q2hhbmdlZCgpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWMtYnV0dG9uLW92ZXJsYXlcIiAoY2xpY2spPVwiaGFsdERpc2FibGVkRXZlbnRzKCRldmVudClcIj48L2Rpdj5cbiJdfQ==
|
148
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnV0dG9uLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3BhY2thZ2VzL21vc2FpYy9idXR0b24vYnV0dG9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNqRCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsU0FBUyxFQUNULFVBQVUsRUFFVixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFNBQVMsRUFDVCxlQUFlLEVBRWYsUUFBUSxFQUNSLEtBQUssRUFBRSxVQUFVLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxVQUFVLEVBQ1YsYUFBYSxFQUtoQixNQUFNLHlCQUF5QixDQUFDO0FBQ2pDLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQUdqRCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBRyxjQUFjLENBQUM7QUFDaEQsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsZUFBZSxDQUFDO0FBRWxELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLHFCQUFxQixDQUFDO0FBQzdELE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLHNCQUFzQixDQUFDO0FBRS9ELE1BQU0sQ0FBQyxNQUFNLHVCQUF1QixHQUFHLENBQUMsS0FBZSxFQUFVLEVBQUU7SUFDL0QsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDO0lBRXZCLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElB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QUlBOzJGRDZIYSxRQUFRO2tCQWZwQixTQUFTOytCQUNJLGFBQWEsbUJBR04sdUJBQXVCLENBQUMsTUFBTSxpQkFDaEMsaUJBQWlCLENBQUMsSUFBSSxVQUM3QixDQUFDLE9BQU8sRUFBRSxVQUFVLENBQUMsUUFDdkI7d0JBQ0YsaUJBQWlCLEVBQUUsa0JBQWtCO3dCQUNyQyxpQkFBaUIsRUFBRSxVQUFVO3dCQUU3QixTQUFTLEVBQUUsaUJBQWlCO3dCQUM1QixRQUFRLEVBQUUsVUFBVTtxQkFDdkI7eUpBTUcsUUFBUTtzQkFEWCxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRm9jdXNNb25pdG9yIH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2ExMXknO1xuaW1wb3J0IHsgY29lcmNlQm9vbGVhblByb3BlcnR5IH0gZnJvbSAnQGFuZ3VsYXIvY2RrL2NvZXJjaW9uJztcbmltcG9ydCB7XG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERpcmVjdGl2ZSxcbiAgICBFbGVtZW50UmVmLFxuICAgIE9uRGVzdHJveSxcbiAgICBWaWV3RW5jYXBzdWxhdGlvbixcbiAgICBSZW5kZXJlcjIsXG4gICAgUXVlcnlMaXN0LFxuICAgIENvbnRlbnRDaGlsZHJlbixcbiAgICBBZnRlckNvbnRlbnRJbml0LFxuICAgIFNraXBTZWxmLFxuICAgIElucHV0LCBmb3J3YXJkUmVmXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtcbiAgICBtaXhpbkNvbG9yLFxuICAgIG1peGluVGFiSW5kZXgsXG4gICAgQ2FuQ29sb3IsXG4gICAgQ2FuRGlzYWJsZSxcbiAgICBDYW5Db2xvckN0b3IsXG4gICAgSGFzVGFiSW5kZXhDdG9yXG59IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9jb3JlJztcbmltcG9ydCB7IE1jSWNvbiB9IGZyb20gJ0BwdHNlY3VyaXR5L21vc2FpYy9pY29uJztcblxuXG5leHBvcnQgY29uc3QgbGVmdEljb25DbGFzc05hbWUgPSAnbWMtaWNvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCByaWdodEljb25DbGFzc05hbWUgPSAnbWMtaWNvbl9yaWdodCc7XG5cbmV4cG9ydCBjb25zdCBidXR0b25MZWZ0SWNvbkNsYXNzTmFtZSA9ICdtYy1pY29uLWJ1dHRvbl9sZWZ0JztcbmV4cG9ydCBjb25zdCBidXR0b25SaWdodEljb25DbGFzc05hbWUgPSAnbWMtaWNvbi1idXR0b25fcmlnaHQnO1xuXG5leHBvcnQgY29uc3QgZ2V0Tm9kZXNXaXRob3V0Q29tbWVudHMgPSAobm9kZXM6IE5vZGVMaXN0KTogTm9kZVtdID0+IHtcbiAgICBjb25zdCBDT01NRU5UX05PREUgPSA4O1xuXG4gICAgcmV0dXJuIEFycmF5LmZyb20obm9kZXMpLmZpbHRlcigobm9kZSkgPT4gbm9kZS5ub2RlVHlwZSAhPT0gQ09NTUVOVF9OT0RFKTtcbn07XG5cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW21jLWJ1dHRvbl0nLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1tjbGFzcy5tYy1idXR0b25dJzogJyFpc0ljb25CdXR0b24nLFxuICAgICAgICAnW2NsYXNzLm1jLWljb24tYnV0dG9uXSc6ICdpc0ljb25CdXR0b24nXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBNY0J1dHRvbkNzc1N0eWxlciBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQge1xuICAgIEBDb250ZW50Q2hpbGRyZW4oKGZvcndhcmRSZWYoKCkgPT4gTWNJY29uKSkpIGljb25zOiBRdWVyeUxpc3Q8TWNJY29uPjtcblxuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuXG4gICAgaXNJY29uQnV0dG9uOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBjb25zdHJ1Y3RvcihlbGVtZW50UmVmOiBFbGVtZW50UmVmLCBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsIEBTa2lwU2VsZigpIHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge1xuICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQgPSBlbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQ7XG4gICAgfVxuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICB0aGlzLnVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpO1xuICAgIH1cblxuICAgIHVwZGF0ZUNsYXNzTW9kaWZpZXJGb3JJY29ucygpIHtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIGJ1dHRvbkxlZnRJY29uQ2xhc3NOYW1lKTtcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLm5hdGl2ZUVsZW1lbnQsIGJ1dHRvblJpZ2h0SWNvbkNsYXNzTmFtZSk7XG5cbiAgICAgICAgY29uc3QgdHdvSWNvbnMgPSAyO1xuICAgICAgICBjb25zdCBmaWx0ZXJlZE5vZGVzV2l0aG91dENvbW1lbnRzID0gZ2V0Tm9kZXNXaXRob3V0Q29tbWVudHMoXG4gICAgICAgICAgICB0aGlzLm5hdGl2ZUVsZW1lbnQucXVlcnlTZWxlY3RvcignLm1jLWJ1dHRvbi13cmFwcGVyJykhLmNoaWxkTm9kZXMgYXMgTm9kZUxpc3RcbiAgICAgICAgKTtcblxuICAgICAgICBjb25zdCBjdXJyZW50SXNJY29uQnV0dG9uVmFsdWUgPSAhIXRoaXMuaWNvbnMubGVuZ3RoICYmXG4gICAgICAgICAgICB0aGlzLmljb25zLmxlbmd0aCA9PT0gZmlsdGVyZWROb2Rlc1dpdGhvdXRDb21tZW50cy5sZW5ndGggJiYgdGhpcy5pY29ucy5sZW5ndGggPD0gdHdvSWNvbnM7XG5cbiAgICAgICAgaWYgKGN1cnJlbnRJc0ljb25CdXR0b25WYWx1ZSAhPT0gdGhpcy5pc0ljb25CdXR0b24pIHtcbiAgICAgICAgICAgIHRoaXMuaXNJY29uQnV0dG9uID0gY3VycmVudElzSWNvbkJ1dHRvblZhbHVlO1xuICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuaWNvbnMubGVuZ3RoICYmIGZpbHRlcmVkTm9kZXNXaXRob3V0Q29tbWVudHMubGVuZ3RoID4gMSkge1xuICAgICAgICAgICAgdGhpcy5pY29ucy5tYXAoKGl0ZW0pID0+IGl0ZW0uZ2V0SG9zdEVsZW1lbnQoKSlcbiAgICAgICAgICAgICAgICAuZm9yRWFjaCgoaWNvbkhvc3RFbGVtZW50KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCBsZWZ0SWNvbkNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCByaWdodEljb25DbGFzc05hbWUpO1xuXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGljb25JbmRleCA9IGZpbHRlcmVkTm9kZXNXaXRob3V0Q29tbWVudHMuZmluZEluZGV4KFxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vZGUpID0+IG5vZGUgPT09IGljb25Ib3N0RWxlbWVudFxuICAgICAgICAgICAgICAgICAgICApO1xuXG4gICAgICAgICAgICAgICAgICAgIGlmIChpY29uSW5kZXggPT09IDApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3MoaWNvbkhvc3RFbGVtZW50LCBsZWZ0SWNvbkNsYXNzTmFtZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKHRoaXMubmF0aXZlRWxlbWVudCwgYnV0dG9uTGVmdEljb25DbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgaWYgKGljb25JbmRleCA9PT0gZmlsdGVyZWROb2Rlc1dpdGhvdXRDb21tZW50cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFkZENsYXNzKGljb25Ib3N0RWxlbWVudCwgcmlnaHRJY29uQ2xhc3NOYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYWRkQ2xhc3ModGhpcy5uYXRpdmVFbGVtZW50LCBidXR0b25SaWdodEljb25DbGFzc05hbWUpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyoqIEBkb2NzLXByaXZhdGUgKi9cbmV4cG9ydCBjbGFzcyBNY0J1dHRvbkJhc2Uge1xuICAgIGNvbnN0cnVjdG9yKHB1YmxpYyBlbGVtZW50UmVmOiBFbGVtZW50UmVmKSB7fVxufVxuXG4vKiogQGRvY3MtcHJpdmF0ZSAqL1xuZXhwb3J0IGNvbnN0IE1jQnV0dG9uTWl4aW5CYXNlOiBIYXNUYWJJbmRleEN0b3IgJiBDYW5Db2xvckN0b3IgJlxuICAgIHR5cGVvZiBNY0J1dHRvbkJhc2UgPSBtaXhpblRhYkluZGV4KG1peGluQ29sb3IoTWNCdXR0b25CYXNlKSk7XG5cblxuQENvbXBvbmVudCh7XG4gICAgc2VsZWN0b3I6ICdbbWMtYnV0dG9uXScsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2J1dHRvbi5jb21wb25lbnQuaHRtbCcsXG4gICAgc3R5bGVVcmxzOiBbJy4vYnV0dG9uLnNjc3MnXSxcbiAgICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcbiAgICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxuICAgIGlucHV0czogWydjb2xvcicsICd0YWJJbmRleCddLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJ1thdHRyLmRpc2FibGVkXSc6ICdkaXNhYmxlZCB8fCBudWxsJyxcbiAgICAgICAgJ1thdHRyLnRhYkluZGV4XSc6ICd0YWJJbmRleCcsXG5cbiAgICAgICAgJyhmb2N1cyknOiAnb25Gb2N1cygkZXZlbnQpJyxcbiAgICAgICAgJyhibHVyKSc6ICdvbkJsdXIoKSdcbiAgICB9XG59KVxuZXhwb3J0IGNsYXNzIE1jQnV0dG9uIGV4dGVuZHMgTWNCdXR0b25NaXhpbkJhc2UgaW1wbGVtZW50cyBPbkRlc3Ryb3ksIENhbkRpc2FibGUsIENhbkNvbG9yIHtcbiAgICBoYXNGb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBnZXQgZGlzYWJsZWQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBzZXQgZGlzYWJsZWQodmFsdWU6IGFueSkge1xuICAgICAgICB0aGlzLl9kaXNhYmxlZCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG5cbiAgICAgICAgdGhpcy5fZGlzYWJsZWQgPyB0aGlzLnN0b3BGb2N1c01vbml0b3IoKSA6IHRoaXMucnVuRm9jdXNNb25pdG9yKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBfZGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIGNvbnN0cnVjdG9yKGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsIHByaXZhdGUgZm9jdXNNb25pdG9yOiBGb2N1c01vbml0b3IsIHByaXZhdGUgc3R5bGVyOiBNY0J1dHRvbkNzc1N0eWxlcikge1xuICAgICAgICBzdXBlcihlbGVtZW50UmVmKTtcblxuICAgICAgICB0aGlzLnJ1bkZvY3VzTW9uaXRvcigpO1xuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLnN0b3BGb2N1c01vbml0b3IoKTtcbiAgICB9XG5cbiAgICBvbkZvY3VzKCRldmVudCkge1xuICAgICAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG5cbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG4gICAgfVxuXG4gICAgb25CbHVyKCkge1xuICAgICAgICB0aGlzLmhhc0ZvY3VzID0gZmFsc2U7XG4gICAgfVxuXG4gICAgZ2V0SG9zdEVsZW1lbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsZW1lbnRSZWYubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBmb2N1cygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5nZXRIb3N0RWxlbWVudCgpLmZvY3VzKCk7XG4gICAgfVxuXG4gICAgZm9jdXNWaWFLZXlib2FyZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5oYXNGb2N1cyA9IHRydWU7XG5cbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3IuZm9jdXNWaWEodGhpcy5nZXRIb3N0RWxlbWVudCgpLCAna2V5Ym9hcmQnKTtcbiAgICB9XG5cbiAgICBoYWx0RGlzYWJsZWRFdmVudHMoZXZlbnQ6IEV2ZW50KSB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgZXZlbnQuc3RvcEltbWVkaWF0ZVByb3BhZ2F0aW9uKCk7XG4gICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByb2plY3RDb250ZW50Q2hhbmdlZCgpIHtcbiAgICAgICAgdGhpcy5zdHlsZXIudXBkYXRlQ2xhc3NNb2RpZmllckZvckljb25zKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBydW5Gb2N1c01vbml0b3IoKSB7XG4gICAgICAgIHRoaXMuZm9jdXNNb25pdG9yLm1vbml0b3IodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQsIHRydWUpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc3RvcEZvY3VzTW9uaXRvcigpIHtcbiAgICAgICAgdGhpcy5mb2N1c01vbml0b3Iuc3RvcE1vbml0b3JpbmcodGhpcy5lbGVtZW50UmVmLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cbn1cblxuIiwiPGRpdiBjbGFzcz1cIm1jLWJ1dHRvbi13cmFwcGVyXCIgKGNka09ic2VydmVDb250ZW50KT1cInByb2plY3RDb250ZW50Q2hhbmdlZCgpXCI+XG4gICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxuPC9kaXY+XG48ZGl2IGNsYXNzPVwibWMtYnV0dG9uLW92ZXJsYXlcIiAoY2xpY2spPVwiaGFsdERpc2FibGVkRXZlbnRzKCRldmVudClcIj48L2Rpdj5cbiJdfQ==
|