@idea-ionic/uncommon 8.5.12 → 8.6.0-beta.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (57) hide show
  1. package/fesm2022/idea-ionic-uncommon.mjs +85 -85
  2. package/fesm2022/idea-ionic-uncommon.mjs.map +1 -1
  3. package/index.d.ts +1405 -3
  4. package/package.json +12 -13
  5. package/esm2022/idea-ionic-uncommon.mjs +0 -5
  6. package/esm2022/public-api.mjs +0 -26
  7. package/esm2022/src/AWSAPI.service.mjs +0 -431
  8. package/esm2022/src/AWSAPISocket.service.mjs +0 -188
  9. package/esm2022/src/address/address.component.mjs +0 -409
  10. package/esm2022/src/announcement/announcement.component.mjs +0 -72
  11. package/esm2022/src/cachedResources.service.mjs +0 -55
  12. package/esm2022/src/colors/colorPicker.component.mjs +0 -191
  13. package/esm2022/src/contacts/contacts.component.mjs +0 -188
  14. package/esm2022/src/dateTime/calendarPicker.component.mjs +0 -213
  15. package/esm2022/src/dateTime/dateTime.component.mjs +0 -217
  16. package/esm2022/src/duration/duration.component.mjs +0 -195
  17. package/esm2022/src/echo/echo.page.mjs +0 -233
  18. package/esm2022/src/echo/echo.routes.mjs +0 -6
  19. package/esm2022/src/errorReporting.service.mjs +0 -69
  20. package/esm2022/src/mde/mde.component.mjs +0 -143
  21. package/esm2022/src/mde/mdeToolbar.component.mjs +0 -25
  22. package/esm2022/src/offline/cacheableResource.component.mjs +0 -56
  23. package/esm2022/src/offline/offline.service.mjs +0 -63
  24. package/esm2022/src/offline/offlineData.service.mjs +0 -480
  25. package/esm2022/src/offline/offlineIndicator.component.mjs +0 -105
  26. package/esm2022/src/offline/offlineManager.component.mjs +0 -101
  27. package/esm2022/src/pushNotifications.service.mjs +0 -57
  28. package/esm2022/src/sentiment/sentiment.component.mjs +0 -112
  29. package/esm2022/src/timeInterval/fromTimeToTime.component.mjs +0 -171
  30. package/esm2022/src/timeInterval/timeInterval.component.mjs +0 -206
  31. package/esm2022/src/tinCan.service.mjs +0 -49
  32. package/public-api.d.ts +0 -25
  33. package/src/AWSAPI.service.d.ts +0 -178
  34. package/src/AWSAPISocket.service.d.ts +0 -129
  35. package/src/address/address.component.d.ts +0 -64
  36. package/src/announcement/announcement.component.d.ts +0 -23
  37. package/src/cachedResources.service.d.ts +0 -34
  38. package/src/colors/colorPicker.component.d.ts +0 -78
  39. package/src/contacts/contacts.component.d.ts +0 -31
  40. package/src/dateTime/calendarPicker.component.d.ts +0 -45
  41. package/src/dateTime/dateTime.component.d.ts +0 -81
  42. package/src/duration/duration.component.d.ts +0 -68
  43. package/src/echo/echo.page.d.ts +0 -34
  44. package/src/echo/echo.routes.d.ts +0 -2
  45. package/src/errorReporting.service.d.ts +0 -26
  46. package/src/mde/mde.component.d.ts +0 -39
  47. package/src/mde/mdeToolbar.component.d.ts +0 -5
  48. package/src/offline/cacheableResource.component.d.ts +0 -11
  49. package/src/offline/offline.service.d.ts +0 -39
  50. package/src/offline/offlineData.service.d.ts +0 -281
  51. package/src/offline/offlineIndicator.component.d.ts +0 -25
  52. package/src/offline/offlineManager.component.d.ts +0 -17
  53. package/src/pushNotifications.service.d.ts +0 -26
  54. package/src/sentiment/sentiment.component.d.ts +0 -35
  55. package/src/timeInterval/fromTimeToTime.component.d.ts +0 -61
  56. package/src/timeInterval/timeInterval.component.d.ts +0 -84
  57. package/src/tinCan.service.d.ts +0 -31
