@entake/particle 19.1.3 → 20.0.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 (71) hide show
  1. package/fesm2022/entake-particle.mjs +267 -264
  2. package/fesm2022/entake-particle.mjs.map +1 -1
  3. package/index.d.ts +3850 -3
  4. package/package.json +14 -14
  5. package/particle.css +1 -1
  6. package/app/shared/components/accordion/accordion.component.d.ts +0 -26
  7. package/app/shared/components/calendar/calendar.component.d.ts +0 -206
  8. package/app/shared/components/checkbox/checkbox.component.d.ts +0 -41
  9. package/app/shared/components/color-picker/color-picker.component.d.ts +0 -143
  10. package/app/shared/components/date-picker/date-picker.component.d.ts +0 -253
  11. package/app/shared/components/date-range-picker/date-range-picker.component.d.ts +0 -94
  12. package/app/shared/components/dialog/dialog.component.d.ts +0 -79
  13. package/app/shared/components/dropdown/dropdown.component.d.ts +0 -290
  14. package/app/shared/components/icon-select/icon-select.component.d.ts +0 -226
  15. package/app/shared/components/idle-timeout/idle-timeout.component.d.ts +0 -34
  16. package/app/shared/components/input-mask/input-mask.component.d.ts +0 -85
  17. package/app/shared/components/layout-full-framing/layout-full-framing.component.d.ts +0 -27
  18. package/app/shared/components/layout-fullwidth-sidebar/layout-fullwidth-sidebar.component.d.ts +0 -23
  19. package/app/shared/components/loader/loader.component.d.ts +0 -11
  20. package/app/shared/components/multi-select/multi-select.component.d.ts +0 -273
  21. package/app/shared/components/notification/notification.component.d.ts +0 -38
  22. package/app/shared/components/paginator/paginator.component.d.ts +0 -112
  23. package/app/shared/components/popover/popover.component.d.ts +0 -135
  24. package/app/shared/components/profile-pic/profile-pic.component.d.ts +0 -33
  25. package/app/shared/components/progress-bar/progress-bar.component.d.ts +0 -15
  26. package/app/shared/components/radio-buttons/radio-buttons.component.d.ts +0 -36
  27. package/app/shared/components/rich-text/rich-text.component.d.ts +0 -50
  28. package/app/shared/components/scroll-to-top/scroll-to-top.component.d.ts +0 -18
  29. package/app/shared/components/slideover/slideover.component.d.ts +0 -35
  30. package/app/shared/components/slider/slider.component.d.ts +0 -129
  31. package/app/shared/components/toggle-switch/toggle-switch.component.d.ts +0 -41
  32. package/app/shared/components/week-picker/week-picker.component.d.ts +0 -288
  33. package/app/shared/directives/accordion-content.directive.d.ts +0 -7
  34. package/app/shared/directives/accordion-header.directive.d.ts +0 -7
  35. package/app/shared/directives/accordion-item.directive.d.ts +0 -13
  36. package/app/shared/directives/background-carousel.directive.d.ts +0 -42
  37. package/app/shared/directives/keyfilter.directive.d.ts +0 -60
  38. package/app/shared/directives/tooltip.directive.d.ts +0 -151
  39. package/app/shared/interceptors/json.interceptor.d.ts +0 -17
  40. package/app/shared/models/auditable.model.d.ts +0 -21
  41. package/app/shared/models/carousel-options.model.d.ts +0 -21
  42. package/app/shared/models/data-list.model.d.ts +0 -9
  43. package/app/shared/models/dropdown-option-group.model.d.ts +0 -16
  44. package/app/shared/models/dropdown-option.model.d.ts +0 -25
  45. package/app/shared/models/fontawesome-icons-brands.model.d.ts +0 -13
  46. package/app/shared/models/fontawesome-icons-regular.model.d.ts +0 -13
  47. package/app/shared/models/fontawesome-icons-solid.model.d.ts +0 -13
  48. package/app/shared/models/id.model.d.ts +0 -9
  49. package/app/shared/models/multi-select-option-group.model.d.ts +0 -16
  50. package/app/shared/models/multi-select-option.model.d.ts +0 -25
  51. package/app/shared/models/notification.model.d.ts +0 -21
  52. package/app/shared/models/observable-container.d.ts +0 -8
  53. package/app/shared/models/pagination-event.model.d.ts +0 -8
  54. package/app/shared/models/particle-component-text.model.d.ts +0 -191
  55. package/app/shared/models/particle-icons-brands.model.d.ts +0 -21
  56. package/app/shared/models/particle-icons-regular.model.d.ts +0 -37
  57. package/app/shared/models/particle-icons-solid.model.d.ts +0 -61
  58. package/app/shared/models/rich-text-capabilities.model.d.ts +0 -8
  59. package/app/shared/models/theme.model.d.ts +0 -88
  60. package/app/shared/models/toggle-options.model.d.ts +0 -11
  61. package/app/shared/modules/icons/particle-icons.module.d.ts +0 -7
  62. package/app/shared/pipes/ordinal-number.pipe.d.ts +0 -15
  63. package/app/shared/services/base-data.service.d.ts +0 -130
  64. package/app/shared/services/dialog.service.d.ts +0 -10
  65. package/app/shared/services/icons.service.d.ts +0 -40
  66. package/app/shared/services/idle-timer.d.ts +0 -14
  67. package/app/shared/services/local-storage.service.d.ts +0 -41
  68. package/app/shared/services/notification.service.d.ts +0 -50
  69. package/app/shared/services/theme-change-detection.service.d.ts +0 -26
  70. package/app/shared/services/theming.service.d.ts +0 -123
  71. package/public_api.d.ts +0 -63
package/index.d.ts CHANGED
@@ -1,5 +1,3852 @@
1
+ import * as _angular_core from '@angular/core';
2
+ import { OnDestroy, TemplateRef, ElementRef, OnChanges, AfterViewInit, OnInit, QueryList, EventEmitter, AfterContentInit, Renderer2, PipeTransform } from '@angular/core';
3
+ import { ControlValueAccessor } from '@angular/forms';
4
+ import * as rxjs from 'rxjs';
5
+ import { BehaviorSubject, Subject, Observable } from 'rxjs';
6
+ import { Editor } from '@tiptap/core';
7
+ import { AnimationEvent } from '@angular/animations';
8
+ import * as _entake_particle from '@entake/particle';
9
+ import { HttpInterceptor, HttpRequest, HttpHandler, HttpEvent, HttpClient, HttpParams, HttpErrorResponse } from '@angular/common/http';
10
+
11
+ declare class ParticleIconsModule {
12
+ constructor();
13
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParticleIconsModule, never>;
14
+ static ɵmod: _angular_core.ɵɵNgModuleDeclaration<ParticleIconsModule, never, never, never>;
15
+ static ɵinj: _angular_core.ɵɵInjectorDeclaration<ParticleIconsModule>;
16
+ }
17
+
1
18
  /**
2
- * Generated bundle index. Do not edit.
19
+ * Directive to create a tooltip around the host element
20
+ * TODO: Open/Close animation with AnimationFactory
3
21
  */
