@scion/components 22.2.0 → 22.4.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/_index.scss +94 -5
- package/common/package.json +4 -0
- package/design/_theming.scss +25 -10
- package/design/components/_scion-component-dark-tokens.scss +153 -0
- package/design/components/_scion-component-light-tokens.scss +153 -0
- package/design/icons/_scion-icon-font.scss +50 -0
- package/design/themes/_scion-dark-theme.scss +2 -7
- package/design/themes/_scion-light-theme.scss +3 -8
- package/fesm2022/scion-components-common.mjs +251 -0
- package/fesm2022/scion-components-common.mjs.map +1 -0
- package/fesm2022/scion-components-dimension.mjs +7 -6
- package/fesm2022/scion-components-dimension.mjs.map +1 -1
- package/fesm2022/scion-components-icon.mjs +327 -0
- package/fesm2022/scion-components-icon.mjs.map +1 -0
- package/fesm2022/scion-components-menu.mjs +3277 -0
- package/fesm2022/scion-components-menu.mjs.map +1 -0
- package/fesm2022/scion-components-sashbox.mjs +21 -21
- package/fesm2022/scion-components-sashbox.mjs.map +1 -1
- package/fesm2022/scion-components-splitter.mjs +16 -13
- package/fesm2022/scion-components-splitter.mjs.map +1 -1
- package/fesm2022/scion-components-table.mjs +2337 -0
- package/fesm2022/scion-components-table.mjs.map +1 -0
- package/fesm2022/scion-components-text.mjs +322 -0
- package/fesm2022/scion-components-text.mjs.map +1 -0
- package/fesm2022/scion-components-throbber.mjs +15 -15
- package/fesm2022/scion-components-throbber.mjs.map +1 -1
- package/fesm2022/scion-components-viewport.mjs +41 -72
- package/fesm2022/scion-components-viewport.mjs.map +1 -1
- package/icon/package.json +4 -0
- package/menu/package.json +4 -0
- package/package.json +23 -3
- package/table/package.json +4 -0
- package/text/package.json +4 -0
- package/types/scion-components-common.d.ts +185 -0
- package/types/scion-components-icon.d.ts +93 -0
- package/types/scion-components-menu.d.ts +1922 -0
- package/types/scion-components-sashbox.d.ts +4 -2
- package/types/scion-components-splitter.d.ts +4 -3
- package/types/scion-components-table.d.ts +595 -0
- package/types/scion-components-text.d.ts +131 -0
- package/types/scion-components-viewport.d.ts +7 -4
- package/design/components/_scion-component-tokens.scss +0 -48
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
import * as i0 from '@angular/core';
|
|
2
|
+
import { inject, InjectionToken, assertNotInReactiveContext, signal, Injector, runInInjectionContext, isSignal, computed, Injectable, makeEnvironmentProviders, untracked, Pipe } from '@angular/core';
|
|
3
|
+
import { runSafe, Maps } from '@scion/toolkit/util';
|
|
4
|
+
import { assertInInjectionContext, createDestroyableInjector } from '@scion/components/common';
|
|
5
|
+
|
|
6
|
+
/*
|
|
7
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
8
|
+
*
|
|
9
|
+
* This program and the accompanying materials are made
|
|
10
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
11
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
12
|
+
*
|
|
13
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
14
|
+
*/
|
|
15
|
+
/**
|
|
16
|
+
* Texts used in @scion/components.
|
|
17
|
+
*
|
|
18
|
+
* To express the usage of a translation, add a suffix to the key:
|
|
19
|
+
*
|
|
20
|
+
* ```md
|
|
21
|
+
* | Suffix | Usage | Conventions | Examples |
|
|
22
|
+
* |----------|--------------------------|---------------------------------------------|--------------------|
|
|
23
|
+
* | .title | - view title | - Starts with a capital letter. | - Settings |
|
|
24
|
+
* | | - dialog title | - No punctuation. | - Page Not Found |
|
|
25
|
+
* | | - popup title | - Words in capital letter. | - Confirm Deletion |
|
|
26
|
+
* | | - tab name | - Verbs in the imperative form. | |
|
|
27
|
+
* | | - column header in table | | |
|
|
28
|
+
* | | | | |
|
|
29
|
+
* | .label | - field label | - Starts with a capital letter. | |
|
|
30
|
+
* | | | - No punctuation. | |
|
|
31
|
+
* | | | | |
|
|
32
|
+
* | .action | - button | - Starts with a capital letter. | - Cancel |
|
|
33
|
+
* | | - menu item | - No punctuation. | - Close |
|
|
34
|
+
* | | | - Verbs in the imperative form. | - Delete... |
|
|
35
|
+
* | | | - Suffix the action with an ellipsis | |
|
|
36
|
+
* | | | if there are additional options to enter. | |
|
|
37
|
+
* | | | | |
|
|
38
|
+
* | .tooltip | - tooltip | - Starts with a capital letter. | - Show Open Tabs |
|
|
39
|
+
* | | | - No punctuation. | - Close |
|
|
40
|
+
* | | | - Words in capital letter, unless a full | |
|
|
41
|
+
* | | | sentence. | |
|
|
42
|
+
* | | | | |
|
|
43
|
+
* | .value | - table cell | - No punctuation. | |
|
|
44
|
+
* | | - drop down proposal | | |
|
|
45
|
+
* | | - list content | | |
|
|
46
|
+
* | | | | |
|
|
47
|
+
* | .message | - message | - Full sentences. | |
|
|
48
|
+
* | | - warning | - Punctuation. | |
|
|
49
|
+
* | | - error | | |
|
|
50
|
+
* | | - info | | |
|
|
51
|
+
* ```
|
|
52
|
+
*/
|
|
53
|
+
const texts = {
|
|
54
|
+
'scion.components.clear.tooltip': 'Clear',
|
|
55
|
+
'scion.components.datasource_error.message': 'Data unavailable.',
|
|
56
|
+
'scion.components.no.value': 'No',
|
|
57
|
+
'scion.components.no_items.message': 'No items found.',
|
|
58
|
+
'scion.components.retry.label': 'Retry',
|
|
59
|
+
'scion.components.type_to_filter.action': 'Type to filter',
|
|
60
|
+
'scion.components.yes.value': 'Yes',
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* Provides built-in texts of @scion/components.
|
|
64
|
+
*/
|
|
65
|
+
const scionComponentsTextProvider = (key, params) => {
|
|
66
|
+
// Get the text.
|
|
67
|
+
const text = texts[key];
|
|
68
|
+
if (text === undefined) {
|
|
69
|
+
return undefined;
|
|
70
|
+
}
|
|
71
|
+
// Replace params, if any.
|
|
72
|
+
if (Object.keys(params).length) {
|
|
73
|
+
return text.replace(/{{(?<param>[^}]+)}}/g, (match, param) => params[param] ?? match);
|
|
74
|
+
}
|
|
75
|
+
return text;
|
|
76
|
+
};
|
|
77
|
+
|
|
78
|
+
/*
|
|
79
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
80
|
+
*
|
|
81
|
+
* This program and the accompanying materials are made
|
|
82
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
83
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
84
|
+
*
|
|
85
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
86
|
+
*/
|
|
87
|
+
/**
|
|
88
|
+
* Provides texts based on registered text providers.
|
|
89
|
+
*/
|
|
90
|
+
class TextProviders {
|
|
91
|
+
_textProviders = [
|
|
92
|
+
// Provide app-specific texts.
|
|
93
|
+
...inject(SCI_TEXT_PROVIDER, { optional: true }) ?? [],
|
|
94
|
+
// Provide built-in texts of @scion/components.
|
|
95
|
+
scionComponentsTextProvider,
|
|
96
|
+
];
|
|
97
|
+
/**
|
|
98
|
+
* Provides the text for the given {@link Translatable} based on text providers registered under the {@link SCI_TEXT_PROVIDER} DI token.
|
|
99
|
+
*
|
|
100
|
+
* Text providers are called in registration order. If a provider does not provide the text, the next provider is called, and so on.
|
|
101
|
+
*
|
|
102
|
+
* This function must be called within an injection context, or an explicit {@link Injector} passed. Text providers may allocate resources
|
|
103
|
+
* that are released only when the injector is destroyed. Destroy the injector when the text is no longer needed.
|
|
104
|
+
*/
|
|
105
|
+
provide(translatable, options) {
|
|
106
|
+
assertNotInReactiveContext(this.provide, 'Call TextProviders.provide() in a non-reactive (non-tracking) context.');
|
|
107
|
+
if (!translatable?.startsWith('%') || translatable === '%' || !this._textProviders.length) {
|
|
108
|
+
return signal(translatable);
|
|
109
|
+
}
|
|
110
|
+
// Parse translatable into key and params.
|
|
111
|
+
const { key, params } = parseTranslatable(translatable, { params: options?.params });
|
|
112
|
+
const injector = options?.injector ?? inject(Injector);
|
|
113
|
+
const errorHandler = (error) => {
|
|
114
|
+
// Prefix the key with an additional `%` character to escape the leading `%` character. See console formatting rules: https://developer.mozilla.org/en-US/docs/Web/API/console
|
|
115
|
+
console.error(`[TextProviderError] Failed to get text for '%${translatable}'. Caused by:`, error);
|
|
116
|
+
return translatable;
|
|
117
|
+
};
|
|
118
|
+
for (const textProvider of this._textProviders) {
|
|
119
|
+
// If `textProvider` throws an error, `runSafe` catches it and delegates execution to the error handler, logging the error and returning the translatable.
|
|
120
|
+
const text = runInInjectionContext(injector, () => runSafe(() => textProvider(key, Object.fromEntries(params)), errorHandler));
|
|
121
|
+
if (text !== undefined) {
|
|
122
|
+
// If signal, wrap it in `computed` to handle errors.
|
|
123
|
+
return isSignal(text) ? computed(() => runSafe(() => text(), errorHandler)) : signal(text);
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
return signal(translatable);
|
|
127
|
+
}
|
|
128
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TextProviders, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
|
|
129
|
+
static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TextProviders, providedIn: 'root' });
|
|
130
|
+
}
|
|
131
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: TextProviders, decorators: [{
|
|
132
|
+
type: Injectable,
|
|
133
|
+
args: [{ providedIn: 'root' }]
|
|
134
|
+
}] });
|
|
135
|
+
/**
|
|
136
|
+
* Parses a translation key into its key and parameters, if any.
|
|
137
|
+
*
|
|
138
|
+
* Examples:
|
|
139
|
+
* - `%key`: translation key
|
|
140
|
+
* - `%key;param=value`: translation key with a single interpolation parameter
|
|
141
|
+
* - `%key;param1=value1;param2=value2`: translation key with multiple interpolation parameters
|
|
142
|
+
*/
|
|
143
|
+
function parseTranslatable(translationKey, options) {
|
|
144
|
+
const { key, params } = /^%(?<key>[^;]+)(;(?<params>.*))?$/.exec(translationKey).groups;
|
|
145
|
+
return {
|
|
146
|
+
key: key,
|
|
147
|
+
params: new Map([
|
|
148
|
+
// Append parsed params from translatable.
|
|
149
|
+
...parseMatrixParams(params),
|
|
150
|
+
// Append params from options.
|
|
151
|
+
...[...Maps.coerce(options?.params)].map(([key, value]) => [key, `${value}`]),
|
|
152
|
+
]),
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Parses params in matrix notation.
|
|
157
|
+
*
|
|
158
|
+
* Format: `param1=value1;param2=value2`
|
|
159
|
+
*/
|
|
160
|
+
function parseMatrixParams(matrixParams) {
|
|
161
|
+
if (!matrixParams?.length) {
|
|
162
|
+
return new Map();
|
|
163
|
+
}
|
|
164
|
+
const params = new Map();
|
|
165
|
+
for (const match of encodeEscapedSemicolons(matrixParams).matchAll(/(?<paramName>[^=;]+)=(?<paramValue>[^;]*)/g)) {
|
|
166
|
+
const { paramName, paramValue } = match.groups;
|
|
167
|
+
params.set(paramName, decodeSemicolons(paramValue));
|
|
168
|
+
}
|
|
169
|
+
return params;
|
|
170
|
+
/**
|
|
171
|
+
* Encodes escaped semicolons (`\\;`) as `;` (Unicode) to prevent interpretation as interpolation parameter separators.
|
|
172
|
+
*/
|
|
173
|
+
function encodeEscapedSemicolons(value) {
|
|
174
|
+
return value.replaceAll('\\;', ';');
|
|
175
|
+
}
|
|
176
|
+
/**
|
|
177
|
+
* Decodes encoded semicolons (`;`) back to semicolons (`;`).
|
|
178
|
+
*/
|
|
179
|
+
function decodeSemicolons(value) {
|
|
180
|
+
return value.replaceAll(';', ';');
|
|
181
|
+
}
|
|
182
|
+
}
|
|
183
|
+
/**
|
|
184
|
+
* Multi-DI token for injecting text providers.
|
|
185
|
+
*
|
|
186
|
+
* @see provideTextProvider
|
|
187
|
+
* @see SciTextProviderFn
|
|
188
|
+
*/
|
|
189
|
+
const SCI_TEXT_PROVIDER = new InjectionToken('SCI_TEXT_PROVIDER');
|
|
190
|
+
|
|
191
|
+
/*
|
|
192
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
193
|
+
*
|
|
194
|
+
* This program and the accompanying materials are made
|
|
195
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
196
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
197
|
+
*
|
|
198
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
199
|
+
*/
|
|
200
|
+
/**
|
|
201
|
+
* Enables localization of texts used in SCION.
|
|
202
|
+
*
|
|
203
|
+
* A text provider is a function that returns the text for a translation key.
|
|
204
|
+
*
|
|
205
|
+
* Multiple text providers can be registered. Providers are called in registration order. If a provider does not provide the text,
|
|
206
|
+
* the next provider is called, and so on.
|
|
207
|
+
*
|
|
208
|
+
* The translation keys of built-in SCION texts start with the `scion.` prefix. To not localize built-in SCION texts, the text provider can return `undefined` instead.
|
|
209
|
+
*
|
|
210
|
+
* The function:
|
|
211
|
+
* - Can call `inject` to get any required dependencies.
|
|
212
|
+
* - Can use `toSignal` to convert an {@link Observable} to a {@link Signal}.
|
|
213
|
+
*
|
|
214
|
+
* @see SciTextProviderFn
|
|
215
|
+
* @see text
|
|
216
|
+
*/
|
|
217
|
+
function provideTextProvider(textProviderFn) {
|
|
218
|
+
return makeEnvironmentProviders(textProviderFn ? [
|
|
219
|
+
{
|
|
220
|
+
provide: SCI_TEXT_PROVIDER,
|
|
221
|
+
useValue: textProviderFn,
|
|
222
|
+
multi: true,
|
|
223
|
+
},
|
|
224
|
+
] : []);
|
|
225
|
+
}
|
|
226
|
+
|
|
227
|
+
/*
|
|
228
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
229
|
+
*
|
|
230
|
+
* This program and the accompanying materials are made
|
|
231
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
232
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
233
|
+
*
|
|
234
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
235
|
+
*/
|
|
236
|
+
function text(translatable, options) {
|
|
237
|
+
assertNotInReactiveContext(text, 'Call text() in a non-reactive (non-tracking) context, such as within the untracked() function.');
|
|
238
|
+
if (!options?.injector) {
|
|
239
|
+
assertInInjectionContext(text, 'Call text() in an injection context. It may allocate resources that are not released until the injection context is destroyed.');
|
|
240
|
+
}
|
|
241
|
+
const injector = options?.injector ?? inject(Injector);
|
|
242
|
+
// Use a separate injection context per translatable to clean up allocated resources when it changes.
|
|
243
|
+
let textInjector;
|
|
244
|
+
// Call the text provider function.
|
|
245
|
+
const translation = computed(() => {
|
|
246
|
+
const keyOrText = isSignal(translatable) ? translatable() : translatable;
|
|
247
|
+
return untracked(() => {
|
|
248
|
+
// Destroy previous injection context, if any, to clean up allocated resources, like RxJS subscriptions.
|
|
249
|
+
textInjector?.destroy();
|
|
250
|
+
// Create new injection context.
|
|
251
|
+
textInjector = createDestroyableInjector({ parent: injector });
|
|
252
|
+
// Call text providers.
|
|
253
|
+
return textInjector.get(TextProviders).provide(keyOrText, { params: options?.params, injector: textInjector });
|
|
254
|
+
});
|
|
255
|
+
}, /* @ts-ignore */
|
|
256
|
+
...(ngDevMode ? [{ debugName: "translation" }] : /* istanbul ignore next */ []));
|
|
257
|
+
// Track translation in separate reactive context to not call the text provider function on translation change.
|
|
258
|
+
return computed(() => translation()());
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
/*
|
|
262
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
263
|
+
*
|
|
264
|
+
* This program and the accompanying materials are made
|
|
265
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
266
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
267
|
+
*
|
|
268
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
269
|
+
*/
|
|
270
|
+
/**
|
|
271
|
+
* Gets the text for given {@link Translatable} from registered text providers.
|
|
272
|
+
*
|
|
273
|
+
* A {@link Translatable} is a string that, if it starts with the percent symbol (`%`), is passed to registered text providers for translation, with the percent symbol omitted.
|
|
274
|
+
* Otherwise, the text is returned as is.
|
|
275
|
+
*
|
|
276
|
+
* A translation key may include parameters in matrix notation for text interpolation. Escape semicolons with two backslashes (`\\;`).
|
|
277
|
+
*
|
|
278
|
+
* Examples:
|
|
279
|
+
* - `%key`: translation key
|
|
280
|
+
* - `%key;param=value`: translation key with a single interpolation parameter
|
|
281
|
+
* - `%key;param1=value1;param2=value2`: translation key with multiple interpolation parameters
|
|
282
|
+
* - `text`: no translation key; text is returned as is
|
|
283
|
+
*/
|
|
284
|
+
class SciTextPipe {
|
|
285
|
+
_translatable = signal(undefined, /* @ts-ignore */
|
|
286
|
+
...(ngDevMode ? [{ debugName: "_translatable" }] : /* istanbul ignore next */ []));
|
|
287
|
+
_text = text(this._translatable);
|
|
288
|
+
transform(translatable) {
|
|
289
|
+
// DO NOT call text() on key change to avoid stale RxJS subscriptions of previous texts,
|
|
290
|
+
// as allocated resources are only cleaned up when the injection context, such as this pipe, is destroyed.
|
|
291
|
+
untracked(() => this._translatable.set(translatable));
|
|
292
|
+
return this._text;
|
|
293
|
+
}
|
|
294
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciTextPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
295
|
+
static ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "22.1.7", ngImport: i0, type: SciTextPipe, isStandalone: true, name: "sciText" });
|
|
296
|
+
}
|
|
297
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciTextPipe, decorators: [{
|
|
298
|
+
type: Pipe,
|
|
299
|
+
args: [{ name: 'sciText' }]
|
|
300
|
+
}] });
|
|
301
|
+
|
|
302
|
+
/*
|
|
303
|
+
* Copyright (c) 2018-2026 Swiss Federal Railways
|
|
304
|
+
*
|
|
305
|
+
* This program and the accompanying materials are made
|
|
306
|
+
* available under the terms of the Eclipse Public License 2.0
|
|
307
|
+
* which is available at https://www.eclipse.org/legal/epl-2.0/
|
|
308
|
+
*
|
|
309
|
+
* SPDX-License-Identifier: EPL-2.0
|
|
310
|
+
*/
|
|
311
|
+
/*
|
|
312
|
+
* Secondary entrypoint: '@scion/components/text'
|
|
313
|
+
*
|
|
314
|
+
* @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md
|
|
315
|
+
*/
|
|
316
|
+
|
|
317
|
+
/**
|
|
318
|
+
* Generated bundle index. Do not edit.
|
|
319
|
+
*/
|
|
320
|
+
|
|
321
|
+
export { SciTextPipe, provideTextProvider, text };
|
|
322
|
+
//# sourceMappingURL=scion-components-text.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scion-components-text.mjs","sources":["../../../../projects/scion/components/text/src/scion-components-text-provider.ts","../../../../projects/scion/components/text/src/text-providers.ts","../../../../projects/scion/components/text/src/text.provider.ts","../../../../projects/scion/components/text/src/text.ts","../../../../projects/scion/components/text/src/text.pipe.ts","../../../../projects/scion/components/text/src/public_api.ts","../../../../projects/scion/components/text/src/scion-components-text.ts"],"sourcesContent":["/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {SciTextProviderFn} from './text.provider';\n\n/**\n * Texts used in @scion/components.\n *\n * To express the usage of a translation, add a suffix to the key:\n *\n * ```md\n * | Suffix | Usage | Conventions | Examples |\n * |----------|--------------------------|---------------------------------------------|--------------------|\n * | .title | - view title | - Starts with a capital letter. | - Settings |\n * | | - dialog title | - No punctuation. | - Page Not Found |\n * | | - popup title | - Words in capital letter. | - Confirm Deletion |\n * | | - tab name | - Verbs in the imperative form. | |\n * | | - column header in table | | |\n * | | | | |\n * | .label | - field label | - Starts with a capital letter. | |\n * | | | - No punctuation. | |\n * | | | | |\n * | .action | - button | - Starts with a capital letter. | - Cancel |\n * | | - menu item | - No punctuation. | - Close |\n * | | | - Verbs in the imperative form. | - Delete... |\n * | | | - Suffix the action with an ellipsis | |\n * | | | if there are additional options to enter. | |\n * | | | | |\n * | .tooltip | - tooltip | - Starts with a capital letter. | - Show Open Tabs |\n * | | | - No punctuation. | - Close |\n * | | | - Words in capital letter, unless a full | |\n * | | | sentence. | |\n * | | | | |\n * | .value | - table cell | - No punctuation. | |\n * | | - drop down proposal | | |\n * | | - list content | | |\n * | | | | |\n * | .message | - message | - Full sentences. | |\n * | | - warning | - Punctuation. | |\n * | | - error | | |\n * | | - info | | |\n * ```\n */\nconst texts: Record<string, string> = {\n 'scion.components.clear.tooltip': 'Clear',\n 'scion.components.datasource_error.message': 'Data unavailable.',\n 'scion.components.no.value': 'No',\n 'scion.components.no_items.message': 'No items found.',\n 'scion.components.retry.label': 'Retry',\n 'scion.components.type_to_filter.action': 'Type to filter',\n 'scion.components.yes.value': 'Yes',\n};\n\n/**\n * Provides built-in texts of @scion/components.\n */\nexport const scionComponentsTextProvider: SciTextProviderFn = (key: string, params: {[name: string]: string}): string | undefined => {\n // Get the text.\n const text = texts[key];\n if (text === undefined) {\n return undefined;\n }\n\n // Replace params, if any.\n if (Object.keys(params).length) {\n return text.replace(/{{(?<param>[^}]+)}}/g, (match: string, param: string) => params[param] ?? match);\n }\n\n return text;\n};\n","/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {assertNotInReactiveContext, computed, inject, Injectable, InjectionToken, Injector, isSignal, runInInjectionContext, Signal, signal} from '@angular/core';\nimport {SciTextProviderFn, Translatable} from './text.provider';\nimport {scionComponentsTextProvider} from './scion-components-text-provider';\nimport {Maps, runSafe} from '@scion/toolkit/util';\n\n/**\n * Provides texts based on registered text providers.\n */\n@Injectable({providedIn: 'root'})\nexport class TextProviders {\n\n private readonly _textProviders: SciTextProviderFn[] = [\n // Provide app-specific texts.\n ...inject(SCI_TEXT_PROVIDER, {optional: true}) ?? [],\n // Provide built-in texts of @scion/components.\n scionComponentsTextProvider,\n ];\n\n /**\n * Provides the text for the given {@link Translatable} based on text providers registered under the {@link SCI_TEXT_PROVIDER} DI token.\n *\n * Text providers are called in registration order. If a provider does not provide the text, the next provider is called, and so on.\n *\n * This function must be called within an injection context, or an explicit {@link Injector} passed. Text providers may allocate resources\n * that are released only when the injector is destroyed. Destroy the injector when the text is no longer needed.\n */\n public provide(translatable: Translatable | undefined | null, options?: {params?: Record<string, unknown> | Map<string, unknown>; injector?: Injector}): Signal<string | undefined | null> {\n assertNotInReactiveContext(this.provide, 'Call TextProviders.provide() in a non-reactive (non-tracking) context.');\n\n if (!translatable?.startsWith('%') || translatable === '%' || !this._textProviders.length) {\n return signal(translatable);\n }\n\n // Parse translatable into key and params.\n const {key, params} = parseTranslatable(translatable as `%${string}`, {params: options?.params});\n\n const injector = options?.injector ?? inject(Injector);\n const errorHandler = (error: unknown): string => {\n // Prefix the key with an additional `%` character to escape the leading `%` character. See console formatting rules: https://developer.mozilla.org/en-US/docs/Web/API/console\n console.error(`[TextProviderError] Failed to get text for '%${translatable}'. Caused by:`, error);\n return translatable;\n };\n\n for (const textProvider of this._textProviders) {\n // If `textProvider` throws an error, `runSafe` catches it and delegates execution to the error handler, logging the error and returning the translatable.\n const text = runInInjectionContext(injector, () => runSafe(() => textProvider(key, Object.fromEntries(params)), errorHandler));\n if (text !== undefined) {\n // If signal, wrap it in `computed` to handle errors.\n return isSignal(text) ? computed(() => runSafe(() => text(), errorHandler)) : signal(text);\n }\n }\n return signal(translatable);\n }\n}\n\n/**\n * Parses a translation key into its key and parameters, if any.\n *\n * Examples:\n * - `%key`: translation key\n * - `%key;param=value`: translation key with a single interpolation parameter\n * - `%key;param1=value1;param2=value2`: translation key with multiple interpolation parameters\n */\nfunction parseTranslatable(translationKey: `%${string}`, options?: {params?: Record<string, unknown> | Map<string, unknown>}): {key: string; params: Map<string, string>} {\n const {key, params} = /^%(?<key>[^;]+)(;(?<params>.*))?$/.exec(translationKey)!.groups!;\n return {\n key: key!,\n params: new Map<string, string>([\n // Append parsed params from translatable.\n ...parseMatrixParams(params),\n // Append params from options.\n ...[...Maps.coerce(options?.params)].map(([key, value]) => [key, `${value}`] satisfies [string, string]),\n ]),\n };\n}\n\n/**\n * Parses params in matrix notation.\n *\n * Format: `param1=value1;param2=value2`\n */\nfunction parseMatrixParams(matrixParams: string | undefined): Map<string, string> {\n if (!matrixParams?.length) {\n return new Map();\n }\n\n const params = new Map<string, string>();\n for (const match of encodeEscapedSemicolons(matrixParams).matchAll(/(?<paramName>[^=;]+)=(?<paramValue>[^;]*)/g)) {\n const {paramName, paramValue} = match.groups as {paramName: string; paramValue: string};\n params.set(paramName, decodeSemicolons(paramValue));\n }\n return params;\n\n /**\n * Encodes escaped semicolons (`\\\\;`) as `;` (Unicode) to prevent interpretation as interpolation parameter separators.\n */\n function encodeEscapedSemicolons(value: string): string {\n return value.replaceAll('\\\\;', ';');\n }\n\n /**\n * Decodes encoded semicolons (`;`) back to semicolons (`;`).\n */\n function decodeSemicolons(value: string): string {\n return value.replaceAll(';', ';');\n }\n}\n\n/**\n * Multi-DI token for injecting text providers.\n *\n * @see provideTextProvider\n * @see SciTextProviderFn\n */\nexport const SCI_TEXT_PROVIDER = new InjectionToken<SciTextProviderFn[]>('SCI_TEXT_PROVIDER');\n","/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {EnvironmentProviders, makeEnvironmentProviders} from '@angular/core';\nimport {SCI_TEXT_PROVIDER} from './text-providers';\nimport {MaybeSignal} from '@scion/components/common';\n\n/**\n * Enables localization of texts used in SCION.\n *\n * A text provider is a function that returns the text for a translation key.\n *\n * Multiple text providers can be registered. Providers are called in registration order. If a provider does not provide the text,\n * the next provider is called, and so on.\n *\n * The translation keys of built-in SCION texts start with the `scion.` prefix. To not localize built-in SCION texts, the text provider can return `undefined` instead.\n *\n * The function:\n * - Can call `inject` to get any required dependencies.\n * - Can use `toSignal` to convert an {@link Observable} to a {@link Signal}.\n *\n * @see SciTextProviderFn\n * @see text\n */\nexport function provideTextProvider(textProviderFn: SciTextProviderFn | undefined): EnvironmentProviders {\n return makeEnvironmentProviders(textProviderFn ? [\n {\n provide: SCI_TEXT_PROVIDER,\n useValue: textProviderFn,\n multi: true,\n },\n ] : []);\n}\n\n/**\n * Signature of a function to provide texts.\n *\n * Texts starting with the percent symbol (`%`) are passed to registered text providers for translation, with the percent symbol omitted.\n *\n * A text provider can be registered via {@link provideTextProvider} function.\n *\n * The function:\n * - Can call `inject` to get any required dependencies.\n * - Can call `toSignal` to convert an {@link Observable} to a {@link Signal}.\n *\n * @param key - Translation key of the text.\n * @param params - Parameters used for text interpolation.\n * @returns Text associated with the key, or `undefined` if not found.\n * Localized applications should return the text as {@link Signal} in the current language and update it on language change.\n */\nexport type SciTextProviderFn = (key: string, params: {[name: string]: string}) => MaybeSignal<string> | undefined;\n\n/**\n * Represents either a text or a key for translation.\n *\n * A translation key starts with the percent symbol (`%`) and may include parameters in matrix notation for text interpolation.\n *\n * Key and parameters are passed to registered text providers for translation. A text provider can be registered via\n * {@link provideTextProvider} function.\n *\n * Semicolons in interpolation parameters must be escaped with two backslashes (`\\\\;`).\n *\n * Examples:\n * - `%key`: translation key\n * - `%key;param=value`: translation key with a single interpolation parameter\n * - `%key;param1=value1;param2=value2`: translation key with multiple interpolation parameters\n * - `text`: no translation key; text is returned as is\n *\n * @see provideTextProvider\n */\nexport type Translatable = string | `%${string}`;\n","/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {assertNotInReactiveContext, computed, DestroyableInjector, inject, Injector, isSignal, Signal, untracked} from '@angular/core';\nimport {Translatable} from './text.provider';\nimport {assertInInjectionContext, createDestroyableInjector, MaybeSignal} from '@scion/components/common';\nimport {TextProviders} from './text-providers';\n\n/**\n * Gets the text for given {@link Translatable} from registered text providers.\n *\n * A {@link Translatable} is a string that, if it starts with the percent symbol (`%`), is passed to registered text providers for translation, with the percent symbol omitted.\n * Otherwise, the text is returned as is.\n *\n * A translation key may include parameters for text interpolation. Interpolation parameters can be passed via options or appended to the translatable in matrix notation.\n * If appended, escape semicolons with two backslashes (`\\\\;`).\n *\n * Examples:\n *\n * @example - Get the text for a translation key\n * ```ts\n * text('%key');\n * ```\n *\n * @example - Get the text for a translation key with interpolation parameters\n * ```ts\n * text('%key;param1=value1;param2=value2');\n * ```\n *\n * @example - Alternatively, pass interpolation parameters via options\n * ```ts\n * text('%key', {params: {param1: 'value1', param2: 'value2'}});\n * ```\n *\n * The function:\n * - Must be called within an injection context, or an explicit {@link Injector} passed.\n * - Must be called in a non-reactive (non-tracking) context.\n *\n * @param translatable - Translation key (starts with `%`) or plain text.\n * @param options - Controls translation.\n * @param options.injector - Injector to call text providers. Defaults to the current injection context.\n * Note: Text providers may allocate resources that are released only when this injector is destroyed. Destroy the injector when the text is no longer needed.\n * @param options.params - Parameters for text interpolation.\n * @returns Signal with the translated text.\n *\n * @see provideTextProvider\n */\nexport function text<T extends Translatable | null | undefined>(translatable: MaybeSignal<T>, options?: {injector?: Injector; params?: Record<string, unknown> | Map<string, unknown>}): Signal<T extends null | undefined ? T : string>;\nexport function text(translatable: MaybeSignal<Translatable | undefined | null>, options?: {injector?: Injector; params?: Record<string, unknown> | Map<string, unknown>}): Signal<Translatable | undefined | null> {\n assertNotInReactiveContext(text, 'Call text() in a non-reactive (non-tracking) context, such as within the untracked() function.');\n if (!options?.injector) {\n assertInInjectionContext(text, 'Call text() in an injection context. It may allocate resources that are not released until the injection context is destroyed.');\n }\n\n const injector = options?.injector ?? inject(Injector);\n // Use a separate injection context per translatable to clean up allocated resources when it changes.\n let textInjector: DestroyableInjector | undefined;\n\n // Call the text provider function.\n const translation = computed(() => {\n const keyOrText = isSignal(translatable) ? translatable() : translatable;\n\n return untracked(() => {\n // Destroy previous injection context, if any, to clean up allocated resources, like RxJS subscriptions.\n textInjector?.destroy();\n // Create new injection context.\n textInjector = createDestroyableInjector({parent: injector});\n // Call text providers.\n return textInjector.get(TextProviders).provide(keyOrText, {params: options?.params, injector: textInjector});\n });\n });\n\n // Track translation in separate reactive context to not call the text provider function on translation change.\n return computed(() => translation()());\n}\n","/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Pipe, PipeTransform, signal, Signal, untracked} from '@angular/core';\nimport {Translatable} from './text.provider';\nimport {text} from './text';\n\n/**\n * Gets the text for given {@link Translatable} from registered text providers.\n *\n * A {@link Translatable} is a string that, if it starts with the percent symbol (`%`), is passed to registered text providers for translation, with the percent symbol omitted.\n * Otherwise, the text is returned as is.\n *\n * A translation key may include parameters in matrix notation for text interpolation. Escape semicolons with two backslashes (`\\\\;`).\n *\n * Examples:\n * - `%key`: translation key\n * - `%key;param=value`: translation key with a single interpolation parameter\n * - `%key;param1=value1;param2=value2`: translation key with multiple interpolation parameters\n * - `text`: no translation key; text is returned as is\n */\n@Pipe({name: 'sciText'})\nexport class SciTextPipe implements PipeTransform {\n\n private _translatable = signal<Translatable | undefined | null>(undefined);\n private _text = text(this._translatable);\n\n public transform(translatable: Translatable): Signal<string>;\n public transform(translatable: Translatable | undefined): Signal<string | undefined>;\n public transform(translatable: Translatable | null): Signal<string | null>;\n public transform(translatable: Translatable | undefined | null): Signal<string | undefined | null> {\n // DO NOT call text() on key change to avoid stale RxJS subscriptions of previous texts,\n // as allocated resources are only cleaned up when the injection context, such as this pipe, is destroyed.\n untracked(() => this._translatable.set(translatable));\n return this._text;\n }\n}\n","/*\n * Copyright (c) 2018-2026 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\n/*\n * Secondary entrypoint: '@scion/components/text'\n *\n * @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md\n */\nexport {provideTextProvider, type SciTextProviderFn, type Translatable} from './text.provider';\nexport {SciTextPipe} from './text.pipe';\nexport {text} from './text';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
@@ -16,10 +16,10 @@ import { Component, input } from '@angular/core';
|
|
|
16
16
|
* Throbber type: `ellipsis`
|
|
17
17
|
*/
|
|
18
18
|
class SciEllipsisThrobberComponent {
|
|
19
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
20
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
19
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciEllipsisThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
20
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SciEllipsisThrobberComponent, isStandalone: true, 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"] });
|
|
21
21
|
}
|
|
22
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
22
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciEllipsisThrobberComponent, decorators: [{
|
|
23
23
|
type: Component,
|
|
24
24
|
args: [{ selector: 'sci-ellipsis-throbber', 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"] }]
|
|
25
25
|
}] });
|
|
@@ -39,10 +39,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
39
39
|
* Throbber type: `ripple`
|
|
40
40
|
*/
|
|
41
41
|
class SciRippleThrobberComponent {
|
|
42
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
43
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
42
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciRippleThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
43
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SciRippleThrobberComponent, isStandalone: true, 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"] });
|
|
44
44
|
}
|
|
45
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
45
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciRippleThrobberComponent, decorators: [{
|
|
46
46
|
type: Component,
|
|
47
47
|
args: [{ selector: 'sci-ripple-throbber', 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"] }]
|
|
48
48
|
}] });
|
|
@@ -62,10 +62,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
62
62
|
* Throbber type: `roller`
|
|
63
63
|
*/
|
|
64
64
|
class SciRollerThrobberComponent {
|
|
65
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
66
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
65
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciRollerThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
66
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SciRollerThrobberComponent, isStandalone: true, 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"] });
|
|
67
67
|
}
|
|
68
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
68
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciRollerThrobberComponent, decorators: [{
|
|
69
69
|
type: Component,
|
|
70
70
|
args: [{ selector: 'sci-roller-throbber', 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"] }]
|
|
71
71
|
}] });
|
|
@@ -86,10 +86,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.0.1", ngImpor
|
|
|
86
86
|
* Throbber type: `spinner`
|
|
87
87
|
*/
|
|
88
88
|
class SciSpinnerThrobberComponent {
|
|
89
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
90
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.
|
|
89
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciSpinnerThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
90
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "22.1.7", type: SciSpinnerThrobberComponent, isStandalone: true, 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"] });
|
|
91
91
|
}
|
|
92
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
92
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciSpinnerThrobberComponent, decorators: [{
|
|
93
93
|
type: Component,
|
|
94
94
|
args: [{ selector: 'sci-spinner-throbber', 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"] }]
|
|
95
95
|
}] });
|
|
@@ -144,10 +144,10 @@ class SciThrobberComponent {
|
|
|
144
144
|
*/
|
|
145
145
|
type = input('spinner', /* @ts-ignore */
|
|
146
146
|
...(ngDevMode ? [{ debugName: "type" }] : /* istanbul ignore next */ []));
|
|
147
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.
|
|
148
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.
|
|
147
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciThrobberComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
|
|
148
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "22.1.7", type: SciThrobberComponent, isStandalone: true, selector: "sci-throbber", inputs: { type: { classPropertyName: "type", publicName: "type", isSignal: true, isRequired: false, transformFunction: null } }, ngImport: i0, template: "@switch (type()) {\n @case ('ellipsis') {\n <sci-ellipsis-throbber/>\n }\n @case ('ripple') {\n <sci-ripple-throbber/>\n }\n @case ('roller') {\n <sci-roller-throbber/>\n }\n @case ('spinner') {\n <sci-spinner-throbber/>\n }\n @default {\n <sci-spinner-throbber/>\n }\n}\n", styles: [":host{display:inline-grid}\n"], dependencies: [{ kind: "component", type: SciEllipsisThrobberComponent, selector: "sci-ellipsis-throbber" }, { kind: "component", type: SciRippleThrobberComponent, selector: "sci-ripple-throbber" }, { kind: "component", type: SciRollerThrobberComponent, selector: "sci-roller-throbber" }, { kind: "component", type: SciSpinnerThrobberComponent, selector: "sci-spinner-throbber" }] });
|
|
149
149
|
}
|
|
150
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.
|
|
150
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "22.1.7", ngImport: i0, type: SciThrobberComponent, decorators: [{
|
|
151
151
|
type: Component,
|
|
152
152
|
args: [{ selector: 'sci-throbber', imports: [
|
|
153
153
|
SciEllipsisThrobberComponent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scion-components-throbber.mjs","sources":["../../../../projects/scion/components/throbber/src/ellipsis-throbber/ellipsis-throbber.component.ts","../../../../projects/scion/components/throbber/src/ellipsis-throbber/ellipsis-throbber.component.html","../../../../projects/scion/components/throbber/src/ripple-throbber/ripple-throbber.component.ts","../../../../projects/scion/components/throbber/src/ripple-throbber/ripple-throbber.component.html","../../../../projects/scion/components/throbber/src/roller-throbber/roller-throbber.component.ts","../../../../projects/scion/components/throbber/src/roller-throbber/roller-throbber.component.html","../../../../projects/scion/components/throbber/src/spinner-throbber/spinner-throbber.component.ts","../../../../projects/scion/components/throbber/src/spinner-throbber/spinner-throbber.component.html","../../../../projects/scion/components/throbber/src/throbber.component.ts","../../../../projects/scion/components/throbber/src/throbber.component.html","../../../../projects/scion/components/throbber/src/public_api.ts","../../../../projects/scion/components/throbber/src/scion-components-throbber.ts"],"sourcesContent":["/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.\n *\n * Throbber type: `ellipsis`\n */\n@Component({\n selector: 'sci-ellipsis-throbber',\n templateUrl: './ellipsis-throbber.component.html',\n styleUrls: ['./ellipsis-throbber.component.scss'],\n})\nexport class SciEllipsisThrobberComponent {\n}\n","<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.\n *\n * Throbber type: `ripple`\n */\n@Component({\n selector: 'sci-ripple-throbber',\n templateUrl: './ripple-throbber.component.html',\n styleUrls: ['./ripple-throbber.component.scss'],\n})\nexport class SciRippleThrobberComponent {\n}\n","<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.\n *\n * Throbber type: `roller`\n */\n@Component({\n selector: 'sci-roller-throbber',\n templateUrl: './roller-throbber.component.html',\n styleUrls: ['./roller-throbber.component.scss'],\n})\nexport class SciRollerThrobberComponent {\n}\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>\n<div class=\"point\"></div>","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a classic spinner throbber with strokes arranged radially. The strokes light up one after the other in clockwise direction\n * and then fade out again.\n *\n * Throbber type: `spinner`\n */\n@Component({\n selector: 'sci-spinner-throbber',\n templateUrl: './spinner-throbber.component.html',\n styleUrls: ['./spinner-throbber.component.scss'],\n})\nexport class SciSpinnerThrobberComponent {\n}\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>\n<div class=\"stroke\"></div>","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component, input} from '@angular/core';\nimport {SciEllipsisThrobberComponent} from './ellipsis-throbber/ellipsis-throbber.component';\nimport {SciRippleThrobberComponent} from './ripple-throbber/ripple-throbber.component';\nimport {SciRollerThrobberComponent} from './roller-throbber/roller-throbber.component';\nimport {SciSpinnerThrobberComponent} from './spinner-throbber/spinner-throbber.component';\n\n/**\n * Animated graphical control to indicate the execution of an action.\n *\n * Choose between different throbber presentations by setting the `type` property: `ellipsis`, `ripple`, `roller`, `spinner`.\n *\n * ### Styling:\n *\n * To customize the default look of SCION components or support different themes, configure the `@scion/components` SCSS module in `styles.scss`.\n * To style a specific `sci-throbber` component, the following CSS variables can be set directly on the component.\n *\n * - sci-throbber-color: Sets the color of the throbber (by default, uses `lightgray`).\n * - sci-throbber-size: Defines the size of the throbber. Most throbbers are quadratic having the same width and height.\n * For non-quadratic throbbers, the size usually specifies the height (by default, uses `50px`).\n * - sci-throbber-duration: Sets the duration of a single animation cycle (by default, uses `1.25s`).\n *\n * Example:\n *\n * ```css\n *\n * sci-throbber {\n * --sci-throbber-color: blue;\n * --sci-throbber-size: 50px;\n * --sci-throbber-duration: 1s\n * }\n * ```\n */\n@Component({\n selector: 'sci-throbber',\n templateUrl: './throbber.component.html',\n styleUrls: ['./throbber.component.scss'],\n imports: [\n SciEllipsisThrobberComponent,\n SciRippleThrobberComponent,\n SciRollerThrobberComponent,\n SciSpinnerThrobberComponent,\n ],\n})\nexport class SciThrobberComponent {\n\n /**\n * Chooses between different throbber presentation. If not set, uses `spinner` type.\n *\n * - **ellipsis**\n * Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.\n * - **ripple**\n * Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.\n * - **roller**\n * Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.\n * - **spinner** (default)\n * 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.\n */\n public readonly type = input<'ellipsis' | 'ripple' | 'roller' | 'spinner'>('spinner');\n}\n","@switch (type()) {\n @case ('ellipsis') {\n <sci-ellipsis-throbber/>\n }\n @case ('ripple') {\n <sci-ripple-throbber/>\n }\n @case ('roller') {\n <sci-roller-throbber/>\n }\n @case ('spinner') {\n <sci-spinner-throbber/>\n }\n @default {\n <sci-spinner-throbber/>\n }\n}\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\n/*\n * Secondary entrypoint: '@scion/components/throbber'\n *\n * @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md\n */\nexport {SciThrobberComponent} from './throbber.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"scion-components-throbber.mjs","sources":["../../../../projects/scion/components/throbber/src/ellipsis-throbber/ellipsis-throbber.component.ts","../../../../projects/scion/components/throbber/src/ellipsis-throbber/ellipsis-throbber.component.html","../../../../projects/scion/components/throbber/src/ripple-throbber/ripple-throbber.component.ts","../../../../projects/scion/components/throbber/src/ripple-throbber/ripple-throbber.component.html","../../../../projects/scion/components/throbber/src/roller-throbber/roller-throbber.component.ts","../../../../projects/scion/components/throbber/src/roller-throbber/roller-throbber.component.html","../../../../projects/scion/components/throbber/src/spinner-throbber/spinner-throbber.component.ts","../../../../projects/scion/components/throbber/src/spinner-throbber/spinner-throbber.component.html","../../../../projects/scion/components/throbber/src/throbber.component.ts","../../../../projects/scion/components/throbber/src/throbber.component.html","../../../../projects/scion/components/throbber/src/public_api.ts","../../../../projects/scion/components/throbber/src/scion-components-throbber.ts"],"sourcesContent":["/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.\n *\n * Throbber type: `ellipsis`\n */\n@Component({\n selector: 'sci-ellipsis-throbber',\n templateUrl: './ellipsis-throbber.component.html',\n styleUrls: ['./ellipsis-throbber.component.scss'],\n})\nexport class SciEllipsisThrobberComponent {\n}\n","<div class=\"point\"></div>\n<div class=\"point\"></div>\n<div class=\"point\"></div>\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.\n *\n * Throbber type: `ripple`\n */\n@Component({\n selector: 'sci-ripple-throbber',\n templateUrl: './ripple-throbber.component.html',\n styleUrls: ['./ripple-throbber.component.scss'],\n})\nexport class SciRippleThrobberComponent {\n}\n","<div class=\"circle\"></div>\n<div class=\"circle\"></div>\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.\n *\n * Throbber type: `roller`\n */\n@Component({\n selector: 'sci-roller-throbber',\n templateUrl: './roller-throbber.component.html',\n styleUrls: ['./roller-throbber.component.scss'],\n})\nexport class SciRollerThrobberComponent {\n}\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>\n<div class=\"point\"></div>","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component} from '@angular/core';\n\n/**\n * Represents a classic spinner throbber with strokes arranged radially. The strokes light up one after the other in clockwise direction\n * and then fade out again.\n *\n * Throbber type: `spinner`\n */\n@Component({\n selector: 'sci-spinner-throbber',\n templateUrl: './spinner-throbber.component.html',\n styleUrls: ['./spinner-throbber.component.scss'],\n})\nexport class SciSpinnerThrobberComponent {\n}\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>\n<div class=\"stroke\"></div>","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\nimport {Component, input} from '@angular/core';\nimport {SciEllipsisThrobberComponent} from './ellipsis-throbber/ellipsis-throbber.component';\nimport {SciRippleThrobberComponent} from './ripple-throbber/ripple-throbber.component';\nimport {SciRollerThrobberComponent} from './roller-throbber/roller-throbber.component';\nimport {SciSpinnerThrobberComponent} from './spinner-throbber/spinner-throbber.component';\n\n/**\n * Animated graphical control to indicate the execution of an action.\n *\n * Choose between different throbber presentations by setting the `type` property: `ellipsis`, `ripple`, `roller`, `spinner`.\n *\n * ### Styling:\n *\n * To customize the default look of SCION components or support different themes, configure the `@scion/components` SCSS module in `styles.scss`.\n * To style a specific `sci-throbber` component, the following CSS variables can be set directly on the component.\n *\n * - sci-throbber-color: Sets the color of the throbber (by default, uses `lightgray`).\n * - sci-throbber-size: Defines the size of the throbber. Most throbbers are quadratic having the same width and height.\n * For non-quadratic throbbers, the size usually specifies the height (by default, uses `50px`).\n * - sci-throbber-duration: Sets the duration of a single animation cycle (by default, uses `1.25s`).\n *\n * Example:\n *\n * ```css\n *\n * sci-throbber {\n * --sci-throbber-color: blue;\n * --sci-throbber-size: 50px;\n * --sci-throbber-duration: 1s\n * }\n * ```\n */\n@Component({\n selector: 'sci-throbber',\n templateUrl: './throbber.component.html',\n styleUrls: ['./throbber.component.scss'],\n imports: [\n SciEllipsisThrobberComponent,\n SciRippleThrobberComponent,\n SciRollerThrobberComponent,\n SciSpinnerThrobberComponent,\n ],\n})\nexport class SciThrobberComponent {\n\n /**\n * Chooses between different throbber presentation. If not set, uses `spinner` type.\n *\n * - **ellipsis**\n * Represents a throbber as an ellipsis consisting of three horizontally arranged points that appear one after the other.\n * - **ripple**\n * Represents a throbber with a rippled, centric wave effect, similar to throwing a stone into water.\n * - **roller**\n * Represents a circular throbber with points rotating around the center of a circle. Points have a delayed acceleration, which leads to an accordion effect.\n * - **spinner** (default)\n * 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.\n */\n public readonly type = input<'ellipsis' | 'ripple' | 'roller' | 'spinner'>('spinner');\n}\n","@switch (type()) {\n @case ('ellipsis') {\n <sci-ellipsis-throbber/>\n }\n @case ('ripple') {\n <sci-ripple-throbber/>\n }\n @case ('roller') {\n <sci-roller-throbber/>\n }\n @case ('spinner') {\n <sci-spinner-throbber/>\n }\n @default {\n <sci-spinner-throbber/>\n }\n}\n","/*\n * Copyright (c) 2018-2019 Swiss Federal Railways\n *\n * This program and the accompanying materials are made\n * available under the terms of the Eclipse Public License 2.0\n * which is available at https://www.eclipse.org/legal/epl-2.0/\n *\n * SPDX-License-Identifier: EPL-2.0\n */\n\n/*\n * Secondary entrypoint: '@scion/components/throbber'\n *\n * @see https://github.com/ng-packagr/ng-packagr/blob/master/docs/secondary-entrypoints.md\n */\nexport {SciThrobberComponent} from './throbber.component';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":[],"mappings":"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"}
|