package/index.d.ts CHANGED
@@ -1,5 +1,1407 @@
1
+ import * as i0 from '@angular/core';
2
+ import { OnInit, EventEmitter, OnDestroy, OnChanges, SimpleChanges } from '@angular/core';
3
+ import { IonAccordionGroup, Platform } from '@ionic/angular/standalone';
4
+ import { Address, Suggestion, Countries, Announcement, Color, Contacts, epochDateTime, epochISOString, ExternalCalendarSources, ClientInfo, DeltaResources, Delta, DeltaRecord, Sentiment, TimeInterval, PushNotificationsDevice } from 'idea-toolbox';
5
+ import { Routes } from '@angular/router';
6
+ import { Observable, Subscription } from 'rxjs';
7
+ import { IDEAStorageService, IDEATranslationsService } from '@idea-ionic/common';
8
+ import { HttpClient, HttpHeaders, HttpParams, HttpErrorResponse } from '@angular/common/http';
9
+ import { PushNotificationSchema } from '@capacitor/push-notifications';
10
+
11
+ declare class IDEAAddressComponent implements OnInit {
12
+ /**
13
+ * The address to manage.
14
+ */
15
+ address: Address;
16
+ addressChange: EventEmitter<Address>;
17
+ /**
18
+ * If true, show the field `contact`.
19
+ */
20
+ showContact: boolean;
21
+ /**
22
+ * If true, show the field `address2`.
23
+ */
24
+ showAddress2: boolean;
25
+ /**
26
+ * If true, show the field `phone`.
27
+ */
28
+ showPhone: boolean;
29
+ /**
30
+ * If true, show the field `email`.
31
+ */
32
+ showEmail: boolean;
33
+ /**
34
+ * Whether the fields are editable or disabled.
35
+ */
36
+ editMode: boolean;
37
+ /**
38
+ * If true, show obligatory dots.
39
+ */
40
+ obligatory: boolean;
41
+ /**
42
+ * The lines attribute of the item.
43
+ */
44
+ lines: string;
45
+ /**
46
+ * The color for the component.
47
+ */
48
+ color: string;
49
+ /**
50
+ * The label to show for the field; if not set, it has a default value.
51
+ */
52
+ label: string;
53
+ /**
54
+ * The placeholder to show for the field.
55
+ */
56
+ placeholder: string;
57
+ /**
58
+ * To toggle the detailed view.
59
+ */
60
+ openByDefault: boolean;
61
+ countriesSuggestions: Suggestion[];
62
+ Countries: typeof Countries;
63
+ accordion: IonAccordionGroup;
64
+ ngOnInit(): void;
65
+ isCollapsed(): boolean;
66
+ getCountryName(countryCode: Countries): string;
67
+ setCountryFromSuggestion(suggestion: Suggestion): void;
68
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAAddressComponent, never>;
69
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAAddressComponent, "idea-address", never, { "address": { "alias": "address"; "required": false; }; "showContact": { "alias": "showContact"; "required": false; }; "showAddress2": { "alias": "showAddress2"; "required": false; }; "showPhone": { "alias": "showPhone"; "required": false; }; "showEmail": { "alias": "showEmail"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; "obligatory": { "alias": "obligatory"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "openByDefault": { "alias": "openByDefault"; "required": false; }; }, { "addressChange": "addressChange"; }, never, never, true, never>;
70
+ }
71
+
1
72
  /**
2
- * Generated bundle index. Do not edit.
73
+ * Announcement card that can be set in any interface to show the alert for this project.
3
74
  */
4
- /// <amd-module name="@idea-ionic/uncommon" />
5
- export * from './public-api';
75
+ declare class IDEAAnnouncementComponent implements OnInit {
76
+ protected _env: any;
77
+ private _tc;
78
+ private _storage;
79
+ /**
80
+ * The color for the announcement card.
81
+ */
82
+ color: string;
83
+ announcement: Announcement;
84
+ htmlContent: string;
85
+ storageKey: string;
86
+ constructor();
87
+ ngOnInit(): Promise<void>;
88
+ markAsRead(): Promise<void>;
89
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAAnnouncementComponent, never>;
90
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAAnnouncementComponent, "idea-announcement", never, { "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
91
+ }
92
+
93
+ /**
94
+ * Pick a color from a defined set.
95
+ */
96
+ declare class IDEAColorPickerComponent {
97
+ /**
98
+ * The pickable colors.
99
+ */
100
+ colors: Color[];
101
+ /**
102
+ * The current color.
103
+ */
104
+ current: string;
105
+ /**
106
+ * The label for the field.
107
+ */
108
+ label: string;
109
+ /**
110
+ * A placeholder for the field.
111
+ */
112
+ placeholder: string;
113
+ /**
114
+ * The icon for the field.
115
+ */
116
+ icon: string;
117
+ /**
118
+ * The color of the icon.
119
+ */
120
+ iconColor: string;
121
+ /**
122
+ * If true, the component is disabled.
123
+ */
124
+ disabled: boolean;
125
+ /**
126
+ * If true, the obligatory dot is shown.
127
+ */
128
+ obligatory: boolean;
129
+ /**
130
+ * Lines preferences for the item.
131
+ */
132
+ lines: string;
133
+ /**
134
+ * The color for the component.
135
+ */
136
+ color: string;
137
+ /**
138
+ * On select event.
139
+ */
140
+ select: EventEmitter<string>;
141
+ /**
142
+ * Icon select.
143
+ */
144
+ iconSelect: EventEmitter<void>;
145
+ private _popover;
146
+ openPalette(event: any): Promise<void>;
147
+ doIconSelect(event: any): void;
148
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAColorPickerComponent, never>;
149
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAColorPickerComponent, "idea-color-picker", never, { "colors": { "alias": "colors"; "required": false; }; "current": { "alias": "current"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "obligatory": { "alias": "obligatory"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "select": "select"; "iconSelect": "iconSelect"; }, never, never, true, never>;
150
+ }
151
+ /**
152
+ * Component to open in a popover for displaying the colors available.
153
+ */
154
+ declare class ColorsPaletteComponent {
155
+ private _popover;
156
+ /**
157
+ * The pickable colors.
158
+ */
159
+ colors: Color[];
160
+ /**
161
+ * The current color.
162
+ */
163
+ current: string;
164
+ pick(color: string): void;
165
+ static ɵfac: i0.ɵɵFactoryDeclaration<ColorsPaletteComponent, never>;
166
+ static ɵcmp: i0.ɵɵComponentDeclaration<ColorsPaletteComponent, "idea-colors-palette", never, { "colors": { "alias": "colors"; "required": false; }; "current": { "alias": "current"; "required": false; }; }, {}, never, never, true, never>;
167
+ }
168
+
169
+ declare class IDEAContactsComponent {
170
+ private _alert;
171
+ private _translate;
172
+ /**
173
+ * The contacts to manage.
174
+ */
175
+ contacts: Contacts;
176
+ /**
177
+ * If true, show the field `name`.
178
+ */
179
+ showName: boolean;
180
+ /**
181
+ * Whether the fields are editable or disabled.
182
+ */
183
+ editMode: boolean;
184
+ /**
185
+ * The lines attribute of the item.
186
+ */
187
+ lines: string;
188
+ /**
189
+ * The color for the component.
190
+ */
191
+ color: string;
192
+ sendEmail(): void;
193
+ call(): void;
194
+ private preExternalAction;
195
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAContactsComponent, never>;
196
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAContactsComponent, "idea-contacts", never, { "contacts": { "alias": "contacts"; "required": false; }; "showName": { "alias": "showName"; "required": false; }; "editMode": { "alias": "editMode"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, {}, never, never, true, never>;
197
+ }
198
+
199
+ declare class IDEACalendarPickerComponent implements OnInit {
200
+ private _modal;
201
+ private _alert;
202
+ private _translate;
203
+ inputDate: epochDateTime | epochISOString;
204
+ timePicker: boolean;
205
+ manualTimePicker: boolean;
206
+ title: string;
207
+ hideClearButton: boolean;
208
+ min: epochDateTime | epochISOString;
209
+ max: epochDateTime | epochISOString;
210
+ refDate: Date;
211
+ selectedDate: Date;
212
+ today: Date;
213
+ calendarGrid: Date[][];
214
+ hour: number;
215
+ minute: number;
216
+ hours: string[];
217
+ minutes: string[];
218
+ weekDays: string[];
219
+ dateMin: Date;
220
+ dateMax: Date;
221
+ ngOnInit(): void;
222
+ getLocalisedDay(date: Date): number;
223
+ buildCalendarGrid(refDate: Date): void;
224
+ addYears(offset: number): void;
225
+ setYear(year: string | number): void;
226
+ addMonths(offset: number): void;
227
+ showMonths(): Promise<void>;
228
+ isDateSelectable(date: Date): boolean;
229
+ selectDate(date: Date): void;
230
+ selectHour(hour: string): void;
231
+ selectMinute(minute: string): void;
232
+ isSameDay(a: Date, b: Date): boolean;
233
+ isSameMonth(a: Date, b: Date): boolean;
234
+ isSameHour(hour: string): boolean;
235
+ isSameMinute(minute: string): boolean;
236
+ save(reset?: boolean): void;
237
+ close(): void;
238
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEACalendarPickerComponent, never>;
239
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEACalendarPickerComponent, "idea-calendar-picker", never, { "inputDate": { "alias": "inputDate"; "required": false; }; "timePicker": { "alias": "timePicker"; "required": false; }; "manualTimePicker": { "alias": "manualTimePicker"; "required": false; }; "title": { "alias": "title"; "required": false; }; "hideClearButton": { "alias": "hideClearButton"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, {}, never, never, true, never>;
240
+ }
241
+
242
+ declare class IDEADateTimeComponent implements OnInit, OnDestroy, OnChanges {
243
+ private _modal;
244
+ private _translate;
245
+ /**
246
+ * The date to show/pick.
247
+ */
248
+ date: epochDateTime | epochISOString;
249
+ /**
250
+ * Whether to show the time picker (datetime) or not (date).
251
+ */
252
+ timePicker: boolean;
253
+ /**
254
+ * Whether to show the MANUAL time picker (datetime) or not (date).
255
+ */
256
+ manualTimePicker: boolean;
257
+ /**
258
+ * Whether to use the `epochISOString` format instead of `epochDateTime`.
259
+ */
260
+ useISOFormat: boolean;
261
+ /**
262
+ * The label for the field.
263
+ */
264
+ label: string;
265
+ /**
266
+ * The icon for the field.
267
+ */
268
+ icon: string;
269
+ /**
270
+ * The color of the icon.
271
+ */
272
+ iconColor: string;
273
+ /**
274
+ * Lines preferences for the item.
275
+ */
276
+ lines: string;
277
+ /**
278
+ * The color for the component.
279
+ */
280
+ color: string;
281
+ /**
282
+ * A placeholder for the field.
283
+ */
284
+ placeholder: string;
285
+ /**
286
+ * If true, the component is disabled.
287
+ */
288
+ disabled: boolean;
289
+ /**
290
+ * If true, the obligatory dot is shown.
291
+ */
292
+ obligatory: boolean;
293
+ /**
294
+ * If true, hidew the clear button in the header.
295
+ */
296
+ hideClearButton: boolean;
297
+ /**
298
+ * If set, is the minimum date selectable.
299
+ */
300
+ min: epochDateTime | epochISOString;
301
+ /**
302
+ * If set, is the maximum date selectable.
303
+ */
304
+ max: epochDateTime | epochISOString;
305
+ dateChange: EventEmitter<any>;
306
+ iconSelect: EventEmitter<void>;
307
+ valueToDisplay: string;
308
+ private langChangeSubscription;
309
+ isOpening: boolean;
310
+ ngOnInit(): void;
311
+ ngOnDestroy(): void;
312
+ ngOnChanges(changes: SimpleChanges): void;
313
+ openCalendarPicker(): Promise<void>;
314
+ private getValueToDisplay;
315
+ doSelect(date: Date): void;
316
+ doIconSelect(event: Event): void;
317
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEADateTimeComponent, never>;
318
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEADateTimeComponent, "idea-date-time", never, { "date": { "alias": "date"; "required": false; }; "timePicker": { "alias": "timePicker"; "required": false; }; "manualTimePicker": { "alias": "manualTimePicker"; "required": false; }; "useISOFormat": { "alias": "useISOFormat"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "obligatory": { "alias": "obligatory"; "required": false; }; "hideClearButton": { "alias": "hideClearButton"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; }, { "dateChange": "dateChange"; "iconSelect": "iconSelect"; }, never, never, true, never>;
319
+ }
320
+
321
+ declare class IDEADurationComponent implements OnChanges {
322
+ /**
323
+ * The default number of seconds, to build the duration.
324
+ */
325
+ default: number;
326
+ /**
327
+ * The label for the field.
328
+ */
329
+ label: string;
330
+ /**
331
+ * The icon (alternative to the label) for the field.
332
+ */
333
+ icon: string;
334
+ /**
335
+ * The title (hint) for the field.
336
+ */
337
+ title: string;
338
+ /**
339
+ * If true, the component is disabled.
340
+ */
341
+ disabled: boolean;
342
+ /**
343
+ * If true, the obligatory dot is shown.
344
+ */
345
+ obligatory: boolean;
346
+ /**
347
+ * Lines preferences for the item.
348
+ */
349
+ lines: string;
350
+ /**
351
+ * The color for the component.
352
+ */
353
+ color: string;
354
+ /**
355
+ * Whether to show or hide the seconds input.
356
+ */
357
+ hideSeconds: boolean;
358
+ /**
359
+ * Whether to show a shortened version of the labels.
360
+ */
361
+ shortLabels: boolean;
362
+ /**
363
+ * On change event. It emits a number of seconds representing the duration.
364
+ */
365
+ set: EventEmitter<number>;
366
+ /**
367
+ * The hour part of the duration.
368
+ */
369
+ hours: number;
370
+ /**
371
+ * The minutes part of the duration.
372
+ */
373
+ minutes: number;
374
+ /**
375
+ * The seconds part of the duration.
376
+ */
377
+ seconds: number;
378
+ constructor();
379
+ ngOnChanges(changes: SimpleChanges): void;
380
+ /**
381
+ * When one of the parts changes, emit the new duration.
382
+ */
383
+ setDuration(type: string): void;
384
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEADurationComponent, never>;
385
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEADurationComponent, "idea-duration", never, { "default": { "alias": "default"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "title": { "alias": "title"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "obligatory": { "alias": "obligatory"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; "hideSeconds": { "alias": "hideSeconds"; "required": false; }; "shortLabels": { "alias": "shortLabels"; "required": false; }; }, { "set": "set"; }, never, never, true, never>;
386
+ }
387
+
388
+ declare class IDEAEchoPage implements OnInit {
389
+ protected _env: any;
390
+ private _route;
391
+ private _tc;
392
+ private _loading;
393
+ private _API;
394
+ private _translate;
395
+ content: string;
396
+ htmlContent: string;
397
+ success: boolean;
398
+ ngOnInit(): void;
399
+ maintenanceMode(): void;
400
+ followRegistrationLink(code: string, user: string): Promise<void>;
401
+ followInvitationLink(code: string): Promise<void>;
402
+ followEmailChangeConfirmationLink(code: string): Promise<void>;
403
+ endGitHubIntegrationFlow(success: boolean): void;
404
+ endTrelloIntegrationFlow(token: string): void;
405
+ endExternalCalendarsIntegrationFlow(service: ExternalCalendarSources, code: string, calendarId: string): Promise<void>;
406
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAEchoPage, never>;
407
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAEchoPage, "idea-echo", never, {}, {}, never, never, true, never>;
408
+ }
409
+ declare enum EchoRequests {
410
+ MAINTENANCE = "maintenance",
411
+ REGISTRATION = "registration",
412
+ INVITATION = "invitation",
413
+ EMAIL_CHANGE = "email-change",
414
+ GITHUB_INTEGRATION = "github-integration",
415
+ TRELLO_INTEGRATION = "trello-integration",
416
+ MICROSOFT_CALENDARS_INTEGRATION = "microsoft-calendars-integration",
417
+ GOOGLE_CALENDARS_INTEGRATION = "google-calendars-integration"
418
+ }
419
+
420
+ declare const ideaEchoRoutes: Routes;
421
+
422
+ declare class IDEAMDEComponent implements OnInit {
423
+ private _modal;
424
+ /**
425
+ * Id to identify this specific Markdown Editor (default: 'mde').
426
+ */
427
+ id: string;
428
+ /**
429
+ * The title of the modal.
430
+ */
431
+ title: string;
432
+ /**
433
+ * The header text content.
434
+ */
435
+ header: string;
436
+ /**
437
+ * The sub-header description.
438
+ */
439
+ description: string;
440
+ /**
441
+ * A series of text variables to substitute with values.
442
+ */
443
+ variables: string[];
444
+ /**
445
+ * If set, will customize the initial value of the editor.
446
+ */
447
+ initialValue: string;
448
+ /**
449
+ * Custom placeholder that should be displayed.
450
+ */
451
+ placeholder: string;
452
+ value: string;
453
+ ngOnInit(): void;
454
+ close(): void;
455
+ confirm(): void;
456
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAMDEComponent, never>;
457
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAMDEComponent, "idea-mde", never, { "id": { "alias": "id"; "required": false; }; "title": { "alias": "title"; "required": false; }; "header": { "alias": "header"; "required": false; }; "description": { "alias": "description"; "required": false; }; "variables": { "alias": "variables"; "required": false; }; "initialValue": { "alias": "initialValue"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; }, {}, never, never, true, never>;
458
+ }
459
+
460
+ declare class IDEAMDEToolbarComponent {
461
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAMDEToolbarComponent, never>;
462
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAMDEToolbarComponent, "idea-mde-toolbar", never, {}, {}, never, never, true, never>;
463
+ }
464
+
465
+ declare class IDEAErrorReportingService {
466
+ protected _env: any;
467
+ protected _http: HttpClient;
468
+ protected _platform: Platform;
469
+ apiStage: string;
470
+ apiUrl: string;
471
+ constructor();
472
+ /**
473
+ * Send the error report to the back-end.
474
+ */
475
+ sendReport(error: Error, forceSend?: boolean): Promise<void>;
476
+ /**
477
+ * Whether we should send the reporting or we are in a scenario in which we should skip it.
478
+ */
479
+ shouldSend(): boolean;
480
+ /**
481
+ * Acquire the client's info.
482
+ */
483
+ getClientInfo(): ClientInfo;
484
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAErrorReportingService, never>;
485
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAErrorReportingService>;
486
+ }
487
+
488
+ /**
489
+ * @deprecated use a specific App service instead.
490
+ */
491
+ declare class IDEATinCanService {
492
+ protected data: any;
493
+ constructor();
494
+ /**
495
+ * Set a variable with the given value.
496
+ * @param variable variable to set
497
+ * @param value value to assign to the variable
498
+ */
499
+ set(variable: string, value: any): void;
500
+ /**
501
+ * Get the content of a variable.
502
+ * @param variable variable to acquire
503
+ * @param getAndDelete if set, delete the variable after the acquisition
504
+ */
505
+ get(variable: string, getAndDelete?: boolean): any;
506
+ /**
507
+ * Remove a variable.
508
+ * @param variable variable to remove
509
+ */
510
+ remove(variable: string): void;
511
+ /**
512
+ * Clear all the variables.
513
+ */
514
+ clear(): void;
515
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEATinCanService, never>;
516
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEATinCanService>;
517
+ }
518
+
519
+ /**
520
+ * Utility to monitor the network connection.
521
+ * Note: don't use it directly, if you're also using IDEAOfflineDataService.
522
+ */
523
+ declare class IDEAOfflineService {
524
+ /**
525
+ * True/false if the platform is offline/online.
526
+ */
527
+ protected _isOffline: boolean;
528
+ /**
529
+ * The observable for subscribing to online/offline status changes.
530
+ */
531
+ protected observable: Observable<boolean>;
532
+ /**
533
+ * The handler for listenig to network changes.
534
+ */
535
+ protected listenerHandler: any;
536
+ constructor();
537
+ /**
538
+ * Subscribe to be notified when the connection status changes.
539
+ */
540
+ subscribe(callback: (isOnline: boolean) => void): Subscription;
541
+ /**
542
+ * Quickly check the connection status.
543
+ */
544
+ isOnline(): boolean;
545
+ /**
546
+ * Quickly check the connection status.
547
+ */
548
+ isOffline(): boolean;
549
+ /**
550
+ * Quickly check for online connection.
551
+ */
552
+ check(): Promise<boolean>;
553
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAOfflineService, never>;
554
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAOfflineService>;
555
+ }
556
+
557
+ /**
558
+ * To communicate with an AWS's API Gateway istance.
559
+ *
560
+ * Includes a rundimental cache on GET requests, until Android doesn't support SWs on local files.
561
+ *
562
+ * Note: requires an `AWSAPIAuthToken` variable to be set by IDEATinCanService service.
563
+ */
564
+ declare class IDEAAWSAPIService {
565
+ protected _env: any;
566
+ protected _http: HttpClient;
567
+ protected _platform: Platform;
568
+ protected _tc: IDEATinCanService;
569
+ protected _storage: IDEAStorageService;
570
+ protected _errorReporting: IDEAErrorReportingService;
571
+ protected _offline: IDEAOfflineService;
572
+ apiStage: string;
573
+ apiUrlProject: string;
574
+ ideaApiStage: string;
575
+ apiUrlIDEA: string;
576
+ constructor();
577
+ /**
578
+ * Execute an online API request.
579
+ * @param resource resource name (e.g. `users`)
580
+ * @param method enum HTTP methods
581
+ * @param options the request options
582
+ */
583
+ protected request(resource: string, method: string, options?: APIRequestOption): Promise<any>;
584
+ /**
585
+ * Prepare the URL to which execute the request.
586
+ */
587
+ protected prepareURL(resource: string, opt: APIRequestOption): string;
588
+ /**
589
+ * Prepare the headers object to send with a request.
590
+ * Note: it always adds the Authorization token (`AWSAPIAuthToken`) and the API key (`AWSAPIKey`), if set.
591
+ */
592
+ protected prepareHeaders(h: HttpHeaders | any): HttpHeaders;
593
+ /**
594
+ * Prepare the queryParams object to send with a request; if requested, add some info about the client.
595
+ */
596
+ protected prepareQueryParams(qp: HttpParams | any, addClientInfo?: boolean): HttpParams;
597
+ /**
598
+ * Converts the error message to be readable.
599
+ */
600
+ protected fixErrMessageBeforeReject(err: HttpErrorResponse, reject: any): void;
601
+ /**
602
+ * Use the HttpClient to execute a raw request.
603
+ */
604
+ rawRequest(): HttpClient;
605
+ /**
606
+ * HEAD request.
607
+ * @param resource resource name (e.g. `users`)
608
+ * @param options the request options
609
+ */
610
+ headResource(resource: string, options?: APIRequestOption): Promise<any>;
611
+ /**
612
+ * GET request. Include options to cache the requests (`options.useCache`), to work also offline.
613
+ * @param resource resource name (e.g. `users`)
614
+ * @param options the request options
615
+ */
616
+ getResource(resource: string, options?: APIRequestOption): Promise<any>;
617
+ /**
618
+ * Observe a GET request. Include options to cache the requests (`options.useCache`), to work also offline.
619
+ * @param resource resource name (e.g. `users`)
620
+ * @param options the request options
621
+ */
622
+ getResourceObserver(resource: string, options?: APIRequestOption): Observable<any>;
623
+ /**
624
+ * Execute a GET request from the local storage.
625
+ * @param resource resource name (e.g. `users`)
626
+ * @param options the request options
627
+ */
628
+ getFromCache(resource: string, options?: APIRequestOption): Promise<any>;
629
+ /**
630
+ * Execute a PUT request in the local storage.
631
+ * @param resource resource name (e.g. `users`)
632
+ * @param data resource data
633
+ * @param options the request options
634
+ */
635
+ putInCache(resource: string, data: any, options?: APIRequestOption): Promise<void>;
636
+ /**
637
+ * Execute a DELETE request in the local storage.
638
+ * @param resource resource name (e.g. `users`)
639
+ * @param options the request options
640
+ */
641
+ deleteFromCache(resource: string, options?: APIRequestOption): Promise<void>;
642
+ /**
643
+ * POST request.
644
+ * @param resource resource name (e.g. `users`)
645
+ * @param options the request options
646
+ */
647
+ postResource(resource: string, options?: APIRequestOption): Promise<any>;
648
+ /**
649
+ * PUT request.
650
+ * @param resource resource name (e.g. `users`)
651
+ * @param options the request options
652
+ */
653
+ putResource(resource: string, options?: APIRequestOption): Promise<any>;
654
+ /**
655
+ * PATCH request.
656
+ * @param resource resource name (e.g. `users`)
657
+ * @param options the request options
658
+ */
659
+ patchResource(resource: string, options?: APIRequestOption): Promise<any>;
660
+ /**
661
+ * DELETE request.
662
+ * @param resource resource name (e.g. `users`)
663
+ * @param options the request options
664
+ */
665
+ deleteResource(resource: string, options?: APIRequestOption): Promise<any>;
666
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAAWSAPIService, never>;
667
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAAWSAPIService>;
668
+ }
669
+ /**
670
+ * The options of an API request.
671
+ */
672
+ declare class APIRequestOption {
673
+ /**
674
+ * To identify a specific resource by id.
675
+ */
676
+ resourceId?: string;
677
+ /**
678
+ * The query parameters of the request.
679
+ */
680
+ params?: any;
681
+ /**
682
+ * The body of the request.
683
+ */
684
+ body?: any;
685
+ /**
686
+ * The additional headers of the request; `Authorization` is included by default.
687
+ */
688
+ headers?: any;
689
+ /**
690
+ * Which mode to use to take advance of the requests caching mechanism.
691
+ */
692
+ useCache?: CacheModes;
693
+ /**
694
+ * If true, report the errors that occurs during the request.
695
+ */
696
+ reportError?: boolean;
697
+ /**
698
+ * If true, use IDEA's API instead of the project's API).
699
+ */
700
+ idea?: boolean;
701
+ /**
702
+ * If `idea` is not set, set this to use an alternative API URL for the request.
703
+ */
704
+ alternativeAPI?: string;
705
+ }
706
+ /**
707
+ * Set of usable cache modes.
708
+ */
709
+ declare enum CacheModes {
710
+ /**
711
+ * Return the result from an online request, with no cache involved.
712
+ */
713
+ NO_CACHE = 0,
714
+ /**
715
+ * Return the result from an online request, storing the result in the cache, to update it with the latest data.
716
+ */
717
+ NETWORK_FIRST = 1,
718
+ /**
719
+ * Return the result from the cache, but also execute the request online, to update the cache with the latest data.
720
+ */
721
+ CACHE_FIRST = 2,
722
+ /**
723
+ * Return the result from the cache, without retrying online if a result wasn't found.
724
+ */
725
+ CACHE_ONLY = 3
726
+ }
727
+
728
+ /**
729
+ * After how much time we need to request a synchronisation to keep the contents up-to-date.
730
+ */
731
+ declare const SYNC_EXPIRATION_INTERVAL: number;
732
+ /**
733
+ * Prefix for the key of the API requests queue info in the local storage.
734
+ */
735
+ declare const QUEUE_API_REQUESTS_KEY = "IDEAOfflineService.queueAPIrequests";
736
+ /**
737
+ * Prefix for the key of the last sync time info in the local storage.
738
+ */
739
+ declare const LAST_SYNC_KEY = "IDEAOfflineService.lastSyncAt";
740
+ /**
741
+ * The max number of elements per resource to synchronize during the first analysis of a synchronisation.
742
+ * If the number of elements exceeds (there is more data after the 1st page), the operation require manual confirmation.
743
+ */
744
+ declare const NUM_ELEMENTS_WITHOUT_MANUAL_SYNC = 100;
745
+ /**
746
+ * The max number of elements per resource to request at the same time during a normal synchronisation.
747
+ */
748
+ declare const NUM_ELEMENTS_WITH_MANUAL_SYNC = 300;
749
+ /**
750
+ * Manage the offline functioning of the app's data (upload/download/synchronization).
751
+ * Note: it includes all the methods of IDEAOfflineService.
752
+ *
753
+ * Download: it works through the **Delta** mechanism on back-end resources.
754
+ * Practically, the service prepares each possible API GET requests for each of the involved resources.
755
+ * In this way, if offline, the API service can hit an element by URL in the cache (storage offline).
756
+ *
757
+ * **How to use it**. Configure the sync mechanism in the main app.component as it follows:
758
+ *
759
+ * 1. Implement a CacheableResource class for each DeltaResource you want to cache offline.
760
+ * 2. Set up the service (`setUpOfflineData`).
761
+ * 3. Run a synchronization.
762
+ * 4. Add the navigation to the Offline Manager (UI).
763
+ * 5. Optionally, push offline API requests to the queue when offline.
764
+ *
765
+ * e.g. of CacheableResource classes:
766
+ * ```
767
+ * class CustomerCR extends CacheableResource {
768
+ * constructor(description: string) {
769
+ * super(DeltaResources.CUSTOMERS, description);
770
+ * }
771
+ * public listURL(element: any): string {
772
+ * return `teams/${element.teamId}/customers`;
773
+ * }
774
+ * public elementURL(element: any): string {
775
+ * return `teams/${element.teamId}/customers/${element.customerId}`;
776
+ * }
777
+ * public findIndexInList(list: Array<any>, element: any): number {
778
+ * return list.findIndex(x => x.customerId === element.customerId);
779
+ * }
780
+ * public sort(a: any, b: any): number {
781
+ * return a.name.localeCompare(b.name);
782
+ * }
783
+ * }
784
+ */
785
+ declare class IDEAOfflineDataService {
786
+ protected _storage: IDEAStorageService;
787
+ protected _translate: IDEATranslationsService;
788
+ protected _offline: IDEAOfflineService;
789
+ protected _API: IDEAAWSAPIService;
790
+ /**
791
+ * True when running a synchronization.
792
+ */
793
+ synchronizing: boolean;
794
+ /**
795
+ * The timestamp of the last synchronization.
796
+ */
797
+ lastSyncAt: epochDateTime;
798
+ /**
799
+ * True if an error happened in the last synchronization.
800
+ */
801
+ errorInLastSync: boolean;
802
+ /**
803
+ * True if the synchronisation is too vast and so require a manual action of the user.
804
+ */
805
+ requiresManualConfirmation: boolean;
806
+ /**
807
+ * If false, ignore the entire upload scenario.
808
+ */
809
+ useQueueAPIRequests: boolean;
810
+ /**
811
+ * The array of the requests not executed because we are/were offline; they need to run once online.
812
+ */
813
+ queueAPIRequests: APIRequest[];
814
+ /**
815
+ * The id of the team of which to manage data offline.
816
+ * If null, the project isn't teams-based.
817
+ */
818
+ protected teamId: string;
819
+ /**
820
+ * The array of DeltaResources to cache offline.
821
+ */
822
+ protected resources: (DeltaResources | string)[];
823
+ /**
824
+ * Helper structure to manage the CacheableResource for each DeltaResource.
825
+ */
826
+ protected cacheableResources: {
827
+ [resource: string]: CacheableResource;
828
+ };
829
+ /**
830
+ * Key to acquire from the storage the lastSyncAt information of the team.
831
+ */
832
+ protected lastSyncKey: string;
833
+ /**
834
+ * Key to acquire from the storage the lastSyncAt information of the team.
835
+ */
836
+ protected queueAPIRequestKey: string;
837
+ constructor();
838
+ /**
839
+ * Quickly check the connection status.
840
+ */
841
+ isOnline(): boolean;
842
+ /**
843
+ * Quickly check the connection status.
844
+ */
845
+ isOffline(): boolean;
846
+ /**
847
+ * Subscribe to the service to be notified when the connection status changes.
848
+ */
849
+ subscribe(callback: (isOnline: boolean) => void): Subscription;
850
+ /**
851
+ * Quickly check for online connection.
852
+ */
853
+ check(): Promise<boolean>;
854
+ /**
855
+ * Whether the offline mode is allowed. You can customize this function, if needed.
856
+ */
857
+ isAllowed(): boolean;
858
+ /**
859
+ * Set up the service to use and sync offline data.
860
+ */
861
+ setUpOfflineData(teamId: string, useQueueAPIRequests: boolean, cacheableResources: CacheableResource[]): void;
862
+ /**
863
+ * Load from the local storage the last sync at information.
864
+ */
865
+ protected loadLastSyncAt(): Promise<number>;
866
+ /**
867
+ * Update last sync at info in the local storage.
868
+ */
869
+ protected saveLastSyncAt(lastSyncAt: number): Promise<void>;
870
+ /**
871
+ * Add a CacheableResource.
872
+ */
873
+ protected addCacheableResource(cacheableResource: CacheableResource): void;
874
+ /**
875
+ * Remove a CacheableResource by its DeltaResource.
876
+ */
877
+ protected removeCacheableResource(resource: DeltaResources | string): void;
878
+ /**
879
+ * Get the the DeltaResourced configured.
880
+ */
881
+ getResources(): (DeltaResources | string)[];
882
+ /**
883
+ * Get a CacheableResource by its DeltaResource.
884
+ */
885
+ getCacheableResource(resource: DeltaResources | string): CacheableResource;
886
+ /**
887
+ * Execute all the API requests in the queue; the requests terminated with an error will remain in the queue.
888
+ */
889
+ protected runQueueAPIRequests(): Promise<void>;
890
+ /**
891
+ * Load from the local storage the API requests queue.
892
+ */
893
+ protected loadQueueAPIRequest(): Promise<APIRequest[]>;
894
+ /**
895
+ * Update the queue in memory and also save the copy in the local storage.
896
+ */
897
+ saveQueueAPIRequest(queue?: APIRequest[]): Promise<void>;
898
+ /**
899
+ * Delete a request stuck in an error.
900
+ */
901
+ deleteRequest(request: APIRequest): Promise<never>;
902
+ /**
903
+ * Save the records of a delta and, if the latter has more pages, go recursive.
904
+ */
905
+ protected syncDeltaRecords(delta: Delta, done?: any): Promise<any>;
906
+ /**
907
+ * Save offline a list of DeltaRecords for this resource, creating a map of all the corresponding API GET requests.
908
+ */
909
+ protected syncResourceDeltaRecords(resource: string, records: DeltaRecord[]): Promise<boolean>;
910
+ /**
911
+ * Run a sync, but only if needed, i.e. the cached content expired or we have pending API requests in the queue.
912
+ */
913
+ synchronizeIfNeeded(): Promise<void>;
914
+ /**
915
+ * Synchronization of the whole set of resources (upload+download).
916
+ * @param manualConfirmation if true, the request comes directly from a user action (not automatic procedures).
917
+ */
918
+ synchronize(manualConfirmation?: boolean): Promise<void>;
919
+ /**
920
+ * Force a full synchronisation.
921
+ */
922
+ forceFullSync(): void;
923
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAOfflineDataService, never>;
924
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAOfflineDataService>;
925
+ }
926
+ /**
927
+ * The description of an API request to a resource, to use with `IDEAAWSAPI`.
928
+ * Used for queues of requests (UPLOAD).
929
+ */
930
+ interface APIRequest {
931
+ /**
932
+ * Resource path (e.g. `users` or `teams/${teamId}/users`).
933
+ */
934
+ resource: string;
935
+ /**
936
+ * The id to identify a specific element of the resource.
937
+ */
938
+ resourceId: string;
939
+ /**
940
+ * The API request method (e.g. POST, PUT, PATCH).
941
+ */
942
+ method: string;
943
+ /**
944
+ * The body of the request.
945
+ */
946
+ body: any;
947
+ /**
948
+ * A description to show for the request.
949
+ */
950
+ description?: string;
951
+ /**
952
+ * If not null, the request tried to run but it encountered the error.
953
+ */
954
+ error?: string;
955
+ }
956
+ /**
957
+ * The abstract class to implement for each resource to cache offline from the back-end (DOWNLOAD).
958
+ */
959
+ declare abstract class CacheableResource {
960
+ /**
961
+ * The team owning the resource.
962
+ * If null, the project isn't teams-based.
963
+ */
964
+ teamId: string;
965
+ /**
966
+ * The identifier of the resource.
967
+ */
968
+ resource: DeltaResources | string;
969
+ /**
970
+ * The resource description (translated) for the UI.
971
+ */
972
+ description: string;
973
+ /**
974
+ * Runtime attribute to know if the resource is synchronizing.
975
+ */
976
+ synchronizing: boolean;
977
+ /**
978
+ * True if one of the elements failed the execution.
979
+ */
980
+ error: boolean;
981
+ constructor(resource: string, description: string);
982
+ /**
983
+ * How to build the relative URL to the resource (list).
984
+ * E.g. `teams/${element.teamId}/customers` or `customers`.
985
+ */
986
+ abstract listURL(element: any): string;
987
+ /**
988
+ * How to build the relative URL to the resource element (detail).
989
+ * E.g. `teams/${element.teamId}/customers/${element.customerId}` or `customers/${element.customerId}`.
990
+ */
991
+ abstract elementURL(element: any): string;
992
+ /**
993
+ * How to uniquely identify an element in the list (by its ids).
994
+ * E.g. `return list.findIndex(x => x.customerId === element.customerId);`
995
+ */
996
+ abstract findIndexInList(list: any[], element: any): number;
997
+ /**
998
+ * How to keep the list sorted.
999
+ * E.g. `return a.name.localeCompare(b.name);`
1000
+ */
1001
+ abstract sort(a: any, b: any): number;
1002
+ }
1003
+
1004
+ declare class IDEACacheableResourceComponent {
1005
+ _offline: IDEAOfflineDataService;
1006
+ /**
1007
+ * The resouece to manage.
1008
+ */
1009
+ resource: CacheableResource;
1010
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEACacheableResourceComponent, never>;
1011
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEACacheableResourceComponent, "idea-cacheable-resource", never, { "resource": { "alias": "resource"; "required": false; }; }, {}, never, never, true, never>;
1012
+ }
1013
+
1014
+ declare class IDEAOfflineIndicatorComponent {
1015
+ private _alert;
1016
+ private _modal;
1017
+ private _translate;
1018
+ _platform: Platform;
1019
+ _offline: IDEAOfflineDataService;
1020
+ /**
1021
+ * Vertical position.
1022
+ */
1023
+ vertical: string;
1024
+ /**
1025
+ * Horizontal position.
1026
+ */
1027
+ horizontal: string;
1028
+ /**
1029
+ * Whether it is positionated on an edge.
1030
+ */
1031
+ edge: boolean;
1032
+ showStatus(): Promise<void>;
1033
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAOfflineIndicatorComponent, never>;
1034
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAOfflineIndicatorComponent, "idea-offline-indicator", never, { "vertical": { "alias": "vertical"; "required": false; }; "horizontal": { "alias": "horizontal"; "required": false; }; "edge": { "alias": "edge"; "required": false; }; }, {}, never, never, true, never>;
1035
+ }
1036
+
1037
+ declare class IDEAOfflineManagerComponent {
1038
+ private _modal;
1039
+ private _alert;
1040
+ private _actions;
1041
+ private _translate;
1042
+ _offline: IDEAOfflineDataService;
1043
+ sync(): Promise<void>;
1044
+ deleteRequest(request: APIRequest): Promise<void>;
1045
+ downloadRequestLog(request: APIRequest): void;
1046
+ actions(): Promise<void>;
1047
+ forceFullSync(): Promise<void>;
1048
+ close(): void;
1049
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAOfflineManagerComponent, never>;
1050
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAOfflineManagerComponent, "idea-offline-manager", never, {}, {}, never, never, true, never>;
1051
+ }
1052
+
1053
+ declare class IDEASentimentComponent implements OnChanges {
1054
+ protected _env: any;
1055
+ private _API;
1056
+ private _translate;
1057
+ _offline: IDEAOfflineService;
1058
+ /**
1059
+ * The sentiment detected from the input text.
1060
+ */
1061
+ sentiment: Sentiment;
1062
+ /**
1063
+ * The input text.
1064
+ */
1065
+ text: string;
1066
+ /**
1067
+ * Lines preferences for the item.
1068
+ */
1069
+ lines: string;
1070
+ /**
1071
+ * The color for the component.
1072
+ */
1073
+ color: string;
1074
+ /**
1075
+ * Triggers when the sentiment change.
1076
+ */
1077
+ change: EventEmitter<Sentiment>;
1078
+ ngOnChanges(changes: SimpleChanges): void;
1079
+ private detectSentiment;
1080
+ getColorBySentiment(sentiment?: Sentiment | string): string;
1081
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEASentimentComponent, never>;
1082
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEASentimentComponent, "idea-sentiment", never, { "text": { "alias": "text"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "change": "change"; }, never, never, true, never>;
1083
+ }
1084
+
1085
+ declare class IDEAFromTimeToTimeComponent implements OnInit {
1086
+ private _modal;
1087
+ private _translate;
1088
+ /**
1089
+ * The time interval to set.
1090
+ */
1091
+ timeInterval: TimeInterval;
1092
+ /**
1093
+ * Whether we should start picking the time displaying the afternoon (PM) or the morning (AM, default).
1094
+ */
1095
+ period: Periods;
1096
+ /**
1097
+ * A time to use as lower limit for the possible choices.
1098
+ */
1099
+ notEarlierThan: number;
1100
+ /**
1101
+ * A time to use as upper limit for the possible choices.
1102
+ */
1103
+ notLaterThan: number;
1104
+ /**
1105
+ * The title of the component.
1106
+ */
1107
+ title: string;
1108
+ segment: Segments;
1109
+ Segments: typeof Segments;
1110
+ Periods: typeof Periods;
1111
+ timeIntervalWC: TimeInterval;
1112
+ minutes: number;
1113
+ ngOnInit(): void;
1114
+ setInterval(hours: number, minutes?: number): void;
1115
+ private timeToMs;
1116
+ getClockButtonContent(hours: number, minutes?: number): string;
1117
+ private contextualizeHour;
1118
+ equalsFrom(hours: number, minutes?: number): boolean;
1119
+ isAllowed(hours: number, minutes?: number): boolean;
1120
+ isHourOfOppositeMeridian(hours: number, minutes?: number): boolean;
1121
+ msToTimeString(time: number): string;
1122
+ save(): void;
1123
+ reset(): void;
1124
+ close(): void;
1125
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAFromTimeToTimeComponent, never>;
1126
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEAFromTimeToTimeComponent, "idea-from-time-to-time", never, { "timeInterval": { "alias": "timeInterval"; "required": false; }; "period": { "alias": "period"; "required": false; }; "notEarlierThan": { "alias": "notEarlierThan"; "required": false; }; "notLaterThan": { "alias": "notLaterThan"; "required": false; }; "title": { "alias": "title"; "required": false; }; }, {}, never, never, true, never>;
1127
+ }
1128
+ /**
1129
+ * The two stages of the component, to pick the start and the end of the interval.
1130
+ */
1131
+ declare enum Segments {
1132
+ FROM = "FROM",
1133
+ TO = "TO"
1134
+ }
1135
+ /**
1136
+ * The two possible periods of the component, to interpret the clock the right way.
1137
+ */
1138
+ declare enum Periods {
1139
+ AM = "AM",
1140
+ PM = "PM"
1141
+ }
1142
+
1143
+ declare class IDEATimeIntervalComponent implements OnInit, OnDestroy, OnChanges {
1144
+ private _modal;
1145
+ private _translate;
1146
+ /**
1147
+ * The time interval to set.
1148
+ */
1149
+ timeInterval: TimeInterval;
1150
+ /**
1151
+ * Whether we should start picking the time displaying the afternoon (PM) or the morning (AM, default).
1152
+ */
1153
+ period: Periods;
1154
+ /**
1155
+ * A time to use as lower limit for the possible choices.
1156
+ */
1157
+ notEarlierThan: number;
1158
+ /**
1159
+ * A time to use as upper limit for the possible choices.
1160
+ */
1161
+ notLaterThan: number;
1162
+ /**
1163
+ * The label for the field.
1164
+ */
1165
+ label: string;
1166
+ /**
1167
+ * The icon for the field.
1168
+ */
1169
+ icon: string;
1170
+ /**
1171
+ * The color of the icon.
1172
+ */
1173
+ iconColor: string;
1174
+ /**
1175
+ * A placeholder for the field.
1176
+ */
1177
+ placeholder: string;
1178
+ /**
1179
+ * If true, the component is disabled.
1180
+ */
1181
+ disabled: boolean;
1182
+ /**
1183
+ * If true, the field has a tappable effect when disabled.
1184
+ */
1185
+ tappableWhenDisabled: boolean;
1186
+ /**
1187
+ * If true, the obligatory dot is shown.
1188
+ */
1189
+ obligatory: boolean;
1190
+ /**
1191
+ * Lines preferences for the item.
1192
+ */
1193
+ lines: string;
1194
+ /**
1195
+ * The color for the component.
1196
+ */
1197
+ color: string;
1198
+ /**
1199
+ * On select event.
1200
+ */
1201
+ select: EventEmitter<void>;
1202
+ /**
1203
+ * Icon select.
1204
+ */
1205
+ iconSelect: EventEmitter<void>;
1206
+ /**
1207
+ * On select (with the field disabled) event.
1208
+ */
1209
+ selectWhenDisabled: EventEmitter<void>;
1210
+ valueToDisplay: string;
1211
+ private langChangeSubscription;
1212
+ isOpening: boolean;
1213
+ ngOnInit(): void;
1214
+ ngOnDestroy(): void;
1215
+ ngOnChanges(changes: SimpleChanges): void;
1216
+ private getValueToDisplay;
1217
+ pickTimeInterval(): Promise<void>;
1218
+ doSelectWhenDisabled(): void;
1219
+ doIconSelect(event: any): void;
1220
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEATimeIntervalComponent, never>;
1221
+ static ɵcmp: i0.ɵɵComponentDeclaration<IDEATimeIntervalComponent, "idea-time-interval", never, { "timeInterval": { "alias": "timeInterval"; "required": false; }; "period": { "alias": "period"; "required": false; }; "notEarlierThan": { "alias": "notEarlierThan"; "required": false; }; "notLaterThan": { "alias": "notLaterThan"; "required": false; }; "label": { "alias": "label"; "required": false; }; "icon": { "alias": "icon"; "required": false; }; "iconColor": { "alias": "iconColor"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "tappableWhenDisabled": { "alias": "tappableWhenDisabled"; "required": false; }; "obligatory": { "alias": "obligatory"; "required": false; }; "lines": { "alias": "lines"; "required": false; }; "color": { "alias": "color"; "required": false; }; }, { "select": "select"; "iconSelect": "iconSelect"; "selectWhenDisabled": "selectWhenDisabled"; }, never, never, true, never>;
1222
+ }
1223
+
1224
+ /**
1225
+ * To communicate with an AWS API Gateway websocket istance.
1226
+ *
1227
+ * Note: requires an `AWSAPIAuthToken` variable to be set by IDEATinCanService service.
1228
+ */
1229
+ declare class IDEAAWSAPISocketService {
1230
+ protected _env: any;
1231
+ protected _tc: IDEATinCanService;
1232
+ protected _errorReporting: IDEAErrorReportingService;
1233
+ protected _offline: IDEAOfflineService;
1234
+ apiStage: string;
1235
+ /**
1236
+ * The URL to connect for socket communication.
1237
+ */
1238
+ WEBSOCKET_API_URL: string;
1239
+ /**
1240
+ * The current websocket connection.
1241
+ */
1242
+ protected connection: WebSocket;
1243
+ /**
1244
+ * The options with which we opened a connection, to re-open it if needed.
1245
+ */
1246
+ protected options: IDEAAWSAPISocketServiceOpenOptions;
1247
+ /**
1248
+ * A timeout to ping the connection every once in a while, to keep it alive.
1249
+ */
1250
+ protected pingTimeout: any;
1251
+ /**
1252
+ * The timestamp of last activity for the connection, to make sure to ping it in case it's almost dead.
1253
+ */
1254
+ protected lastActivityAt: epochDateTime;
1255
+ /**
1256
+ * A timeout to re-try to open a connection later on, hoping we are online again.
1257
+ */
1258
+ protected offlineTimeout: any;
1259
+ /**
1260
+ * Whether the connection was correctly opened at least once.
1261
+ */
1262
+ protected wasOpenAtLeastOnce: boolean;
1263
+ /**
1264
+ * The maximum amount of minutes of inactivity after which we ping the connection to keep it alive.
1265
+ */
1266
+ MAX_INACTIVITY_MINUTES: number;
1267
+ /**
1268
+ * The amount of minutes after which we check if the connection needs to be pinged to be kept alive.
1269
+ */
1270
+ KEEP_ALIVE_MINUTES_INTERVAL: number;
1271
+ /**
1272
+ * In case we are offline, the amount of minutes after which we check if we are online, so we can re-connect.
1273
+ */
1274
+ TRY_AGAIN_OFFLINE_MINUTES: number;
1275
+ constructor();
1276
+ /**
1277
+ * Open a connection to the websocket API.
1278
+ */
1279
+ open(options?: IDEAAWSAPISocketServiceOpenOptions): void;
1280
+ /**
1281
+ * Close the current connection to the websocket API.
1282
+ * @param itShouldReopen in case the connection was forcibly closed, try to re-open it (with offline mechanism).
1283
+ */
1284
+ close(itShouldReopen?: boolean): void;
1285
+ /**
1286
+ * Try to-reopen a closed connection, if we are online.
1287
+ */
1288
+ protected reOpen(): Promise<void>;
1289
+ /**
1290
+ * Whether the socket connection is currently open.
1291
+ */
1292
+ isOpen(): boolean;
1293
+ /**
1294
+ * A simple message delivered to the server to keep the connection alive.
1295
+ */
1296
+ protected ping(): void;
1297
+ /**
1298
+ * Helper to keep the connection alive, if needed.
1299
+ */
1300
+ protected keepItAlive(): void;
1301
+ /**
1302
+ * Convert minutes to milliseconds.
1303
+ */
1304
+ protected minutesToMS(minutes: number): number;
1305
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAAWSAPISocketService, never>;
1306
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAAWSAPISocketService>;
1307
+ }
1308
+ /**
1309
+ * The options to open a socket connection and handle its events.
1310
+ */
1311
+ interface IDEAAWSAPISocketServiceOpenOptions {
1312
+ /**
1313
+ * Optional parameters needed to be passed to the socket's authorizer to open the connection.
1314
+ * Note: the authentication (IDEA standard) is automatically included, if `noAuth` isn't set.
1315
+ */
1316
+ openParams?: {
1317
+ [key: string]: any;
1318
+ };
1319
+ /**
1320
+ * If set, the socket connection won't require authentication.
1321
+ */
1322
+ noAuth?: boolean;
1323
+ /**
1324
+ * Action to execute when the connection is confirmed "open" by the server.
1325
+ */
1326
+ onOpen?: (event: any) => void;
1327
+ /**
1328
+ * Action to execute when the connection closes (for external events).
1329
+ */
1330
+ onClose?: (event: any) => void;
1331
+ /**
1332
+ * Action to execute when a message is delivered from the server.
1333
+ */
1334
+ onMessage?: (event: any) => void;
1335
+ /**
1336
+ * Action to execute when an error occurs.
1337
+ */
1338
+ onError?: (event: any) => void;
1339
+ /**
1340
+ * If true, report the errors that occur (IDEA standard).
1341
+ */
1342
+ reportError?: boolean;
1343
+ /**
1344
+ * Whether to show debug messages.
1345
+ */
1346
+ debug?: boolean;
1347
+ }
1348
+
1349
+ /**
1350
+ * *The service aims to solve the resource caching behaviour of browsers.*
1351
+ * *It's suggested to use it with avatars and other images/resources that can change based on user input.*
1352
+ * The browsers tend to cache images based on their URL;
1353
+ * sometimes, the image changes but the URL doesn't, and the browser keeps showing the old image.
1354
+ * Through this service, when we change a resource (e.g. an image), we also update a cache key.
1355
+ * Each time we load a resource through the service's method `getCachedImage`, we use the cache key as a query param;
1356
+ * in this way, the browser uses the same cached images, until we change the cache key.
1357
+ */
1358
+ declare class IDEACachedResourcesService {
1359
+ /**
1360
+ * Change it only if necessary.
1361
+ */
1362
+ cacheKeyIndex: string;
1363
+ private cacheKey;
1364
+ private storage;
1365
+ constructor();
1366
+ /**
1367
+ * Load the cache key from the local storage.
1368
+ */
1369
+ private loadKeyFromStorage;
1370
+ /**
1371
+ * Get an image using the service's caching mechanism.
1372
+ * Optionally update the cache key and forces the image's cache deletion.
1373
+ */
1374
+ getCachedResource(url: string, updateCacheKey?: boolean): string;
1375
+ /**
1376
+ * Set a new cache key.
1377
+ */
1378
+ updateCacheKey(key?: string | number): Promise<void>;
1379
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEACachedResourcesService, never>;
1380
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEACachedResourcesService>;
1381
+ }
1382
+
1383
+ /**
1384
+ * To subscribe push notifications events.
1385
+ */
1386
+ declare class IDEAPushNotificationsService {
1387
+ private _platform;
1388
+ private _errorReporting;
1389
+ registrations: Observable<PushNotificationsDevice>;
1390
+ notifications: Observable<PushNotificationSchema>;
1391
+ errors: Observable<Error>;
1392
+ constructor();
1393
+ /**
1394
+ * Return true if the device is supported.
1395
+ */
1396
+ isAvailable(): boolean;
1397
+ /**
1398
+ * To fire the registration of a new device: it will rewquest the permission to use Push Notification.
1399
+ * On iOS will prompt the request, on Android it's automatic.
1400
+ */
1401
+ registerDevice(): Promise<void>;
1402
+ static ɵfac: i0.ɵɵFactoryDeclaration<IDEAPushNotificationsService, never>;
1403
+ static ɵprov: i0.ɵɵInjectableDeclaration<IDEAPushNotificationsService>;
1404
+ }
1405
+
1406
+ export { APIRequestOption, CacheModes, CacheableResource, ColorsPaletteComponent, EchoRequests, IDEAAWSAPIService, IDEAAWSAPISocketService, IDEAAddressComponent, IDEAAnnouncementComponent, IDEACacheableResourceComponent, IDEACachedResourcesService, IDEACalendarPickerComponent, IDEAColorPickerComponent, IDEAContactsComponent, IDEADateTimeComponent, IDEADurationComponent, IDEAEchoPage, IDEAErrorReportingService, IDEAFromTimeToTimeComponent, IDEAMDEComponent, IDEAMDEToolbarComponent, IDEAOfflineDataService, IDEAOfflineIndicatorComponent, IDEAOfflineManagerComponent, IDEAOfflineService, IDEAPushNotificationsService, IDEASentimentComponent, IDEATimeIntervalComponent, IDEATinCanService, LAST_SYNC_KEY, NUM_ELEMENTS_WITHOUT_MANUAL_SYNC, NUM_ELEMENTS_WITH_MANUAL_SYNC, Periods, QUEUE_API_REQUESTS_KEY, SYNC_EXPIRATION_INTERVAL, ideaEchoRoutes };
1407
+ export type { APIRequest, IDEAAWSAPISocketServiceOpenOptions };