4
- /// <amd-module name="@entake/particle" />
5
- export * from './public_api';
22
+ declare class TooltipDirective implements OnDestroy {
23
+ private element;
24
+ private renderer;
25
+ /**
26
+ * The number of pixels from the host to offset the tooltip
27
+ * @private
28
+ */
29
+ private readonly TOOLTIP_OFFSET;
30
+ /**
31
+ * Tooltip text input
32
+ * @param text the text to set for the tooltip
33
+ */
34
+ set particleTooltip(text: string);
35
+ get particleTooltip(): string;
36
+ /**
37
+ * The direction of the tooltip around the host element
38
+ */
39
+ readonly tooltipPosition: _angular_core.InputSignal<"left" | "right" | "top" | "bottom">;
40
+ /**
41
+ * Whether to disable the tooltip
42
+ * @param disabled disabled or not
43
+ */
44
+ set tooltipDisabled(disabled: boolean);
45
+ get tooltipDisabled(): boolean;
46
+ /**
47
+ * The DIV element housing the tooltip
48
+ * @private
49
+ */
50
+ private tooltip;
51
+ /**
52
+ * The tooltip text
53
+ * @private
54
+ */
55
+ private _text;
56
+ /**
57
+ * Whether or not the tooltip is disabled
58
+ * @private
59
+ */
60
+ private _tooltipDisabled;
61
+ /**
62
+ * Array of scroll unlisten functions
63
+ * @private
64
+ */
65
+ private scrollUnlisteners;
66
+ /**
67
+ * Get window scroll top
68
+ * @private
69
+ */
70
+ private static getWindowScrollTop;
71
+ /**
72
+ * Get window scroll left
73
+ * @private
74
+ */
75
+ private static getWindowScrollLeft;
76
+ /**
77
+ * Destroy directive, invoke scroll unlisteners
78
+ */
79
+ ngOnDestroy(): void;
80
+ /**
81
+ * Handle host mouse enter event
82
+ */
83
+ onMouseEnter(): void;
84
+ /**
85
+ * Handle host mouse leave event
86
+ */
87
+ onMouseLeave(): void;
88
+ /**
89
+ * Handle host click event
90
+ */
91
+ onClick(): void;
92
+ /**
93
+ * Create tooltip, set the text and align it
94
+ * @private
95
+ */
96
+ private showTooltip;
97
+ /**
98
+ * Add the tooltip to the DOM
99
+ * @private
100
+ */
101
+ private createTooltip;
102
+ /**
103
+ * Set tooltip text
104
+ * @private
105
+ */
106
+ private setTooltipText;
107
+ /**
108
+ * Align the tooltip to the input position or the next best fit
109
+ * @private
110
+ */
111
+ private alignTooltip;
112
+ /**
113
+ * Align the tooltip to the left of the host
114
+ * @private
115
+ */
116
+ private alignLeft;
117
+ /**
118
+ * Align the tooltip to the right of the host
119
+ * @private
120
+ */
121
+ private alignRight;
122
+ /**
123
+ * Align the tooltip to the top of the host
124
+ * @private
125
+ */
126
+ private alignTop;
127
+ /**
128
+ * Align the tooltip to the bottom of the host
129
+ * @private
130
+ */
131
+ private alignBottom;
132
+ /**
133
+ * Get the host's top and left position offset by window scroll
134
+ * @private
135
+ */
136
+ private getHostOffset;
137
+ /**
138
+ * Remove the tooltip from the DOM
139
+ * @private
140
+ */
141
+ private deleteTooltip;
142
+ /**
143
+ * Checks if the tooltip fits in the window
144
+ * @private
145
+ */
146
+ private tooltipOutOfWindow;
147
+ /**
148
+ * Listen for scrolling on all scrollable parents of the host element
149
+ * @private
150
+ */
151
+ private addScrollListeners;
152
+ /**
153
+ * Invoke scroll unlisten functions and clear unlisteners list
154
+ * @private
155
+ */
156
+ private removeScrollListeners;
157
+ /**
158
+ * Get the parent elements for the input element
159
+ * @param element the element to get parents for
160
+ * @param parents the parent elements
161
+ * @private
162
+ */
163
+ private getParentElements;
164
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TooltipDirective, never>;
165
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<TooltipDirective, "[particleTooltip]", never, { "particleTooltip": { "alias": "particleTooltip"; "required": false; }; "tooltipPosition": { "alias": "tooltipPosition"; "required": false; "isSignal": true; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; }, {}, never, never, true, never>;
166
+ }
167
+
168
+ /**
169
+ * Directive to apply key filtering to an HTML input element
170
+ */
171
+ declare class KeyfilterDirective {
172
+ private hostElement;
173
+ /**
174
+ * Array of keyboard key names that are always allowed
175
+ * (arrow keys, backspace, delete, tab, escape)
176
+ * @private
177
+ */
178
+ private static readonly ALLOWED_KEYS;
179
+ /**
180
+ * Array of keyboard alpha key names
181
+ * @private
182
+ */
183
+ private static readonly ALPHA_KEYS;
184
+ /**
185
+ * Array of keyboard alpha key names
186
+ * @private
187
+ */
188
+ private static readonly URL_TOKEN_KEYS;
189
+ /**
190
+ * The type of filtering to apply
191
+ */
192
+ filterType: 'alpha' | 'numeric' | 'alphanumeric' | 'digits' | 'url-token';
193
+ /**
194
+ * Whether spaces should be allowed (default false)
195
+ */
196
+ allowSpaces: boolean;
197
+ /**
198
+ * Determine if the input key is numeric (a digit)
199
+ * @param key the key to test
200
+ * @private
201
+ */
202
+ private static keyIsNumeric;
203
+ private static keyIsDigit;
204
+ private static valueIsNumeric;
205
+ /**
206
+ * Determine if the input key is an alpha key (a letter of
207
+ * the English alphabet)
208
+ * @param key the key to test
209
+ * @private
210
+ */
211
+ private static keyIsAlpha;
212
+ private static keyIsUrlToken;
213
+ /**
214
+ * Filter out keys based on the specified filter type
215
+ * @param event the keydown KeyboardEvent
216
+ */
217
+ onKeyDown(event: KeyboardEvent): void;
218
+ /**
219
+ * Prevent paste if input contains forbidden characters
220
+ * @param event the paste ClipboardEvent
221
+ */
222
+ onPaste(event: ClipboardEvent): void;
223
+ onBlur(): void;
224
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<KeyfilterDirective, never>;
225
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<KeyfilterDirective, "[particleKeyfilter]", never, { "filterType": { "alias": "particleKeyfilter"; "required": false; }; "allowSpaces": { "alias": "allowSpaces"; "required": false; }; }, {}, never, never, true, never>;
226
+ }
227
+
228
+ declare class AccordionContentDirective {
229
+ templateRef: TemplateRef<any>;
230
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionContentDirective, never>;
231
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionContentDirective, "[particleAccordionContent]", never, {}, {}, never, never, true, never>;
232
+ }
233
+
234
+ declare class AccordionHeaderDirective {
235
+ templateRef: TemplateRef<any>;
236
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionHeaderDirective, never>;
237
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionHeaderDirective, "[particleAccordionHeader]", never, {}, {}, never, never, true, never>;
238
+ }
239
+
240
+ declare class AccordionItemDirective {
241
+ header: string;
242
+ disabled: boolean;
243
+ open: boolean;
244
+ headerClass: string;
245
+ headerTemplate: AccordionHeaderDirective;
246
+ content: AccordionContentDirective;
247
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionItemDirective, never>;
248
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<AccordionItemDirective, "particle-accordion-item", never, { "header": { "alias": "header"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "open": { "alias": "open"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; }, {}, ["headerTemplate", "content"], never, true, never>;
249
+ }
250
+
251
+ /**
252
+ * Carousel Options for the Background Carousel Directive
253
+ */
254
+ interface CarouselOptions {
255
+ /**
256
+ * Image locations to loop through
257
+ */
258
+ images: string[];
259
+ /**
260
+ * Transition Time (in seconds)
261
+ */
262
+ transitionTime: number;
263
+ /**
264
+ * Length of Time to display each background (in seconds)
265
+ */
266
+ viewTime: number;
267
+ /**
268
+ * Whether to reset the interval on init.
269
+ */
270
+ resetInterval: boolean;
271
+ }
272
+
273
+ /**
274
+ * This directive when applied to a div will hijack its background and apply a carousel of images.
275
+ */
276
+ declare class BackgroundCarouselDirective implements OnDestroy {
277
+ /**
278
+ * Carousel Options
279
+ */
280
+ private _options;
281
+ /**
282
+ * Reference to the interval for swapping the background image.
283
+ */
284
+ private _interval;
285
+ /**
286
+ * Sets the options for the carousel
287
+ *
288
+ * @param value
289
+ */
290
+ set options(value: CarouselOptions);
291
+ /**
292
+ * Gets the options for the carousel
293
+ */
294
+ get options(): CarouselOptions;
295
+ /**
296
+ * Constructor will set up all of the behavior for the carousel based on the options supplied by the user.
297
+ *
298
+ * @param el
299
+ */
300
+ constructor();
301
+ /**
302
+ * Initializes the options to default settings for whatever isn't provided by the developer
303
+ */
304
+ private initOptions;
305
+ /**
306
+ * Clears the interval when the component is destroyed.
307
+ */
308
+ ngOnDestroy(): void;
309
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<BackgroundCarouselDirective, never>;
310
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<BackgroundCarouselDirective, "[particleCarousel]", never, { "options": { "alias": "particleCarouselOptions"; "required": false; }; }, {}, never, never, true, never>;
311
+ }
312
+
313
+ interface AccordionText {
314
+ expand: string;
315
+ collapse: string;
316
+ }
317
+ interface CalendarText {
318
+ selectAYear: string;
319
+ selectAMonth: string;
320
+ january: string;
321
+ february: string;
322
+ march: string;
323
+ april: string;
324
+ may: string;
325
+ june: string;
326
+ july: string;
327
+ august: string;
328
+ september: string;
329
+ october: string;
330
+ november: string;
331
+ december: string;
332
+ sundayAbbr: string;
333
+ mondayAbbr: string;
334
+ tuesdayAbbr: string;
335
+ wednesdayAbbr: string;
336
+ thursdayAbbr: string;
337
+ fridayAbbr: string;
338
+ saturdayAbbr: string;
339
+ sunday: string;
340
+ monday: string;
341
+ tuesday: string;
342
+ wednesday: string;
343
+ thursday: string;
344
+ friday: string;
345
+ saturday: string;
346
+ select: string;
347
+ the: string;
348
+ resetDateToToday: string;
349
+ selectToday: string;
350
+ saveDate: string;
351
+ done: string;
352
+ minGreaterThenMax: string;
353
+ }
354
+ interface CheckboxText {
355
+ check: string;
356
+ uncheck: string;
357
+ }
358
+ interface ColorPickerText {
359
+ chooseColor: string;
360
+ enterHexCode: string;
361
+ }
362
+ interface DatePickerText {
363
+ calendarText?: CalendarText;
364
+ enterInFormat: string;
365
+ openCalendar: string;
366
+ }
367
+ interface DateRangePickerText {
368
+ calendarText?: CalendarText;
369
+ begin: string;
370
+ end: string;
371
+ done: string;
372
+ clear: string;
373
+ openCalendar: string;
374
+ selectRange: string;
375
+ }
376
+ interface DialogText {
377
+ close: string;
378
+ maximize: string;
379
+ minimize: string;
380
+ }
381
+ interface DropdownText {
382
+ placeholder: string;
383
+ }
384
+ interface IconSelectText {
385
+ selectAnIcon: string;
386
+ seeAllIcons: string;
387
+ fontAwesomeIcons: string;
388
+ filterBy: string;
389
+ all: string;
390
+ solid: string;
391
+ regular: string;
392
+ brands: string;
393
+ light: string;
394
+ customIcons: string;
395
+ previousPage: string;
396
+ nextPage: string;
397
+ searchIcons: string;
398
+ submitSearch: string;
399
+ clearResults: string;
400
+ couldntFindAnything: string;
401
+ modifySearchCriteria: string;
402
+ selection: string;
403
+ confirm: string;
404
+ select: string;
405
+ close: string;
406
+ }
407
+ interface IdleTimeoutText {
408
+ sessionExpiring: string;
409
+ second: string;
410
+ seconds: string;
411
+ stayLoggedIn: string;
412
+ }
413
+ interface LoaderText {
414
+ loadingText?: string;
415
+ loadingSubtext?: string;
416
+ }
417
+ interface MultiSelectText {
418
+ placeholder: string;
419
+ of: string;
420
+ optionsSelected: string;
421
+ }
422
+ interface NotificationText {
423
+ dismiss: string;
424
+ }
425
+ interface PaginatorText {
426
+ itemsPerPage: string;
427
+ choosePageSize: string;
428
+ previousPage: string;
429
+ nextPage: string;
430
+ disabled: string;
431
+ firstPage: string;
432
+ lastPage: string;
433
+ jumpToPage: string;
434
+ page: string;
435
+ outOf: string;
436
+ of: string;
437
+ results: string;
438
+ }
439
+ interface RichTextEditorText {
440
+ heading1: string;
441
+ heading2: string;
442
+ bold: string;
443
+ italic: string;
444
+ strike: string;
445
+ bulletedList: string;
446
+ orderedList: string;
447
+ leftAlign: string;
448
+ centerAlign: string;
449
+ rightAlign: string;
450
+ justifyAlign: string;
451
+ setLink: string;
452
+ removeLink: string;
453
+ clearFormat: string;
454
+ modifyLink: string;
455
+ addImage: string;
456
+ modifyImage: string;
457
+ cancel: string;
458
+ update: string;
459
+ url: string;
460
+ }
461
+ interface ScrollToTopText {
462
+ scrollToTop: string;
463
+ }
464
+ interface SlideoverText {
465
+ close: string;
466
+ }
467
+ interface SliderText {
468
+ selectAValue: string;
469
+ enterAValue: string;
470
+ }
471
+ interface WeekPickerText {
472
+ openCalendar: string;
473
+ selectWeek: string;
474
+ selectYear: string;
475
+ selectMonth: string;
476
+ january: string;
477
+ february: string;
478
+ march: string;
479
+ april: string;
480
+ may: string;
481
+ june: string;
482
+ july: string;
483
+ august: string;
484
+ september: string;
485
+ october: string;
486
+ november: string;
487
+ december: string;
488
+ sundayAbbr: string;
489
+ mondayAbbr: string;
490
+ tuesdayAbbr: string;
491
+ wednesdayAbbr: string;
492
+ thursdayAbbr: string;
493
+ fridayAbbr: string;
494
+ saturdayAbbr: string;
495
+ selectLastWeek: string;
496
+ lastWeek: string;
497
+ resetWeekSelection: string;
498
+ selectNextWeek: string;
499
+ nextWeek: string;
500
+ }
501
+
502
+ /**
503
+ * Particle Icon Select component provides a button and an icon picker that includes all of the Particle Icons as well as the FAS icons.
504
+ */
505
+ declare class IconSelectComponent implements ControlValueAccessor, OnDestroy {
506
+ private service;
507
+ private changeDetectorRef;
508
+ /**
509
+ * The number of items to display per page
510
+ * @private
511
+ */
512
+ private static readonly PAGE_SIZE;
513
+ /**
514
+ * Set the value of the icon select
515
+ * @param value the value to set
516
+ */
517
+ set value(value: string);
518
+ get value(): string;
519
+ /**
520
+ * Set disabled
521
+ * @param disabled whether or not the icon picker should be disabled
522
+ */
523
+ set disabled(disabled: boolean);
524
+ get disabled(): boolean;
525
+ /**
526
+ * Color class of the button
527
+ */
528
+ readonly buttonColorClass: _angular_core.InputSignal<string>;
529
+ /**
530
+ * The value to set to the button's width, min-width, height and min-height
531
+ */
532
+ readonly buttonSizing: _angular_core.InputSignal<string>;
533
+ readonly text: _angular_core.InputSignal<IconSelectText>;
534
+ /**
535
+ * Icon select opened event emitter
536
+ */
537
+ readonly opened: _angular_core.OutputEmitterRef<void>;
538
+ /**
539
+ * Icon selected event emitter
540
+ */
541
+ readonly selected: _angular_core.OutputEmitterRef<any>;
542
+ /**
543
+ * Dialog closed event emitter
544
+ */
545
+ readonly closed: _angular_core.OutputEmitterRef<any>;
546
+ /**
547
+ * The scrollable icon container
548
+ */
549
+ iconScrollContainer: ElementRef<HTMLDivElement>;
550
+ /**
551
+ * BehaviorSubject tracking the input value destructed into its prefix and class name
552
+ */
553
+ readonly _internalValue: BehaviorSubject<{
554
+ prefix: string;
555
+ name: string;
556
+ }>;
557
+ /**
558
+ * BehaviorSubject tracking the current filter value selection for icons
559
+ */
560
+ readonly _filter: BehaviorSubject<{
561
+ style: "all" | "solid" | "regular" | "brands";
562
+ type: "all" | "particle" | "fontawesome";
563
+ }>;
564
+ /**
565
+ * BehaviorSubject tracking the current icon search text value
566
+ */
567
+ readonly _searchText: BehaviorSubject<string>;
568
+ /**
569
+ * BehaviorSubject that emits when search button has been clicked
570
+ */
571
+ readonly _searchClick: BehaviorSubject<string>;
572
+ /**
573
+ * BehaviorSubject tracking the active pagination page
574
+ */
575
+ readonly _activePage: BehaviorSubject<number>;
576
+ /**
577
+ * Subject that emits on search input enter keyup
578
+ */
579
+ readonly _searchInputEnterKeyup: Subject<void>;
580
+ /**
581
+ * An array of all icons (as strings) that meet the current filter/search criteria as an Observable
582
+ * @private
583
+ */
584
+ private readonly icons$;
585
+ /**
586
+ * The count of total paginator pages as an Observable
587
+ */
588
+ readonly totalPages$: Observable<number>;
589
+ /**
590
+ * Observable boolean indicating whether or not the user can perform an icon text search
591
+ */
592
+ readonly canSearch$: Observable<boolean>;
593
+ /**
594
+ * Observable boolean indicating whether or not the user can paginate to the previous page
595
+ */
596
+ readonly canPaginatePrevious$: Observable<boolean>;
597
+ /**
598
+ * Observable boolean indicating whether or not the user can paginate to the next page
599
+ */
600
+ readonly canPaginateNext$: Observable<boolean>;
601
+ /**
602
+ * Paginated icons array as an Observable
603
+ */
604
+ readonly paginatedIcons$: Observable<Array<{
605
+ prefix: string;
606
+ name: string;
607
+ }>>;
608
+ /**
609
+ * Object that controls whether to show the dialog or not
610
+ */
611
+ showDialog: any;
612
+ /**
613
+ * Whether or not to show the icon selection preview
614
+ */
615
+ showIconSelectionPreview: boolean;
616
+ /**
617
+ * Subscription object to store search input enter keyup subscription
618
+ * @private
619
+ */
620
+ private readonly subscription;
621
+ /**
622
+ * The value of the icon select
623
+ * @private
624
+ */
625
+ private _value;
626
+ /**
627
+ * Whether or not the icon picker is disabled
628
+ * @private
629
+ */
630
+ private _disabled;
631
+ /**
632
+ * Function to call on change
633
+ */
634
+ onChange: (value: any) => void;
635
+ /**
636
+ * Function to call on touch
637
+ */
638
+ onTouched: () => any;
639
+ /**
640
+ * Dependency injection site
641
+ * @param service the IconsService
642
+ * @param changeDetectorRef the Angular ChangeDetectorRef
643
+ */
644
+ constructor();
645
+ /**
646
+ * Destroy component, unsubscribe from search input enter keyup subscription
647
+ */
648
+ ngOnDestroy(): void;
649
+ /**
650
+ * Write the input value
651
+ * @param value the value to write
652
+ */
653
+ writeValue(value: string): void;
654
+ /**
655
+ * Register onChange function
656
+ * @param fn the function to register
657
+ */
658
+ registerOnChange(fn: any): void;
659
+ /**
660
+ * Register onTouched function
661
+ * @param fn the function to register
662
+ */
663
+ registerOnTouched(fn: any): void;
664
+ /**
665
+ * Set disabled state
666
+ * @param isDisabled whether or not the icon picker should be disabled
667
+ */
668
+ setDisabledState(isDisabled: boolean): void;
669
+ /**
670
+ * Open the icon select dialog
671
+ */
672
+ openDialog(): void;
673
+ /**
674
+ * Close the icon select dialog
675
+ */
676
+ closeDialog(): void;
677
+ /**
678
+ * Handle filter select
679
+ * @param filter the selected filter
680
+ */
681
+ handleFilterSelect(filter: {
682
+ style: 'all' | 'solid' | 'regular' | 'brands';
683
+ type: 'all' | 'particle' | 'fontawesome';
684
+ }): void;
685
+ /**
686
+ * Update internal value on icon select
687
+ * @param icon the selected icon
688
+ */
689
+ handleIconSelect(icon: {
690
+ prefix: string;
691
+ name: string;
692
+ }): void;
693
+ /**
694
+ * Write value on confirm
695
+ */
696
+ handleIconSelectConfirm(): void;
697
+ /**
698
+ * Go to the next pagination page
699
+ */
700
+ paginateNext(): void;
701
+ /**
702
+ * Go to the previous pagination page
703
+ */
704
+ paginatePrevious(): void;
705
+ /**
706
+ * Clear search text and reset paginator
707
+ */
708
+ clearSearch(): void;
709
+ /**
710
+ * Update model
711
+ * @param value the new value of the model
712
+ * @private
713
+ */
714
+ private updateModel;
715
+ /**
716
+ * Reset filtering/pagination BehaviorSubject values
717
+ * @private
718
+ */
719
+ private reset;
720
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IconSelectComponent, never>;
721
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IconSelectComponent, "particle-icon-select", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "buttonColorClass": { "alias": "buttonColorClass"; "required": false; "isSignal": true; }; "buttonSizing": { "alias": "buttonSizing"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "selected": "selected"; "closed": "closed"; }, never, never, true, never>;
722
+ }
723
+
724
+ /**
725
+ * Representation of a pagination event
726
+ */
727
+ interface PaginationEvent {
728
+ activePage: number;
729
+ pageSize: number;
730
+ totalLength: number;
731
+ }
732
+
733
+ /**
734
+ * A Particle paginator, because we hated the other ones on the market.
735
+ */
736
+ declare class PaginatorComponent implements OnChanges, AfterViewInit {
737
+ private _pageSize;
738
+ /**
739
+ * An array of potential page sizes.
740
+ */
741
+ readonly pageSizeOptions: _angular_core.InputSignal<number[]>;
742
+ /**
743
+ * Current page size
744
+ */
745
+ set pageSize(pageSize: number);
746
+ get pageSize(): number;
747
+ /**
748
+ * Total number of items
749
+ */
750
+ readonly totalLength: _angular_core.InputSignal<number>;
751
+ readonly showPages: _angular_core.InputSignal<boolean>;
752
+ readonly showFirstLast: _angular_core.InputSignal<boolean>;
753
+ readonly showButtonLabels: _angular_core.InputSignal<boolean>;
754
+ readonly showResultsPanel: _angular_core.InputSignal<boolean>;
755
+ readonly startingPage: _angular_core.InputSignalWithTransform<any, number>;
756
+ readonly text: _angular_core.InputSignal<PaginatorText>;
757
+ /**
758
+ * Event Emitter for pagination or page size change.
759
+ */
760
+ readonly paginate: _angular_core.OutputEmitterRef<PaginationEvent>;
761
+ /**
762
+ * Currently active page
763
+ */
764
+ activePage: number;
765
+ /**
766
+ * For the page jump text input
767
+ */
768
+ pageJumpInput: string;
769
+ /**
770
+ * Number of pages
771
+ */
772
+ numberOfPages: number;
773
+ pageStartingValue: number;
774
+ pageEndingValue: number;
775
+ Math: Math;
776
+ /**
777
+ * Recalculate number of pages on input change
778
+ */
779
+ ngOnChanges(): void;
780
+ ngAfterViewInit(): void;
781
+ private resetPageStartEndValues;
782
+ /**
783
+ * Goes to the first page
784
+ */
785
+ goToFirst(): void;
786
+ /**
787
+ * Goes to the last page
788
+ */
789
+ goToLast(): void;
790
+ /**
791
+ * Calculates the number of pages
792
+ */
793
+ getNumberOfPages(): number;
794
+ private _goToPage;
795
+ /**
796
+ * Goes to a given page and emits a pagination event
797
+ *
798
+ * @param pageNumber
799
+ * @param inputFocus
800
+ */
801
+ goToPage(pageNumber: number, inputFocus?: boolean): void;
802
+ /**
803
+ * Goes to a given page, but does not emit a pagination event
804
+ * @param pageNumber
805
+ * @param inputFocus
806
+ */
807
+ setActivePage(pageNumber: number, inputFocus?: boolean): void;
808
+ /**
809
+ * Emits a pagination event with the current paginator data
810
+ */
811
+ emitEvent(): void;
812
+ /**
813
+ * Determines whether a given page exists or not.
814
+ *
815
+ * @param pageNumber
816
+ */
817
+ hasPage(pageNumber: number): boolean;
818
+ /**
819
+ * Gets the first value for a given page
820
+ *
821
+ * @param pageNumber
822
+ */
823
+ getStartingValueForPage(pageNumber: number): number;
824
+ /**
825
+ * Gets the last value for a given page
826
+ *
827
+ * @param pageNumber
828
+ */
829
+ getEndingValueForPage(pageNumber: number): number;
830
+ /**
831
+ * When a page size is changed, go back to the first page and emit a pagination event
832
+ */
833
+ pageSizeChange(): void;
834
+ /**
835
+ * Jump to a page based on user input
836
+ */
837
+ jumpPage(): void;
838
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PaginatorComponent, never>;
839
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PaginatorComponent, "particle-paginator", never, { "pageSizeOptions": { "alias": "pageSizeOptions"; "required": false; "isSignal": true; }; "pageSize": { "alias": "pageSize"; "required": false; }; "totalLength": { "alias": "totalLength"; "required": false; "isSignal": true; }; "showPages": { "alias": "showPages"; "required": false; "isSignal": true; }; "showFirstLast": { "alias": "showFirstLast"; "required": false; "isSignal": true; }; "showButtonLabels": { "alias": "showButtonLabels"; "required": false; "isSignal": true; }; "showResultsPanel": { "alias": "showResultsPanel"; "required": false; "isSignal": true; }; "startingPage": { "alias": "startingPage"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "paginate": "paginate"; }, never, never, true, never>;
840
+ }
841
+
842
+ /**
843
+ * Profile Pic display shortcut
844
+ */
845
+ declare class ProfilePicComponent {
846
+ /**
847
+ * Size of the profile pic circle (default to 50px)
848
+ */
849
+ size: string;
850
+ /**
851
+ * Configurable CSS Margin
852
+ */
853
+ margin: string;
854
+ /**
855
+ * Tooltip to explain what the picture is
856
+ */
857
+ toolTip: string;
858
+ /**
859
+ * Disable the tooltip
860
+ */
861
+ tooltipDisabled: boolean;
862
+ /**
863
+ * Use gravatar instead of a custom image
864
+ */
865
+ set gravatarEmail(gravatarEmail: string);
866
+ /**
867
+ * Image URL of the profile pic
868
+ */
869
+ set imageUrl(imageUrl: string);
870
+ url: string;
871
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProfilePicComponent, never>;
872
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProfilePicComponent, "particle-profile-pic", never, { "size": { "alias": "size"; "required": false; }; "margin": { "alias": "margin"; "required": false; }; "toolTip": { "alias": "toolTip"; "required": false; }; "tooltipDisabled": { "alias": "tooltipDisabled"; "required": false; }; "gravatarEmail": { "alias": "gravatarEmail"; "required": false; }; "imageUrl": { "alias": "imageUrl"; "required": false; }; }, {}, never, never, true, never>;
873
+ }
874
+
875
+ interface RichTextCapabilities {
876
+ heading: boolean;
877
+ textDecoration: boolean;
878
+ list: boolean;
879
+ alignment: boolean;
880
+ link: boolean;
881
+ images: boolean;
882
+ }
883
+
884
+ declare const RICH_TEXT_VALUE_ACCESSOR: any;
885
+ declare class RichTextComponent implements ControlValueAccessor, AfterViewInit {
886
+ readonly placeholder: _angular_core.InputSignal<string>;
887
+ readonly hideControls: _angular_core.InputSignal<boolean>;
888
+ readonly height: _angular_core.InputSignal<string>;
889
+ get readonly(): boolean;
890
+ set readonly(readonly: boolean);
891
+ readonly text: _angular_core.InputSignal<RichTextEditorText>;
892
+ readonly capabilities: _angular_core.InputSignal<RichTextCapabilities>;
893
+ readonly borderRadius: _angular_core.InputSignal<string>;
894
+ readonly textChanged: _angular_core.OutputEmitterRef<{
895
+ htmlValue: string;
896
+ textValue: string;
897
+ }>;
898
+ showDialog: any;
899
+ dialogLink: string;
900
+ dialogType: string;
901
+ /**
902
+ * Function called on change
903
+ */
904
+ onChange: ((value: string) => void) | undefined;
905
+ /**
906
+ * Function called on touch
907
+ */
908
+ onTouched: (() => void) | undefined;
909
+ private _value;
910
+ private _editable;
911
+ protected readonly window: Window & typeof globalThis;
912
+ private CustomLink;
913
+ editor: Editor;
914
+ get value(): any;
915
+ set value(value: string);
916
+ ngAfterViewInit(): void;
917
+ writeValue(value: string): void;
918
+ registerOnChange(fn: any): void;
919
+ registerOnTouched(fn: any): void;
920
+ setDisabledState(isDisabled: boolean): void;
921
+ openLinkDialog(): void;
922
+ openImageDialog(): void;
923
+ changeEditorLink(action: string): void;
924
+ focus(position?: any): void;
925
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RichTextComponent, never>;
926
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RichTextComponent, "particle-rich-text", never, { "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "hideControls": { "alias": "hideControls"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "readonly": { "alias": "readonly"; "required": false; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "capabilities": { "alias": "capabilities"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; }, { "textChanged": "textChanged"; }, never, never, true, never>;
927
+ }
928
+
929
+ /**
930
+ * Component to display a dialog with dynamic content
931
+ */
932
+ declare class DialogComponent {
933
+ private dialogService;
934
+ /**
935
+ * Element reference to the dialog close button
936
+ */
937
+ closeButton: ElementRef<HTMLButtonElement>;
938
+ protected isMaximized: boolean;
939
+ /**
940
+ * Observable to update the effective width of the dialog on screen resize
941
+ */
942
+ effectiveWidth$: Observable<string>;
943
+ /**
944
+ * Object to operate whether the dialog is open/closed
945
+ */
946
+ private _object;
947
+ /**
948
+ * Object to operate whether the dialog is open/closed
949
+ */
950
+ set object(value: any);
951
+ get object(): any;
952
+ /**
953
+ * Title to show at the top of the dialog
954
+ */
955
+ readonly title: _angular_core.InputSignal<string>;
956
+ /**
957
+ * Class to apply to the title of the dialog
958
+ */
959
+ readonly titleClass: _angular_core.InputSignal<string>;
960
+ /**
961
+ * Show or hide the title bar
962
+ */
963
+ readonly showTitle: _angular_core.InputSignal<boolean>;
964
+ /**
965
+ * Whether to show close button and allow escape to close
966
+ */
967
+ readonly allowClose: _angular_core.InputSignal<boolean>;
968
+ /**
969
+ * Class to apply to the body of the dialog
970
+ */
971
+ readonly bodyClass: _angular_core.InputSignal<string>;
972
+ /**
973
+ * Height of the dialog (can use any height measurement)
974
+ */
975
+ readonly height: _angular_core.InputSignal<string>;
976
+ /**
977
+ * Width of the dialog (can use any width measurement)
978
+ */
979
+ readonly width: _angular_core.InputSignal<string>;
980
+ readonly borderRadius: _angular_core.InputSignal<string>;
981
+ readonly text: _angular_core.InputSignal<DialogText>;
982
+ /**
983
+ * Event Emitter for when the dialog is closed
984
+ */
985
+ readonly closed: _angular_core.OutputEmitterRef<void>;
986
+ /**
987
+ * Event emitted when dialog has finished opening
988
+ */
989
+ readonly opened: _angular_core.OutputEmitterRef<void>;
990
+ toggleMaximize(): void;
991
+ /**
992
+ * Null the object to close the dialog, emit the close event.
993
+ */
994
+ close(): void;
995
+ /**
996
+ * Emit closed/opened events based on state when dialog animation ends
997
+ * @param event
998
+ */
999
+ onAnimationDone(event: AnimationEvent): void;
1000
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogComponent, never>;
1001
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DialogComponent, "particle-dialog", never, { "object": { "alias": "object"; "required": false; }; "title": { "alias": "title"; "required": false; "isSignal": true; }; "titleClass": { "alias": "titleClass"; "required": false; "isSignal": true; }; "showTitle": { "alias": "showTitle"; "required": false; "isSignal": true; }; "allowClose": { "alias": "allowClose"; "required": false; "isSignal": true; }; "bodyClass": { "alias": "bodyClass"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "closed": "closed"; "opened": "opened"; }, never, ["*"], true, never>;
1002
+ }
1003
+
1004
+ /**
1005
+ * Component to display a popover with custom content
1006
+ */
1007
+ declare class PopoverComponent implements OnDestroy {
1008
+ private renderer;
1009
+ protected readonly window: Window & typeof globalThis;
1010
+ /**
1011
+ * The offset of the popover from its target (in pixels)
1012
+ */
1013
+ readonly offset: _angular_core.InputSignal<number>;
1014
+ /**
1015
+ * Set the width of the popover in pixels (defaults to auto)
1016
+ */
1017
+ set width(width: string);
1018
+ get width(): string;
1019
+ /**
1020
+ * Set the height of the popover in pixels (defaults to auto)
1021
+ */
1022
+ set height(height: string);
1023
+ get height(): string;
1024
+ /**
1025
+ * A class-list to apply to the popover content
1026
+ */
1027
+ readonly classList: _angular_core.InputSignal<string>;
1028
+ readonly targetOverride: _angular_core.InputSignal<EventTarget>;
1029
+ readonly openDirection: _angular_core.InputSignal<"above" | "below">;
1030
+ readonly alignment: _angular_core.InputSignal<"left" | "center">;
1031
+ readonly scaleForMobile: _angular_core.InputSignal<string>;
1032
+ /**
1033
+ * Event emitted on popover open
1034
+ */
1035
+ readonly opened: _angular_core.OutputEmitterRef<void>;
1036
+ /**
1037
+ * Event emitted on popover close
1038
+ */
1039
+ readonly closed: _angular_core.OutputEmitterRef<void>;
1040
+ /**
1041
+ * Whether the popover should render
1042
+ */
1043
+ render: boolean;
1044
+ /**
1045
+ * Whether the popover is visible
1046
+ */
1047
+ visible: boolean;
1048
+ /**
1049
+ * The width of the popover
1050
+ */
1051
+ private _width;
1052
+ /**
1053
+ * The height of the popover
1054
+ */
1055
+ private _height;
1056
+ /**
1057
+ * The element to target
1058
+ * @private
1059
+ */
1060
+ private target;
1061
+ /**
1062
+ * The popover content container
1063
+ * @private
1064
+ */
1065
+ private container;
1066
+ /**
1067
+ * Array of escape keyup unlisten functions
1068
+ * @private
1069
+ */
1070
+ private escapeKeyUpUnlisteners;
1071
+ /**
1072
+ * Destroy component, clean up event listeners
1073
+ */
1074
+ ngOnDestroy(): void;
1075
+ /**
1076
+ * Close popover on click
1077
+ * @param event the click MouseEvent
1078
+ */
1079
+ onClick(event: MouseEvent): void;
1080
+ /**
1081
+ * Re-position popover on window resize
1082
+ */
1083
+ onWindowResize(): void;
1084
+ /**
1085
+ * Toggle the popover from open to closed or closed to open
1086
+ * @param event the event whose target element will act as
1087
+ * the popover target. If an event is not provided,
1088
+ * the popover will close
1089
+ */
1090
+ toggle(event?: Event): void;
1091
+ /**
1092
+ * Handle animation start
1093
+ * @param event the AnimationEvent
1094
+ */
1095
+ onAnimationStart(event: AnimationEvent): void;
1096
+ /**
1097
+ * Handle animation end
1098
+ * @param event the AnimationEvent
1099
+ */
1100
+ onAnimationDone(event: AnimationEvent): void;
1101
+ /**
1102
+ * Open the popover
1103
+ * @private
1104
+ */
1105
+ private open;
1106
+ /**
1107
+ * Close the popover
1108
+ */
1109
+ close(): void;
1110
+ /**
1111
+ * Position the popover
1112
+ * @private
1113
+ */
1114
+ private positionPopover;
1115
+ /**
1116
+ * Add escape keyup listeners to all focusable elements to close
1117
+ * the popover
1118
+ * @private
1119
+ */
1120
+ private addEventListeners;
1121
+ /**
1122
+ * Get all focusable child elements of the input node
1123
+ * @param node the node to query for focusable children
1124
+ * @param elements the found focusable elements
1125
+ * @private
1126
+ */
1127
+ private getFocusableElements;
1128
+ /**
1129
+ * Invoke escape keyup unlisten functions
1130
+ * @private
1131
+ */
1132
+ private removeEventListeners;
1133
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PopoverComponent, never>;
1134
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PopoverComponent, "particle-popover", never, { "offset": { "alias": "offset"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; }; "height": { "alias": "height"; "required": false; }; "classList": { "alias": "classList"; "required": false; "isSignal": true; }; "targetOverride": { "alias": "targetOverride"; "required": false; "isSignal": true; }; "openDirection": { "alias": "openDirection"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "scaleForMobile": { "alias": "scaleForMobile"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, ["*"], true, never>;
1135
+ }
1136
+
1137
+ /**
1138
+ * Component to allow a user to input/select a date
1139
+ */
1140
+ declare class DatePickerComponent implements ControlValueAccessor, OnDestroy, OnInit {
1141
+ private renderer;
1142
+ private changeDetectorRef;
1143
+ /**
1144
+ * Allowed keys for date input
1145
+ */
1146
+ private static readonly ALLOWED_KEYS;
1147
+ /**
1148
+ * Matches YYYY-MM-DD
1149
+ * @private
1150
+ */
1151
+ private static readonly BROWSER_DATE_PICKER_FORMAT;
1152
+ /**
1153
+ * Matches MM/DD/YYYY
1154
+ * @private
1155
+ */
1156
+ private static readonly FULL_DATE_FORMAT;
1157
+ /**
1158
+ * Matches M/D/YYYY
1159
+ * @private
1160
+ */
1161
+ private static readonly SHORT_DATE_FORMAT;
1162
+ /**
1163
+ * Matches M/DD/YYYY
1164
+ * @private
1165
+ */
1166
+ private static readonly SHORT_MONTH_DATE_FORMAT;
1167
+ /**
1168
+ * Matches MM/D/YYYY
1169
+ * @private
1170
+ */
1171
+ private static readonly SHORT_DAY_DATE_FORMAT;
1172
+ /**
1173
+ * A reference date with all fields set to 0
1174
+ * @private
1175
+ */
1176
+ private static readonly referenceDate;
1177
+ /**
1178
+ * Value input setter
1179
+ */
1180
+ set value(value: Date);
1181
+ /**
1182
+ * Value getter
1183
+ */
1184
+ get value(): Date;
1185
+ set disabled(disabled: boolean);
1186
+ /**
1187
+ * Disabled getter
1188
+ */
1189
+ get disabled(): boolean;
1190
+ set dateRange(dateRange: {
1191
+ minDate: Date;
1192
+ maxDate: Date;
1193
+ });
1194
+ /**
1195
+ * The ID to set on the input
1196
+ */
1197
+ readonly inputId: _angular_core.InputSignal<string>;
1198
+ /**
1199
+ * Value to use as the date picker input's aria label
1200
+ */
1201
+ readonly ariaLabel: _angular_core.InputSignal<string>;
1202
+ /**
1203
+ * Optional class-list to add to the date picker input
1204
+ */
1205
+ readonly inputClassList: _angular_core.InputSignal<any>;
1206
+ /**
1207
+ * Optional class-list to add to the calendar button
1208
+ */
1209
+ readonly calendarButtonClassList: _angular_core.InputSignal<string>;
1210
+ /**
1211
+ * Close the picker when a selection is made
1212
+ */
1213
+ readonly closeOnSelect: _angular_core.InputSignal<boolean>;
1214
+ /**
1215
+ * Placeholder override
1216
+ */
1217
+ readonly placeholder: _angular_core.InputSignal<string>;
1218
+ readonly inputOnly: _angular_core.InputSignal<boolean>;
1219
+ private _text;
1220
+ set text(text: DatePickerText);
1221
+ get text(): DatePickerText;
1222
+ /**
1223
+ * Event emitted on date picker input
1224
+ */
1225
+ readonly input: _angular_core.OutputEmitterRef<void>;
1226
+ /**
1227
+ * Event emitted on valid date selection/input
1228
+ */
1229
+ readonly dateSelected: _angular_core.OutputEmitterRef<Date>;
1230
+ /**
1231
+ * ViewChild of the date picker div
1232
+ */
1233
+ datePickerDiv: ElementRef<HTMLDivElement>;
1234
+ /**
1235
+ * ViewChild of the calendar div
1236
+ */
1237
+ calendarDiv: ElementRef<HTMLDivElement>;
1238
+ calendarPopover: PopoverComponent;
1239
+ /**
1240
+ * The current date
1241
+ */
1242
+ private readonly currentDate;
1243
+ /**
1244
+ * The fixed height of the calendar widget
1245
+ */
1246
+ private readonly calendarHeight;
1247
+ /**
1248
+ * The fixed width of the calendar widget
1249
+ */
1250
+ private readonly calendarWidth;
1251
+ /**
1252
+ * The amount of padding to apply between the date picker input and the calendar widget
1253
+ */
1254
+ private readonly calendarPadding;
1255
+ /**
1256
+ * String tracking date picker input
1257
+ */
1258
+ dateString: string;
1259
+ mobileDateString: string;
1260
+ /**
1261
+ * Whether to show the calendar
1262
+ */
1263
+ showCalendar: {
1264
+ currentValue: Date;
1265
+ };
1266
+ /**
1267
+ * In mobile (screen width is less than 768), swap to a native input
1268
+ */
1269
+ isMobile: boolean;
1270
+ /**
1271
+ * The valid selection interval
1272
+ * @private
1273
+ */
1274
+ validSelectionInterval: {
1275
+ start: Date;
1276
+ end: Date;
1277
+ };
1278
+ /**
1279
+ * The internal control accessor value
1280
+ * @private
1281
+ */
1282
+ private _value;
1283
+ /**
1284
+ * The internal disabled state
1285
+ * @private
1286
+ */
1287
+ private _disabled;
1288
+ /**
1289
+ * Window resize unlisten function
1290
+ */
1291
+ private resizeListener;
1292
+ /**
1293
+ * Parse the input Date value into a string
1294
+ * @param value the value to parse
1295
+ * @private
1296
+ */
1297
+ private static parseDate;
1298
+ /**
1299
+ * Parse the input date string into a Date
1300
+ * @param dateString the string to parse
1301
+ * @private
1302
+ */
1303
+ private static parseDateString;
1304
+ /**
1305
+ * Get the date format that matches the input date string, null if no match
1306
+ * @param dateString the string to test
1307
+ * @private
1308
+ */
1309
+ private static getDateFormat;
1310
+ /**
1311
+ * Function to call on change
1312
+ */
1313
+ onChange: (value: any) => void;
1314
+ /**
1315
+ * Function to call on touch
1316
+ */
1317
+ onTouched: () => any;
1318
+ onWindowResize(event: any): void;
1319
+ /**
1320
+ * Init component, set up window resize listener
1321
+ */
1322
+ ngOnInit(): void;
1323
+ /**
1324
+ * Destroy component, invoke window resize unlisten function
1325
+ */
1326
+ ngOnDestroy(): void;
1327
+ /**
1328
+ * Write value
1329
+ * @param value the value to write
1330
+ */
1331
+ writeValue(value: Date): void;
1332
+ /**
1333
+ * Register control value accessor change function
1334
+ * @param fn the function to register
1335
+ */
1336
+ registerOnChange(fn: (value: any) => void): void;
1337
+ /**
1338
+ * Register touch handler
1339
+ * @param fn the touch handler to register
1340
+ */
1341
+ registerOnTouched(fn: any): void;
1342
+ /**
1343
+ * Set the disabled state
1344
+ * @param isDisabled whether or not the component should be disabled
1345
+ */
1346
+ setDisabledState?(isDisabled: boolean): void;
1347
+ /**
1348
+ * Only allow input from digits, forward slashes, and navigation keys
1349
+ */
1350
+ filterInput(event: KeyboardEvent): void;
1351
+ /**
1352
+ * Clear value if no input, write parsed date if input requirements fulfilled
1353
+ */
1354
+ handleBlur(): void;
1355
+ /**
1356
+ * Write on input if valid date within interval
1357
+ */
1358
+ handleInput(): void;
1359
+ handleMobileInput(): void;
1360
+ setMobileValue(): void;
1361
+ /**
1362
+ * Update the model value
1363
+ * @param value the value to update the model to
1364
+ */
1365
+ updateModel(value: Date): void;
1366
+ /**
1367
+ * Open the calendar widget
1368
+ * @param event the click MouseEvent
1369
+ */
1370
+ openCalendar(event?: MouseEvent): void;
1371
+ /**
1372
+ * Hide calendar overlay and remove calendar from the DOM
1373
+ */
1374
+ handleCalendarClose(): void;
1375
+ /**
1376
+ * Calculate and set the calendar's position based on the screen height.
1377
+ * Positioning prefers to open at the bottom, if not enough room on bottom,
1378
+ * positioning is attempted at the top, otherwise it attempts to vertically
1379
+ * center
1380
+ */
1381
+ private setCalendarPosition;
1382
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DatePickerComponent, never>;
1383
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DatePickerComponent, "particle-date-picker", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dateRange": { "alias": "dateRange"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "inputClassList": { "alias": "inputClassList"; "required": false; "isSignal": true; }; "calendarButtonClassList": { "alias": "calendarButtonClassList"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "placeholder": { "alias": "placeholder"; "required": false; "isSignal": true; }; "inputOnly": { "alias": "inputOnly"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; }; }, { "input": "input"; "dateSelected": "dateSelected"; }, never, never, true, never>;
1384
+ }
1385
+
1386
+ /**
1387
+ * Interface representing a date interval
1388
+ */
1389
+ declare interface Interval {
1390
+ start: Date | number;
1391
+ end: Date | number;
1392
+ }
1393
+ /**
1394
+ * Interface representing a Date broken down by date/month/year
1395
+ * with extended metadata
1396
+ */
1397
+ declare interface MetaDate$1 {
1398
+ /**
1399
+ * The day of the week (starting at 0)
1400
+ */
1401
+ day: number;
1402
+ /**
1403
+ * The day of the month (starting at 1)
1404
+ */
1405
+ date: number;
1406
+ /**
1407
+ * The month (starting at 0)
1408
+ */
1409
+ month: number;
1410
+ /**
1411
+ * The full year
1412
+ */
1413
+ year: number;
1414
+ /**
1415
+ * Whether the day is selectable
1416
+ */
1417
+ selectable: boolean;
1418
+ }
1419
+ /**
1420
+ * Component that allows a user to select a date from a calendar
1421
+ */
1422
+ declare class CalendarComponent implements OnDestroy, OnInit {
1423
+ /**
1424
+ * The keyboard arrow keys
1425
+ * @private
1426
+ */
1427
+ private static readonly ARROW_KEYS;
1428
+ /**
1429
+ * ViewChild of the calendar widget parent div element
1430
+ */
1431
+ calendarWidgetDiv: ElementRef<HTMLDivElement>;
1432
+ /**
1433
+ * ViewChild of the month select element
1434
+ */
1435
+ yearSelect: ElementRef<HTMLSelectElement>;
1436
+ /**
1437
+ * ViewChild of the done button
1438
+ */
1439
+ doneButton: ElementRef<HTMLButtonElement>;
1440
+ /**
1441
+ * QueryList of the calendar date buttons for the currently selected month/year
1442
+ */
1443
+ calendarDates: QueryList<ElementRef<HTMLButtonElement>>;
1444
+ /**
1445
+ * The selected date value
1446
+ */
1447
+ set value(value: Date);
1448
+ /**
1449
+ * The range of available dates to choose from
1450
+ */
1451
+ set dateRange(dateRange: {
1452
+ minDate: Date;
1453
+ maxDate: Date;
1454
+ });
1455
+ set text(text: CalendarText);
1456
+ get text(): CalendarText;
1457
+ readonly showControls: _angular_core.InputSignal<boolean>;
1458
+ private _text;
1459
+ /**
1460
+ * Event emitted on date select
1461
+ */
1462
+ readonly selected: _angular_core.OutputEmitterRef<Date>;
1463
+ /**
1464
+ * Event emitted on close (either through the button, escape keyup or click off of widget).
1465
+ * Note: it is the parent component's job to actually hide the calendar, this event
1466
+ * acts as a signal that that action should be taken
1467
+ */
1468
+ readonly closed: _angular_core.OutputEmitterRef<void>;
1469
+ /**
1470
+ * The current Date broken down by day/month/year
1471
+ */
1472
+ readonly currentDate: MetaDate$1;
1473
+ /**
1474
+ * Array of days of the week
1475
+ */
1476
+ weekDays: string[];
1477
+ /**
1478
+ * BehaviorSubject tracking the current value
1479
+ */
1480
+ readonly _value: BehaviorSubject<MetaDate$1>;
1481
+ /**
1482
+ * BehaviorSubject tracking the valid selection interval
1483
+ */
1484
+ readonly _validSelectionInterval: BehaviorSubject<Interval>;
1485
+ /**
1486
+ * BehaviorSubject tracking the currently selected month
1487
+ */
1488
+ readonly _selectedMonth: BehaviorSubject<number>;
1489
+ /**
1490
+ * BehaviorSubject tracking the currently selected year
1491
+ */
1492
+ readonly _selectedYear: BehaviorSubject<number>;
1493
+ /**
1494
+ * The full month for the current selected month/year
1495
+ */
1496
+ readonly fullMonth$: Observable<Array<MetaDate$1>>;
1497
+ /**
1498
+ * The range of selectable years as an Observable
1499
+ */
1500
+ readonly validYearRange$: Observable<Array<number>>;
1501
+ /**
1502
+ * Subscription for the combination of value and valid selection interval
1503
+ * @private
1504
+ */
1505
+ private readonly subscription;
1506
+ /**
1507
+ * The currently selected date
1508
+ */
1509
+ selectedDate: MetaDate$1 | null;
1510
+ /**
1511
+ * Generate a 42 element array representing the input month's days with
1512
+ * padding from the previous/following month
1513
+ * @param month the month to generate dates for
1514
+ * @param year the year to generate the month for
1515
+ * @param selectionInterval the selection interval
1516
+ */
1517
+ private static generateMonth;
1518
+ /**
1519
+ * Generate an Array of numbers representing the span of years between the input
1520
+ * @param minYear the start of the range
1521
+ * @param maxYear the end of the range
1522
+ * @param currentYear the current year
1523
+ */
1524
+ private static generateYearRange;
1525
+ constructor();
1526
+ /**
1527
+ * Init component
1528
+ */
1529
+ ngOnInit(): void;
1530
+ /**
1531
+ * Destroy component, unsubscribe from any active subscriptions
1532
+ */
1533
+ ngOnDestroy(): void;
1534
+ /**
1535
+ * Handle window keyup events
1536
+ * @param event the keyup KeyboardEvent
1537
+ */
1538
+ onKeyUp(event: KeyboardEvent): void;
1539
+ /**
1540
+ * Emit closed event on click if clicked outside calendar widget
1541
+ * @param event the click MouseEvent
1542
+ */
1543
+ handleClick(event: MouseEvent): void;
1544
+ /**
1545
+ * Update selected date and emit selection event
1546
+ * @param selectedDate the selected date
1547
+ */
1548
+ handleDateSelection(selectedDate: MetaDate$1): void;
1549
+ /**
1550
+ * Select the current date and toggle selected month/year to match
1551
+ */
1552
+ selectToday(): void;
1553
+ /**
1554
+ * Handle arrow key navigation for calendar date buttons
1555
+ * @param key the pressed arrow key
1556
+ * @private
1557
+ */
1558
+ private onArrowKeyUp;
1559
+ /**
1560
+ * Attempt to focus on date indexed immediately to the left of the input date
1561
+ * @param date the day of the month
1562
+ * @private
1563
+ */
1564
+ private navigateLeft;
1565
+ /**
1566
+ * Attempt to focus on date indexed immediately to the right of the input date
1567
+ * @param date the day of the month
1568
+ * @private
1569
+ */
1570
+ private navigateRight;
1571
+ /**
1572
+ * Attempt to navigate one week in the past from the input date
1573
+ * @param date the day of the month
1574
+ * @private
1575
+ */
1576
+ private navigateUp;
1577
+ /**
1578
+ * Attempt to navigate one week in the future from the input date
1579
+ * @param date the day of the month
1580
+ * @private
1581
+ */
1582
+ private navigateDown;
1583
+ clear(): void;
1584
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarComponent, never>;
1585
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CalendarComponent, "particle-calendar", never, { "value": { "alias": "value"; "required": false; }; "dateRange": { "alias": "dateRange"; "required": false; }; "text": { "alias": "text"; "required": false; }; "showControls": { "alias": "showControls"; "required": false; "isSignal": true; }; }, { "selected": "selected"; "closed": "closed"; }, never, never, true, never>;
1586
+ }
1587
+
1588
+ declare class DateRangePickerComponent implements ControlValueAccessor, AfterViewInit {
1589
+ private changeDetectorRef;
1590
+ currentYear: number;
1591
+ _disabled: boolean;
1592
+ private _value$;
1593
+ private _lastValue;
1594
+ private _init;
1595
+ valueObs$: rxjs.Observable<any>;
1596
+ readonly inputId: _angular_core.InputSignal<string>;
1597
+ readonly inputClassList: _angular_core.InputSignal<string>;
1598
+ readonly calendarButtonClassList: _angular_core.InputSignal<string>;
1599
+ readonly text: _angular_core.InputSignal<DateRangePickerText>;
1600
+ set dateRange(value: {
1601
+ minDate: Date;
1602
+ maxDate: Date;
1603
+ });
1604
+ get dateRange(): {
1605
+ minDate: Date;
1606
+ maxDate: Date;
1607
+ };
1608
+ get endDateRange(): {
1609
+ minDate: Date;
1610
+ maxDate: Date;
1611
+ };
1612
+ private _dateRange;
1613
+ private _endDateRange;
1614
+ set value(value: {
1615
+ start: Date;
1616
+ end: Date;
1617
+ });
1618
+ get value(): {
1619
+ start: Date;
1620
+ end: Date;
1621
+ };
1622
+ set disabled(disabled: boolean);
1623
+ get disabled(): boolean;
1624
+ readonly ariaLabel: _angular_core.InputSignal<string>;
1625
+ /**
1626
+ * Format for the selected date range in the selection preview. Must
1627
+ * be a valid Angular DatePipe format
1628
+ */
1629
+ readonly dateFormat: _angular_core.InputSignal<string>;
1630
+ calendarPopover: PopoverComponent;
1631
+ beginCalendar: CalendarComponent;
1632
+ endCalendar: CalendarComponent;
1633
+ ngAfterViewInit(): void;
1634
+ get beginDate(): Date;
1635
+ set beginDate(beginDate: Date);
1636
+ get endDate(): Date;
1637
+ set endDate(endDate: Date);
1638
+ /**
1639
+ * Function to call on change
1640
+ */
1641
+ onChange: (value: any) => void;
1642
+ /**
1643
+ * Function to call on touch
1644
+ */
1645
+ onTouched: () => any;
1646
+ /**
1647
+ * Write value
1648
+ * @param value the value to write
1649
+ */
1650
+ writeValue(value: {
1651
+ start: Date;
1652
+ end: Date;
1653
+ }): void;
1654
+ /**
1655
+ * Register function on change
1656
+ * @param fn the function to change
1657
+ */
1658
+ registerOnChange(fn: any): void;
1659
+ /**
1660
+ * Register function on touch
1661
+ * @param fn the function to register
1662
+ */
1663
+ registerOnTouched(fn: any): void;
1664
+ /**
1665
+ * Set disabled state
1666
+ * @param isDisabled whether or not the control is disabled
1667
+ */
1668
+ setDisabledState(isDisabled: boolean): void;
1669
+ openCalendar(event: Event): void;
1670
+ updateModel(isBegin: boolean, date: Date): void;
1671
+ checkState(): void;
1672
+ clear(): void;
1673
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DateRangePickerComponent, never>;
1674
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DateRangePickerComponent, "particle-date-range-picker", never, { "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "inputClassList": { "alias": "inputClassList"; "required": false; "isSignal": true; }; "calendarButtonClassList": { "alias": "calendarButtonClassList"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "dateRange": { "alias": "dateRange"; "required": false; }; "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1675
+ }
1676
+
1677
+ /**
1678
+ * Interface representing a dropdown option
1679
+ */
1680
+ interface DropdownOption {
1681
+ type?: 'option';
1682
+ /**
1683
+ * The value of the dropdown option
1684
+ */
1685
+ value: string | number;
1686
+ /**
1687
+ * The label of the dropdown option
1688
+ */
1689
+ label: string;
1690
+ /**
1691
+ * Whether or not the option is disabled
1692
+ */
1693
+ disabled?: boolean;
1694
+ /**
1695
+ * Data context object containing properties to fill
1696
+ * dropdown option template placeholders
1697
+ */
1698
+ dataContext?: {
1699
+ [key: string]: unknown;
1700
+ };
1701
+ }
1702
+
1703
+ /**
1704
+ * Interface representing an array of dropdown options
1705
+ * grouped under a label
1706
+ */
1707
+ interface DropdownOptionGroup {
1708
+ type?: 'group';
1709
+ /**
1710
+ * The option group label
1711
+ */
1712
+ groupLabel: string;
1713
+ /**
1714
+ * The group options
1715
+ */
1716
+ options: Array<DropdownOption>;
1717
+ }
1718
+
1719
+ /**
1720
+ * Type representing the dropdown component option input
1721
+ */
1722
+ declare type DropdownOptionInput = Array<DropdownOption | DropdownOptionGroup>;
1723
+ /**
1724
+ * Dropdown component
1725
+ */
1726
+ declare class DropdownComponent implements ControlValueAccessor {
1727
+ private renderer;
1728
+ private changeDetectorRef;
1729
+ /**
1730
+ * Set the value of the dropdown
1731
+ * @param value the value to set
1732
+ */
1733
+ set value(value: string | number);
1734
+ get value(): string | number;
1735
+ /**
1736
+ * The dropdown options/option groups
1737
+ */
1738
+ set options(options: DropdownOptionInput);
1739
+ /**
1740
+ * Dependency injection site
1741
+ * @param renderer the Angular renderer
1742
+ * @param changeDetectorRef reference to the Angular change detector
1743
+ */
1744
+ constructor();
1745
+ /**
1746
+ * The amount of offset (in pixels) to place between the dropdown
1747
+ * and its list overlay
1748
+ * @private
1749
+ */
1750
+ private static readonly DROPDOWN_LIST_OFFSET;
1751
+ /**
1752
+ * List of arrow key keycodes
1753
+ * @private
1754
+ */
1755
+ private static readonly ARROW_KEYS;
1756
+ /**
1757
+ * ViewChild of the dropdown
1758
+ */
1759
+ dropdown: ElementRef<HTMLDivElement>;
1760
+ /**
1761
+ * ViewChild of the dropdown button
1762
+ */
1763
+ dropdownButton: ElementRef<HTMLButtonElement>;
1764
+ /**
1765
+ * ViewChild of the dropdown list
1766
+ */
1767
+ dropdownList: ElementRef<HTMLDivElement>;
1768
+ /**
1769
+ * QueryList of dropdown option ViewChildren
1770
+ */
1771
+ dropdownOptions: QueryList<ElementRef<HTMLButtonElement>>;
1772
+ /**
1773
+ * ContentChild of the dropdown option template
1774
+ */
1775
+ template: TemplateRef<HTMLElement>;
1776
+ /**
1777
+ * Whether the dropdown should be disabled
1778
+ */
1779
+ readonly disabled: _angular_core.ModelSignal<boolean>;
1780
+ readonly text: _angular_core.InputSignal<DropdownText>;
1781
+ /**
1782
+ * Class list to assign to the dropdown
1783
+ */
1784
+ readonly classList: _angular_core.InputSignal<string>;
1785
+ readonly buttonClassList: _angular_core.InputSignal<string>;
1786
+ readonly collapsedButtonTemplate: _angular_core.InputSignal<TemplateRef<any>>;
1787
+ readonly collapsedButtonTooltipEnabled: _angular_core.InputSignal<boolean>;
1788
+ readonly dropdownBoxMinWidth: _angular_core.InputSignal<number>;
1789
+ /**
1790
+ * Event emitted on value change, emits the new value
1791
+ */
1792
+ readonly changed: _angular_core.OutputEmitterRef<string | number>;
1793
+ /**
1794
+ * BehaviorSubject tracking the input dropdown options/option groups
1795
+ */
1796
+ readonly _options: BehaviorSubject<DropdownOptionInput>;
1797
+ /**
1798
+ * Full list of all active options, whether they are in a group or not
1799
+ * @private
1800
+ */
1801
+ private _allOptions;
1802
+ /**
1803
+ * Typeahead string while users are typing into the input field
1804
+ * @private
1805
+ */
1806
+ private _fullPredictiveTextString;
1807
+ /**
1808
+ * Timeout to clear the _fullPredictiveTextString after a user stops typing for a certain amount of time
1809
+ * @private
1810
+ */
1811
+ private _timeout;
1812
+ /**
1813
+ * BehaviorSubject tracking the current value of the dropdown
1814
+ */
1815
+ readonly _internalValue: BehaviorSubject<string | number>;
1816
+ /**
1817
+ * Observable map of option value (stringified if a number) to data context
1818
+ */
1819
+ private readonly dataContextMap$;
1820
+ /**
1821
+ * The data context of the selected option as an Observable
1822
+ */
1823
+ readonly selectedDataContext$: Observable<Record<string, unknown>>;
1824
+ tooltipData$: Observable<unknown>;
1825
+ private static getAllOptions;
1826
+ /**
1827
+ * Unique ID to assign to the dropdown
1828
+ */
1829
+ readonly dropdownId: any;
1830
+ /**
1831
+ * Whether the dropdown should be rendered
1832
+ */
1833
+ render: boolean;
1834
+ /**
1835
+ * Whether the dropdown is open
1836
+ */
1837
+ opened: boolean;
1838
+ /**
1839
+ * The index of the focused option in the dropdown list
1840
+ */
1841
+ selectionIndex: number;
1842
+ /**
1843
+ * In mobile (screen width is less than 768), swap to a native input
1844
+ */
1845
+ isMobile: boolean;
1846
+ /**
1847
+ * The current value of the dropdown
1848
+ * @private
1849
+ */
1850
+ private _value;
1851
+ /**
1852
+ * Removes options that do not have both a label and a value,
1853
+ * also removes empty groups (or groups that have no valid options)
1854
+ * @param options the options to sanitize
1855
+ * @private
1856
+ */
1857
+ private static sanitizeOptionInput;
1858
+ /**
1859
+ * Add option label to data context if not present. If $implicit
1860
+ * value is not present, it will be added with the label as its value.
1861
+ * If $implicit is already present, it will add a label key to the context
1862
+ * @param label the option label
1863
+ * @param dataContext the option data context
1864
+ * @private
1865
+ */
1866
+ private static addLabelToDataContext;
1867
+ /**
1868
+ * Function to call on change
1869
+ */
1870
+ onChange: (value: any) => void;
1871
+ /**
1872
+ * Function to call on touch
1873
+ */
1874
+ onTouched: () => any;
1875
+ /**
1876
+ * Write value
1877
+ * @param value the value to write
1878
+ */
1879
+ writeValue(value: string | number): void;
1880
+ /**
1881
+ * Register function on change
1882
+ * @param fn the function to register
1883
+ */
1884
+ registerOnChange(fn: any): void;
1885
+ /**
1886
+ * Register function on touch
1887
+ * @param fn the function to register
1888
+ */
1889
+ registerOnTouched(fn: any): void;
1890
+ /**
1891
+ * Set the disabled state
1892
+ * @param isDisabled disabled or not
1893
+ */
1894
+ setDisabledState?(isDisabled: boolean): void;
1895
+ /**
1896
+ * Reposition and resize the dropdown on window resize
1897
+ */
1898
+ onWindowResize(event: any): void;
1899
+ /**
1900
+ * Prevent default behavior for arrow key keydown event
1901
+ * @param event the keydown KeyboardEvent
1902
+ */
1903
+ onKeyDown(event: KeyboardEvent): void;
1904
+ /**
1905
+ * Close the dropdown list on tab and handle arrow key navigation
1906
+ * @param event the keyup KeyboardEvent
1907
+ */
1908
+ onKeyUp(event: KeyboardEvent): void;
1909
+ /**
1910
+ * Close the dropdown list (if opened) on click if outside the list
1911
+ * @param event the click MouseEvent
1912
+ */
1913
+ onClick(event: MouseEvent): void;
1914
+ /**
1915
+ * Close dropdown on escape keyup and focus on dropdown button
1916
+ * @param event the keyup KeyboardEvent
1917
+ */
1918
+ onEscapeKeyUp(event: Event): void;
1919
+ /**
1920
+ * Set focus to dropdown option on mouse enter and update selected index
1921
+ * @param option the dropdown option to focus
1922
+ * @param index the index of the option to focus
1923
+ */
1924
+ onDropdownOptionMouseEnter(option: HTMLButtonElement, index: number): void;
1925
+ /**
1926
+ * Set focus to dropdown option on mouse move and update selected index
1927
+ * @param option the dropdown option to focus
1928
+ * @param index the index of the option to focus
1929
+ */
1930
+ onDropdownOptionMouseMove(option: HTMLButtonElement, index: number): void;
1931
+ /**
1932
+ * Write value and close dropdown on option select
1933
+ * @param value the value to write
1934
+ * @param disabled whether or not the selected option is disabled
1935
+ */
1936
+ onDropdownOptionSelect(value: string | number, disabled: boolean): void;
1937
+ /**
1938
+ * Open the dropdown list and align it
1939
+ * @param event the click MouseEvent
1940
+ */
1941
+ openDropdown(event: MouseEvent): void;
1942
+ /**
1943
+ * Close the dropdown list
1944
+ */
1945
+ closeDropdown(): void;
1946
+ /**
1947
+ * Position and resize dropdown list on animation start if toState is open
1948
+ * @param event the Angular AnimationEvent
1949
+ */
1950
+ onAnimationStart(event: AnimationEvent): void;
1951
+ /**
1952
+ * Stop rendering dropdown list on animation done if toState is close
1953
+ * @param event the Angular AnimationEvent
1954
+ */
1955
+ onAnimationDone(event: AnimationEvent): void;
1956
+ /**
1957
+ * Focus on the selected dropdown option on dropdown open
1958
+ * @private
1959
+ */
1960
+ setSelectionIndex(): void;
1961
+ /**
1962
+ * Update internal value and emit change events if input value differs from current value
1963
+ * @param value the selected value
1964
+ * @private
1965
+ */
1966
+ private handleDropdownOptionSelect;
1967
+ onModelChangeMobile(value: any): void;
1968
+ /**
1969
+ * Align the dropdown list with the dropdown
1970
+ * @private
1971
+ */
1972
+ private positionDropdownList;
1973
+ /**
1974
+ * Match the dropdown list width to the dropdown's width
1975
+ * @private
1976
+ */
1977
+ private resizeDropdownList;
1978
+ /**
1979
+ * Handle arrow keyup event
1980
+ * @param key the arrow key
1981
+ */
1982
+ private onArrowKeyUp;
1983
+ /**
1984
+ * Get the next enabled dropdown option (relative to the current selection index).
1985
+ * If the currently selected option is the final available option, it is
1986
+ * returned. If no selection has been made, the first available option is returned
1987
+ * @private
1988
+ */
1989
+ private getNextOption;
1990
+ /**
1991
+ * Get the previous enabled dropdown option (relative to the current selection index).
1992
+ * If the currently selected option is the first available option, it is
1993
+ * returned
1994
+ * @private
1995
+ */
1996
+ private getPreviousOption;
1997
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropdownComponent, never>;
1998
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropdownComponent, "particle-dropdown", never, { "value": { "alias": "value"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "classList": { "alias": "classList"; "required": false; "isSignal": true; }; "buttonClassList": { "alias": "buttonClassList"; "required": false; "isSignal": true; }; "collapsedButtonTemplate": { "alias": "collapsedButtonTemplate"; "required": false; "isSignal": true; }; "collapsedButtonTooltipEnabled": { "alias": "collapsedButtonTooltipEnabled"; "required": false; "isSignal": true; }; "dropdownBoxMinWidth": { "alias": "dropdownBoxMinWidth"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "changed": "changed"; }, ["template"], ["template"], true, never>;
1999
+ }
2000
+
2001
+ /**
2002
+ * Interface representing a multi-select option
2003
+ */
2004
+ interface MultiSelectOption {
2005
+ type?: 'option';
2006
+ /**
2007
+ * The value of the multi-select option
2008
+ */
2009
+ value: string | number;
2010
+ /**
2011
+ * The label of the multi-select option
2012
+ */
2013
+ label: string;
2014
+ /**
2015
+ * Whether or not the option is disabled
2016
+ */
2017
+ disabled?: boolean;
2018
+ /**
2019
+ * Data context object containing properties to fill
2020
+ * multi-select option template placeholders
2021
+ */
2022
+ dataContext?: {
2023
+ [key: string]: unknown;
2024
+ };
2025
+ }
2026
+
2027
+ /**
2028
+ * Interface representing an array of multi-select options
2029
+ * grouped under a label
2030
+ */
2031
+ interface MultiSelectOptionGroup {
2032
+ type?: 'group';
2033
+ /**
2034
+ * The option group label
2035
+ */
2036
+ groupLabel: string;
2037
+ /**
2038
+ * The group options
2039
+ */
2040
+ options: Array<MultiSelectOption>;
2041
+ }
2042
+
2043
+ /**
2044
+ * Type representing the multi-select component option input
2045
+ */
2046
+ declare type MultiSelectOptionInput = Array<MultiSelectOption | MultiSelectOptionGroup>;
2047
+ /**
2048
+ * Multi-select component
2049
+ */
2050
+ declare class MultiSelectComponent implements ControlValueAccessor {
2051
+ private renderer;
2052
+ private changeDetectorRef;
2053
+ /**
2054
+ * Set the value of the multi-select
2055
+ * @param value the value to set
2056
+ */
2057
+ set value(value: Array<string | number>);
2058
+ get value(): Array<any>;
2059
+ /**
2060
+ * The multi-select options/option groups
2061
+ */
2062
+ set options(options: MultiSelectOptionInput);
2063
+ /**
2064
+ * The amount of offset (in pixels) to place between the multi-select
2065
+ * and its list overlay
2066
+ * @private
2067
+ */
2068
+ private static readonly LIST_OFFSET;
2069
+ /**
2070
+ * List of arrow key keycodes
2071
+ * @private
2072
+ */
2073
+ private static readonly ARROW_KEYS;
2074
+ /**
2075
+ * ViewChild of the multi-select
2076
+ */
2077
+ multiSelect: ElementRef<HTMLDivElement>;
2078
+ /**
2079
+ * ViewChild of the multi-select button
2080
+ */
2081
+ multiSelectButton: ElementRef<HTMLButtonElement>;
2082
+ /**
2083
+ * ViewChild of the multi-select list
2084
+ */
2085
+ multiSelectList: ElementRef<HTMLDivElement>;
2086
+ /**
2087
+ * QueryList of multi-select option ViewChildren
2088
+ */
2089
+ multiSelectOptions: QueryList<ElementRef<HTMLButtonElement>>;
2090
+ /**
2091
+ * ContentChild of the multi-select option template
2092
+ */
2093
+ template: TemplateRef<HTMLElement>;
2094
+ /**
2095
+ * Whether the multi-select should be disabled
2096
+ */
2097
+ disabled: _angular_core.ModelSignal<boolean>;
2098
+ /**
2099
+ * Class list to assign to the multi-select
2100
+ */
2101
+ readonly classList: _angular_core.InputSignal<string>;
2102
+ readonly buttonClassList: _angular_core.InputSignal<string>;
2103
+ readonly entryClassList: _angular_core.InputSignal<string>;
2104
+ readonly text: _angular_core.InputSignal<MultiSelectText>;
2105
+ /**
2106
+ * Style of the multi-select
2107
+ */
2108
+ readonly type: _angular_core.InputSignal<"input" | "expanded">;
2109
+ readonly maxExpandedEntries: _angular_core.InputSignal<number>;
2110
+ readonly expandedAsGrid: _angular_core.InputSignal<boolean>;
2111
+ readonly collapsedButtonTemplate: _angular_core.InputSignal<TemplateRef<any>>;
2112
+ /**
2113
+ * Event emitted on value change, emits the new value
2114
+ */
2115
+ readonly changed: _angular_core.OutputEmitterRef<(string | number)[]>;
2116
+ /**
2117
+ * BehaviorSubject tracking the input multi-select options/option groups
2118
+ */
2119
+ readonly _options: BehaviorSubject<MultiSelectOptionInput>;
2120
+ /**
2121
+ * BehaviorSubject tracking the current value of the multi-select
2122
+ */
2123
+ readonly _internalValue: BehaviorSubject<(string | number)[]>;
2124
+ /**
2125
+ * Observable map of option value (stringified if a number) to data context
2126
+ */
2127
+ readonly dataContextMap$: Observable<Record<string, Record<string, unknown>>>;
2128
+ /**
2129
+ * Observable map of stringified option value to boolean indicating the user's selections
2130
+ */
2131
+ readonly selectionValueMap$: Observable<Record<string, boolean>>;
2132
+ /**
2133
+ * The count of selected options as an Observable
2134
+ */
2135
+ readonly selectionCount$: Observable<number>;
2136
+ /**
2137
+ * Unique ID to assign to the multiSelect
2138
+ */
2139
+ readonly multiSelectId: any;
2140
+ /**
2141
+ * Whether to render the multi-select list
2142
+ */
2143
+ render: boolean;
2144
+ /**
2145
+ * Whether the multi-select is open
2146
+ */
2147
+ opened: boolean;
2148
+ /**
2149
+ * The index of the focused option in the multiSelect list
2150
+ */
2151
+ selectionIndex: number;
2152
+ optionCount: number;
2153
+ /**
2154
+ * The current value of the multiSelect
2155
+ * @private
2156
+ */
2157
+ private _value;
2158
+ /**
2159
+ * Removes options that do not have both a label and a value,
2160
+ * also removes empty groups (or groups that have no valid options)
2161
+ * @param options the options to sanitize
2162
+ * @private
2163
+ */
2164
+ private static sanitizeOptionInput;
2165
+ /**
2166
+ * Add option label to data context if not present. If $implicit
2167
+ * value is not present, it will be added with the label as its value.
2168
+ * If $implicit is already present, it will add a label key to the context
2169
+ * @param label the option label
2170
+ * @param dataContext the option data context
2171
+ * @private
2172
+ */
2173
+ private static addLabelToDataContext;
2174
+ /**
2175
+ * Function to call on change
2176
+ */
2177
+ onChange: (value: any) => void;
2178
+ /**
2179
+ * Function to call on touch
2180
+ */
2181
+ onTouched: () => any;
2182
+ /**
2183
+ * Dependency injection site
2184
+ * @param renderer the Angular renderer
2185
+ * @param changeDetectorRef reference to the Angular change detector
2186
+ */
2187
+ constructor();
2188
+ /**
2189
+ * Write value
2190
+ * @param value the value to write
2191
+ */
2192
+ writeValue(value: Array<string | number>): void;
2193
+ /**
2194
+ * Register function on change
2195
+ * @param fn the function to register
2196
+ */
2197
+ registerOnChange(fn: any): void;
2198
+ /**
2199
+ * Register function on touch
2200
+ * @param fn the function to register
2201
+ */
2202
+ registerOnTouched(fn: any): void;
2203
+ /**
2204
+ * Set the disabled state
2205
+ * @param isDisabled disabled or not
2206
+ */
2207
+ setDisabledState?(isDisabled: boolean): void;
2208
+ /**
2209
+ * Reposition and resize the multiSelect on window resize
2210
+ */
2211
+ onWindowResize(): void;
2212
+ /**
2213
+ * Prevent default behavior for arrow key keydown event
2214
+ * @param event the keydown KeyboardEvent
2215
+ */
2216
+ onKeyDown(event: KeyboardEvent): void;
2217
+ /**
2218
+ * Close the multi-select list on tab and handle arrow key navigation
2219
+ * @param event the keyup KeyboardEvent
2220
+ */
2221
+ onKeyUp(event: KeyboardEvent): void;
2222
+ /**
2223
+ * Close the multi-select list (if opened) on click if outside the list
2224
+ * @param event the click MouseEvent
2225
+ */
2226
+ onClick(event: MouseEvent): void;
2227
+ /**
2228
+ * Close multi-select on escape keyup and focus on multi-select button
2229
+ * @param event the keyup KeyboardEvent
2230
+ */
2231
+ onEscapeKeyUp(event: Event): void;
2232
+ /**
2233
+ * Set focus to multi-select option on mouse enter and update selected index
2234
+ * @param option the multiSelect option to focus
2235
+ * @param index the index of the option to focus
2236
+ */
2237
+ onMultiSelectOptionMouseEnter(option: HTMLButtonElement, index: number): void;
2238
+ /**
2239
+ * Set focus to multi-select option on mouse move and update selected index
2240
+ * @param option the multiSelect option to focus
2241
+ * @param index the index of the option to focus
2242
+ */
2243
+ onMultiSelectOptionMouseMove(option: HTMLButtonElement, index: number): void;
2244
+ /**
2245
+ * Write value and close multi-select on option select
2246
+ * @param value the value to write
2247
+ * @param disabled whether or not the selected option is disabled
2248
+ */
2249
+ onMultiSelectOptionSelect(value: string | number, disabled: boolean): void;
2250
+ /**
2251
+ * Open the multi-select list and align it
2252
+ * @param event the click MouseEvent
2253
+ */
2254
+ openMultiSelect(event: MouseEvent): void;
2255
+ /**
2256
+ * Close the multiSelect list
2257
+ */
2258
+ closeMultiSelect(): void;
2259
+ /**
2260
+ * Position and resize the multi-select list on animation start if toState is open
2261
+ * @param event the Angular AnimationEvent
2262
+ */
2263
+ onAnimationStart(event: AnimationEvent): void;
2264
+ /**
2265
+ * Stop rendering the multi-select list on animation done if toState is close
2266
+ * @param event the Angular AnimationEvent
2267
+ */
2268
+ onAnimationDone(event: AnimationEvent): void;
2269
+ /**
2270
+ * If the input value is already in the value array, remove it. Otherwise add it
2271
+ * @param value the selected value
2272
+ * @private
2273
+ */
2274
+ private handleMultiSelectOptionSelect;
2275
+ /**
2276
+ * Align the multi-select list with the multiSelect
2277
+ * @private
2278
+ */
2279
+ private positionMultiSelectList;
2280
+ /**
2281
+ * Match the multi-select list width to the multi-select's width
2282
+ * @private
2283
+ */
2284
+ private resizeMultiSelectList;
2285
+ /**
2286
+ * Handle arrow keyup event
2287
+ * @param key the arrow key
2288
+ */
2289
+ private onArrowKeyUp;
2290
+ /**
2291
+ * Get the next enabled multi-select option (relative to the current selection index).
2292
+ * If the currently selected option is the final available option, it is
2293
+ * returned. If no selection has been made, the first available option is returned
2294
+ * @private
2295
+ */
2296
+ private getNextOption;
2297
+ /**
2298
+ * Get the previous enabled multi-select option (relative to the current selection index).
2299
+ * If the currently selected option is the first available option, it is
2300
+ * returned
2301
+ * @private
2302
+ */
2303
+ private getPreviousOption;
2304
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MultiSelectComponent, never>;
2305
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<MultiSelectComponent, "particle-multi-select", never, { "value": { "alias": "value"; "required": false; }; "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; "classList": { "alias": "classList"; "required": false; "isSignal": true; }; "buttonClassList": { "alias": "buttonClassList"; "required": false; "isSignal": true; }; "entryClassList": { "alias": "entryClassList"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "maxExpandedEntries": { "alias": "maxExpandedEntries"; "required": false; "isSignal": true; }; "expandedAsGrid": { "alias": "expandedAsGrid"; "required": false; "isSignal": true; }; "collapsedButtonTemplate": { "alias": "collapsedButtonTemplate"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "changed": "changed"; }, ["template"], ["template"], true, never>;
2306
+ }
2307
+
2308
+ /**
2309
+ * Component for displaying notifications
2310
+ */
2311
+ declare class NotificationComponent {
2312
+ private notificationService;
2313
+ readonly text: _angular_core.InputSignal<NotificationText>;
2314
+ /**
2315
+ * Array of notifications as an Observable
2316
+ */
2317
+ readonly notifications$: rxjs.Observable<_entake_particle.Notification[]>;
2318
+ /**
2319
+ * Map of notification severity to color class
2320
+ */
2321
+ readonly severityColorMap: {
2322
+ success: string;
2323
+ warn: string;
2324
+ error: string;
2325
+ info: string;
2326
+ };
2327
+ /**
2328
+ * Map of notification severity to icon class
2329
+ */
2330
+ readonly severityIconMap: {
2331
+ success: string;
2332
+ warn: string;
2333
+ error: string;
2334
+ info: string;
2335
+ };
2336
+ /**
2337
+ * Delete a notification
2338
+ * @param id the ID of the notification to delete
2339
+ */
2340
+ deleteNotification(id: string): void;
2341
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationComponent, never>;
2342
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<NotificationComponent, "particle-notification", never, { "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2343
+ }
2344
+
2345
+ /**
2346
+ * Interface representing a Date broken down by day/date/week/month/year
2347
+ * with extended metadata
2348
+ */
2349
+ declare interface MetaDate {
2350
+ /**
2351
+ * The day of the week (starting at 0)
2352
+ */
2353
+ day: number;
2354
+ /**
2355
+ * The day of the month (starting at 1)
2356
+ */
2357
+ date: number;
2358
+ /**
2359
+ * The week of the year
2360
+ */
2361
+ week: number;
2362
+ /**
2363
+ * The month (starting at 0)
2364
+ */
2365
+ month: number;
2366
+ /**
2367
+ * The full year
2368
+ */
2369
+ year: number;
2370
+ /**
2371
+ * Whether the day is selectable
2372
+ */
2373
+ selectable: boolean;
2374
+ }
2375
+ /**
2376
+ * Interface representing a week of the year with metadata
2377
+ */
2378
+ declare interface MetaWeek {
2379
+ /**
2380
+ * The week of the year (starting at 1)
2381
+ */
2382
+ week: number;
2383
+ /**
2384
+ * The year of the week
2385
+ */
2386
+ year: number;
2387
+ /**
2388
+ * Whether the week can be selected in the week picker
2389
+ */
2390
+ selectable: boolean;
2391
+ /**
2392
+ * The numeric dates of the days in the week
2393
+ */
2394
+ dates: Array<number>;
2395
+ }
2396
+ /**
2397
+ * Component to allow a user to select a week
2398
+ */
2399
+ declare class WeekPickerComponent implements ControlValueAccessor {
2400
+ private changeDetectorRef;
2401
+ /**
2402
+ * Set the value of the week picker
2403
+ * @param value the value to set
2404
+ */
2405
+ set value(value: {
2406
+ start: Date;
2407
+ end: Date;
2408
+ });
2409
+ /**
2410
+ * Get the value of the week picker
2411
+ */
2412
+ get value(): {
2413
+ start: Date;
2414
+ end: Date;
2415
+ };
2416
+ /**
2417
+ * Get whether the control is disabled
2418
+ */
2419
+ get disabled(): boolean;
2420
+ /**
2421
+ * Set disabled
2422
+ */
2423
+ set disabled(disabled: boolean);
2424
+ /**
2425
+ * Set the valid date boundary for the week picker
2426
+ * @param dateRange
2427
+ */
2428
+ set dateRange(dateRange: {
2429
+ start?: Date;
2430
+ end?: Date;
2431
+ });
2432
+ /**
2433
+ * Class list to apply to the date range input
2434
+ */
2435
+ readonly inputClassList: _angular_core.InputSignal<any>;
2436
+ /**
2437
+ * Class list to apply to the week picker button
2438
+ */
2439
+ readonly calendarButtonClassList: _angular_core.InputSignal<string>;
2440
+ /**
2441
+ * The aria label to apply to the date range input
2442
+ */
2443
+ readonly ariaLabel: _angular_core.InputSignal<string>;
2444
+ /**
2445
+ * Format for the selected date range in the selection preview. Must
2446
+ * be a valid Angular DatePipe format
2447
+ */
2448
+ readonly dateFormat: _angular_core.InputSignal<string>;
2449
+ /**
2450
+ * Close the picker when a selection is made
2451
+ */
2452
+ readonly closeOnSelect: _angular_core.InputSignal<boolean>;
2453
+ readonly text: _angular_core.InputSignal<WeekPickerText>;
2454
+ /**
2455
+ * Event emitted on week select
2456
+ */
2457
+ readonly weekSelected: _angular_core.OutputEmitterRef<{
2458
+ start: Date;
2459
+ end: Date;
2460
+ }>;
2461
+ /**
2462
+ * ViewChild of the calendar popover
2463
+ */
2464
+ calendarPopover: PopoverComponent;
2465
+ /**
2466
+ * The current date
2467
+ */
2468
+ readonly currentDate: MetaDate;
2469
+ /**
2470
+ * BehaviorSubject tracking the value of the week picker
2471
+ */
2472
+ readonly _internalValue: BehaviorSubject<{
2473
+ start: Date;
2474
+ end: Date;
2475
+ }>;
2476
+ /**
2477
+ * BehaviorSubject tracking the selectable date range
2478
+ */
2479
+ readonly _validSelectionInterval: BehaviorSubject<{
2480
+ start: Date;
2481
+ end: Date;
2482
+ }>;
2483
+ /**
2484
+ * BehaviorSubject tracking the currently selected month
2485
+ */
2486
+ readonly _selectedMonth: BehaviorSubject<number>;
2487
+ /**
2488
+ * BehaviorSubject tracking the currently selected year
2489
+ */
2490
+ readonly _selectedYear: BehaviorSubject<number>;
2491
+ /**
2492
+ * The selected week of the year of the start of the selection as an Observable
2493
+ */
2494
+ readonly selectedWeek$: Observable<number>;
2495
+ /**
2496
+ * The year of the start of the selected week as an Observable
2497
+ */
2498
+ readonly selectedYear$: Observable<number>;
2499
+ /**
2500
+ * Observable boolean representing if next week (relative to the current selection) is selectable
2501
+ */
2502
+ readonly canSelectNextWeek$: Observable<boolean>;
2503
+ /**
2504
+ * Observable boolean representing if last week (relative to the current selection) is selectable
2505
+ */
2506
+ readonly canSelectLastWeek$: Observable<boolean>;
2507
+ /**
2508
+ * The range of selectable years as an Observable
2509
+ */
2510
+ readonly validYearRange$: Observable<Array<number>>;
2511
+ /**
2512
+ * An array of MetaWeeks representing a month as an Observable
2513
+ */
2514
+ readonly fullMonth$: Observable<Array<MetaWeek>>;
2515
+ /**
2516
+ * The value of the week picker
2517
+ * @private
2518
+ */
2519
+ private _value;
2520
+ /**
2521
+ * Whether the control is disabled
2522
+ * @private
2523
+ */
2524
+ private _disabled;
2525
+ /**
2526
+ * Generate an Array of numbers representing the span of years between the input
2527
+ * @param minYear the start of the range
2528
+ * @param maxYear the end of the range
2529
+ * @param currentYear the current year
2530
+ */
2531
+ private static generateYearRange;
2532
+ /**
2533
+ * Generate a month with week and selectable status metadata
2534
+ * @param month the month to generate
2535
+ * @param year the year of the month to generate
2536
+ * @param selectionInterval the interval representing the
2537
+ * minimum to the maximum week of the year
2538
+ * @private
2539
+ */
2540
+ private static generateMonth;
2541
+ /**
2542
+ * Get the input date as a MetaDate
2543
+ * @param date the date to transform
2544
+ * @param selectable whether or not the date is selectable
2545
+ * @private
2546
+ */
2547
+ private static getMetaDate;
2548
+ /**
2549
+ * Function to call on change
2550
+ */
2551
+ onChange: (value: any) => void;
2552
+ /**
2553
+ * Function to call on touch
2554
+ */
2555
+ onTouched: () => any;
2556
+ /**
2557
+ * Dependency injection site
2558
+ * @param changeDetectorRef the Angular ChangeDetectorRef
2559
+ */
2560
+ constructor();
2561
+ /**
2562
+ * Write value
2563
+ * @param value the value to write
2564
+ */
2565
+ writeValue(value: {
2566
+ start: Date;
2567
+ end: Date;
2568
+ }): void;
2569
+ /**
2570
+ * Register function on change
2571
+ * @param fn the function to change
2572
+ */
2573
+ registerOnChange(fn: any): void;
2574
+ /**
2575
+ * Register function on touch
2576
+ * @param fn the function to register
2577
+ */
2578
+ registerOnTouched(fn: any): void;
2579
+ /**
2580
+ * Set disabled state
2581
+ * @param isDisabled whether or not the control is disabled
2582
+ */
2583
+ setDisabledState(isDisabled: boolean): void;
2584
+ /**
2585
+ * Open the week picker popover
2586
+ * @param event the event to pass to the popover
2587
+ */
2588
+ openCalendar(event: Event): void;
2589
+ /**
2590
+ * Handle week select
2591
+ * @param week the week of the year
2592
+ * @param selectable whether or not the week is selectable
2593
+ */
2594
+ onWeekSelect(week: number, selectable: boolean): void;
2595
+ /**
2596
+ * Select next week (relative to the week of the current selection)
2597
+ */
2598
+ selectNextWeek(): void;
2599
+ /**
2600
+ * Select last week (relative to the week of the current selection)
2601
+ */
2602
+ selectLastWeek(): void;
2603
+ /**
2604
+ * Select the current week
2605
+ */
2606
+ selectCurrentWeek(): void;
2607
+ /**
2608
+ * Update model
2609
+ * @param value the new value of the model
2610
+ * @private
2611
+ */
2612
+ private updateModel;
2613
+ /**
2614
+ * Set the selection interval
2615
+ * @param interval the input selection interval
2616
+ * @private
2617
+ */
2618
+ private setSelectionInterval;
2619
+ /**
2620
+ * Set the selectable status of the current date
2621
+ * @private
2622
+ */
2623
+ private setCurrentDateSelectable;
2624
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<WeekPickerComponent, never>;
2625
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<WeekPickerComponent, "particle-week-picker", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "dateRange": { "alias": "dateRange"; "required": false; }; "inputClassList": { "alias": "inputClassList"; "required": false; "isSignal": true; }; "calendarButtonClassList": { "alias": "calendarButtonClassList"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "dateFormat": { "alias": "dateFormat"; "required": false; "isSignal": true; }; "closeOnSelect": { "alias": "closeOnSelect"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "weekSelected": "weekSelected"; }, never, never, true, never>;
2626
+ }
2627
+
2628
+ /**
2629
+ * Component that wraps the native HTML5 color picker for supported browsers
2630
+ */
2631
+ declare class ColorPickerComponent implements ControlValueAccessor, OnInit {
2632
+ private renderer;
2633
+ private changeDetectorRef;
2634
+ /**
2635
+ * Regex to match a hexadecimal string (000000)
2636
+ * @private
2637
+ */
2638
+ private static readonly FULL_HEX_REGEX;
2639
+ /**
2640
+ * Regex to match a short hexadecimal string (000)
2641
+ * @private
2642
+ */
2643
+ private static readonly SHORT_HEX_REGEX;
2644
+ /**
2645
+ * Regex to match a valid hex character (A-F, a-f, 0-9)
2646
+ * @private
2647
+ */
2648
+ private static readonly HEX_CHARACTER_REGEX;
2649
+ /**
2650
+ * Navigation keys
2651
+ * @private
2652
+ */
2653
+ private static readonly NAVIGATION_KEYS;
2654
+ /**
2655
+ * Set the value of the color picker
2656
+ * @param value the value to set
2657
+ */
2658
+ set value(value: string);
2659
+ /**
2660
+ * Set disabled
2661
+ * @param disabled whether or not the control should be disabled
2662
+ */
2663
+ set disabled(disabled: boolean);
2664
+ /**
2665
+ * Class list to apply to the hex string input
2666
+ */
2667
+ classList: string;
2668
+ text: ColorPickerText;
2669
+ /**
2670
+ * Event emitted on hex string input event. Emits the current value of the input
2671
+ */
2672
+ input: EventEmitter<string>;
2673
+ /**
2674
+ * Event emitted on color selection from color picker (color picker widget dismissed)
2675
+ * or valid hex string typed in input. Emits the current value of the input
2676
+ */
2677
+ colorSelected: EventEmitter<string>;
2678
+ /**
2679
+ * ViewChild of the color input element
2680
+ */
2681
+ colorInput: ElementRef<HTMLInputElement>;
2682
+ /**
2683
+ * Whether to render the component
2684
+ */
2685
+ render: boolean;
2686
+ /**
2687
+ * Whether the native HTML5 color picker is supported
2688
+ */
2689
+ colorPickerSupported: boolean;
2690
+ /**
2691
+ * The value of the color picker
2692
+ */
2693
+ _value: string;
2694
+ /**
2695
+ * Whether the color picker is disabled
2696
+ * @private
2697
+ */
2698
+ _disabled: boolean;
2699
+ /**
2700
+ * Expand a short hex string (#abc) into its full form (#aabbcc)
2701
+ * @param hexString the short hex string to expand
2702
+ * @private
2703
+ */
2704
+ private static expandShortHexString;
2705
+ /**
2706
+ * Function to call on change
2707
+ */
2708
+ onChange: (value: any) => void;
2709
+ /**
2710
+ * Function to call on touch
2711
+ */
2712
+ onTouched: () => any;
2713
+ /**
2714
+ * Init component, check for color picker browser support
2715
+ */
2716
+ ngOnInit(): void;
2717
+ /**
2718
+ * Write value
2719
+ * @param value the value to write
2720
+ */
2721
+ writeValue(value: string): void;
2722
+ /**
2723
+ * Register on change function
2724
+ * @param fn the function to register
2725
+ */
2726
+ registerOnChange(fn: any): void;
2727
+ /**
2728
+ * Register on touched function
2729
+ * @param fn the function to register
2730
+ */
2731
+ registerOnTouched(fn: any): void;
2732
+ /**
2733
+ * Set whether the control should be disabled
2734
+ * @param isDisabled disabled or not
2735
+ */
2736
+ setDisabledState(isDisabled: boolean): void;
2737
+ /**
2738
+ * Prevent illegal input
2739
+ * @param event the keydown KeyboardEvent
2740
+ */
2741
+ handleKeyDown(event: KeyboardEvent): void;
2742
+ /**
2743
+ * Update model
2744
+ * @param value the new value of the model
2745
+ * @param emitColorSelected whether or not emit the color selected event
2746
+ * @private
2747
+ */
2748
+ updateModel(value: string, emitColorSelected?: boolean): void;
2749
+ /**
2750
+ * Null out value on blur if not valid hex string, otherwise update model
2751
+ * @param value the value to check
2752
+ */
2753
+ handleBlur(value: string): void;
2754
+ /**
2755
+ * Prevent pasting a non-hex string
2756
+ * @param event the paste ClipboardEvent
2757
+ */
2758
+ handlePaste(event: ClipboardEvent): void;
2759
+ /**
2760
+ * Determine if the browser supports the HTML5 color picker
2761
+ * @private
2762
+ */
2763
+ private isColorPickerSupported;
2764
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ColorPickerComponent, never>;
2765
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ColorPickerComponent, "particle-color-picker", never, { "value": { "alias": "value"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "classList": { "alias": "classList"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, { "input": "input"; "colorSelected": "colorSelected"; }, never, never, true, never>;
2766
+ }
2767
+
2768
+ /**
2769
+ * Component that wraps the native HTML5 slider
2770
+ */
2771
+ declare class SliderComponent implements ControlValueAccessor, OnInit {
2772
+ private changeDetectorRef;
2773
+ /**
2774
+ * ViewChild of the slider input
2775
+ */
2776
+ sliderInput: ElementRef<HTMLInputElement>;
2777
+ /**
2778
+ * Set the value of the component
2779
+ * @param value the value to set
2780
+ */
2781
+ set value(value: number);
2782
+ get value(): number;
2783
+ /**
2784
+ * Set the minimum slider value
2785
+ * @param min the value to set
2786
+ */
2787
+ set min(min: number);
2788
+ /**
2789
+ * Set the maximum slider value
2790
+ * @param max the value to set
2791
+ */
2792
+ set max(max: number);
2793
+ /**
2794
+ * Set the slider step size
2795
+ * @param step the value to set
2796
+ */
2797
+ set step(step: number);
2798
+ /**
2799
+ * Set the disabled state of the slider/input
2800
+ * @param disabled the value to set
2801
+ */
2802
+ set disabled(disabled: boolean);
2803
+ /**
2804
+ * Set the input class list
2805
+ * @param inputClassList the value to set
2806
+ */
2807
+ set inputClassList(inputClassList: string);
2808
+ /**
2809
+ * The unit being represented by the slider
2810
+ */
2811
+ readonly unit: _angular_core.InputSignal<string>;
2812
+ /**
2813
+ * The aria-label to append to the slider/input
2814
+ */
2815
+ readonly ariaLabel: _angular_core.InputSignal<string>;
2816
+ readonly text: _angular_core.InputSignal<SliderText>;
2817
+ /**
2818
+ * Event emitted on slider/slider input input event
2819
+ */
2820
+ readonly input: _angular_core.OutputEmitterRef<number>;
2821
+ /**
2822
+ * The internal value of the component
2823
+ */
2824
+ _value: number;
2825
+ /**
2826
+ * The minimum slider value
2827
+ */
2828
+ _min: number;
2829
+ /**
2830
+ * The maximum slider value
2831
+ */
2832
+ _max: number;
2833
+ /**
2834
+ * The step size of the slider
2835
+ */
2836
+ _step: number;
2837
+ /**
2838
+ * Whether the slider is disabled or not
2839
+ */
2840
+ _disabled: boolean;
2841
+ /**
2842
+ * The class list to apply to the number input
2843
+ */
2844
+ _inputClassList: string;
2845
+ /**
2846
+ * The width of the colored section of the slider bar
2847
+ */
2848
+ sliderWidth: number;
2849
+ onChange: (value: any) => void;
2850
+ onTouched: () => any;
2851
+ /**
2852
+ * Init component
2853
+ */
2854
+ ngOnInit(): void;
2855
+ /**
2856
+ * Set internal value when external value changes
2857
+ * @param value the external value
2858
+ */
2859
+ writeValue(value: number): void;
2860
+ /**
2861
+ * Register onChange function
2862
+ * @param fn the function to register
2863
+ */
2864
+ registerOnChange(fn: any): void;
2865
+ /**
2866
+ * Register onTouched function
2867
+ * @param fn the function to register
2868
+ */
2869
+ registerOnTouched(fn: any): void;
2870
+ /**
2871
+ * Set the disabled state of the component
2872
+ * @param isDisabled disabled or not
2873
+ */
2874
+ setDisabledState?(isDisabled: boolean): void;
2875
+ /**
2876
+ * Update value on input
2877
+ * @param value the new value of the component
2878
+ */
2879
+ handleInput(value: number): void;
2880
+ /**
2881
+ * Prevent the paste event from completing
2882
+ * @param event the paste ClipboardEvent
2883
+ */
2884
+ preventPaste(event: ClipboardEvent): void;
2885
+ /**
2886
+ * Set the slider width
2887
+ * @private
2888
+ */
2889
+ private setSliderWidth;
2890
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SliderComponent, never>;
2891
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SliderComponent, "particle-slider", never, { "value": { "alias": "value"; "required": false; }; "min": { "alias": "min"; "required": false; }; "max": { "alias": "max"; "required": false; }; "step": { "alias": "step"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "inputClassList": { "alias": "inputClassList"; "required": false; }; "unit": { "alias": "unit"; "required": false; "isSignal": true; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, { "input": "input"; }, never, never, true, never>;
2892
+ }
2893
+
2894
+ declare class AccordionComponent implements AfterContentInit, AfterViewInit {
2895
+ expanded: Set<number>;
2896
+ multiple: boolean;
2897
+ height: string;
2898
+ headerClass: string;
2899
+ textClass: string;
2900
+ iconCollapsed: string;
2901
+ iconExpanded: string;
2902
+ showIcon: boolean;
2903
+ text: AccordionText;
2904
+ items: QueryList<AccordionItemDirective>;
2905
+ contentDivs: QueryList<any>;
2906
+ ngAfterContentInit(): void;
2907
+ ngAfterViewInit(): void;
2908
+ /**
2909
+ * @param index - index of the accordion item
2910
+ */
2911
+ getToggleState: (index: number) => any;
2912
+ toggleState: (index: number) => void;
2913
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AccordionComponent, never>;
2914
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AccordionComponent, "particle-accordion", never, { "multiple": { "alias": "multiple"; "required": false; }; "height": { "alias": "height"; "required": false; }; "headerClass": { "alias": "headerClass"; "required": false; }; "textClass": { "alias": "textClass"; "required": false; }; "iconCollapsed": { "alias": "iconCollapsed"; "required": false; }; "iconExpanded": { "alias": "iconExpanded"; "required": false; }; "showIcon": { "alias": "showIcon"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, {}, ["items"], never, true, never>;
2915
+ }
2916
+
2917
+ declare class SlideoverComponent implements AfterViewInit, OnDestroy {
2918
+ private _position;
2919
+ slideoverOpen: boolean;
2920
+ visible: boolean;
2921
+ set position(position: string);
2922
+ get position(): string;
2923
+ readonly modal: _angular_core.InputSignal<boolean>;
2924
+ readonly width: _angular_core.InputSignal<string>;
2925
+ readonly height: _angular_core.InputSignal<string>;
2926
+ readonly bgClass: _angular_core.InputSignal<string>;
2927
+ readonly text: _angular_core.InputSignal<SlideoverText>;
2928
+ /**
2929
+ * Breakpoint that will make the container take over the screen when it's crossed.
2930
+ */
2931
+ readonly breakpoint: _angular_core.InputSignal<number>;
2932
+ readonly hideCloseButton: _angular_core.InputSignal<boolean>;
2933
+ readonly opened: _angular_core.OutputEmitterRef<any>;
2934
+ readonly closed: _angular_core.OutputEmitterRef<any>;
2935
+ overlay: ElementRef;
2936
+ breakpointExceeded: boolean;
2937
+ onResize(event: any): void;
2938
+ private _determineBreakpointExceeded;
2939
+ open(): void;
2940
+ close(): void;
2941
+ toggle(): void;
2942
+ private addModalMask;
2943
+ private removeModalMask;
2944
+ ngOnDestroy(): void;
2945
+ ngAfterViewInit(): void;
2946
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SlideoverComponent, never>;
2947
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SlideoverComponent, "particle-slideover", never, { "position": { "alias": "position"; "required": false; }; "modal": { "alias": "modal"; "required": false; "isSignal": true; }; "width": { "alias": "width"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "bgClass": { "alias": "bgClass"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "hideCloseButton": { "alias": "hideCloseButton"; "required": false; "isSignal": true; }; }, { "opened": "opened"; "closed": "closed"; }, never, ["*"], true, never>;
2948
+ }
2949
+
2950
+ declare class IdleTimer {
2951
+ private interval;
2952
+ private timeoutTracker;
2953
+ private readonly eventHandler;
2954
+ private readonly timeout;
2955
+ private readonly onTimeout;
2956
+ constructor(timeout: number, onTimeout: any);
2957
+ private startInterval;
2958
+ private updateExpiredTime;
2959
+ private tracker;
2960
+ cleanUp(): void;
2961
+ resetTimer(): void;
2962
+ isTimerExpired(): boolean;
2963
+ }
2964
+
2965
+ declare class IdleTimeoutComponent implements OnInit {
2966
+ borderRadius: string;
2967
+ timeoutInSeconds: number;
2968
+ text: IdleTimeoutText;
2969
+ timerEnd: EventEmitter<any>;
2970
+ /**
2971
+ * Timeout Dialog - shows when the inactivity timer has 1 minute left, giving the user the ability to confirm they're still active.
2972
+ */
2973
+ timeoutDialog: DialogComponent;
2974
+ /**
2975
+ * Used for the countdown to user auto-logout
2976
+ */
2977
+ count: number;
2978
+ /**
2979
+ * Controls showing the dialog
2980
+ */
2981
+ showDialog: any;
2982
+ idleTimer: IdleTimer;
2983
+ private readonly COUNTDOWN_LENGTH;
2984
+ private finalCountdown;
2985
+ private timerReset;
2986
+ ngOnInit(): void;
2987
+ openDialog(): void;
2988
+ private setupFinalCountdown;
2989
+ private handleTimerEnd;
2990
+ resetTimer(): void;
2991
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IdleTimeoutComponent, never>;
2992
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IdleTimeoutComponent, "particle-idle-timeout", never, { "borderRadius": { "alias": "borderRadius"; "required": false; }; "timeoutInSeconds": { "alias": "timeoutInSeconds"; "required": false; }; "text": { "alias": "text"; "required": false; }; }, { "timerEnd": "timerEnd"; }, never, never, true, never>;
2993
+ }
2994
+
2995
+ declare class ScrollToTopComponent implements OnDestroy, AfterViewInit {
2996
+ renderer: Renderer2;
2997
+ readonly content: _angular_core.InputSignal<HTMLElement>;
2998
+ readonly scrollDistance: _angular_core.InputSignal<number>;
2999
+ readonly bottomOffset: _angular_core.InputSignal<number>;
3000
+ readonly text: _angular_core.InputSignal<ScrollToTopText>;
3001
+ $scrollTop: BehaviorSubject<number>;
3002
+ private _listener;
3003
+ ngAfterViewInit(): void;
3004
+ ngOnDestroy(): void;
3005
+ scrollToTop(): void;
3006
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ScrollToTopComponent, never>;
3007
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ScrollToTopComponent, "particle-scroll-to-top", never, { "content": { "alias": "content"; "required": false; "isSignal": true; }; "scrollDistance": { "alias": "scrollDistance"; "required": false; "isSignal": true; }; "bottomOffset": { "alias": "bottomOffset"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3008
+ }
3009
+
3010
+ declare class LayoutFullwidthSidebarComponent {
3011
+ readonly mainContent: _angular_core.InputSignal<TemplateRef<any>>;
3012
+ readonly rightSidebar: _angular_core.InputSignal<TemplateRef<any>>;
3013
+ readonly mainContentContainerClassList: _angular_core.InputSignal<string>;
3014
+ readonly rightSidebarContainerClassList: _angular_core.InputSignal<string>;
3015
+ readonly rightSidebarSticky: _angular_core.InputSignal<boolean>;
3016
+ readonly headerHeight: _angular_core.InputSignal<string>;
3017
+ readonly footerHeight: _angular_core.InputSignal<string>;
3018
+ readonly rightSidebarWidth: _angular_core.InputSignal<string>;
3019
+ readonly breakpoint: _angular_core.InputSignal<number>;
3020
+ readonly rightSidebarCollapsedTabOffset: _angular_core.InputSignal<number>;
3021
+ readonly collapsedClassList: _angular_core.InputSignal<string>;
3022
+ readonly mobileSidebarEnabled: _angular_core.InputSignal<boolean>;
3023
+ slideover: SlideoverComponent;
3024
+ onResize(event: any): void;
3025
+ protected readonly window: Window & typeof globalThis;
3026
+ get stickySidebarHeight(): string;
3027
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutFullwidthSidebarComponent, never>;
3028
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutFullwidthSidebarComponent, "particle-layout-fullwidth-sidebar", never, { "mainContent": { "alias": "mainContent"; "required": false; "isSignal": true; }; "rightSidebar": { "alias": "rightSidebar"; "required": false; "isSignal": true; }; "mainContentContainerClassList": { "alias": "mainContentContainerClassList"; "required": false; "isSignal": true; }; "rightSidebarContainerClassList": { "alias": "rightSidebarContainerClassList"; "required": false; "isSignal": true; }; "rightSidebarSticky": { "alias": "rightSidebarSticky"; "required": false; "isSignal": true; }; "headerHeight": { "alias": "headerHeight"; "required": false; "isSignal": true; }; "footerHeight": { "alias": "footerHeight"; "required": false; "isSignal": true; }; "rightSidebarWidth": { "alias": "rightSidebarWidth"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "rightSidebarCollapsedTabOffset": { "alias": "rightSidebarCollapsedTabOffset"; "required": false; "isSignal": true; }; "collapsedClassList": { "alias": "collapsedClassList"; "required": false; "isSignal": true; }; "mobileSidebarEnabled": { "alias": "mobileSidebarEnabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3029
+ }
3030
+
3031
+ declare class LayoutFullFramingComponent {
3032
+ readonly mainContent: _angular_core.InputSignal<TemplateRef<any>>;
3033
+ readonly rightSidebar: _angular_core.InputSignal<TemplateRef<any>>;
3034
+ readonly header: _angular_core.InputSignal<TemplateRef<any>>;
3035
+ readonly footer: _angular_core.InputSignal<TemplateRef<any>>;
3036
+ readonly mainContentContainerClassList: _angular_core.InputSignal<string>;
3037
+ readonly rightSidebarContainerClassList: _angular_core.InputSignal<string>;
3038
+ readonly headerClassList: _angular_core.InputSignal<string>;
3039
+ readonly footerClassList: _angular_core.InputSignal<string>;
3040
+ readonly headerHeight: _angular_core.InputSignal<string>;
3041
+ readonly footerHeight: _angular_core.InputSignal<string>;
3042
+ readonly rightSidebarWidth: _angular_core.InputSignal<string>;
3043
+ readonly breakpoint: _angular_core.InputSignal<number>;
3044
+ readonly rightSidebarCollapsedTabOffset: _angular_core.InputSignal<number>;
3045
+ readonly collapsedClassList: _angular_core.InputSignal<string>;
3046
+ readonly mobileSidebarEnabled: _angular_core.InputSignal<boolean>;
3047
+ slideover: SlideoverComponent;
3048
+ onResize(event: any): void;
3049
+ protected readonly window: Window & typeof globalThis;
3050
+ get stickySidebarHeight(): string;
3051
+ get contentSidebarHeight(): string;
3052
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LayoutFullFramingComponent, never>;
3053
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LayoutFullFramingComponent, "particle-layout-full-framing", never, { "mainContent": { "alias": "mainContent"; "required": false; "isSignal": true; }; "rightSidebar": { "alias": "rightSidebar"; "required": false; "isSignal": true; }; "header": { "alias": "header"; "required": false; "isSignal": true; }; "footer": { "alias": "footer"; "required": false; "isSignal": true; }; "mainContentContainerClassList": { "alias": "mainContentContainerClassList"; "required": false; "isSignal": true; }; "rightSidebarContainerClassList": { "alias": "rightSidebarContainerClassList"; "required": false; "isSignal": true; }; "headerClassList": { "alias": "headerClassList"; "required": false; "isSignal": true; }; "footerClassList": { "alias": "footerClassList"; "required": false; "isSignal": true; }; "headerHeight": { "alias": "headerHeight"; "required": false; "isSignal": true; }; "footerHeight": { "alias": "footerHeight"; "required": false; "isSignal": true; }; "rightSidebarWidth": { "alias": "rightSidebarWidth"; "required": false; "isSignal": true; }; "breakpoint": { "alias": "breakpoint"; "required": false; "isSignal": true; }; "rightSidebarCollapsedTabOffset": { "alias": "rightSidebarCollapsedTabOffset"; "required": false; "isSignal": true; }; "collapsedClassList": { "alias": "collapsedClassList"; "required": false; "isSignal": true; }; "mobileSidebarEnabled": { "alias": "mobileSidebarEnabled"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3054
+ }
3055
+
3056
+ interface ToggleOptions {
3057
+ affirmativeColorClass?: string;
3058
+ affirmativeLabel?: string;
3059
+ affirmativeIcon?: string;
3060
+ negativeColorClass?: string;
3061
+ negativeLabel?: string;
3062
+ negativeIcon?: string;
3063
+ accessibilityLabel?: string;
3064
+ toggleSwitchWidth: number;
3065
+ toggleTrackWidth: number;
3066
+ }
3067
+
3068
+ declare class ToggleSwitchComponent implements ControlValueAccessor {
3069
+ private changeDetectorRef;
3070
+ private _options$;
3071
+ options$: rxjs.Observable<ToggleOptions>;
3072
+ set options(options: ToggleOptions);
3073
+ readonly disabled: _angular_core.ModelSignal<boolean>;
3074
+ readonly changed: _angular_core.OutputEmitterRef<boolean>;
3075
+ private _value;
3076
+ get value(): boolean;
3077
+ set value(value: boolean);
3078
+ /**
3079
+ * Function called on change
3080
+ */
3081
+ onChange: ((value: boolean) => void) | undefined;
3082
+ /**
3083
+ * Function called on touch
3084
+ */
3085
+ onTouched: (() => void) | undefined;
3086
+ handleClick(): void;
3087
+ /**
3088
+ * Register function on change
3089
+ * @param fn the function to register
3090
+ */
3091
+ registerOnChange(fn: any): void;
3092
+ /**
3093
+ * Register function on touch
3094
+ * @param fn the function to register
3095
+ */
3096
+ registerOnTouched(fn: any): void;
3097
+ /**
3098
+ * Set the disabled state
3099
+ * @param isDisabled disabled or not
3100
+ */
3101
+ setDisabledState?(isDisabled: boolean): void;
3102
+ writeValue(value: boolean): void;
3103
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ToggleSwitchComponent, never>;
3104
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ToggleSwitchComponent, "particle-toggle-switch", never, { "options": { "alias": "options"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; "isSignal": true; }; }, { "disabled": "disabledChange"; "changed": "changed"; }, never, never, true, never>;
3105
+ }
3106
+
3107
+ declare class CheckboxComponent implements ControlValueAccessor {
3108
+ private changeDetectorRef;
3109
+ _value: boolean;
3110
+ private _disabled;
3111
+ onChange: (value: any) => void;
3112
+ onTouched: () => any;
3113
+ set disabled(disabled: boolean);
3114
+ get disabled(): boolean;
3115
+ set value(value: string | boolean);
3116
+ get value(): string | boolean;
3117
+ readonly size: _angular_core.InputSignal<number>;
3118
+ readonly inputId: _angular_core.InputSignal<string>;
3119
+ readonly text: _angular_core.InputSignal<CheckboxText>;
3120
+ type: string;
3121
+ /**
3122
+ * Write value
3123
+ * @param value the value to write
3124
+ */
3125
+ writeValue(value: string): void;
3126
+ /**
3127
+ * Register control value accessor change function
3128
+ * @param fn the function to register
3129
+ */
3130
+ registerOnChange(fn: (value: any) => void): void;
3131
+ /**
3132
+ * Register touch handler
3133
+ * @param fn the touch handler to register
3134
+ */
3135
+ registerOnTouched(fn: any): void;
3136
+ /**
3137
+ * Set the disabled state
3138
+ * @param isDisabled whether or not the component should be disabled
3139
+ */
3140
+ setDisabledState?(isDisabled: boolean): void;
3141
+ click(): void;
3142
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CheckboxComponent, never>;
3143
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CheckboxComponent, "particle-checkbox", never, { "disabled": { "alias": "disabled"; "required": false; }; "value": { "alias": "value"; "required": false; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "inputId": { "alias": "inputId"; "required": false; "isSignal": true; }; "text": { "alias": "text"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3144
+ }
3145
+
3146
+ declare const INPUTMASK_VALUE_ACCESSOR: any;
3147
+ declare class InputMaskComponent implements OnInit, ControlValueAccessor {
3148
+ type: string;
3149
+ slotChar: string;
3150
+ autoClear: boolean;
3151
+ style: any;
3152
+ inputId: string;
3153
+ styleClass: string;
3154
+ placeholder: string;
3155
+ size: number;
3156
+ maxlength: number;
3157
+ tabindex: string;
3158
+ ariaLabel: string;
3159
+ ariaRequired: boolean;
3160
+ disabled: boolean;
3161
+ readonly: boolean;
3162
+ unmask: boolean;
3163
+ name: string;
3164
+ required: boolean;
3165
+ characterPattern: string;
3166
+ autoFocus: boolean;
3167
+ autocomplete: string;
3168
+ inputViewChild: ElementRef;
3169
+ onComplete: EventEmitter<any>;
3170
+ onFocus: EventEmitter<any>;
3171
+ onBlur: EventEmitter<any>;
3172
+ onInput: EventEmitter<any>;
3173
+ value: any;
3174
+ _mask: string;
3175
+ input: HTMLInputElement;
3176
+ filled: boolean;
3177
+ defs: any;
3178
+ tests: any[];
3179
+ partialPosition: any;
3180
+ firstNonMaskPos: number;
3181
+ lastRequiredNonMaskPos: any;
3182
+ len: number;
3183
+ oldVal: string;
3184
+ buffer: any;
3185
+ defaultBuffer: string;
3186
+ focusText: string;
3187
+ caretTimeoutId: any;
3188
+ androidChrome: boolean;
3189
+ focused: boolean;
3190
+ onModelChange: (val?: any) => void;
3191
+ onModelTouched: (val?: any) => void;
3192
+ ngOnInit(): void;
3193
+ get mask(): string;
3194
+ set mask(val: string);
3195
+ initMask(): void;
3196
+ writeValue(value: any): void;
3197
+ registerOnChange(fn: any): void;
3198
+ registerOnTouched(fn: any): void;
3199
+ setDisabledState(val: boolean): void;
3200
+ caret(first?: number, last?: number): any;
3201
+ isCompleted(): boolean;
3202
+ getPlaceholder(i: number): string;
3203
+ seekNext(pos: number): number;
3204
+ seekPrev(pos: number): number;
3205
+ shiftL(begin: number, end: number): void;
3206
+ shiftR(pos: number): void;
3207
+ handleAndroidInput(e: Event): void;
3208
+ onInputBlur(e: Event): void;
3209
+ onKeyDown(e: KeyboardEvent): void;
3210
+ onKeyPress(e: KeyboardEvent): void;
3211
+ /**
3212
+ * Adjust cursor position if clicked on empty space ahead of the existing input
3213
+ */
3214
+ onClick(): void;
3215
+ clearBuffer(start: number, end: number): void;
3216
+ writeBuffer(): void;
3217
+ checkVal(allow?: boolean): number;
3218
+ onInputFocus(event: Event): void;
3219
+ onInputChange(event: Event): void;
3220
+ handleInputChange(event: Event): void;
3221
+ getUnmaskedValue(): string;
3222
+ updateModel(e: any): void;
3223
+ updateFilledState(): void;
3224
+ focus(): void;
3225
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputMaskComponent, never>;
3226
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputMaskComponent, "particle-input-mask", never, { "type": { "alias": "type"; "required": false; }; "slotChar": { "alias": "slotChar"; "required": false; }; "autoClear": { "alias": "autoClear"; "required": false; }; "style": { "alias": "style"; "required": false; }; "inputId": { "alias": "inputId"; "required": false; }; "styleClass": { "alias": "styleClass"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "size": { "alias": "size"; "required": false; }; "maxlength": { "alias": "maxlength"; "required": false; }; "tabindex": { "alias": "tabindex"; "required": false; }; "ariaLabel": { "alias": "ariaLabel"; "required": false; }; "ariaRequired": { "alias": "ariaRequired"; "required": false; }; "disabled": { "alias": "disabled"; "required": false; }; "readonly": { "alias": "readonly"; "required": false; }; "unmask": { "alias": "unmask"; "required": false; }; "name": { "alias": "name"; "required": false; }; "required": { "alias": "required"; "required": false; }; "characterPattern": { "alias": "characterPattern"; "required": false; }; "autoFocus": { "alias": "autoFocus"; "required": false; }; "autocomplete": { "alias": "autocomplete"; "required": false; }; "mask": { "alias": "mask"; "required": false; }; }, { "onComplete": "onComplete"; "onFocus": "onFocus"; "onBlur": "onBlur"; "onInput": "onInput"; }, never, never, true, never>;
3227
+ }
3228
+
3229
+ declare class ProgressBarComponent {
3230
+ private _percentComplete;
3231
+ set percentComplete(percentComplete: number);
3232
+ get percentComplete(): number;
3233
+ readonly backgroundColorClass: _angular_core.InputSignal<string>;
3234
+ readonly progressColorClass: _angular_core.InputSignal<string>;
3235
+ readonly showPercentComplete: _angular_core.InputSignal<boolean>;
3236
+ readonly borderRadius: _angular_core.InputSignal<number>;
3237
+ readonly height: _angular_core.InputSignal<number>;
3238
+ readonly showBorder: _angular_core.InputSignal<boolean>;
3239
+ readonly showMovement: _angular_core.InputSignal<boolean>;
3240
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ProgressBarComponent, never>;
3241
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ProgressBarComponent, "particle-progress-bar", never, { "percentComplete": { "alias": "percentComplete"; "required": false; }; "backgroundColorClass": { "alias": "backgroundColorClass"; "required": false; "isSignal": true; }; "progressColorClass": { "alias": "progressColorClass"; "required": false; "isSignal": true; }; "showPercentComplete": { "alias": "showPercentComplete"; "required": false; "isSignal": true; }; "borderRadius": { "alias": "borderRadius"; "required": false; "isSignal": true; }; "height": { "alias": "height"; "required": false; "isSignal": true; }; "showBorder": { "alias": "showBorder"; "required": false; "isSignal": true; }; "showMovement": { "alias": "showMovement"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3242
+ }
3243
+
3244
+ declare class LoaderComponent {
3245
+ text: LoaderText;
3246
+ disableText: boolean;
3247
+ protected backgroundStyle: string | undefined;
3248
+ private _colors;
3249
+ set colors(colors: Array<string>);
3250
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LoaderComponent, never>;
3251
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<LoaderComponent, "particle-loader", never, { "text": { "alias": "text"; "required": false; }; "disableText": { "alias": "disableText"; "required": false; }; "colors": { "alias": "colors"; "required": false; }; }, {}, never, never, true, never>;
3252
+ }
3253
+
3254
+ declare class RadioButtonsComponent implements ControlValueAccessor {
3255
+ private changeDetectorRef;
3256
+ readonly disabled: _angular_core.WritableSignal<boolean>;
3257
+ readonly value: _angular_core.WritableSignal<string>;
3258
+ readonly options: _angular_core.InputSignal<DropdownOption[]>;
3259
+ readonly colorClass: _angular_core.InputSignal<string>;
3260
+ readonly isDisplayColumn: _angular_core.InputSignal<boolean>;
3261
+ onChange: (value: any) => void;
3262
+ onTouched: () => any;
3263
+ /**
3264
+ * Set internal value when external value changes
3265
+ * @param value the external value
3266
+ */
3267
+ writeValue(value: string): void;
3268
+ /**
3269
+ * Register onChange function
3270
+ * @param fn the function to register
3271
+ */
3272
+ registerOnChange(fn: any): void;
3273
+ /**
3274
+ * Register onTouched function
3275
+ * @param fn the function to register
3276
+ */
3277
+ registerOnTouched(fn: any): void;
3278
+ /**
3279
+ * Set the disabled state of the component
3280
+ * @param isDisabled disabled or not
3281
+ */
3282
+ setDisabledState?(isDisabled: boolean): void;
3283
+ handleInput(value: string | number): void;
3284
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RadioButtonsComponent, never>;
3285
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RadioButtonsComponent, "particle-radio-buttons", never, { "options": { "alias": "options"; "required": false; "isSignal": true; }; "colorClass": { "alias": "colorClass"; "required": false; "isSignal": true; }; "isDisplayColumn": { "alias": "isDisplayColumn"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
3286
+ }
3287
+
3288
+ /**
3289
+ * This interceptor will force the Content-Type header to application/json so that each http call doesn't have to.
3290
+ */
3291
+ declare class JsonInterceptor implements HttpInterceptor {
3292
+ /**
3293
+ * Intercept method to set the content type header.
3294
+ *
3295
+ * @param req
3296
+ * @param next
3297
+ */
3298
+ intercept(req: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>>;
3299
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<JsonInterceptor, never>;
3300
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<JsonInterceptor>;
3301
+ }
3302
+
3303
+ /**
3304
+ * This class provides some foundational REST endpoint call capabilities. It will do things like unpack lists into native objects and
3305
+ * return Observables so that you don't have to deal with mapping each and every response. It'll also log errors to the console and pass
3306
+ * along the error text for you.
3307
+ */
3308
+ declare class BaseDataService {
3309
+ protected http: HttpClient;
3310
+ /**
3311
+ * Extensions of this class can provide the Base URL so that they don't need to write out the full URL for every call made.
3312
+ */
3313
+ protected getBaseUrl(): string;
3314
+ /**
3315
+ * If you receive a 404 from an endpoint, you can choose to treat it like a successful empty response
3316
+ * by overriding this and returning true.
3317
+ *
3318
+ * @protected
3319
+ */
3320
+ protected ignoreNoResultsError(): boolean;
3321
+ /**
3322
+ * Takes an HTTPClient object so that it can make REST calls.
3323
+ *
3324
+ * @param http
3325
+ */
3326
+ constructor(http: HttpClient);
3327
+ /**
3328
+ * Gets a result from an endpoint. Executes an HTTP GET.
3329
+ *
3330
+ * @param url
3331
+ * @param params
3332
+ */
3333
+ handleGet(url: string, params?: HttpParams): Observable<any>;
3334
+ /**
3335
+ * Will get a single result from an endpoint. Executes an HTTP GET.
3336
+ *
3337
+ * @param url
3338
+ */
3339
+ handleGetOne(url: string): Observable<any>;
3340
+ /**
3341
+ * Gets a List of Values. Will unpack the data object automatically. Executes an HTTP GET.
3342
+ *
3343
+ * @param url
3344
+ */
3345
+ handleGetList(url: string): Observable<any>;
3346
+ /**
3347
+ * Gets a file from an ednpoint. Executes an HTTP GET.
3348
+ *
3349
+ * @param url
3350
+ * @param params
3351
+ */
3352
+ handleFileGet(url: string, params?: HttpParams): Observable<any>;
3353
+ /**
3354
+ * The handleFileGet will use this to get a file.
3355
+ *
3356
+ * @param url
3357
+ * @param isFileResponse
3358
+ * @param params
3359
+ */
3360
+ private handleGetDetailed;
3361
+ /**
3362
+ * Posts data to an endpoint. HTTP POST.
3363
+ *
3364
+ * @param url
3365
+ * @param payload
3366
+ */
3367
+ handlePost(url: string, payload: any): Observable<any>;
3368
+ /**
3369
+ * Posts data to an endpoint with an expected return of a File.
3370
+ *
3371
+ * @param url
3372
+ * @param payload
3373
+ */
3374
+ handlePostWithFileResponse(url: string, payload: any): Observable<any>;
3375
+ /**
3376
+ * The handlePost methods will use this to make Post calls easier.
3377
+ *
3378
+ * @param url
3379
+ * @param payload
3380
+ * @param isJson
3381
+ * @param isFileResponse
3382
+ */
3383
+ private handlePostDetailed;
3384
+ /**
3385
+ * Update data with a REST call. HTTP PUT.
3386
+ *
3387
+ * @param url
3388
+ * @param payload
3389
+ */
3390
+ handlePut(url: string, payload: any): Observable<any>;
3391
+ /**
3392
+ * Used by the handlePut method to make it simpler and the guts more reusable.
3393
+ *
3394
+ * @param url
3395
+ * @param payload
3396
+ * @param isJson
3397
+ */
3398
+ private handlePutDetailed;
3399
+ /**
3400
+ * Executes an HTTP DELETE to remove data.
3401
+ *
3402
+ * @param url
3403
+ */
3404
+ handleDelete(url: string): Observable<any>;
3405
+ /**
3406
+ * Handles an Observable error
3407
+ *
3408
+ * @param error
3409
+ */
3410
+ handleObservableError(error: HttpErrorResponse): Observable<any>;
3411
+ /**
3412
+ * Logs an error and rethrows it
3413
+ *
3414
+ * @param error
3415
+ * @param ignoreNoResultsError
3416
+ */
3417
+ handleError(error: HttpErrorResponse, ignoreNoResultsError: boolean, noResultsResponse?: any): Observable<any>;
3418
+ /**
3419
+ * Performs a deep copy of a JS object.
3420
+ *
3421
+ * @param o
3422
+ */
3423
+ deepCopy<T>(o: T): T;
3424
+ /**
3425
+ * Gets the expected response type from an endpoint
3426
+ *
3427
+ * @param isFileResponse
3428
+ */
3429
+ private getOptions;
3430
+ }
3431
+
3432
+ /**
3433
+ * Wrapper around interactions with Local Storage. Handles serializing things to JSON to make it easier to push more complex data into
3434
+ * local storage.
3435
+ */
3436
+ declare class LocalStorageService {
3437
+ /**
3438
+ * Retrieve an object from LocalStorage
3439
+ *
3440
+ * @param key
3441
+ */
3442
+ getObject<T>(key: string): T | null;
3443
+ /**
3444
+ * Get straight text out of local storage. Don't use this if the data is a JSON Object.
3445
+ *
3446
+ * @param key
3447
+ */
3448
+ getText(key: string): string;
3449
+ /**
3450
+ * Puts an object into Local Storage. Handles stringifying the JS Object.
3451
+ *
3452
+ * @param key
3453
+ * @param object
3454
+ */
3455
+ putObject(key: string, object: any): void;
3456
+ /**
3457
+ * Puts text into Local Storage.
3458
+ *
3459
+ * @param key
3460
+ * @param value
3461
+ */
3462
+ putText(key: string, value: string): void;
3463
+ /**
3464
+ * Removes an item from local storage based on the key.
3465
+ *
3466
+ * @param key
3467
+ */
3468
+ remove(key: string): void;
3469
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<LocalStorageService, never>;
3470
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<LocalStorageService>;
3471
+ }
3472
+
3473
+ declare class DialogService {
3474
+ dialogs: DialogComponent[];
3475
+ private escapeListener;
3476
+ registerDialog(dialog: DialogComponent): void;
3477
+ unregisterDialog(dialog: DialogComponent): void;
3478
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DialogService, never>;
3479
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<DialogService>;
3480
+ }
3481
+
3482
+ /**
3483
+ * Model representing a notification
3484
+ */
3485
+ interface Notification {
3486
+ /**
3487
+ * The notification ID
3488
+ */
3489
+ id?: string;
3490
+ /**
3491
+ * The notification severity
3492
+ */
3493
+ severity: 'success' | 'info' | 'warn' | 'error';
3494
+ /**
3495
+ * The notification summary
3496
+ */
3497
+ summary: string;
3498
+ /**
3499
+ * The notification detail
3500
+ */
3501
+ detail?: string;
3502
+ }
3503
+
3504
+ /**
3505
+ * Service for adding/deleting notifications
3506
+ */
3507
+ declare class NotificationService {
3508
+ /**
3509
+ * Valid characters that a notification ID can be composed from
3510
+ * @private
3511
+ */
3512
+ private static readonly ID_CHARACTERS;
3513
+ /**
3514
+ * BehaviorSubject tracking an array of active notifications
3515
+ * @private
3516
+ */
3517
+ private readonly _notifications;
3518
+ /**
3519
+ * The number of milliseconds before an added notification automatically removes itself.
3520
+ * Defaults to 3000 milliseconds
3521
+ * @private
3522
+ */
3523
+ private notificationLife;
3524
+ /**
3525
+ * Generate a random ID
3526
+ * @private
3527
+ */
3528
+ private static generateId;
3529
+ /**
3530
+ * Add a notification
3531
+ * @param notification the notification to add
3532
+ */
3533
+ add(notification: Notification): void;
3534
+ /**
3535
+ * Delete a notification
3536
+ * @param id the ID of the notification to delete
3537
+ */
3538
+ deleteNotification(id: string): void;
3539
+ /**
3540
+ * Get notifications as an Observable
3541
+ */
3542
+ getNotifications(): Observable<Array<Notification>>;
3543
+ /**
3544
+ * Set the number of milliseconds before added notifications disappear
3545
+ * @param milliseconds the number of milliseconds to set
3546
+ */
3547
+ setNotificationLife(milliseconds: number): void;
3548
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NotificationService, never>;
3549
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<NotificationService>;
3550
+ }
3551
+
3552
+ declare const Z_INDEX_LAYERS: {
3553
+ BASE: string;
3554
+ FRAME: string;
3555
+ OVERLAY: string;
3556
+ DIALOG: string;
3557
+ NOTIFICATION: string;
3558
+ };
3559
+ interface Theme {
3560
+ themeId: string;
3561
+ isDefault: boolean;
3562
+ name: string;
3563
+ layoutColors: ThemeLayoutColors;
3564
+ layoutVariables: ThemeLayoutVariables;
3565
+ stylingVariables: ThemeStylingVariables;
3566
+ colorPalette: ThemeColorPalette;
3567
+ buttonColorPalette: ThemeButtonColorPalette;
3568
+ fonts: Array<ThemeFont>;
3569
+ accessibility: ThemeAccessibility;
3570
+ zIndexList?: Array<string>;
3571
+ }
3572
+ interface ThemeLayoutColors {
3573
+ menuColor: string;
3574
+ headerColor: string;
3575
+ footerColor: string;
3576
+ bodyColor: string;
3577
+ contentColor: string;
3578
+ }
3579
+ interface ThemeColorPalette {
3580
+ bgRed: string;
3581
+ bgOrange: string;
3582
+ bgYellow: string;
3583
+ bgGreen: string;
3584
+ bgBlue: string;
3585
+ bgPurple: string;
3586
+ bgBrown: string;
3587
+ bgGrey: string;
3588
+ extension: Array<ThemeColorPaletteExtension>;
3589
+ }
3590
+ interface ThemeButtonColorPalette {
3591
+ okButtonColor: string;
3592
+ cancelButtonColor: string;
3593
+ deleteButtonColor: string;
3594
+ saveButtonColor: string;
3595
+ nextButtonColor: string;
3596
+ previousButtonColor: string;
3597
+ openButtonColor: string;
3598
+ closeButtonColor: string;
3599
+ }
3600
+ interface ThemeLayoutVariables {
3601
+ disableGlobalHeaderFooter: boolean;
3602
+ headerHeight: string;
3603
+ footerHeight: string;
3604
+ menuWidth?: string;
3605
+ }
3606
+ interface ThemeStylingVariables {
3607
+ inputTextSize: string;
3608
+ inputLabelSize: string;
3609
+ inputHeight: string;
3610
+ inputBgColor: string;
3611
+ inputPadding: string;
3612
+ borderColor: string;
3613
+ borderSize: string;
3614
+ borderRadius: string;
3615
+ tooltipBackgroundColor: string;
3616
+ tooltipTextSize: string;
3617
+ tooltipBorderSize: string;
3618
+ tooltipBorderColor: string;
3619
+ tooltipCaretSize?: string;
3620
+ }
3621
+ interface ThemeColorPaletteExtension {
3622
+ className: string;
3623
+ color?: string;
3624
+ textColor?: string;
3625
+ }
3626
+ interface ThemeFont {
3627
+ name: string;
3628
+ id?: string;
3629
+ source?: 'google' | 'adobe';
3630
+ isDefault?: boolean;
3631
+ isSerif?: boolean;
3632
+ }
3633
+ interface ThemeAccessibility {
3634
+ enabled: boolean;
3635
+ highlightColor: string;
3636
+ highlightThickness: string;
3637
+ highlightOffset: string;
3638
+ hoverEnabled: boolean;
3639
+ }
3640
+
3641
+ declare class ThemingService {
3642
+ private localStorageService;
3643
+ private themeChangeDetectionService;
3644
+ private readonly defaultZIndexes;
3645
+ /**
3646
+ * Prefix used to build the key for local storage of the theme
3647
+ */
3648
+ private readonly THEME_KEY;
3649
+ /**
3650
+ * A private BehaviorSubject to store the loaded themes
3651
+ */
3652
+ private themes;
3653
+ private $selectedTheme;
3654
+ get selectedTheme(): Observable<Theme>;
3655
+ /**
3656
+ * Key for the product this is deployed into
3657
+ */
3658
+ protected applicationName: string;
3659
+ /**
3660
+ * Converts a JSON property name to snake case
3661
+ *
3662
+ * @param prop
3663
+ */
3664
+ private toSnakeCase;
3665
+ private toKebabCase;
3666
+ private convertUnderscoreToDash;
3667
+ /**
3668
+ * For the given color, it'll lighten or darken the color by the percentage supplied. Positive percent will lighten, negative to darken.
3669
+ *
3670
+ * @param color
3671
+ * @param percent
3672
+ */
3673
+ private lightenDarkenColor;
3674
+ /**
3675
+ * Converts a hex value to a Javascript object with r,g, and b variables.
3676
+ *
3677
+ * @param hex
3678
+ */
3679
+ private hexToRgb;
3680
+ /**
3681
+ * Generates a random hex color
3682
+ */
3683
+ getRandomColor(): string;
3684
+ /**
3685
+ * On App Initialization (in app.component.ts, ngOnInit) call this to load themes and apply the user selected theme or default theme.
3686
+ *
3687
+ * @param applicationName
3688
+ * @param themes
3689
+ */
3690
+ appInit(applicationName: string, themes: Theme[]): void;
3691
+ /**
3692
+ * Return the themes for the current app
3693
+ */
3694
+ getThemes(): Observable<Theme[]>;
3695
+ /**
3696
+ * Apply the selected theme
3697
+ */
3698
+ applySettings(): void;
3699
+ /**
3700
+ * Returns the user selected theme from local storage
3701
+ */
3702
+ getTheme(): Theme;
3703
+ /**
3704
+ * Persists the user selected theme in local storage
3705
+ *
3706
+ * @param settings
3707
+ */
3708
+ saveTheme(settings: Theme): void;
3709
+ /**
3710
+ * Writes the theme information to a style tag in the header so that the theme is applied.
3711
+ *
3712
+ * @param theme
3713
+ * @param prefix
3714
+ */
3715
+ changeColors(theme: Theme, prefix?: string): void;
3716
+ private addHashmark;
3717
+ private addFonts;
3718
+ private fontExists;
3719
+ removeThemeFromHeader(prefix: string): void;
3720
+ /**
3721
+ * Determines the contrast between a given color and its auto-selected text color
3722
+ *
3723
+ * @param color
3724
+ */
3725
+ getContrast(color: string): number;
3726
+ /**
3727
+ * Calculates luminance
3728
+ *
3729
+ * @param r
3730
+ * @param g
3731
+ * @param b
3732
+ */
3733
+ private luminance;
3734
+ private isDarkTheme;
3735
+ /**
3736
+ * Calculates the contrast
3737
+ *
3738
+ * @param rgb1
3739
+ * @param rgb2
3740
+ */
3741
+ private contrast;
3742
+ /**
3743
+ * Returns the maximally contrasting text color for the supplied background color
3744
+ *
3745
+ * @param color
3746
+ */
3747
+ getTextColor(color: string): string;
3748
+ /**
3749
+ * Generates the CSS for each of the colors in the theme. Will write the base color and 9 light and dark variants of the given color.
3750
+ *
3751
+ * @param style
3752
+ * @param color
3753
+ * @param className
3754
+ */
3755
+ private generateColors;
3756
+ getDefaultZIndexes(): Array<string>;
3757
+ private createZIndexes;
3758
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemingService, never>;
3759
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemingService>;
3760
+ }
3761
+
3762
+ /**
3763
+ * Service to allow for components/services to listen for theme changes
3764
+ */
3765
+ declare class ThemeChangeDetectionService {
3766
+ /**
3767
+ * Subject that fires when the theme is changed
3768
+ * @private
3769
+ */
3770
+ private readonly _themeChanged;
3771
+ /**
3772
+ * Dependency injection site
3773
+ */
3774
+ constructor();
3775
+ /**
3776
+ * Trigger a theme change event
3777
+ */
3778
+ changeTheme(): void;
3779
+ /**
3780
+ * Listen for theme change events
3781
+ */
3782
+ listen(): Observable<void>;
3783
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ThemeChangeDetectionService, never>;
3784
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<ThemeChangeDetectionService>;
3785
+ }
3786
+
3787
+ /**
3788
+ * Pipe to transform an input number into its ordinal format
3789
+ */
3790
+ declare class OrdinalNumberPipe implements PipeTransform {
3791
+ /**
3792
+ * Transform the input number/string (must be a valid number if string)
3793
+ * into Ordinal format (1 -> 1st, 2 -> 2nd, etc)
3794
+ * @param value the number to transform
3795
+ */
3796
+ transform(value: number | string): string;
3797
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<OrdinalNumberPipe, never>;
3798
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<OrdinalNumberPipe, "ordinalNumber", true>;
3799
+ }
3800
+
3801
+ /**
3802
+ * Auditable Class - Holds the creation and modification data that is known for most DB interactions
3803
+ */
3804
+ interface Auditable {
3805
+ /**
3806
+ * Who Created it
3807
+ */
3808
+ createdBy: string;
3809
+ /**
3810
+ * When it was created
3811
+ */
3812
+ createdTime: Date;
3813
+ /**
3814
+ * Who last modified it
3815
+ */
3816
+ modifiedBy: string;
3817
+ /**
3818
+ * When it was last modified
3819
+ */
3820
+ modifiedTime: Date;
3821
+ }
3822
+
3823
+ /**
3824
+ * The Data List is a wrapper class of Arrays returned from an endpoint. This makes it easy to unpack the list automagically.
3825
+ */
3826
+ interface DataList<T> {
3827
+ /**
3828
+ * The field that holds a List of data
3829
+ */
3830
+ data: T[];
3831
+ }
3832
+
3833
+ /**
3834
+ * Wrapper class that holds an ID when a POST operation is completed
3835
+ */
3836
+ interface Id {
3837
+ /**
3838
+ * The ID
3839
+ */
3840
+ id: any;
3841
+ }
3842
+
3843
+ declare class ObservableContainer<T> {
3844
+ private _subject;
3845
+ private readonly _obs;
3846
+ constructor(obs: Observable<T>);
3847
+ refresh(): void;
3848
+ get observable(): Observable<T>;
3849
+ }
3850
+
3851
+ export { AccordionComponent, AccordionContentDirective, AccordionHeaderDirective, AccordionItemDirective, BackgroundCarouselDirective, BaseDataService, CalendarComponent, CheckboxComponent, ColorPickerComponent, DatePickerComponent, DateRangePickerComponent, DialogComponent, DialogService, DropdownComponent, INPUTMASK_VALUE_ACCESSOR, IconSelectComponent, IdleTimeoutComponent, InputMaskComponent, JsonInterceptor, KeyfilterDirective, LayoutFullFramingComponent, LayoutFullwidthSidebarComponent, LoaderComponent, LocalStorageService, MultiSelectComponent, NotificationComponent, NotificationService, ObservableContainer, OrdinalNumberPipe, PaginatorComponent, ParticleIconsModule, PopoverComponent, ProfilePicComponent, ProgressBarComponent, RICH_TEXT_VALUE_ACCESSOR, RadioButtonsComponent, RichTextComponent, ScrollToTopComponent, SlideoverComponent, SliderComponent, ThemeChangeDetectionService, ThemingService, ToggleSwitchComponent, TooltipDirective, WeekPickerComponent, Z_INDEX_LAYERS };
3852
+ export type { Auditable, CarouselOptions, DataList, DropdownOption, DropdownOptionGroup, Id, Interval, MultiSelectOption, MultiSelectOptionGroup, Notification, PaginationEvent, RichTextCapabilities, Theme, ThemeAccessibility, ThemeButtonColorPalette, ThemeColorPalette, ThemeColorPaletteExtension, ThemeFont, ThemeLayoutColors, ThemeLayoutVariables, ThemeStylingVariables, ToggleOptions };