@c8y/options 1020.0.4
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/README.md +25 -0
- package/package.json +22 -0
- package/src/ApplicationOptions.d.ts +421 -0
- package/src/index.d.ts +1 -0
package/README.md
ADDED
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
**`@c8y/options` Package Overview**
|
|
2
|
+
|
|
3
|
+
The `@c8y/options` package plays a crucial role in configuring and customizing Cumulocity applications. At the heart of this package lies the `ApplicationOptions` interface, which serves as a comprehensive blueprint for defining various aspects of your application. Here's what it offers:
|
|
4
|
+
|
|
5
|
+
1. **Application Metadata**: Allows you to specify essential details about your application, such as its name, context path, key, version, description, author, and license.
|
|
6
|
+
|
|
7
|
+
2. **Hybrid App Support**: Enables you to indicate whether your application is a hybrid one, utilizing both Angular and AngularJS simultaneously.
|
|
8
|
+
|
|
9
|
+
3. **Branding and Styling**: Provides options to customize the look and feel of your application, including paths to branding entry files, custom CSS variables, and favicon URLs.
|
|
10
|
+
|
|
11
|
+
4. **Localization**: Supports the addition and override of languages available in the application, as well as the inclusion of custom translations.
|
|
12
|
+
|
|
13
|
+
5. **Documentation and Support**: Allows you to configure documentation links, support URLs, and guide templates to assist your application's users.
|
|
14
|
+
|
|
15
|
+
6. **UI Customization**: Offers a wide range of options to tailor the user interface, such as hiding the app switcher, header, or powered-by information, enabling breadcrumbs, and adjusting the layout of tabs and navigators.
|
|
16
|
+
|
|
17
|
+
7. **Feature Toggles**: Provides flags to enable or disable specific features like storage limitation, cloud sensor wizard, newsletter subscription, and more.
|
|
18
|
+
|
|
19
|
+
8. **Integration Options**: Allows integration with third-party services and tools, such as specifying a Gainsight key for product experience tracking.
|
|
20
|
+
|
|
21
|
+
9. **Plugin and Package Support**: Facilitates the development of packages and the integration of plugins, including the definition of version matrices for managing dependencies.
|
|
22
|
+
|
|
23
|
+
10. **Map Configuration**: Enables customization of map layers, default zoom levels, and center positions, as well as the configuration of geocoding services.
|
|
24
|
+
|
|
25
|
+
The `@c8y/options` package, with its `ApplicationOptions` interface, offers a flexible and extensive set of configuration options to tailor your Cumulocity application to your specific needs, making it a powerful tool in your development arsenal.
|
package/package.json
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@c8y/options",
|
|
3
|
+
"version": "1020.0.4",
|
|
4
|
+
"license": "Apache-2.0",
|
|
5
|
+
"author": "Cumulocity",
|
|
6
|
+
"description": "Cumulocity application options",
|
|
7
|
+
"types": "./src/index.d.ts",
|
|
8
|
+
"type": "module",
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "echo 'No build needed'"
|
|
11
|
+
},
|
|
12
|
+
"keywords": [
|
|
13
|
+
"Cumulocity",
|
|
14
|
+
"IoT",
|
|
15
|
+
"m2m",
|
|
16
|
+
"application",
|
|
17
|
+
"options"
|
|
18
|
+
],
|
|
19
|
+
"peerDependencies": {
|
|
20
|
+
"@c8y/client": "1020.0.4"
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,421 @@
|
|
|
1
|
+
import { IApplication, VersioningMatrix } from '@c8y/client';
|
|
2
|
+
|
|
3
|
+
/*
|
|
4
|
+
* -----------------------------WARNING---------------------------------
|
|
5
|
+
* This file has is an interface for packages/ngx-components/core/common/ApplicationOptions.
|
|
6
|
+
* Any changes to this file must be reflected there, too.
|
|
7
|
+
*/
|
|
8
|
+
export interface ApplicationOptions {
|
|
9
|
+
/** Application name (saved to the server). */
|
|
10
|
+
name: string;
|
|
11
|
+
/** Application context path (saved to the server). */
|
|
12
|
+
contextPath: string;
|
|
13
|
+
/** Application key (saved to the server). */
|
|
14
|
+
key: string;
|
|
15
|
+
/** The version of the application */
|
|
16
|
+
version: string;
|
|
17
|
+
/** The version of the used WebSDK version */
|
|
18
|
+
webSdkVersion?: string;
|
|
19
|
+
/** The description of the application */
|
|
20
|
+
description?: string;
|
|
21
|
+
/** The author of the application */
|
|
22
|
+
author?: string;
|
|
23
|
+
/** The license of the application */
|
|
24
|
+
license?: string;
|
|
25
|
+
/**
|
|
26
|
+
* Set to `true` if the application is hybrid and uses Angular and AngularJS simultaneously.
|
|
27
|
+
*/
|
|
28
|
+
upgrade?: boolean;
|
|
29
|
+
/**
|
|
30
|
+
* Path to the branding entry file. (Set it to false to disable any styling. You can handle the styling then on your own e.g. in an angular.json file using ng-cli)
|
|
31
|
+
*/
|
|
32
|
+
brandingEntry?: string | boolean;
|
|
33
|
+
/**
|
|
34
|
+
* URL to dynamically fetched options.
|
|
35
|
+
* If set to `true` or left undefined, an URL will be used based on the applications contextPath.
|
|
36
|
+
* If set to `false`, no dynamic options will be fetched.
|
|
37
|
+
* */
|
|
38
|
+
dynamicOptionsUrl?: string | boolean;
|
|
39
|
+
/** URL to favicon. */
|
|
40
|
+
faviconUrl?: string;
|
|
41
|
+
/** URL to *.css file which will replace default branding. */
|
|
42
|
+
brandingUrl?: string;
|
|
43
|
+
/** Object with properties that will be converted to CSS custom variables. */
|
|
44
|
+
brandingCssVars?: BrandingCssVars;
|
|
45
|
+
/**
|
|
46
|
+
* Allows for adding or overriding languages available in the application.
|
|
47
|
+
*
|
|
48
|
+
* Its keys are language codes and its values are objects with the following properties:
|
|
49
|
+
*
|
|
50
|
+
* - `name`: English name of the language,
|
|
51
|
+
* - `nativeName`: native name of the language,
|
|
52
|
+
* - `url`: full URL to JSON file with compiled translations;
|
|
53
|
+
* if not defined, translations will be loaded from `${localePath}/${langCode}.json`.
|
|
54
|
+
*
|
|
55
|
+
* Example:
|
|
56
|
+
* ```json
|
|
57
|
+
* "languages": {
|
|
58
|
+
* "de": {
|
|
59
|
+
* "name": "German",
|
|
60
|
+
* "nativeName": "Deutsch",
|
|
61
|
+
* "url": "/apps/public/ui-assets/de.json"
|
|
62
|
+
* }
|
|
63
|
+
* }
|
|
64
|
+
* ```
|
|
65
|
+
*/
|
|
66
|
+
languages?: Languages;
|
|
67
|
+
/**
|
|
68
|
+
* Allows for adding custom translations. It is an optional property.
|
|
69
|
+
*
|
|
70
|
+
* Its keys are language codes (https://cumulocity.com/docs/section/getting_started/#a-name-languages-a-available-languages)
|
|
71
|
+
* and its values are objects with key-value pairs, where the key is the original string in English and the value - its translation.
|
|
72
|
+
*
|
|
73
|
+
* - `Home`: "Startseite"
|
|
74
|
+
*
|
|
75
|
+
* For example, you can add the translation of your custom cookie banner configured in the branding settings:
|
|
76
|
+
* ```json
|
|
77
|
+
* "i18nExtra": {
|
|
78
|
+
* "de": {
|
|
79
|
+
* "About cookies on Cumulocity IoT": "Informationen zu Cookies in Cumulocity IoT",
|
|
80
|
+
* "Click Agree and Proceed to accept cookies and go directly to the platform or click on Privacy Policy to see detailed descriptions of the used cookies.": "Klicken Sie auf Zustimmen und fortfahren, um Cookies zu akzeptieren und direkt zur Plattform zu gelangen, oder klicken Sie auf Datenschutzrichtlinie, um detaillierte Beschreibungen der verwendeten Cookies anzuzeigen."
|
|
81
|
+
* }
|
|
82
|
+
* }
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
i18nExtra?: I18nExtra;
|
|
86
|
+
/** Array of URLs to additional *.css files to be loaded at runtime. */
|
|
87
|
+
extraCssUrls?: string[];
|
|
88
|
+
/** Documentation links settings. */
|
|
89
|
+
docs?: Docs;
|
|
90
|
+
/** Application icon to be displayed in app switcher and header bar. */
|
|
91
|
+
icon?: Icon;
|
|
92
|
+
|
|
93
|
+
// These are the old options
|
|
94
|
+
/** Hide application in app switcher (saved to the server). */
|
|
95
|
+
noAppSwitcher?: boolean;
|
|
96
|
+
/** HTML page title. */
|
|
97
|
+
globalTitle?: string;
|
|
98
|
+
/** Hide "powered by" and version info at the bottom of the navigator and in the right drawer. */
|
|
99
|
+
hidePowered?: boolean;
|
|
100
|
+
/** Hides the header bar */
|
|
101
|
+
hideHeader?: boolean;
|
|
102
|
+
/** Hides the "Platform information" in the right drawer, will overrule the "hidePowered" option */
|
|
103
|
+
hidePlatformInformation?: boolean;
|
|
104
|
+
/** Shows the link to support page. Accepts values:
|
|
105
|
+
* false, hide the link
|
|
106
|
+
* string, value of url to be shown
|
|
107
|
+
*/
|
|
108
|
+
supportUrl?: boolean | string;
|
|
109
|
+
/**
|
|
110
|
+
* Replacement string for `user` field in audit logs for actions performed by a support user
|
|
111
|
+
* (available placeholders: `{{support_user}}`, `{{supported_user}}`).
|
|
112
|
+
*/
|
|
113
|
+
supportUserString?: string;
|
|
114
|
+
/**
|
|
115
|
+
* Disables realtime updates on the map widget and maps in general.
|
|
116
|
+
*/
|
|
117
|
+
mapWidgetRealtimeDisabled?: boolean;
|
|
118
|
+
/**
|
|
119
|
+
* Allows to adjust the default pagesize of 100 items of the map widget and maps in general.
|
|
120
|
+
*/
|
|
121
|
+
mapWidgetPageSize?: number;
|
|
122
|
+
/**
|
|
123
|
+
* Allows to hide the hint that there are more devices with geo coordinates then displayed on the map widget and maps in general.
|
|
124
|
+
*/
|
|
125
|
+
mapWidgetHideMaxDeviceOnMapHint?: boolean;
|
|
126
|
+
/** Enable or disable the right drawer. */
|
|
127
|
+
rightDrawer?: boolean;
|
|
128
|
+
/** Enable or disable breadcrumbs in the header for groups and devices (default: false). */
|
|
129
|
+
breadcrumbs?: boolean;
|
|
130
|
+
/** Collapse navigator on initial load. */
|
|
131
|
+
hideNavigator?: boolean;
|
|
132
|
+
/** Show tabs horizontally or vertically. */
|
|
133
|
+
tabsHorizontal?: boolean;
|
|
134
|
+
/** Additional link to display on login screen. */
|
|
135
|
+
loginExtraLink?: LoginExtraLink | LoginExtraLink[];
|
|
136
|
+
/** Enable or disable storage limitation feature. */
|
|
137
|
+
storageLimitationFeatureEnabled?: boolean;
|
|
138
|
+
/** Name of company handling support requests from app users (displayed in notification message). */
|
|
139
|
+
companyName?: string;
|
|
140
|
+
/** URL template for documentation links (default: `'${docsBaseUrl}${partialUrl}'`). */
|
|
141
|
+
guideHrefTemplate?: string;
|
|
142
|
+
/** Base URL for documentation links (include `{{ version }}` placeholder, if you want versioned links). */
|
|
143
|
+
docsBaseUrl?: string;
|
|
144
|
+
/** CSP string to be applied to `index.html` by replacing default values. */
|
|
145
|
+
contentSecurityPolicy?: string;
|
|
146
|
+
/** Enables cloud sensor wizard */
|
|
147
|
+
sensorPhone?: boolean;
|
|
148
|
+
/** Show or hide a newsletter subscription checkbox in edit user modal. */
|
|
149
|
+
newsletter?: boolean;
|
|
150
|
+
/** Cookie Banner configuration */
|
|
151
|
+
cookieBanner?: CookieBannerConfiguration;
|
|
152
|
+
/** Cookie preferences configuration. Here you can enable or disable cookie categories */
|
|
153
|
+
cookiePreferences?: CookiePreferencesConfiguration;
|
|
154
|
+
/** A key for the product experience software Gainsight. */
|
|
155
|
+
gainsightKey?: string;
|
|
156
|
+
/** Disable user tracking */
|
|
157
|
+
disableTracking?: boolean;
|
|
158
|
+
/** NgModule export for plugins. */
|
|
159
|
+
exports?: PluginsExports[];
|
|
160
|
+
/** List of imported remote plugins. */
|
|
161
|
+
remotes?: RemotePlugins;
|
|
162
|
+
/** If set to true, only remotes defined in the `remotes` query parameter will be loaded. */
|
|
163
|
+
forceUrlRemotes?: boolean;
|
|
164
|
+
/**
|
|
165
|
+
* Defines if the application is a package. Packages can be distributed as blueprint or allow plugins.
|
|
166
|
+
*/
|
|
167
|
+
isPackage?: boolean;
|
|
168
|
+
/**
|
|
169
|
+
* Defines what is contained in the package.
|
|
170
|
+
*/
|
|
171
|
+
package?: 'plugin' | 'blueprint';
|
|
172
|
+
/** The package source a application origins from as IApplication or simply the id of the source */
|
|
173
|
+
source?: string | number | IApplication;
|
|
174
|
+
/**
|
|
175
|
+
* Allows to enable or disable context help, or to override the default base URL used to load its contents.
|
|
176
|
+
* By default, the context help uses the same base URL as defined in the `docsBaseUrl` option
|
|
177
|
+
* (if this option is undefined, then the following value will be used: `https://www.cumulocity.com`).
|
|
178
|
+
* Alternatively, if a string is provided here, it'll be used as the base URL
|
|
179
|
+
* and any `{{ version }}` placeholder will be replaced with the relevant docs version.
|
|
180
|
+
*/
|
|
181
|
+
contextHelp?: boolean | string;
|
|
182
|
+
/**
|
|
183
|
+
* By default, cockpit and devicemanagement use the onlyRoots query to resolve root nodes. This
|
|
184
|
+
* could lead to performance issues, if a customer has a lot of root nodes. Therefore you can disable
|
|
185
|
+
* the use of this query with this flag.
|
|
186
|
+
*/
|
|
187
|
+
disableOnlyRootsQuery?: boolean;
|
|
188
|
+
/**
|
|
189
|
+
* Allows to force showing the setup wizard.
|
|
190
|
+
*/
|
|
191
|
+
forceSetup?: boolean;
|
|
192
|
+
/**
|
|
193
|
+
* Indicates if the application needs to show the setup wizard.
|
|
194
|
+
*/
|
|
195
|
+
isSetup?: boolean;
|
|
196
|
+
/**
|
|
197
|
+
* By default a WebSDK app requires the user to be logged in.
|
|
198
|
+
* In case you would like to develop just a static application, that does not require any kind of access to the backend,
|
|
199
|
+
* you can use this flag to disable the login screen.
|
|
200
|
+
* NOTE: not all WebSDK components support this, some might require the user to be logged in and won't work.
|
|
201
|
+
*/
|
|
202
|
+
noLogin?: boolean;
|
|
203
|
+
/**
|
|
204
|
+
* Allows to opt out of supporting/loading plugins for this application.
|
|
205
|
+
*/
|
|
206
|
+
noPlugins?: boolean;
|
|
207
|
+
/**
|
|
208
|
+
* Allows to opt out of the version warning which is shown in the dev tools.
|
|
209
|
+
*/
|
|
210
|
+
noVersionWarning?: boolean;
|
|
211
|
+
/**
|
|
212
|
+
* Link to the sensor app.
|
|
213
|
+
*/
|
|
214
|
+
sensorAppOneLink?: string;
|
|
215
|
+
/**
|
|
216
|
+
* Allows to set the map layers. If not set, defaults to open street map layer.
|
|
217
|
+
*/
|
|
218
|
+
mapLayers?: MapTileLayer[];
|
|
219
|
+
/**
|
|
220
|
+
* Allows to set default configurations on the maps.
|
|
221
|
+
*/
|
|
222
|
+
mapConfig?: MapDefaultConfig;
|
|
223
|
+
/**
|
|
224
|
+
* The URL used to lookup geo coordinates for a user provided address via [nominatim API](https://nominatim.org/release-docs/develop/api/Search/).
|
|
225
|
+
* Can be set to empty to disable the find address feature on the location tab.
|
|
226
|
+
* Uses: `https://nominatim.openstreetmap.org/search?format=json&q={searchTerm}` if not set.
|
|
227
|
+
*/
|
|
228
|
+
mapNominatimUrl?: string;
|
|
229
|
+
/**
|
|
230
|
+
* The name of the root element. By default c8y-bootstrap.
|
|
231
|
+
*/
|
|
232
|
+
rootTagName?: string;
|
|
233
|
+
/**
|
|
234
|
+
* Hides possibility to create typed dashboards for assets (and groups). If true, typed dashboards can be created only for devices.
|
|
235
|
+
* It is true by default.
|
|
236
|
+
*/
|
|
237
|
+
hideTypeDashboardForAssets?: boolean;
|
|
238
|
+
/**
|
|
239
|
+
* A matrix of versions indicating which versions of the application (key) are dependent on which version of a cumulocity component (API version and Web SDK version of the shell application currently supported, indicated by the value).
|
|
240
|
+
* The versions of the dependent components can be indicated by a semver range.
|
|
241
|
+
* ```json
|
|
242
|
+
* {
|
|
243
|
+
* "1.0.0": {
|
|
244
|
+
* "sdk": ">=1016.0.0 <1017.0.0",
|
|
245
|
+
* "api": ">=1016.0.0 <1017.0.0"
|
|
246
|
+
* },
|
|
247
|
+
* "2.0.0": {
|
|
248
|
+
* "sdk": "~1017.0.0",
|
|
249
|
+
* "api": "~1017.0.0"
|
|
250
|
+
* },
|
|
251
|
+
* "3.0.0": {
|
|
252
|
+
* "sdk": ">=1018.0.0",
|
|
253
|
+
* "api": ">=1018.0.0"
|
|
254
|
+
* },
|
|
255
|
+
* }
|
|
256
|
+
* ```
|
|
257
|
+
*/
|
|
258
|
+
versioningMatrix?: VersioningMatrix;
|
|
259
|
+
/**
|
|
260
|
+
* Defines the type of refresh mechanism used for alarms in the application.
|
|
261
|
+
*
|
|
262
|
+
* - 'realtime': Utilizes a realtime mechanism for updating alarms.
|
|
263
|
+
* - 'interval': Utilizes HTTP polling at regular intervals to refresh the alarms.
|
|
264
|
+
*
|
|
265
|
+
* This setting allows to switch between realtime and interval-based refresh methods.
|
|
266
|
+
*/
|
|
267
|
+
alarmsRefreshType?: 'interval' | 'realtime';
|
|
268
|
+
}
|
|
269
|
+
|
|
270
|
+
export interface MapDefaultConfig {
|
|
271
|
+
/**
|
|
272
|
+
* The default zoom level to set on each new map.
|
|
273
|
+
*/
|
|
274
|
+
zoomLevel?: number;
|
|
275
|
+
/**
|
|
276
|
+
* The default center position of each new map.
|
|
277
|
+
*/
|
|
278
|
+
center?: [number, number];
|
|
279
|
+
}
|
|
280
|
+
|
|
281
|
+
export interface MapTileLayer {
|
|
282
|
+
/**
|
|
283
|
+
* The layer url in the specific leaflet format.
|
|
284
|
+
*/
|
|
285
|
+
layerUrl: string;
|
|
286
|
+
/**
|
|
287
|
+
* Additional options. Note this options are not typed as leaflet should not be by default included. The type from leaflet is L.TileLayerOptions.
|
|
288
|
+
*/
|
|
289
|
+
options: any;
|
|
290
|
+
/**
|
|
291
|
+
* A label to show to the end user.
|
|
292
|
+
*/
|
|
293
|
+
label: string;
|
|
294
|
+
/**
|
|
295
|
+
* Define the order of the layers to be shown to the user. Highest priority first.
|
|
296
|
+
*/
|
|
297
|
+
priority?: number;
|
|
298
|
+
/**
|
|
299
|
+
* Indicates whether the layer is an overlay layer or an base layer. Default is false.
|
|
300
|
+
*/
|
|
301
|
+
isOverlay?: boolean;
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
export interface RemotePlugins {
|
|
305
|
+
/**
|
|
306
|
+
* A key value pair, while the value is an array of modules to load and the
|
|
307
|
+
* key is the context path.
|
|
308
|
+
* ```js
|
|
309
|
+
* {
|
|
310
|
+
* 'cockpit': ['HomeDashboardModule', 'DataExplorerDashboard'],
|
|
311
|
+
* 'widget-package@1.0.0': ['ExtendedMapWidget']
|
|
312
|
+
* }
|
|
313
|
+
* ``
|
|
314
|
+
*/
|
|
315
|
+
[key: string]: string[];
|
|
316
|
+
}
|
|
317
|
+
|
|
318
|
+
export interface PluginsExports {
|
|
319
|
+
/**
|
|
320
|
+
* The name of the plugin.
|
|
321
|
+
*/
|
|
322
|
+
name: string;
|
|
323
|
+
/**
|
|
324
|
+
* The name of the Angular module class.
|
|
325
|
+
*/
|
|
326
|
+
module: string;
|
|
327
|
+
/**
|
|
328
|
+
* The file path to the module typescript file.
|
|
329
|
+
*/
|
|
330
|
+
path: string;
|
|
331
|
+
/**
|
|
332
|
+
* An short description about what the module does.
|
|
333
|
+
*/
|
|
334
|
+
description?: string;
|
|
335
|
+
/**
|
|
336
|
+
* Allows to scope the plugin to certain applications.
|
|
337
|
+
* Default is undefined, which means every application can import this plugin.
|
|
338
|
+
* - Use `self` to limit the plugin to the current application.
|
|
339
|
+
* - The `global` is atm not used, but planned for allowing this plugin to all applications at the same time.
|
|
340
|
+
* - The `self-optional` is used to add it as a possible plugin to the current application, without it being imported by default.
|
|
341
|
+
*/
|
|
342
|
+
scope?: PluginsExportScopes;
|
|
343
|
+
}
|
|
344
|
+
|
|
345
|
+
/**
|
|
346
|
+
* Tells how a plugin is scoped.
|
|
347
|
+
*
|
|
348
|
+
* - `'self'`: Limit the plugin to the current application. It is imported by default.
|
|
349
|
+
* - `'global'`: Allows to add the plugin to a global scope, meaning it is imported to all applications at the same time.
|
|
350
|
+
* This is not used at the moment but planned to be implemented in the new branding editor.
|
|
351
|
+
* - `'self-optional'`: Limit the plugin to the current application. The plugin is not imported by default.
|
|
352
|
+
* - `''`: Like undefined, the plugin is available for any private application.
|
|
353
|
+
*/
|
|
354
|
+
export type PluginsExportScopes = 'self' | 'global' | 'self-optional' | '';
|
|
355
|
+
|
|
356
|
+
export interface CookieBannerConfiguration {
|
|
357
|
+
/** Here you can set the title of Cookie Banner */
|
|
358
|
+
cookieBannerTitle?: string;
|
|
359
|
+
/** Here you can set the Text of Cookie Banner */
|
|
360
|
+
cookieBannerText?: string;
|
|
361
|
+
/** Here you can set the policyUrl of Cookie Banner */
|
|
362
|
+
policyUrl?: string;
|
|
363
|
+
}
|
|
364
|
+
|
|
365
|
+
export interface CookiePreferencesConfiguration {
|
|
366
|
+
/** This category includes e.g. cookies related to logging in */
|
|
367
|
+
required?: boolean | string;
|
|
368
|
+
/** This category includes e.g. tracking cookies */
|
|
369
|
+
functional?: boolean | string;
|
|
370
|
+
/** This category includes e.g. cookies related to advertising */
|
|
371
|
+
marketing?: boolean | string;
|
|
372
|
+
}
|
|
373
|
+
|
|
374
|
+
export interface LoginExtraLink {
|
|
375
|
+
url: string;
|
|
376
|
+
label: string;
|
|
377
|
+
}
|
|
378
|
+
|
|
379
|
+
export interface Icon {
|
|
380
|
+
class?: string;
|
|
381
|
+
url?: string;
|
|
382
|
+
}
|
|
383
|
+
|
|
384
|
+
export interface Docs {
|
|
385
|
+
/** Hide default links to documentation. */
|
|
386
|
+
noDefault?: boolean;
|
|
387
|
+
/** List of regex strings. Matching default docs URLs will be hidden. */
|
|
388
|
+
excludeDefault?: string[];
|
|
389
|
+
/** Additional links to be displayed. */
|
|
390
|
+
links?: Links[];
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
export interface Links {
|
|
394
|
+
/** Icon classes with `c8y-icon`, e.g. `c8y-icon c8y-icon-add-user` or `c8y-icon c8y-icon-device-connect`. */
|
|
395
|
+
icon: string;
|
|
396
|
+
label: string;
|
|
397
|
+
url: string;
|
|
398
|
+
type: 'doc' | 'quicklink';
|
|
399
|
+
}
|
|
400
|
+
|
|
401
|
+
export interface I18nExtra {
|
|
402
|
+
[langCode: string]: I18nExtraLangCode;
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
export interface I18nExtraLangCode {
|
|
406
|
+
[key: string]: string;
|
|
407
|
+
}
|
|
408
|
+
|
|
409
|
+
export interface Languages {
|
|
410
|
+
[langCode: string]: LanguagesLangCode;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
export interface LanguagesLangCode {
|
|
414
|
+
name: string;
|
|
415
|
+
nativeName: string;
|
|
416
|
+
url?: string;
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
export interface BrandingCssVars {
|
|
420
|
+
[key: string]: string;
|
|
421
|
+
}
|
package/src/index.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type * from './ApplicationOptions';
|