carriera-intern-components 1.1.199 → 1.1.721

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 (111) hide show
  1. package/fesm2022/carriera-intern-components.mjs +9119 -5402
  2. package/fesm2022/carriera-intern-components.mjs.map +1 -1
  3. package/index.d.ts +2550 -3
  4. package/package.json +1 -1
  5. package/public/assets/animations/animation-document-update.json +1 -0
  6. package/public/assets/animations/animation-image.json +1 -0
  7. package/public/assets/animations/animation-logo.json +1 -0
  8. package/public/assets/animations/animation-media.json +1 -0
  9. package/public/assets/cdl.png +0 -0
  10. package/public/assets/icons/Thumb-active.svg +3 -0
  11. package/public/assets/icons/cai-drop-zone-focus.svg +48 -0
  12. package/public/assets/icons/fuel-contact/cai-contact.svg +3 -0
  13. package/public/assets/icons/general/cai-date.svg +1 -1
  14. package/public/assets/icons/general/cai-sort-descending.svg +4 -0
  15. package/public/assets/icons/interaction/cai-dislike.svg +2 -2
  16. package/public/assets/icons/interaction/cai-drag.svg +3 -0
  17. package/public/assets/icons/interaction/cai-like.svg +2 -2
  18. package/public/assets/icons/interaction/cai_time.svg +1 -1
  19. package/public/assets/icons/load/cai-parking.svg +3 -0
  20. package/public/assets/invexample.png +0 -0
  21. package/public/assets/invoice.png +0 -0
  22. package/public/assets/json/icons.json +20 -0
  23. package/src/styles/README.md +7 -5
  24. package/src/styles/_variables.scss +27 -14
  25. package/src/styles/cropper.scss +14 -8
  26. package/src/styles/custompickers.scss +704 -693
  27. package/src/styles/popover.scss +210 -4
  28. package/src/styles/review_variables.scss +5 -0
  29. package/src/styles/tooltip.scss +37 -3
  30. package/src/styles.scss +18 -6
  31. package/app/components/avatar/avatar.component.d.ts +0 -30
  32. package/app/components/avatar/models/avatar.model.d.ts +0 -28
  33. package/app/components/avatar/models/index.d.ts +0 -1
  34. package/app/components/avatar/pipes/initials.pipe.d.ts +0 -11
  35. package/app/components/copy/copy.component.d.ts +0 -23
  36. package/app/components/document-preview/document-preview.component.d.ts +0 -107
  37. package/app/components/document-preview/interfaces/document-tag.interface.d.ts +0 -4
  38. package/app/components/document-preview/interfaces/index.d.ts +0 -1
  39. package/app/components/drop-zone/drop-zone.component.d.ts +0 -192
  40. package/app/components/drop-zone/models/file.response.d.ts +0 -10
  41. package/app/components/input/directives/helpers/index.d.ts +0 -1
  42. package/app/components/input/directives/helpers/mask.helper.d.ts +0 -15
  43. package/app/components/input/directives/mask.directive.d.ts +0 -67
  44. package/app/components/input/directives/number-format.directive.d.ts +0 -120
  45. package/app/components/input/directives/password.directive.d.ts +0 -100
  46. package/app/components/input/input.component.d.ts +0 -394
  47. package/app/components/input/models/dropdown.model.d.ts +0 -272
  48. package/app/components/input/models/index.d.ts +0 -2
  49. package/app/components/input/models/input.model.d.ts +0 -62
  50. package/app/components/input/pipes/error-message.pipe.d.ts +0 -11
  51. package/app/components/input/pipes/filter-by-search.pipe.d.ts +0 -9
  52. package/app/components/input/pipes/highlight-search.d.ts +0 -13
  53. package/app/components/input/pipes/remap-pm-icons.pipe.d.ts +0 -7
  54. package/app/components/input-address/enums/input-address-layers-string.enum.d.ts +0 -4
  55. package/app/components/input-address/enums/input-address-type-string.enum.d.ts +0 -5
  56. package/app/components/input-address/input-address.component.d.ts +0 -67
  57. package/app/components/input-address/models/address-data.model.d.ts +0 -19
  58. package/app/components/input-address/models/address-list.model.d.ts +0 -6
  59. package/app/components/input-address/models/long-lat.model.d.ts +0 -4
  60. package/app/components/input-address/models/sent-address-data.model.d.ts +0 -22
  61. package/app/components/input-datetime-picker/cai-input-datetime-picker.component.d.ts +0 -103
  62. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/cai-custom-datetime-pickers.component.d.ts +0 -58
  63. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-dates-main/cai-custom-datetime-pickers-calendar-dates-main.component.d.ts +0 -41
  64. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-days/cai-custom-datetime-pickers-calendar-days.component.d.ts +0 -26
  65. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-calendar-left/cai-custom-datetime-pickers-calendar-left.component.d.ts +0 -30
  66. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/components/cai-custom-datetime-pickers-date-calendars/cai-custom-datetime-pickers-date-calendars.component.d.ts +0 -38
  67. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/cai-input.config.d.ts +0 -169
  68. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/config/index.d.ts +0 -1
  69. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-left-string.enum.d.ts +0 -5
  70. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-list-preview-string.enum.d.ts +0 -4
  71. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-main-string.enum.d.ts +0 -5
  72. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-scroll-type-string.enum.d.ts +0 -4
  73. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-string.enum.d.ts +0 -6
  74. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/calendar-type-string.enum.d.ts +0 -3
  75. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/enums/config.enum.d.ts +0 -7
  76. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-change.model.d.ts +0 -6
  77. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/models/scroll-type.model.d.ts +0 -8
  78. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/pipes/calendar-months.pipe.d.ts +0 -9
  79. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/services/calendar-datetime-picker.service.d.ts +0 -19
  80. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/strategy/calendar-strategy.d.ts +0 -30
  81. package/app/components/input-datetime-picker/components/cai-custom-datetime-pickers/utils/constants/custom-datetime-pickers.constants.d.ts +0 -19
  82. package/app/components/input-datetime-picker/enums/input-config-name-string.enum.d.ts +0 -7
  83. package/app/components/input-datetime-picker/pipes/input-clear-class.pipe.d.ts +0 -14
  84. package/app/components/input-datetime-picker/pipes/input-date-time-container-class.pipe.d.ts +0 -11
  85. package/app/components/input-datetime-picker/pipes/input-dropdown-arrow-class.pipe.d.ts +0 -11
  86. package/app/components/input-datetime-picker/pipes/input-placeholder-icon.class.pipe.d.ts +0 -11
  87. package/app/components/input-datetime-picker/pipes/show-clear.pipe.d.ts +0 -8
  88. package/app/components/pm/pm.component.d.ts +0 -76
  89. package/app/components/selected-location-field/interfaces/index.d.ts +0 -1
  90. package/app/components/selected-location-field/interfaces/selected-business-field.interface.d.ts +0 -11
  91. package/app/components/selected-location-field/selected-business-field.component.d.ts +0 -12
  92. package/app/directives/hover-svg-directives.d.ts +0 -15
  93. package/app/directives/index.d.ts +0 -3
  94. package/app/directives/infinite-scroll.directive.d.ts +0 -16
  95. package/app/directives/intersection-observer.directive.d.ts +0 -15
  96. package/app/enums/alignment.enum.d.ts +0 -4
  97. package/app/enums/general-actions.enum.d.ts +0 -58
  98. package/app/enums/index.d.ts +0 -3
  99. package/app/enums/string-placeholder.enum.d.ts +0 -3
  100. package/app/models/appFile.model.d.ts +0 -14
  101. package/app/models/pm.model.d.ts +0 -10
  102. package/app/pipes/bytes-to-human-readable.pipe.d.ts +0 -7
  103. package/app/pipes/currency.pipe.d.ts +0 -28
  104. package/app/pipes/number-format.pipe.d.ts +0 -7
  105. package/app/services/document.service.d.ts +0 -22
  106. package/app/utils/autofill-validators.d.ts +0 -10
  107. package/app/utils/constants/index.d.ts +0 -1
  108. package/app/utils/constants/input-character-sets.constants.d.ts +0 -18
  109. package/app/utils/index.d.ts +0 -2
  110. package/public/pdfjs/pdf.worker.min.mjs +0 -30
  111. package/public-api.d.ts +0 -11
package/index.d.ts CHANGED
@@ -1,5 +1,2552 @@
1
+ import * as _angular_forms from '@angular/forms';
2
+ import { ValidationErrors, ValidatorFn, ControlValueAccessor, NgControl, FormGroup, FormControl, UntypedFormGroup } from '@angular/forms';
3
+ import * as _angular_core from '@angular/core';
4
+ import { OnInit, ElementRef, AfterViewInit, ChangeDetectorRef, OnChanges, OnDestroy, AfterViewChecked, EventEmitter, SimpleChanges, TemplateRef } from '@angular/core';
5
+ import { NgbTooltip, NgbPopover, NgbDropdown } from '@ng-bootstrap/ng-bootstrap';
6
+ import * as carriera_intern_components from 'carriera-intern-components';
7
+ import { ImageTransform, ImageCroppedEvent, LoadedImage } from 'ngx-image-cropper';
8
+ import { SafeUrl, DomSanitizer } from '@angular/platform-browser';
9
+ import { AnimationItem } from 'lottie-web';
10
+ import * as rxjs from 'rxjs';
11
+ import { Subject } from 'rxjs';
12
+ import { Clipboard } from '@angular/cdk/clipboard';
13
+
14
+ type FlexibleValidatorFn = (control: any) => ValidationErrors | null;
1
15
  /**
2
- * Generated bundle index. Do not edit.
16
+ * Creates a validator that ignores validation rules when the control is autofilled.
17
+ * This can be used by components to create form controls with autofill support.
18
+ * @param validators - Array of validators to apply when not autofilled
19
+ * @returns A validator function that bypasses validation for autofilled controls
3
20
  */
4
- /// <amd-module name="carriera-intern-components" />
5
- export * from './public-api';
21
+ declare function ignoreWhenAutofilled(...validators: FlexibleValidatorFn[]): ValidatorFn;
22
+
23
+ declare const INPUT_CHARACTER_SETS: {
24
+ readonly DIGITS: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
25
+ readonly FRENCH_LETTERS: readonly ["ç", "é", "â", "ê", "î", "ô", "û", "à", "è", "ì", "ò", "ù", "ë", "ï", "ü", "æ", "œ", "ÿ"];
26
+ readonly LETTERS: readonly ["a", "b", "c", "d", "e", "f", "g", "h", "i", "j", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "x", "y", "z"];
27
+ readonly BASIC_PUNCTUATION: readonly [".", ",", "!", "?", ";", ":"];
28
+ readonly COMMON_SYMBOLS: readonly ["@", "#", "$", "%", "&", "*", "+", "-", "=", "_", "|", "~", "`", "^", "<", ">", "/", "|", "~", "`", "^", "<", ">", "\\"];
29
+ readonly BRACKETS: readonly ["(", ")", "[", "]", "{", "}"];
30
+ readonly QUOTES: readonly ["\"", "'", "`"];
31
+ readonly WHITESPACE: readonly [" ", "\t"];
32
+ readonly DBA_SPECIAL: readonly ["!", "#", "'", "$", "&", "%", "(", ")", "*", "+", ",", "-", ".", "/", ":", ";", "=", ">", "?", "[", "]", "\\", "^"];
33
+ readonly ALPHANUMERIC: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z")[];
34
+ readonly ALPHANUMERIC_WITH_SPACES: string[];
35
+ readonly EMAIL_SPECIAL: readonly ["@", ".", "-", "_", "+"];
36
+ readonly EMAIL_CHARACTERS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "a" | "b" | "c" | "d" | "e" | "f" | "g" | "h" | "i" | "j" | "k" | "l" | "m" | "n" | "o" | "p" | "q" | "r" | "s" | "t" | "u" | "v" | "w" | "x" | "y" | "z" | "." | "@" | "+" | "-" | "_")[];
37
+ readonly SPECIAL_EXCEPT_NAME_FRIENDLY: ("." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
38
+ readonly NAME_CHARACTER_EXCLUSIONS: ("0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" | "." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
39
+ readonly SPECIAL: ("." | "," | "!" | "?" | ";" | ":" | "@" | "#" | "$" | "%" | "&" | "*" | "+" | "-" | "=" | "_" | "|" | "~" | "`" | "^" | "<" | ">" | "/" | "\\" | "(" | ")" | "[" | "]" | "{" | "}" | "\"" | "'")[];
40
+ };
41
+
42
+ interface Driver$1 {
43
+ id: number;
44
+ firstName?: string | null;
45
+ lastName?: string | null;
46
+ fullName?: string | null;
47
+ owner?: boolean | null;
48
+ avatarFile?: AvatarFile | null;
49
+ colorFlag?: ColorFlag | null;
50
+ avatarUrl?: string | null;
51
+ avatarColor?: AvatarColor | null;
52
+ [key: string]: any;
53
+ }
54
+ type AvatarFile = {
55
+ fileId: number;
56
+ fileName: string;
57
+ url: string;
58
+ fileSize: number;
59
+ [key: string]: any;
60
+ };
61
+ type ColorFlag = {
62
+ id: number;
63
+ name: AvatarColor;
64
+ };
65
+ declare const colors: readonly ["Blue", "Green", "Red", "Yellow", "Purple", "Gold", "Light Green", "Orange", "Light Blue", "Pink", "Brown", "Gray", "Lime", "Navy", "Azure", "Magenta"];
66
+ type AvatarColor = (typeof colors)[number];
67
+ declare const sizes$1: readonly [18, 22, 32, 74, 160, 28];
68
+ type Size = (typeof sizes$1)[number];
69
+
70
+ type DropdownOption = {
71
+ id?: number;
72
+ [key: string]: any;
73
+ };
74
+ type Dispatch = {
75
+ id: number;
76
+ dispatchBoardId: number;
77
+ dispatcherId: number;
78
+ truck: Truck;
79
+ trailer?: Trailer | null;
80
+ driver: Driver;
81
+ coDriver?: Driver | null;
82
+ payType: string;
83
+ status?: Status | null;
84
+ numberOfSingleLtlLoads?: number;
85
+ currentLocationCoordinates?: {
86
+ latitude: number;
87
+ longitude: number;
88
+ };
89
+ };
90
+ type DispatchBoard = {
91
+ teamBoard: boolean;
92
+ id: number;
93
+ dispatcher: string | null;
94
+ count: number;
95
+ dispatches: Dispatch[];
96
+ };
97
+ type Driver = {
98
+ id: number;
99
+ firstName: string;
100
+ lastName: string;
101
+ owner?: boolean | null;
102
+ avatarFile?: AvatarFile | null;
103
+ colorFlag?: ColorFlag | null;
104
+ status?: number;
105
+ address: string | null;
106
+ payType: {
107
+ name: string;
108
+ id: number;
109
+ };
110
+ [key: string]: any;
111
+ };
112
+ type Truck = {
113
+ id: number;
114
+ truckNumber: string;
115
+ status: number;
116
+ owner: string;
117
+ color: TruckColor;
118
+ truckType: TruckType;
119
+ truckMakeName?: string | null;
120
+ model?: string | null;
121
+ year: number;
122
+ };
123
+ type TruckColor = {
124
+ id: number;
125
+ companyId?: number | null;
126
+ name: string;
127
+ code: string;
128
+ };
129
+ type TruckType = {
130
+ id: number;
131
+ companyId?: number | null;
132
+ truckNumber?: string | null;
133
+ name: string;
134
+ logoName: string;
135
+ };
136
+ type Trailer = {
137
+ id: number;
138
+ trailerNumber: string;
139
+ status: number;
140
+ owner: string | null;
141
+ trailerType: TrailerType;
142
+ trailerMakeName?: string | null;
143
+ model?: string | null;
144
+ year: number;
145
+ };
146
+ type TrailerType = {
147
+ id: number;
148
+ companyId?: number | null;
149
+ name: string;
150
+ logoName: string;
151
+ hasVolume?: boolean | null;
152
+ };
153
+ type Status = {
154
+ statusValue: {
155
+ name: string;
156
+ id: number;
157
+ };
158
+ statusString: string;
159
+ statusCheckInNumber: string;
160
+ };
161
+ type Broker = {
162
+ id?: number;
163
+ businessName?: string | null;
164
+ availableCredit?: number | null;
165
+ creditLimit?: number | null;
166
+ availableCreditType?: any | null;
167
+ payTerm?: any | null;
168
+ dnu?: boolean;
169
+ ban?: boolean;
170
+ status?: number;
171
+ loadsCount?: number;
172
+ revenue?: number | null;
173
+ fraudCheck?: boolean;
174
+ };
175
+ type DepartmentContactsPair = {
176
+ department?: Department$1;
177
+ contacts?: Contact$1[];
178
+ };
179
+ type Department$1 = {
180
+ id?: number;
181
+ name?: string | null;
182
+ count?: number;
183
+ companyUsers?: any | null;
184
+ };
185
+ type Contact$1 = {
186
+ id?: number;
187
+ brokerId?: number;
188
+ shipperId?: number;
189
+ phone?: string | null;
190
+ contactName?: string | null;
191
+ extensionPhone?: string | null;
192
+ department?: Department$1;
193
+ };
194
+ type Shipper = {
195
+ id?: number;
196
+ businessName?: string | null;
197
+ status?: number | null;
198
+ address?: Address | null;
199
+ longitude?: number | null;
200
+ latitude?: number | null;
201
+ receivingFrom?: string | null;
202
+ receivingTo?: string | null;
203
+ shippingFrom?: string | null;
204
+ shippingTo?: string | null;
205
+ receivingOpenTwentyFourHours?: boolean;
206
+ shippingOpenTwentyFourHours?: boolean;
207
+ pickupCount?: number;
208
+ deliveryCount?: number;
209
+ };
210
+ type Address = {
211
+ city?: string | null;
212
+ state?: string | null;
213
+ county?: string | null;
214
+ address?: string | null;
215
+ street?: string | null;
216
+ streetNumber?: string | null;
217
+ country?: string | null;
218
+ zipCode?: string | null;
219
+ stateShortName?: string | null;
220
+ addressUnit?: string | null;
221
+ };
222
+ type Bank = {
223
+ id?: number;
224
+ name?: string | null;
225
+ logoName?: string | null;
226
+ createdAt?: string;
227
+ updatedAt?: string;
228
+ };
229
+ type Dispatcher = {
230
+ id: number;
231
+ userId: number | null;
232
+ fullName: string;
233
+ avatarFile: AvatarFile | null;
234
+ departmentId: number | null;
235
+ colorFlag?: ColorFlag | null;
236
+ };
237
+ type TruckOption = {
238
+ id: number;
239
+ companyId?: number | null;
240
+ name: string;
241
+ logoName: string;
242
+ };
243
+ type TrailerOption = {
244
+ id: number;
245
+ companyId?: number | null;
246
+ name: string;
247
+ logoName: string;
248
+ hasVolume?: boolean | null;
249
+ };
250
+ type Hazardous = {
251
+ id?: number;
252
+ class?: number;
253
+ division?: number;
254
+ group?: string;
255
+ description?: string;
256
+ notes?: string;
257
+ logoName?: string;
258
+ };
259
+ type State = {
260
+ id?: number;
261
+ countryType?: {
262
+ name: string;
263
+ id: number;
264
+ };
265
+ stateShortName?: string;
266
+ stateName?: string;
267
+ counter?: number | null;
268
+ };
269
+ type Owner = {
270
+ id?: number;
271
+ name?: string | null;
272
+ ein?: string | null;
273
+ };
274
+ type FuelCard = {
275
+ id?: number;
276
+ number?: string | null;
277
+ brand?: string | null;
278
+ account?: string | null;
279
+ };
280
+ type PMOption = {
281
+ id?: number;
282
+ title?: string | null;
283
+ months?: number | null;
284
+ logoName?: string | null;
285
+ };
286
+ type ColorOption = {
287
+ id?: number;
288
+ companyId?: number | null;
289
+ name?: string | null;
290
+ code?: string | null;
291
+ hoverCode?: string | null;
292
+ };
293
+ type MakeOption = {
294
+ id?: number;
295
+ companyId?: number | null;
296
+ name?: string | null;
297
+ logoName?: string | null;
298
+ };
299
+ type TollOption = {
300
+ groupName?: string | null;
301
+ tollTransponders?: TollTransponderOption[] | null;
302
+ };
303
+ type TollTransponderOption = {
304
+ name?: string | null;
305
+ id?: number;
306
+ };
307
+ type Franchise = {
308
+ id: number;
309
+ businessName: string;
310
+ count: number;
311
+ fuelStopStores: FuelStopStore[];
312
+ isFranchise: boolean;
313
+ [key: string]: any;
314
+ };
315
+ type FuelStopStore = {
316
+ id: number;
317
+ companyId: number;
318
+ businessName: string;
319
+ store: string;
320
+ address: Address;
321
+ [key: string]: any;
322
+ };
323
+ type Provider = {
324
+ id: number;
325
+ name: string;
326
+ };
327
+ type SplitDriver = {
328
+ id: number;
329
+ firstName: string;
330
+ lastName: string;
331
+ owner?: any | null;
332
+ avatarFile?: AvatarFile | null;
333
+ colorFlag?: ColorFlag | null;
334
+ status?: number;
335
+ pendingLoadsCount?: number;
336
+ dispatchStatus?: Status | null;
337
+ payType?: {
338
+ name: string;
339
+ id: number;
340
+ };
341
+ payTypeValue?: string;
342
+ [key: string]: any;
343
+ };
344
+ type SplitDriverBoard = {
345
+ id: number;
346
+ dispatcherName: string | null;
347
+ isTeamBoard: boolean;
348
+ drivers?: SplitDriver[];
349
+ };
350
+ type SplitTruck = {
351
+ id: number;
352
+ truckNumber: string;
353
+ truckType: TruckType;
354
+ color?: TruckColor | null;
355
+ status?: number;
356
+ pendingLoadsCount?: number;
357
+ dispatchStatus?: Status | null;
358
+ location?: Address | null;
359
+ [key: string]: any;
360
+ };
361
+ type SplitTruckBoard = {
362
+ id: number;
363
+ dispatcherName: string | null;
364
+ isTeamBoard: boolean;
365
+ trucks?: SplitTruck[];
366
+ };
367
+ type SplitTrailer = {
368
+ id: number;
369
+ trailerNumber: string;
370
+ trailerType: TrailerType;
371
+ color?: TruckColor | null;
372
+ status?: number;
373
+ pendingLoadsCount?: number;
374
+ dispatchStatus?: Status | null;
375
+ location?: Address | null;
376
+ [key: string]: any;
377
+ };
378
+ type SplitTrailerBoard = {
379
+ id: number;
380
+ dispatcherName: string | null;
381
+ isTeamBoard: boolean;
382
+ trailers?: SplitTrailer[];
383
+ };
384
+
385
+ interface CaiInputConfig {
386
+ type?: 'text' | 'password' | 'number' | 'account';
387
+ name?: string;
388
+ required?: boolean;
389
+ alignment?: 'left' | 'right';
390
+ inverse?: boolean;
391
+ reveal?: number;
392
+ icon?: string | null;
393
+ iconColor?: string;
394
+ dropdown?: boolean | DropdownType;
395
+ dropdownAutocomplete?: boolean;
396
+ fullState?: boolean;
397
+ search?: boolean;
398
+ useOutsideSearch?: boolean;
399
+ add?: boolean;
400
+ subcontent?: string;
401
+ textTransform?: 'capitalize' | 'uppercase' | 'lowercase';
402
+ textTransformExceptions?: string[];
403
+ isNumberFormattingDisabled?: boolean;
404
+ textColor?: 'positive';
405
+ isAddress?: boolean;
406
+ isEdit?: boolean;
407
+ writeAddValue?: boolean;
408
+ placeholderBehavior?: 'dynamic' | 'fade' | 'static' | 'hidden';
409
+ errorBehavior?: 'dynamic' | 'static' | 'floating' | 'hidden';
410
+ label?: string;
411
+ mask?: string;
412
+ min?: number;
413
+ max?: number;
414
+ step?: number | 'automatic';
415
+ disableDecimals?: boolean;
416
+ prefix?: string;
417
+ withButtons?: boolean;
418
+ autocomplete?: string;
419
+ inTable?: boolean;
420
+ disabled?: boolean;
421
+ passwordRequirements?: boolean;
422
+ canOpenModal?: boolean;
423
+ noSeparator?: boolean;
424
+ squareAvatar?: boolean;
425
+ optionValue?: string;
426
+ optionLabel?: string;
427
+ removable?: boolean;
428
+ isRemovableWhenDisabled?: boolean;
429
+ autofocus?: boolean;
430
+ size?: (typeof sizes)[number];
431
+ customErrors?: CustomError[];
432
+ disabledCharacters?: string[];
433
+ enabledCharacters?: string[];
434
+ spacesAllowed?: number;
435
+ placeholderColor?: string;
436
+ strikethrough?: boolean;
437
+ hasRemoveModal?: boolean;
438
+ hasNoClearButton?: boolean;
439
+ hasResetButton?: boolean;
440
+ placeholder?: string;
441
+ hasStroke?: boolean;
442
+ }
443
+ type CustomError = {
444
+ name: string;
445
+ message: string | null;
446
+ };
447
+ declare const DropdownTypes: readonly ["multiple", "dispatch", "ftl-dispatch", "broker", "contact", "shipper", "bank", "dispatcher", "truck", "trailer", "subcontent", "hazardous", "state", "owner", "fuelcard", "pm", "color", "make", "toll", "fuel-stop-transaction", "provider", "split-driver", "split-truck", "split-trailer"];
448
+ declare const sizes: readonly [22, 26];
449
+ type DropdownType = (typeof DropdownTypes)[number];
450
+ type DropdownArrays = DropdownOption[] | Broker[] | DispatchBoard[] | DepartmentContactsPair[] | Shipper[] | Dispatch[] | Bank[] | Dispatcher[] | TruckOption[] | TrailerOption[] | Hazardous[] | State[] | Owner[] | FuelCard[] | PMOption[] | ColorOption[] | MakeOption[] | TollOption[] | Franchise[] | Provider[] | SplitDriverBoard[] | SplitTruckBoard[] | SplitTrailerBoard[];
451
+ type DropdownOptions = DropdownOption | Broker | Contact$1 | Shipper | Dispatch | Bank | Dispatcher | TruckOption | TrailerOption | Hazardous | State | Owner | FuelCard | PMOption | ColorOption | MakeOption | TollTransponderOption | FuelStopStore | Provider | SplitDriver | SplitTruck | SplitTrailer;
452
+ type DropdownKeys = DropdownOption[keyof DropdownOption] | Dispatch[keyof Dispatch] | Broker[keyof Broker] | Contact$1[keyof Contact$1] | Shipper[keyof Shipper] | Bank[keyof Bank] | Dispatcher[keyof Dispatcher] | TruckOption[keyof TruckOption] | TrailerOption[keyof TrailerOption] | Hazardous[keyof Hazardous] | State[keyof State] | Owner[keyof Owner] | FuelCard[keyof FuelCard] | PMOption[keyof PMOption] | ColorOption[keyof ColorOption] | MakeOption[keyof MakeOption] | TollTransponderOption[keyof TollTransponderOption] | FuelStopStore[keyof FuelStopStore] | Provider[keyof Provider] | SplitDriver[keyof SplitDriver] | SplitTruck[keyof SplitTruck] | SplitTrailer[keyof SplitTrailer];
453
+ type DropdownGroups = Franchise;
454
+ type GroupedNavigationState = {
455
+ groupIndex: number | null;
456
+ optionIndex: number | null;
457
+ };
458
+ type KeyboardNavigationState = {
459
+ singleIndex: number | null;
460
+ groupedNavigationState: GroupedNavigationState | null;
461
+ };
462
+
463
+ interface PmItem {
464
+ id?: number;
465
+ logoName?: string | null;
466
+ title?: string | null;
467
+ }
468
+
469
+ declare class PmComponent implements ControlValueAccessor {
470
+ ngControl: NgControl | null;
471
+ /**
472
+ * List of PM items passed from the parent component.
473
+ * Used to render all available PM options.
474
+ */
475
+ items: _angular_core.InputSignal<PmItem[]>;
476
+ /**
477
+ * Event emitted when the "Add new" button is clicked.
478
+ * The parent component can listen to this and perform appropriate actions.
479
+ */
480
+ onAdd: _angular_core.OutputEmitterRef<void>;
481
+ onSelectionChange: _angular_core.OutputEmitterRef<PmItem | null>;
482
+ /**
483
+ * The currently selected PM item.
484
+ * Used to track and display the selected item's title and logo.
485
+ */
486
+ selectedPmItem: _angular_core.WritableSignal<PmItem | null>;
487
+ /**
488
+ * Disabled state for forms integration. Strongly depends on isHidden flag.
489
+ */
490
+ disabled: _angular_core.WritableSignal<boolean>;
491
+ /**
492
+ * Custom tooltip message for PM items.
493
+ */
494
+ customTooltipMessage: _angular_core.InputSignal<string>;
495
+ /**
496
+ * Custom flag for showing/hiding the PM component.
497
+ */
498
+ isHidden: _angular_core.InputSignal<boolean>;
499
+ /**
500
+ * Holder for incoming value from writeValue to resolve against items.
501
+ */
502
+ private _incomingValue;
503
+ onChange: (value: number | null) => void;
504
+ onTouched: () => void;
505
+ constructor(ngControl: NgControl | null);
506
+ /**
507
+ * Boolean signal indicating whether the PM popover is currently visible.
508
+ * Used to apply conditional styling or behavior when the popover is shown or hidden.
509
+ */
510
+ showPmPopover: _angular_core.WritableSignal<boolean>;
511
+ /**
512
+ * Called when the "Add new" button is clicked.
513
+ * Emits the `onAdd` event to notify the parent component.
514
+ */
515
+ onAddItem(): void;
516
+ /**
517
+ * Opens the tooltip when hovering over a PM item.
518
+ */
519
+ onShowTooltip(tooltip: NgbTooltip): void;
520
+ /**
521
+ * Closes the tooltip when the mouse leaves a PM item.
522
+ */
523
+ onHideTooltip(tooltip: NgbTooltip): void;
524
+ /**
525
+ * Called when the PM popover becomes visible.
526
+ */
527
+ onPmShown(): void;
528
+ /**
529
+ * Called when the PM popover is hidden.
530
+ */
531
+ onPmHidden(): void;
532
+ /**
533
+ * Called when a PM item is clicked.
534
+ * Sets the `selectedPmItem` with the clicked item's data.
535
+ */
536
+ onSelectedItem(item: PmItem): void;
537
+ /**
538
+ * Clears the selected PM item.
539
+ * Resets id, title and logoName.
540
+ */
541
+ onClear(): void;
542
+ writeValue(value: number | string | null): void;
543
+ registerOnChange(fn: (value: number | null) => void): void;
544
+ registerOnTouched(fn: () => void): void;
545
+ setDisabledState(isDisabled: boolean): void;
546
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PmComponent, [{ optional: true; self: true; }]>;
547
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<PmComponent, "cai-pm", never, { "items": { "alias": "items"; "required": false; "isSignal": true; }; "customTooltipMessage": { "alias": "customTooltipMessage"; "required": false; "isSignal": true; }; "isHidden": { "alias": "isHidden"; "required": false; "isSignal": true; }; }, { "onAdd": "onAdd"; "onSelectionChange": "onSelectionChange"; }, never, never, true, never>;
548
+ }
549
+
550
+ declare class PasswordDirective implements OnInit {
551
+ private el;
552
+ /**
553
+ * Input property to enable or disable the password masking behavior.
554
+ */
555
+ appPassword: _angular_core.InputSignal<boolean>;
556
+ /**
557
+ * Input property to hide or show the password
558
+ */
559
+ visible: _angular_core.InputSignal<boolean>;
560
+ /**
561
+ * Input property to specify the type of the password
562
+ */
563
+ account: _angular_core.InputSignal<boolean>;
564
+ /**
565
+ * Input property to specify how many characters from the end of the
566
+ * password should be revealed. Defaults to 0 (fully masked).
567
+ */
568
+ reveal: _angular_core.InputSignal<number>;
569
+ appMask: _angular_core.InputSignal<string>;
570
+ max: _angular_core.InputSignal<number | undefined>;
571
+ /**
572
+ * Stores the actual, unmasked password value,
573
+ * while the input element displays a masked version.
574
+ */
575
+ private realValue;
576
+ constructor(el: ElementRef<HTMLInputElement>);
577
+ /**
578
+ * Lifecycle hook called after Angular initializes the directive's data-bound properties.
579
+ * If password masking is enabled, it sets up the initial masking.
580
+ */
581
+ ngOnInit(): void;
582
+ /**
583
+ * Sets up the initial state for password masking.
584
+ * It reads the initial value from the input (if any) as the `realValue`
585
+ * and then updates the input's display to show the masked version.
586
+ */
587
+ private setupPasswordMasking;
588
+ /**
589
+ * HostListener for the 'input' event on the host element.
590
+ * This is the core logic for synchronizing `realValue` with user input
591
+ * on the masked field. It infers changes to `realValue`
592
+ * based on `event.data`, cursor position, and the difference in length
593
+ * between the input's current display value and the previous `realValue`.
594
+ * @param event - The InputEvent object.
595
+ */
596
+ onInput(event: InputEvent): void;
597
+ /**
598
+ * HostListener for the 'cut' event.
599
+ * Prevents default cut behavior to operate on `realValue`.
600
+ * It copies the corresponding part of `realValue` to the clipboard
601
+ * and updates `realValue` and the display.
602
+ * @param event - The ClipboardEvent object.
603
+ */
604
+ onCut(event: ClipboardEvent): void;
605
+ /**
606
+ * HostListener for the 'copy' event.
607
+ * Prevents default copy behavior to ensure the unmasked `realValue` segment is copied.
608
+ * @param event - The ClipboardEvent object.
609
+ */
610
+ onCopy(event: ClipboardEvent): void;
611
+ /**
612
+ * Updates the input element's display value with a masked version of `realValue`.
613
+ * Uses '•' for masked characters. Respects the `reveal` input to show
614
+ * a specified number of characters from the end of the password.
615
+ * This method is responsible for creating the visual masking.
616
+ */
617
+ private updateDisplayValue;
618
+ /**
619
+ * Sets the cursor position within the input field.
620
+ * This is crucial after `updateDisplayValue` changes the entire input value,
621
+ * to maintain a natural cursor behavior for the user.
622
+ * Uses `setTimeout` to ensure the operation occurs after Angular's view update.
623
+ * @param position - The desired cursor position.
624
+ */
625
+ private setCursorPosition;
626
+ /**
627
+ * Dispatches a custom event named 'realValueChange' from the host element.
628
+ * The event's `detail` property contains the unmasked `realValue`.
629
+ * This allows parent components (like your `InputComponent`) to listen for
630
+ * changes to the actual password.
631
+ */
632
+ private dispatchRealValueChange;
633
+ /**
634
+ * Public method to get the current unmasked "real" password value.
635
+ * @returns The real password value as a string.
636
+ */
637
+ getRealValue(): string;
638
+ /**
639
+ * Public method to set the "real" password value from outside the directive
640
+ * (e.g., when the parent form control's value is changed programmatically).
641
+ * It updates the internal `realValue` and then refreshes the masked display.
642
+ * @param value - The new real password value to set.
643
+ */
644
+ setRealValue(value: string): void;
645
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<PasswordDirective, never>;
646
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<PasswordDirective, "[appPassword]", never, { "appPassword": { "alias": "appPassword"; "required": false; "isSignal": true; }; "visible": { "alias": "visible"; "required": false; "isSignal": true; }; "account": { "alias": "account"; "required": false; "isSignal": true; }; "reveal": { "alias": "reveal"; "required": false; "isSignal": true; }; "appMask": { "alias": "appMask"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
647
+ }
648
+
649
+ declare class NumberFormatDirective implements OnInit {
650
+ private el;
651
+ /**
652
+ * Input property to enable or disable the number formatting.
653
+ * Defaults to true, meaning formatting is active by default.
654
+ */
655
+ appNumberFormat: _angular_core.InputSignal<boolean>;
656
+ /**
657
+ *
658
+ */
659
+ max: _angular_core.InputSignal<number | undefined>;
660
+ /**
661
+ * Input property to enable or disable the number formatting.
662
+ * Defaults to true, meaning formatting is active by default.
663
+ */
664
+ isNumberFormattingDisabled: _angular_core.InputSignal<boolean>;
665
+ /**
666
+ * Input property to enable or disable the number formatting.
667
+ * Defaults to true, meaning formatting is active by default.
668
+ */
669
+ disableDecimals: _angular_core.InputSignal<boolean>;
670
+ prefix: _angular_core.InputSignal<string>;
671
+ /**
672
+ * Stores the unformatted, "real" numeric value of the input.
673
+ * This is the value that should be used for calculations or form submissions,
674
+ * as opposed to the formatted display value.
675
+ */
676
+ private realValue;
677
+ constructor(el: ElementRef<HTMLInputElement>);
678
+ /**
679
+ * Lifecycle hook that is called after Angular has initialized all data-bound
680
+ * properties of a directive.
681
+ * If number formatting is enabled, it sets up the initial formatting.
682
+ */
683
+ ngOnInit(): void;
684
+ /**
685
+ * Initializes the number formatting on the input element.
686
+ * It extracts the initial numeric value from the input's current value
687
+ * and then updates the display with the formatted version.
688
+ */
689
+ private setupNumberFormatting;
690
+ /**
691
+ * HostListener for the 'input' event on the host element.
692
+ * This triggers whenever the user types or pastes content into the input.
693
+ * It extracts the numeric value from the current input, updates the
694
+ * display with the formatted number, restores the cursor position,
695
+ * and dispatches a 'realValueChange' event with the unformatted numeric value.
696
+ * @param event - The InputEvent object.
697
+ */
698
+ onInput(event: InputEvent): void;
699
+ /**
700
+ * HostListener for the 'cut' event.
701
+ * Prevents the default cut behavior to manually handle the value change.
702
+ * It reconstructs the value after the cut, extracts the numeric part,
703
+ * updates the display, sets the cursor, and dispatches the real value.
704
+ * @param event - The ClipboardEvent object.
705
+ */
706
+ onCut(event: ClipboardEvent): void;
707
+ /**
708
+ * HostListener for the 'copy' event.
709
+ * Prevents the default copy behavior if there's a selection to ensure
710
+ * that the copied text is the unformatted numeric value of the selection,
711
+ * rather than the potentially formatted display text.
712
+ * @param event - The ClipboardEvent object.
713
+ */
714
+ onCopy(event: ClipboardEvent): void;
715
+ /**
716
+ * HostListener for the 'keydown' event.
717
+ * Filters key presses to allow only digits, a single decimal point,
718
+ * and control keys (Backspace, Arrows, Tab, etc.).
719
+ * This helps maintain a valid numeric input format before the 'input' event fires.
720
+ * @param event - The KeyboardEvent object.
721
+ */
722
+ onKeydown(event: KeyboardEvent): void;
723
+ /**
724
+ * Extracts a clean numeric string from a given value.
725
+ * It removes any non-digit characters except for a single decimal point.
726
+ * It also ensures that there's only one decimal point and limits
727
+ * the decimal part to two digits.
728
+ * @param value - The string value to clean.
729
+ * @returns A string representing the extracted numeric value.
730
+ */
731
+ private extractNumericValue;
732
+ /**
733
+ * Updates the input element's display value with the formatted version
734
+ * of the current `realValue`.
735
+ * It uses the `NumberFormatPipe` for formatting.
736
+ */
737
+ private updateDisplayValue;
738
+ /**
739
+ * Sets the cursor position to the end of the input field.
740
+ * This is typically called after the input value is reformatted.
741
+ */
742
+ private setCursorToEnd;
743
+ /**
744
+ * Calculates the correct cursor position after formatting.
745
+ * Accounts for added or removed thousand separators and prefix.
746
+ * @param oldCursorPos - The cursor position before formatting
747
+ * @param oldValue - The value before formatting
748
+ * @param newValue - The value after formatting
749
+ * @returns The new cursor position
750
+ */
751
+ private calculateCursorPosition;
752
+ /**
753
+ * Dispatches a custom event named 'realValueChange' from the host element.
754
+ * The event's `detail` property contains the unformatted `realValue`.
755
+ * This allows parent components or other directives to listen for changes
756
+ * to the underlying numeric value.
757
+ */
758
+ private dispatchRealValueChange;
759
+ /**
760
+ * Public method to get the current unformatted "real" numeric value.
761
+ * @returns The real numeric value as a string.
762
+ */
763
+ getRealValue(): string;
764
+ /**
765
+ * Public method to set the "real" numeric value from outside the directive.
766
+ * It extracts the numeric part from the provided value and updates the
767
+ * input's display with the formatted version.
768
+ * @param value - The new value to set (can be formatted or unformatted).
769
+ */
770
+ setRealValue(value: string): void;
771
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<NumberFormatDirective, never>;
772
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<NumberFormatDirective, "[appNumberFormat]", never, { "appNumberFormat": { "alias": "appNumberFormat"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; "isNumberFormattingDisabled": { "alias": "isNumberFormattingDisabled"; "required": false; "isSignal": true; }; "disableDecimals": { "alias": "disableDecimals"; "required": false; "isSignal": true; }; "prefix": { "alias": "prefix"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
773
+ }
774
+
775
+ declare class MaskDirective implements OnInit {
776
+ private el;
777
+ /**
778
+ * The mask pattern to apply.
779
+ * Placeholders:
780
+ * '0' - Digit (0-9)
781
+ * 'a' - Letter (a-z, A-Z)
782
+ * '*' - Alphanumeric (0-9, a-z, A-Z)
783
+ * @example '(000) 000-0000' for a phone number.
784
+ */
785
+ appMask: _angular_core.InputSignal<string>;
786
+ reveal: _angular_core.InputSignal<number>;
787
+ /**
788
+ * Stores the unmasked, "real" value of the input, containing only
789
+ * the characters entered by the user that fit the mask placeholders.
790
+ */
791
+ private realValue;
792
+ constructor(el: ElementRef<HTMLInputElement>);
793
+ ngOnInit(): void;
794
+ /**
795
+ * HostListener for the 'input' event. This is the primary handler for
796
+ * formatting the value as the user types or pastes.
797
+ */
798
+ onInput(event: InputEvent): void;
799
+ /**
800
+ * HostListener for the 'paste' event. It intercepts pasted content,
801
+ * cleans it, and integrates it into the masked value.
802
+ */
803
+ onPaste(event: ClipboardEvent): void;
804
+ /**
805
+ * HostListener for the 'copy' event. Ensures that copying a selection
806
+ * from the input copies the unmasked, "real" value.
807
+ */
808
+ onCopy(event: ClipboardEvent): void;
809
+ /**
810
+ * HostListener for the 'cut' event. Ensures cutting a selection removes
811
+ * the corresponding part from the real value and reformats the input.
812
+ */
813
+ onCut(event: ClipboardEvent): void;
814
+ /**
815
+ * HostListener for the 'keydown' event. It validates key presses against
816
+ * the mask pattern, preventing invalid characters from being entered.
817
+ */
818
+ onKeydown(event: KeyboardEvent): void;
819
+ /**
820
+ * The core formatting logic. It takes a value, extracts the valid user
821
+ * input, applies the mask, updates the display, and dispatches the change.
822
+ * @param value The current value from the input field.
823
+ */
824
+ private formatValue;
825
+ /**
826
+ * Sets the cursor position to the end of the input field.
827
+ */
828
+ private setCursorToEnd;
829
+ /**
830
+ * Calculates the correct cursor position after formatting.
831
+ * Accounts for mask characters that are automatically inserted.
832
+ * @param oldCursorPos - The cursor position before formatting
833
+ * @param oldValue - The value before formatting
834
+ * @returns The new cursor position
835
+ */
836
+ private calculateCursorPosition;
837
+ private dispatchRealValueChange;
838
+ /**
839
+ * Public method to get the current unmasked "real" value.
840
+ * @returns The real value as a string.
841
+ */
842
+ getRealValue(): string;
843
+ /**
844
+ * Public method to set the "real" value from outside the directive.
845
+ * @param value The new value to set.
846
+ */
847
+ setRealValue(value: string): void;
848
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<MaskDirective, never>;
849
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<MaskDirective, "[appMask]", never, { "appMask": { "alias": "appMask"; "required": false; "isSignal": true; }; "reveal": { "alias": "reveal"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
850
+ }
851
+
852
+ type CastableType = 'dispatch' | 'dispatchBoard' | 'broker' | 'contact' | 'shipper' | 'bank' | 'dispatcher' | 'dropdownOption' | 'truckOption' | 'trailerOption' | 'hazardous' | 'state' | 'owner' | 'fuelCard' | 'pmOption' | 'colorOption' | 'make' | 'tollOption' | 'tollTransponderOption' | 'fuelStopStore' | 'franchise' | 'provider' | 'splitDriver' | 'splitTruck' | 'splitTrailer' | 'splitDriverBoard' | 'splitTruckBoard' | 'splitTrailerBoard';
853
+ type CastableTypeMap = {
854
+ dispatch: Dispatch;
855
+ dispatchBoard: DispatchBoard;
856
+ broker: Broker;
857
+ contact: Contact$1;
858
+ shipper: Shipper;
859
+ bank: Bank;
860
+ dispatcher: Dispatcher;
861
+ dropdownOption: DropdownOption;
862
+ truckOption: TruckType;
863
+ trailerOption: TrailerType;
864
+ hazardous: Hazardous;
865
+ state: State;
866
+ owner: Owner;
867
+ fuelCard: FuelCard;
868
+ pmOption: PMOption;
869
+ colorOption: ColorOption;
870
+ make: MakeOption;
871
+ tollOption: TollOption;
872
+ tollTransponderOption: TollTransponderOption;
873
+ fuelStopStore: FuelStopStore;
874
+ franchise: Franchise;
875
+ provider: Provider;
876
+ splitDriver: SplitDriver;
877
+ splitTruck: SplitTruck;
878
+ splitTrailer: SplitTrailer;
879
+ splitDriverBoard: SplitDriverBoard;
880
+ splitTruckBoard: SplitTruckBoard;
881
+ splitTrailerBoard: SplitTrailerBoard;
882
+ };
883
+
884
+ declare class InputComponent implements ControlValueAccessor, AfterViewInit, OnInit {
885
+ ngControl: NgControl | null;
886
+ private cdr;
887
+ inputRef: ElementRef<HTMLInputElement>;
888
+ containerRef: ElementRef<HTMLInputElement>;
889
+ dropdown: NgbPopover;
890
+ closeTooltip: NgbPopover;
891
+ PasswordDirective: PasswordDirective;
892
+ NumberFormatDirective: NumberFormatDirective;
893
+ MaskDirective: MaskDirective;
894
+ id: _angular_core.InputSignal<string>;
895
+ config: _angular_core.InputSignal<CaiInputConfig>;
896
+ options: _angular_core.InputSignal<DropdownArrays>;
897
+ preselectedOptions: _angular_core.InputSignal<DropdownArrays | null>;
898
+ isLoading: _angular_core.InputSignal<boolean>;
899
+ hideValidation: _angular_core.InputSignal<boolean>;
900
+ showNoResults: _angular_core.InputSignal<boolean>;
901
+ preselectedUnit: _angular_core.InputSignal<string | null>;
902
+ unassignedCount: _angular_core.InputSignal<number>;
903
+ openGroup: _angular_core.WritableSignal<number | null>;
904
+ isDropdownOpen: _angular_core.WritableSignal<boolean>;
905
+ closing: _angular_core.WritableSignal<boolean>;
906
+ canTooltipBeVisible: _angular_core.WritableSignal<boolean>;
907
+ disabled: _angular_core.WritableSignal<boolean>;
908
+ value: _angular_core.WritableSignal<string>;
909
+ searchValue: _angular_core.WritableSignal<string>;
910
+ visible: _angular_core.WritableSignal<boolean>;
911
+ selectedOption: _angular_core.WritableSignal<DropdownOptions | null>;
912
+ multipleSelectedOptions: _angular_core.WritableSignal<DropdownOptions[]>;
913
+ focused: _angular_core.WritableSignal<boolean>;
914
+ hovered: _angular_core.WritableSignal<boolean>;
915
+ isAdding: _angular_core.WritableSignal<boolean>;
916
+ isAutofilled: _angular_core.WritableSignal<boolean>;
917
+ isFocusedWithMouseClick: _angular_core.WritableSignal<boolean>;
918
+ foldedBoards: _angular_core.WritableSignal<number[]>;
919
+ randomAutocomplete: _angular_core.WritableSignal<string>;
920
+ keyboardNavigationState: _angular_core.WritableSignal<KeyboardNavigationState>;
921
+ dropdownOptions: _angular_core.Signal<DropdownOptions[]>;
922
+ hasText: _angular_core.Signal<boolean>;
923
+ containerWidth: _angular_core.WritableSignal<number>;
924
+ step: _angular_core.Signal<number>;
925
+ isGroupedDropdown: _angular_core.Signal<boolean>;
926
+ onBlur: _angular_core.OutputEmitterRef<void>;
927
+ onFocused: _angular_core.OutputEmitterRef<void>;
928
+ onReset: _angular_core.OutputEmitterRef<void>;
929
+ onValueChange: _angular_core.OutputEmitterRef<string | number | null>;
930
+ onOptionAdded: _angular_core.OutputEmitterRef<string>;
931
+ onAdd: _angular_core.OutputEmitterRef<void>;
932
+ onSelectionChange: _angular_core.OutputEmitterRef<any>;
933
+ onSelectedObject: _angular_core.OutputEmitterRef<DropdownOptions | null>;
934
+ onSelectedGroup: _angular_core.OutputEmitterRef<carriera_intern_components.Franchise | null>;
935
+ onClear: _angular_core.OutputEmitterRef<void>;
936
+ onAutofill: _angular_core.OutputEmitterRef<void>;
937
+ onScrolledToBottom: _angular_core.OutputEmitterRef<void>;
938
+ onScrolledToBottomGroup: _angular_core.OutputEmitterRef<void>;
939
+ onSearch: _angular_core.OutputEmitterRef<string>;
940
+ onValueAdded: _angular_core.OutputEmitterRef<string | number | null>;
941
+ onRemove: _angular_core.OutputEmitterRef<void>;
942
+ onHoverRemove: _angular_core.OutputEmitterRef<boolean>;
943
+ dropdownPopperOptions: (options?: Partial<Record<string, unknown>>) => Partial<Record<string, unknown>>;
944
+ constructor(ngControl: NgControl | null, cdr: ChangeDetectorRef);
945
+ onAutofilled(): void;
946
+ clearAutofillFlag(): void;
947
+ ngOnInit(): void;
948
+ ngAfterViewInit(): void;
949
+ private setupAutofillDetection;
950
+ private updateContainerWidth;
951
+ onInput(event: Event): void;
952
+ onRealValueChange(event: CustomEvent): void;
953
+ onChange: (_: any) => void;
954
+ onTouched: () => void;
955
+ dispatchOnChange(value: any): void;
956
+ registerOnChange(fn: any): void;
957
+ registerOnTouched(fn: any): void;
958
+ setDisabledState(isDisabled: boolean): void;
959
+ /**
960
+ * Writes a new value to the element. (ControlValueAccessor)
961
+ */
962
+ writeValue(value: any): void;
963
+ /**
964
+ * Increments the value of a number input by the current step.
965
+ */
966
+ increment(event?: MouseEvent): void;
967
+ /**
968
+ * Decrements the value of a number input by the current step.
969
+ */
970
+ decrement(event?: MouseEvent): void;
971
+ /**
972
+ * Toggles the visibility of the password input.
973
+ * @param event - The MouseEvent that triggered the toggle.
974
+ */
975
+ toggleVisibility(event?: MouseEvent): void;
976
+ /**
977
+ * Sets the value in the actual HTML input element or updates the
978
+ * "real" value in the associated directive.
979
+ */
980
+ setValue(): void;
981
+ /**
982
+ * Focuses the input element.
983
+ * Prevents the default action of the mouse event to avoid unintended behaviors
984
+ * like double focus or focus loss.
985
+ * @param event - The MouseEvent that initiated the focus action.
986
+ */
987
+ focus(event?: MouseEvent): void;
988
+ /**
989
+ * Called when the input element receives focus (focus event).
990
+ */
991
+ onFocus(event: FocusEvent): void;
992
+ /**
993
+ * Called when the input element loses focus (blur event).
994
+ */
995
+ dispatchOnBlur(): void;
996
+ toggleHovered(value: boolean): void;
997
+ /**
998
+ * Resets the input field's value to an empty string.
999
+ */
1000
+ reset(event?: MouseEvent): void;
1001
+ onClearHover(value: boolean): void;
1002
+ closeDropdown(addNew?: boolean): void;
1003
+ openDropdown(): void;
1004
+ randomizeAutocomplete(): string;
1005
+ /**
1006
+ * Type guard that checks if a given property exists on an object.
1007
+ * @param obj The object to check.
1008
+ * @param prop The property to check for.
1009
+ * @returns `true` if `prop` exists on `obj`, `false` otherwise.
1010
+ */
1011
+ hasProperty<T extends object>(obj: T, prop: PropertyKey): prop is keyof T;
1012
+ /**
1013
+ * Stops event propagation to prevent parent popover from closing
1014
+ * @param event - The event to stop
1015
+ */
1016
+ stopEventPropagation(event: Event): void;
1017
+ handleMultipleSelection(option: DropdownOptions, optionValue: keyof DropdownOptions): void;
1018
+ /**
1019
+ * Handles when an option is selected from the dropdown.
1020
+ * @param option - The selected option.
1021
+ * @param event - The MouseEvent that initiated the selection action.
1022
+ */
1023
+ handleOption(option: DropdownOptions, event?: MouseEvent): void;
1024
+ isSelectedOption(option: DropdownOptions): boolean;
1025
+ /**
1026
+ * Adds a new option to the dropdown.
1027
+ * @param option - The option to add.
1028
+ */
1029
+ addOption(): void;
1030
+ /**
1031
+ * Handles when the user clicks on the "ADD NEW" button in the dropdown.
1032
+ * It sets the `isAdding` signal to `true`, closes the dropdown, and focuses the input.
1033
+ * @param event - The MouseEvent that initiated the action.
1034
+ */
1035
+ handleAddingOption(event?: MouseEvent): void;
1036
+ fold(boardId: number, event?: MouseEvent, group?: DropdownGroups): void;
1037
+ /**
1038
+ * Type-safe casting method for templates.
1039
+ * Usage in template: cast(value, 'dispatch') or cast(value, 'broker'), etc.
1040
+ * @param value - The value to cast
1041
+ * @param type - The type string (e.g., 'dispatch', 'broker', 'contact')
1042
+ * @returns The casted value or null
1043
+ */
1044
+ cast<T extends CastableType>(value: unknown, type: T): CastableTypeMap[T] | null;
1045
+ /**
1046
+ * Handles infinite scroll event when dropdown is scrolled to bottom
1047
+ * Emits an event that parent components can listen to for loading more data
1048
+ */
1049
+ onDropdownScrolledToBottom(isGroup?: boolean): void;
1050
+ onDropdownBackgroundClick(event: MouseEvent): void;
1051
+ onDropdownIconClick(event: MouseEvent): void;
1052
+ acceptSelection(event: KeyboardEvent): void;
1053
+ handleArrowKeys(event: KeyboardEvent): void;
1054
+ handleFirstAndLastSelection(event: KeyboardEvent): void;
1055
+ startKeyboardNavigation(): void;
1056
+ setKeyboardNavigationState(singleIndex: number | null, groupedNavigationState: GroupedNavigationState | null): void;
1057
+ handleDropdownKeyboardNavigation(event: KeyboardEvent): void;
1058
+ handleNumberKeyboardNavigation(event: KeyboardEvent): void;
1059
+ handlePasswordKeyboardNavigation(event: KeyboardEvent): void;
1060
+ handleKeydown(event: KeyboardEvent): void;
1061
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputComponent, [{ optional: true; self: true; }, null]>;
1062
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputComponent, "cai-input", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "preselectedOptions": { "alias": "preselectedOptions"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "hideValidation": { "alias": "hideValidation"; "required": false; "isSignal": true; }; "showNoResults": { "alias": "showNoResults"; "required": false; "isSignal": true; }; "preselectedUnit": { "alias": "preselectedUnit"; "required": false; "isSignal": true; }; "unassignedCount": { "alias": "unassignedCount"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocused": "onFocused"; "onReset": "onReset"; "onValueChange": "onValueChange"; "onOptionAdded": "onOptionAdded"; "onAdd": "onAdd"; "onSelectionChange": "onSelectionChange"; "onSelectedObject": "onSelectedObject"; "onSelectedGroup": "onSelectedGroup"; "onClear": "onClear"; "onAutofill": "onAutofill"; "onScrolledToBottom": "onScrolledToBottom"; "onScrolledToBottomGroup": "onScrolledToBottomGroup"; "onSearch": "onSearch"; "onValueAdded": "onValueAdded"; "onRemove": "onRemove"; "onHoverRemove": "onHoverRemove"; }, never, never, true, never>;
1063
+ }
1064
+
1065
+ declare const supportedFileTypes: readonly ["mp4", "mov", "avi", "pdf", "jpg", "jpeg", "png", "gif"];
1066
+ type FileExtension = (typeof supportedFileTypes)[number];
1067
+ interface AppFile {
1068
+ fileId?: number;
1069
+ fileName: string;
1070
+ baseName: string;
1071
+ type: FileExtension;
1072
+ size: number;
1073
+ imagePreviewUrl?: string;
1074
+ pageCount?: number;
1075
+ file: File | null;
1076
+ tags: number[];
1077
+ tagChanged: boolean;
1078
+ fileNameChanged: boolean;
1079
+ }
1080
+
1081
+ interface FileResponse {
1082
+ fileId?: number;
1083
+ fileName?: string | null;
1084
+ url?: string | null;
1085
+ fileSize?: number | null;
1086
+ tags?: Array<string> | null;
1087
+ tagGeneratedByUser?: boolean;
1088
+ updatedAt?: string | null;
1089
+ companyUserId?: number | null;
1090
+ }
1091
+
1092
+ interface DocumentTag {
1093
+ tagId: number;
1094
+ tagName: string;
1095
+ }
1096
+
1097
+ declare enum DropZoneVariant {
1098
+ DOCUMENT = "document",
1099
+ VIDEO = "video",
1100
+ PROFILE = "profile",
1101
+ COVER = "cover",
1102
+ LOGO = "logo"
1103
+ }
1104
+
1105
+ /**
1106
+ * A component that provides a user interface for file uploading via
1107
+ * drag-and-drop or a file input dialog. It displays previews of the
1108
+ * selected files in a carousel.
1109
+ */
1110
+ declare class DropZoneComponent implements OnChanges, OnDestroy, AfterViewChecked {
1111
+ private sanitizer;
1112
+ zoomValue: _angular_core.WritableSignal<number>;
1113
+ smallView: _angular_core.WritableSignal<boolean>;
1114
+ cropHeight: _angular_core.WritableSignal<number>;
1115
+ cropWidth: _angular_core.WritableSignal<number>;
1116
+ driver: _angular_core.WritableSignal<Driver$1>;
1117
+ transform: ImageTransform;
1118
+ imageChangedEvent: Event | null;
1119
+ croppedImage: SafeUrl | null;
1120
+ showCropper: _angular_core.WritableSignal<boolean>;
1121
+ isCropperReady: _angular_core.WritableSignal<boolean>;
1122
+ originalImageWidth: number;
1123
+ originalImageHeight: number;
1124
+ private cropperResultFile;
1125
+ private cropperPreviewUrl;
1126
+ deletedDocs: _angular_core.WritableSignal<number[]>;
1127
+ dragMode: _angular_core.WritableSignal<boolean>;
1128
+ onDragover: _angular_core.WritableSignal<boolean>;
1129
+ invalidFileSize: _angular_core.WritableSignal<boolean>;
1130
+ isLoadingSkeleton: _angular_core.WritableSignal<boolean>;
1131
+ skeletonCount: _angular_core.WritableSignal<number>;
1132
+ private lottieAnimation;
1133
+ temporaryImageFile: AppFile | null;
1134
+ drawerViewportWidth: _angular_core.WritableSignal<number>;
1135
+ private drawerRo;
1136
+ private drawerEl;
1137
+ crop: _angular_core.InputSignal<boolean>;
1138
+ size: _angular_core.InputSignal<string | undefined>;
1139
+ rounded: _angular_core.InputSignal<boolean>;
1140
+ deletedFileIds: _angular_core.InputSignal<number[]>;
1141
+ maxCountFiles: _angular_core.InputSignal<number>;
1142
+ isDetailsSlider: _angular_core.InputSignal<boolean>;
1143
+ isDrawerMode: _angular_core.InputSignal<boolean>;
1144
+ isCoverDetails: _angular_core.InputSignal<boolean>;
1145
+ maxFileSize: _angular_core.InputSignal<number>;
1146
+ isDocumentsMode: _angular_core.InputSignal<boolean>;
1147
+ documentsDropZoneOpen: _angular_core.InputSignal<boolean>;
1148
+ files: FileResponse[];
1149
+ dropZoneVariant: typeof DropZoneVariant;
1150
+ onDeletedFileIds: EventEmitter<number[]>;
1151
+ onDocsChange: EventEmitter<AppFile[]>;
1152
+ onDocumentPreviewClick: EventEmitter<{
1153
+ fileId: number;
1154
+ }>;
1155
+ onDocumentFileNameChange: EventEmitter<{
1156
+ fileId?: number;
1157
+ newFileName: string;
1158
+ }>;
1159
+ onCropPendingChange: EventEmitter<boolean>;
1160
+ onDocumentDropZoneOpenChange: EventEmitter<boolean>;
1161
+ inputRange: ElementRef<HTMLInputElement>;
1162
+ dropZoneContainer: ElementRef<HTMLElement>;
1163
+ docsViewport?: ElementRef<HTMLElement>;
1164
+ coverUrl: string;
1165
+ profileUrl: string;
1166
+ logoUrl: string;
1167
+ /**
1168
+ * A input that holds an FormGroup object that is used to update the form validity when the crop mode is closed.
1169
+ */
1170
+ parentForm: _angular_core.InputSignal<FormGroup<any> | null>;
1171
+ /**
1172
+ * A signal that holds an array of `AppFile` objects representing the files
1173
+ * that have been selected or dropped by the user.
1174
+
1175
+ */
1176
+ variant: _angular_core.InputSignal<string>;
1177
+ /**
1178
+ * Input that holds an array of `DocumentTag` objects representing the tags for the documents.
1179
+ */
1180
+ documentTags: _angular_core.InputSignal<DocumentTag[]>;
1181
+ /**
1182
+ * Injects the DocumentService for file processing tasks like
1183
+ * thumbnail generation and PDF page counting.
1184
+ * @private
1185
+ */
1186
+ private documentService;
1187
+ /**
1188
+ * An array of file extensions that should be excluded from the supported list.
1189
+ * @defaultValue `[]` (an empty array)
1190
+ * @type {FileExtension[]}
1191
+ */
1192
+ excludedFileTypes: _angular_core.InputSignal<("mp4" | "mov" | "avi" | "pdf" | "jpg" | "jpeg" | "png" | "gif")[]>;
1193
+ /**
1194
+ * The base array of all file extensions that are generally allowed.
1195
+ * Supported file types will be derived from this list, after excluding
1196
+ * any types specified in `excludedFileTypes`.
1197
+ *
1198
+ * @defaultValue `['avi', 'mov', 'mp4', 'pdf', 'gif', 'png', 'jpg', 'jpeg']`
1199
+ * @type {FileExtension[]}
1200
+ */
1201
+ fileTypes: _angular_core.InputSignal<("mp4" | "mov" | "avi" | "pdf" | "jpg" | "jpeg" | "png" | "gif")[]>;
1202
+ constructor(sanitizer: DomSanitizer);
1203
+ ngOnChanges(changes: SimpleChanges): void;
1204
+ ngOnInit(): void;
1205
+ ngOnDestroy(): void;
1206
+ ngAfterViewChecked(): void;
1207
+ private clampDrawerIndex;
1208
+ private setDrawerRo;
1209
+ private clearDrawerRo;
1210
+ emitDocs(): void;
1211
+ animationCreated(animation: AnimationItem): void;
1212
+ private playDropAnimation;
1213
+ private stopDropAnimation;
1214
+ getTagIds(tags: string[]): number[];
1215
+ populateDocs(currentFiles: FileResponse[] | AppFile[]): Promise<void>;
1216
+ fetchFileAsFile(fileResponse: FileResponse): Promise<File | null>;
1217
+ updateRangeBackground(input: HTMLInputElement): void;
1218
+ cropDimensions(): void;
1219
+ private setImagePreviewUrl;
1220
+ ratioHelper(): number;
1221
+ onZoomChange(event: Event): void;
1222
+ fileChangeEvent(event: Event): void;
1223
+ imageCropped(event: ImageCroppedEvent): void;
1224
+ private setCropperFile;
1225
+ private createFileFromBlob;
1226
+ private setCropperFileFromObjectUrl;
1227
+ private updateCropperPreviewUrl;
1228
+ private clearCropperPreviewUrl;
1229
+ imageLoaded(image: LoadedImage): void;
1230
+ cropperReady(): void;
1231
+ loadImageFailed(): void;
1232
+ onTransformChange(event: ImageTransform): void;
1233
+ cancelCrop(): void;
1234
+ submitCrop(initial?: boolean): void;
1235
+ /**
1236
+ * A computed signal that derives the list of currently supported file extensions.
1237
+ * It filters the base `fileTypes` array, removing any extensions present
1238
+ * in the `excludedFileTypes` input.
1239
+ */
1240
+ supportedFileTypes: _angular_core.Signal<("mp4" | "mov" | "avi" | "pdf" | "jpg" | "jpeg" | "png" | "gif")[]>;
1241
+ /**
1242
+ * A signal that holds an array of `AppFile` objects representing the files
1243
+ * that have been selected or dropped by the user.
1244
+ */
1245
+ docs: _angular_core.WritableSignal<AppFile[]>;
1246
+ /**
1247
+ * A signal that acts as a boolean flag. It is set to `true` when the user
1248
+ * attempts to upload a file with an unsupported extension.
1249
+ */
1250
+ unsupported: _angular_core.WritableSignal<boolean>;
1251
+ /**
1252
+ * Handles the 'change' event from the hidden file input. It extracts the
1253
+ * selected files and passes them to the `processFiles` method.
1254
+ * @param event The `Event` object from the file input element.
1255
+ */
1256
+ onInput(event: Event): void;
1257
+ onDrop(event: DragEvent): void;
1258
+ onDragOver(event: DragEvent): void;
1259
+ onDragLeave(event: DragEvent): void;
1260
+ onDragEnter(event: DragEvent): void;
1261
+ onDocumentDragEnter(event: DragEvent): void;
1262
+ onDocumentDragOver(event: DragEvent): void;
1263
+ onWindowDragLeave(event: DragEvent): void;
1264
+ onDocumentDrop(event: DragEvent): void;
1265
+ /**
1266
+ * Resets the drag state when drag operation ends.
1267
+ */
1268
+ private resetDragState;
1269
+ skeletonItems: _angular_core.Signal<unknown[]>;
1270
+ /**
1271
+ * Asynchronously processes a list of files. For each file, it validates
1272
+ * the extension against `supportedFileTypes`. If valid, it generates a
1273
+ * thumbnail, counts pages for PDFs, creates an `AppFile` object, and adds
1274
+ * it to the `docs` signal. If any file is unsupported, the `unsupported`
1275
+ * flag is set.
1276
+ * @param files The `FileList` object to be processed.
1277
+ */
1278
+ processFiles(files: FileList): Promise<void>;
1279
+ /**
1280
+ * Handles the download action for a specific file.
1281
+ * Note: This is a placeholder and currently only logs the file name.
1282
+ * @param fileName The name of the file to be downloaded.
1283
+ */
1284
+ handleDownload(fileName: string): void;
1285
+ /**
1286
+ * A ViewChild reference to the native `<input type='file'>` element.
1287
+ * Used to programmatically trigger the file selection dialog.
1288
+ */
1289
+ inputRef: ElementRef<HTMLInputElement>;
1290
+ /**
1291
+ * Resets the component's state after an unsupported file type error
1292
+ * by setting the `unsupported` signal to `false`.
1293
+ */
1294
+ cancel(): void;
1295
+ /**
1296
+ * Programmatically triggers a click on the hidden file input element,
1297
+ * which opens the system's file selection dialog.
1298
+ */
1299
+ handleClickToAdd(): void;
1300
+ /**
1301
+ * Deletes a file from the preview list. It filters the `docs` array to
1302
+ * remove the specified file and adjusts the carousel position.
1303
+ * @param fileName The name of the file to be deleted.
1304
+ */
1305
+ handleDelete(fileName: string): void;
1306
+ /**
1307
+ * A signal that stores the current index for the file preview carousel.
1308
+ * This determines which part of the carousel is visible.
1309
+ */
1310
+ carouselIndex: _angular_core.WritableSignal<number>;
1311
+ /**
1312
+ * A computed signal that calculates the CSS `translateX` value for the
1313
+ * carousel container. This creates the sliding effect based on the
1314
+ * `carouselIndex`.
1315
+ */
1316
+ carouselTransform: _angular_core.Signal<string>;
1317
+ /**
1318
+ * Navigates the carousel one step to the left by decrementing the
1319
+ * `carouselIndex`. The index will not go below 0.
1320
+ */
1321
+ carouselLeft(): void;
1322
+ /**
1323
+ * Navigates the carousel one step to the right by incrementing the
1324
+ * `carouselIndex`. The index will not exceed the maximum possible value
1325
+ * based on the number of documents.
1326
+ */
1327
+ carouselRight(): void;
1328
+ carouselVisibleCount(): number;
1329
+ isCarouselAtEnd(): boolean;
1330
+ handleTagChange(event: {
1331
+ fileName: string;
1332
+ tag: DocumentTag | null;
1333
+ }): void;
1334
+ handleFileNameChange(event: {
1335
+ fileId?: number;
1336
+ newFileName: string;
1337
+ }): void;
1338
+ setInvalid(): void;
1339
+ resetInput(): void;
1340
+ clearInvalid(): void;
1341
+ handleDocumentPreviewClick(event: {
1342
+ fileId: number;
1343
+ }): void;
1344
+ downloadAllFiles(): void;
1345
+ onCancel(event: Event): void;
1346
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DropZoneComponent, never>;
1347
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DropZoneComponent, "cai-drop-zone", never, { "crop": { "alias": "crop"; "required": false; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "deletedFileIds": { "alias": "deletedFileIds"; "required": false; "isSignal": true; }; "maxCountFiles": { "alias": "maxCountFiles"; "required": false; "isSignal": true; }; "isDetailsSlider": { "alias": "isDetailsSlider"; "required": false; "isSignal": true; }; "isDrawerMode": { "alias": "isDrawerMode"; "required": false; "isSignal": true; }; "isCoverDetails": { "alias": "isCoverDetails"; "required": false; "isSignal": true; }; "maxFileSize": { "alias": "maxFileSize"; "required": false; "isSignal": true; }; "isDocumentsMode": { "alias": "isDocumentsMode"; "required": false; "isSignal": true; }; "documentsDropZoneOpen": { "alias": "documentsDropZoneOpen"; "required": false; "isSignal": true; }; "files": { "alias": "files"; "required": false; }; "parentForm": { "alias": "parentForm"; "required": false; "isSignal": true; }; "variant": { "alias": "variant"; "required": false; "isSignal": true; }; "documentTags": { "alias": "documentTags"; "required": false; "isSignal": true; }; "excludedFileTypes": { "alias": "excludedFileTypes"; "required": false; "isSignal": true; }; "fileTypes": { "alias": "fileTypes"; "required": false; "isSignal": true; }; }, { "onDeletedFileIds": "onDeletedFileIds"; "onDocsChange": "onDocsChange"; "onDocumentPreviewClick": "onDocumentPreviewClick"; "onDocumentFileNameChange": "onDocumentFileNameChange"; "onCropPendingChange": "onCropPendingChange"; "onDocumentDropZoneOpenChange": "onDocumentDropZoneOpenChange"; }, never, never, true, never>;
1348
+ }
1349
+
1350
+ declare enum eGeneralActions {
1351
+ ADD = "Add",
1352
+ ADD_LOWERCASE = "add",
1353
+ ADD_NEW_ITEM = "Add New Item",
1354
+ UPDATE = "Update",
1355
+ UPDATE_LOWERCASE = "update",
1356
+ DELETE = "Delete",
1357
+ DELETE_LOWERCASE = "delete",
1358
+ EDIT = "Edit",
1359
+ EDIT_LOWERCASE = "edit",
1360
+ EDIT_UPPERCASE = "EDIT",
1361
+ SAVE = "Save",
1362
+ SAVE_LOWERCASE = "save",
1363
+ CANCEL = "Cancel",
1364
+ CANCEL_LOWERCASE = "cancel",
1365
+ ENTER = "Enter",
1366
+ ESCAPE = "Escape",
1367
+ CONFIRM = "Confirm",
1368
+ CONFIRM_LOWERCASE = "confirm",
1369
+ SET = "Set",
1370
+ SET_LOWERCASE = "set",
1371
+ REMOVE = "Remove",
1372
+ REMOVE_LOWERCASE = "remove",
1373
+ SELECT = "Select",
1374
+ SELECT_LOWERCASE = "select",
1375
+ SEARCH = "Search",
1376
+ SEARCH_LOWERCASE = "search",
1377
+ SELECT_ALL = "Select All",
1378
+ SELECT_REMAINING = "Select Remaining",
1379
+ CLEAR_SELECTED = "Clear Selected",
1380
+ ACTIVATE = "Activate",
1381
+ ACTIVATE_LOWERCASE = "activate",
1382
+ DEACTIVATE = "deactivate",
1383
+ DEACTIVATE_LOWERCASE = "deactivate",
1384
+ CLOSE = "Close",
1385
+ CLOSE_LOWERCASE = "close",
1386
+ CLOSE_UPPERCASE = "CLOSE",
1387
+ OPEN = "Open",
1388
+ OPEN_LOWERCASE = "open",
1389
+ NEXT = "Next",
1390
+ NEXT_LOWERCASE = "next",
1391
+ PREVIOUS = "Previous",
1392
+ PREVIOUS_LOWERCASE = "previous",
1393
+ CLEAR = "Clear",
1394
+ CLEAR_LOWERCASE = "clear",
1395
+ CLEAR_ALL = "Clear All",
1396
+ SHOW_MORE = "show more",
1397
+ OPEN_MODAL = "open-modal",
1398
+ EXPAND = "Expand",
1399
+ EXPAND_LOWERCASE = "expand",
1400
+ EXPAND_UPPERCASE = "EXPAND",
1401
+ COLLAPSE = "Collapse",
1402
+ COLLAPSE_LOWERCASE = "collapse",
1403
+ COLLAPSE_UPPERCASE = "COLLAPSE",
1404
+ SORT_BY = "Sort By",
1405
+ COPY = "Copy",
1406
+ COPIED = "Copied"
1407
+ }
1408
+
1409
+ interface ScrollChange {
1410
+ indx: number;
1411
+ scrollOffset: number;
1412
+ cycleSize: number;
1413
+ type: string;
1414
+ }
1415
+
1416
+ declare class CalendarDateTimePickerService {
1417
+ index$: Subject<ScrollChange>;
1418
+ indexAuto$: Subject<number>;
1419
+ scrollToDate: Subject<string>;
1420
+ dateChanged: Subject<any>;
1421
+ selectedIndex: number;
1422
+ scrolledIndexChange: rxjs.Observable<ScrollChange>;
1423
+ scrollToAutoIndex: rxjs.Observable<number>;
1424
+ private scrolledScroll;
1425
+ constructor();
1426
+ set setAutoIndex(number: number);
1427
+ set scrolledScrollItem(name: string);
1428
+ get selectedScroll(): string;
1429
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CalendarDateTimePickerService, never>;
1430
+ static ɵprov: _angular_core.ɵɵInjectableDeclaration<CalendarDateTimePickerService>;
1431
+ }
1432
+
1433
+ interface IMultipleInput {
1434
+ id?: number;
1435
+ value: string | number;
1436
+ second_value?: string | number;
1437
+ logoName?: string;
1438
+ isImg?: boolean;
1439
+ isSvg?: boolean;
1440
+ folder?: string;
1441
+ subFolder?: string;
1442
+ logoType?: string;
1443
+ isOwner?: boolean;
1444
+ isProgressBar?: boolean;
1445
+ isCounter?: boolean;
1446
+ }
1447
+ interface ICaInputDateTimePicker {
1448
+ name: string;
1449
+ isIconHidden?: boolean;
1450
+ customClass?: string;
1451
+ isDisabled?: boolean;
1452
+ isFutureDateDisabled?: boolean;
1453
+ expiredDateInvalid?: boolean;
1454
+ isFromDate?: boolean;
1455
+ }
1456
+ interface ICaInputWithDropdown {
1457
+ withText: boolean;
1458
+ svg: boolean;
1459
+ image: boolean;
1460
+ iconsPath?: string;
1461
+ activeItemIconKey?: string;
1462
+ url?: string;
1463
+ nameInitialsInsteadUrl?: string;
1464
+ template?: string;
1465
+ color?: string;
1466
+ class?: string;
1467
+ remove?: boolean;
1468
+ }
1469
+ interface ICaInput {
1470
+ id?: number;
1471
+ name: string;
1472
+ type: string;
1473
+ label?: string;
1474
+ labelInInput?: boolean;
1475
+ placeholder?: string;
1476
+ placeholderIcon?: string;
1477
+ placeholderIconRightSide?: string;
1478
+ isPlaceHolderIconRightSideDynamicColor?: boolean;
1479
+ placeholderIconFolllowTextOnRightSide?: string;
1480
+ placeholderIconColor?: string;
1481
+ placeholderWithLabel?: boolean;
1482
+ placeholderText?: string;
1483
+ placeholderInsteadOfLabel?: boolean;
1484
+ inputCursorOnRightSide?: boolean;
1485
+ isRequired?: boolean;
1486
+ isDisabled?: boolean;
1487
+ pattern?: string;
1488
+ autocomplete?: string;
1489
+ showCount?: boolean;
1490
+ minLength?: number;
1491
+ maxLength?: number;
1492
+ minValue?: number;
1493
+ maxValue?: number;
1494
+ min?: number;
1495
+ max?: number;
1496
+ step?: number;
1497
+ mask?: string;
1498
+ textTransform?: 'capitalize' | 'uppercase' | 'lowercase' | 'capitalizedcase';
1499
+ textAlign?: string | 'center';
1500
+ blackInput?: boolean;
1501
+ blueInput?: boolean;
1502
+ incorrectInput?: boolean;
1503
+ dangerMark?: boolean;
1504
+ autoFocus?: boolean;
1505
+ hideClear?: boolean;
1506
+ hideRequiredCheck?: boolean;
1507
+ hideErrorMessage?: boolean;
1508
+ hideDangerMark?: boolean;
1509
+ hideDropdownArrow?: boolean;
1510
+ requiredLabel?: boolean;
1511
+ errorInsideInput?: boolean;
1512
+ removeInput?: boolean;
1513
+ readOnly?: boolean;
1514
+ thousandSeparator?: boolean;
1515
+ priceSeparator?: boolean;
1516
+ priceSeparatorLimitation?: number;
1517
+ loadingSpinner?: {
1518
+ size?: string;
1519
+ color?: string;
1520
+ isLoading?: boolean;
1521
+ };
1522
+ addressFlag?: string;
1523
+ customClass?: string;
1524
+ isIconInput?: boolean;
1525
+ isValidIcon?: boolean;
1526
+ inputIcon?: string;
1527
+ multipleInputValues?: {
1528
+ options: IMultipleInput[];
1529
+ customClass: string;
1530
+ };
1531
+ multipleLabel?: {
1532
+ labels: string[];
1533
+ searchLabels?: string[];
1534
+ customClass: string;
1535
+ };
1536
+ isInputBackgroundRemoved?: boolean;
1537
+ isBlueText?: boolean;
1538
+ commands?: {
1539
+ active?: boolean;
1540
+ type?: string;
1541
+ firstCommand?: {
1542
+ popup?: {
1543
+ name?: string;
1544
+ backgroundColor?: string;
1545
+ };
1546
+ name?: string;
1547
+ svg?: string;
1548
+ };
1549
+ secondCommand?: {
1550
+ popup?: {
1551
+ name?: string;
1552
+ backgroundColor?: string;
1553
+ };
1554
+ name?: string;
1555
+ svg?: string;
1556
+ };
1557
+ thirdCommand?: {
1558
+ popup?: {
1559
+ name?: string;
1560
+ backgroundColor?: string;
1561
+ };
1562
+ name?: string;
1563
+ svg?: string;
1564
+ };
1565
+ setTimeout?: number;
1566
+ blueCommands?: boolean;
1567
+ };
1568
+ defaultValue?: string;
1569
+ isDropdown?: boolean;
1570
+ dropdownWidthClass?: string;
1571
+ dropdownImageInput?: ICaInputWithDropdown | null;
1572
+ isInvalidSearchInDropdown?: boolean;
1573
+ selectedDropdown?: boolean;
1574
+ mergeDropdownBodyWithInput?: boolean;
1575
+ hideAllItemsInInputDropdown?: boolean;
1576
+ isBlueDropdown?: boolean;
1577
+ isItemSelected?: boolean;
1578
+ isDisplayingCustomPeriodRange?: boolean;
1579
+ isUsingCustomPeriodRange?: boolean;
1580
+ isDispatchLocationDropdown?: boolean;
1581
+ dropdownLabel?: boolean;
1582
+ dropdownLabelNew?: boolean;
1583
+ multiselectDropdown?: boolean;
1584
+ multiSelectDropdownActive?: boolean;
1585
+ multiSelectItemRange?: boolean;
1586
+ isFromDate?: boolean;
1587
+ hideColorValidations?: boolean;
1588
+ expiredDateInvalid?: boolean;
1589
+ isFutureDateDisabled?: boolean;
1590
+ fixedPlacholder?: string;
1591
+ statusStyle?: boolean;
1592
+ isIconHidden?: boolean;
1593
+ isRemovedIconMovedOnLeft?: boolean;
1594
+ removeLeadingZero?: boolean;
1595
+ negativeLeadingZero?: boolean;
1596
+ isHoverRow?: boolean;
1597
+ minutesGapFive?: boolean;
1598
+ updateAsTouchedOnEdit?: boolean;
1599
+ transparentInput?: boolean;
1600
+ preventTyping?: boolean;
1601
+ }
1602
+
1603
+ interface CaiDateTimeConfig extends ICaInput {
1604
+ inTable?: boolean;
1605
+ isBilling?: boolean;
1606
+ inverse?: boolean;
1607
+ hasStroke?: boolean;
1608
+ size?: number;
1609
+ customErrors?: CustomError[];
1610
+ }
1611
+
1612
+ type InputChangeValue = string | number | Date;
1613
+ declare class CaiInputDatetimePickerComponent implements AfterViewInit, ControlValueAccessor, OnDestroy {
1614
+ superControl: NgControl;
1615
+ private calendarService;
1616
+ id: string;
1617
+ inputConfig: CaiDateTimeConfig;
1618
+ formFormat?: string;
1619
+ clearInputEvent: EventEmitter<boolean>;
1620
+ blurInputEvent: EventEmitter<boolean>;
1621
+ dateTimePopover: NgbPopover;
1622
+ t2: NgbPopover;
1623
+ showDateInput: boolean;
1624
+ dateTimeInputDate: Date;
1625
+ dateTimeIntDate: Date;
1626
+ selectionInput: number;
1627
+ private dateTimeMainTimer;
1628
+ private focusBlur;
1629
+ private timeoutCleaner;
1630
+ private justEnteredDatePicker;
1631
+ eGeneralActions: typeof eGeneralActions;
1632
+ isTouchedInput: boolean;
1633
+ isFocusInput: boolean;
1634
+ preventBlur: boolean;
1635
+ valueAfterWriteValue: string;
1636
+ newInputChanged: boolean;
1637
+ isDisabled: _angular_core.Signal<boolean | undefined>;
1638
+ selectLastOneForSelectionEmitter: EventEmitter<boolean>;
1639
+ selectLastOneAfterMouseUpEmitter: EventEmitter<boolean>;
1640
+ onDatePasteEmitter: EventEmitter<ClipboardEvent>;
1641
+ onFocusEmitter: EventEmitter<FocusEvent>;
1642
+ changeSelectionEmmiter: EventEmitter<{
1643
+ e: KeyboardEvent;
1644
+ noPreventDefault: boolean;
1645
+ }>;
1646
+ setSelectionEmmiter: EventEmitter<{
1647
+ preventDefault: () => void;
1648
+ stopPropagation: () => void;
1649
+ target: any;
1650
+ }>;
1651
+ span1: ElementRef;
1652
+ span2: ElementRef;
1653
+ span3: ElementRef;
1654
+ holder1: ElementRef;
1655
+ closeTooltip: NgbTooltip;
1656
+ private destroy$;
1657
+ constructor(superControl: NgControl, calendarService: CalendarDateTimePickerService);
1658
+ ngOnInit(): void;
1659
+ registerOnChange(fn: any): void;
1660
+ isPopoverShown: boolean;
1661
+ onChange(_: InputChangeValue): void;
1662
+ onTouched: () => void;
1663
+ writeValue(obj: InputChangeValue): void;
1664
+ registerOnTouched(fn: () => void): void;
1665
+ blurInput(): void;
1666
+ preventInput(event: Event): void;
1667
+ ngAfterViewInit(): void;
1668
+ get getSuperControl(): _angular_forms.AbstractControl<any, any, any> | null;
1669
+ get isRequired(): boolean | undefined;
1670
+ onDatePaste(event: ClipboardEvent): void;
1671
+ private processPastedDate;
1672
+ changeSelection(e: any, noPreventDefault?: boolean): void;
1673
+ changeSelectionTwo(event: KeyboardEvent, noPreventDefault?: boolean): void;
1674
+ private isNumber;
1675
+ private isNavigationKey;
1676
+ onFocus(event?: FocusEvent): void;
1677
+ closePopover(date: Date): void;
1678
+ handleFocusInput(e: Event): void;
1679
+ setSpanSelection(element: Node): void;
1680
+ setSelection(event: {
1681
+ preventDefault: () => void;
1682
+ stopPropagation: () => void;
1683
+ target: any;
1684
+ }): void;
1685
+ blurOnDateTime(): void;
1686
+ onEditableFocus(event: FocusEvent): void;
1687
+ onPopoverClick(event?: MouseEvent): void;
1688
+ onPopoverShown(): void;
1689
+ onPopoverHidden(): void;
1690
+ setTimeDateInput(date: InputChangeValue, hasValue?: boolean): void;
1691
+ private markAsTouched;
1692
+ handleKeyboardInputs(e: KeyboardEvent, isRestart?: boolean): void;
1693
+ selectSpanByTabIndex(indx: number, changeTab?: boolean): void;
1694
+ private handleNavigationKey;
1695
+ private handleDatePickerInput;
1696
+ private setDateTimeModel;
1697
+ private moveSelectionRightOrTab;
1698
+ private formatCurrentField;
1699
+ setIsFocusInput(value: boolean): void;
1700
+ private moveSelectionLeft;
1701
+ private updateMonth;
1702
+ private updateDate;
1703
+ private updateYear;
1704
+ private padValue;
1705
+ private handleTimePickerInput;
1706
+ private updateHours;
1707
+ private updateMinutes;
1708
+ private toggleAMPM;
1709
+ clearInput(event?: Event): void;
1710
+ resetDateTimeInputs(): void;
1711
+ setTimePickerTime(): void;
1712
+ handleCloseTooltip(): void;
1713
+ openPopover(event?: MouseEvent): void;
1714
+ ngOnDestroy(): void;
1715
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CaiInputDatetimePickerComponent, [{ self: true; }, null]>;
1716
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CaiInputDatetimePickerComponent, "cai-input-datetime-picker", never, { "id": { "alias": "id"; "required": false; }; "inputConfig": { "alias": "inputConfig"; "required": false; }; "formFormat": { "alias": "formFormat"; "required": false; }; }, { "clearInputEvent": "clear"; "blurInputEvent": "blurInput"; "selectLastOneForSelectionEmitter": "selectLastOneForSelectionEmitter"; "selectLastOneAfterMouseUpEmitter": "selectLastOneAfterMouseUpEmitter"; "onDatePasteEmitter": "onDatePasteEmitter"; "onFocusEmitter": "onFocusEmitter"; "changeSelectionEmmiter": "changeSelectionEmmiter"; "setSelectionEmmiter": "setSelectionEmmiter"; }, never, never, true, never>;
1717
+ }
1718
+
1719
+ /**
1720
+ * Represents a user avatar component.
1721
+ */
1722
+ declare class AvatarComponent {
1723
+ /**
1724
+ * The driver object containing information to display in the avatar.
1725
+ * This input is required.
1726
+ * @type {Driver}
1727
+ */
1728
+ driver: _angular_core.InputSignal<Driver$1>;
1729
+ /**
1730
+ * The size of the avatar in pixels.
1731
+ * @type {Size}
1732
+ */
1733
+ size: _angular_core.InputSignal<18 | 22 | 32 | 74 | 160 | 28>;
1734
+ /**
1735
+ * Whether the avatar should be rounded or not.
1736
+ * @type {boolean}
1737
+ */
1738
+ rounded: _angular_core.InputSignal<boolean>;
1739
+ /**
1740
+ * Whether the owner element should be dark or light
1741
+ * @type {boolean}
1742
+ */
1743
+ inverse: _angular_core.InputSignal<boolean>;
1744
+ /**
1745
+ * The tooltip to display when hovering over the avatar.
1746
+ * @type {string}
1747
+ */
1748
+ tooltip: _angular_core.InputSignal<string | null>;
1749
+ /**
1750
+ * The size to apply when hovering over the avatar.
1751
+ * @type {number}
1752
+ */
1753
+ customHoverSize: _angular_core.InputSignal<number | undefined>;
1754
+ /**
1755
+ * Whether the avatar should be hovered or not.
1756
+ * @type {boolean}
1757
+ */
1758
+ hover: _angular_core.InputSignal<boolean>;
1759
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<AvatarComponent, never>;
1760
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<AvatarComponent, "cai-avatar", never, { "driver": { "alias": "driver"; "required": true; "isSignal": true; }; "size": { "alias": "size"; "required": false; "isSignal": true; }; "rounded": { "alias": "rounded"; "required": false; "isSignal": true; }; "inverse": { "alias": "inverse"; "required": false; "isSignal": true; }; "tooltip": { "alias": "tooltip"; "required": false; "isSignal": true; }; "customHoverSize": { "alias": "customHoverSize"; "required": false; "isSignal": true; }; "hover": { "alias": "hover"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
1761
+ }
1762
+
1763
+ declare enum eAlignment {
1764
+ LEFT = "left",
1765
+ RIGHT = "right"
1766
+ }
1767
+
1768
+ declare class CopyComponent {
1769
+ private clipboard;
1770
+ value: _angular_core.InputSignal<string | undefined>;
1771
+ alignment: _angular_core.InputSignal<eAlignment>;
1772
+ copyTooltip: _angular_core.InputSignal<string | undefined>;
1773
+ copyArea: _angular_core.InputSignal<"icon" | "full">;
1774
+ icon: _angular_core.InputSignal<string | null>;
1775
+ iconSize: _angular_core.InputSignal<number>;
1776
+ iconColor: _angular_core.InputSignal<string | null>;
1777
+ tooltipClass: _angular_core.InputSignal<string | null>;
1778
+ tooltipPlacement: _angular_core.InputSignal<"top" | "bottom">;
1779
+ inverse: _angular_core.InputSignal<boolean>;
1780
+ hasNoIcon: _angular_core.InputSignal<boolean>;
1781
+ copied: _angular_core.WritableSignal<boolean>;
1782
+ eGeneralActions: typeof eGeneralActions;
1783
+ eAlignment: typeof eAlignment;
1784
+ constructor(clipboard: Clipboard);
1785
+ onCopy(event: MouseEvent): void;
1786
+ resetCopied(): void;
1787
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CopyComponent, never>;
1788
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CopyComponent, "cai-copy", never, { "value": { "alias": "value"; "required": false; "isSignal": true; }; "alignment": { "alias": "alignment"; "required": false; "isSignal": true; }; "copyTooltip": { "alias": "copyTooltip"; "required": false; "isSignal": true; }; "copyArea": { "alias": "copyArea"; "required": false; "isSignal": true; }; "icon": { "alias": "icon"; "required": false; "isSignal": true; }; "iconSize": { "alias": "iconSize"; "required": false; "isSignal": true; }; "iconColor": { "alias": "iconColor"; "required": false; "isSignal": true; }; "tooltipClass": { "alias": "tooltipClass"; "required": false; "isSignal": true; }; "tooltipPlacement": { "alias": "tooltipPlacement"; "required": false; "isSignal": true; }; "inverse": { "alias": "inverse"; "required": false; "isSignal": true; }; "hasNoIcon": { "alias": "hasNoIcon"; "required": false; "isSignal": true; }; }, {}, never, ["*"], true, never>;
1789
+ }
1790
+
1791
+ interface LongLat {
1792
+ latitude?: number;
1793
+ longitude?: number;
1794
+ }
1795
+
1796
+ interface AddressEntity {
1797
+ city?: string | null;
1798
+ state?: string | null;
1799
+ county?: string | null;
1800
+ address?: string | null;
1801
+ street?: string | null;
1802
+ streetNumber?: string | null;
1803
+ country?: string | null;
1804
+ zipCode?: string | null;
1805
+ stateShortName?: string | null;
1806
+ addressUnit?: string | null;
1807
+ }
1808
+ interface AddressData {
1809
+ address?: AddressEntity;
1810
+ longLat?: LongLat | null;
1811
+ valid?: boolean;
1812
+ isParking?: boolean;
1813
+ }
1814
+
1815
+ interface AddressList {
1816
+ id?: number;
1817
+ name?: string;
1818
+ address?: string;
1819
+ parkingAddress?: any;
1820
+ }
1821
+
1822
+ declare class InputAddressComponent implements OnInit, ControlValueAccessor, OnDestroy, OnChanges {
1823
+ superControl: NgControl;
1824
+ private ref;
1825
+ inputComponent: InputComponent;
1826
+ private destroy$;
1827
+ private controlSubscription$;
1828
+ private baseConfig;
1829
+ id: _angular_core.InputSignal<string>;
1830
+ config: _angular_core.InputSignal<CaiInputConfig>;
1831
+ type: _angular_core.InputSignal<string>;
1832
+ required: _angular_core.InputSignal<boolean>;
1833
+ isInTable: _angular_core.InputSignal<boolean>;
1834
+ isFormLoaded: _angular_core.InputSignal<boolean>;
1835
+ set activeAddress(value: AddressList | null);
1836
+ set receivedAddressData(value: AddressData | null);
1837
+ set receivedAddressList(value: {
1838
+ addresses: string[];
1839
+ } | null);
1840
+ set parkingList(value: any[]);
1841
+ selectedAddress: _angular_core.OutputEmitterRef<any>;
1842
+ sentAddressData: _angular_core.OutputEmitterRef<any>;
1843
+ sentAddressValue: _angular_core.OutputEmitterRef<any>;
1844
+ onClear: _angular_core.OutputEmitterRef<void>;
1845
+ _receivedAddressList: {
1846
+ addresses: string[];
1847
+ } | null;
1848
+ _activeAddress: AddressList | null;
1849
+ private searchLayers;
1850
+ currentAddressData: AddressData | null;
1851
+ addressList: AddressList[];
1852
+ allowValidation: boolean;
1853
+ requestSent: boolean;
1854
+ closedBorder: boolean;
1855
+ chosenFromDropdown: boolean;
1856
+ _parkingList: any[];
1857
+ isParkingAddressSelected: boolean;
1858
+ inputConfig: _angular_core.WritableSignal<CaiInputConfig>;
1859
+ isLoading: _angular_core.WritableSignal<boolean>;
1860
+ constructor(superControl: NgControl, ref: ChangeDetectorRef);
1861
+ writeValue(_: any): void;
1862
+ onChange: (_: any) => void;
1863
+ onTouched: () => void;
1864
+ registerOnChange(fn: any): void;
1865
+ registerOnTouched(fn: any): void;
1866
+ get getSuperControl(): FormControl;
1867
+ ngOnInit(): void;
1868
+ ngOnChanges(changes: SimpleChanges): void;
1869
+ private initializeAddressInput;
1870
+ private checkSearchLayers;
1871
+ private filterParkingByCity;
1872
+ private checkAddressValidation;
1873
+ onBlur(): void;
1874
+ hideValidation(): any;
1875
+ initChangesListener(): void;
1876
+ onSelectDropdown(name: string | null): void;
1877
+ onClearInputEvent(): void;
1878
+ getAddressData(address: string): void;
1879
+ emitOnClear(): void;
1880
+ ngOnDestroy(): void;
1881
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InputAddressComponent, [{ self: true; }, null]>;
1882
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<InputAddressComponent, "cai-input-address", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "type": { "alias": "type"; "required": false; "isSignal": true; }; "required": { "alias": "required"; "required": false; "isSignal": true; }; "isInTable": { "alias": "isInTable"; "required": false; "isSignal": true; }; "isFormLoaded": { "alias": "isFormLoaded"; "required": false; "isSignal": true; }; "activeAddress": { "alias": "activeAddress"; "required": false; }; "receivedAddressData": { "alias": "receivedAddressData"; "required": false; }; "receivedAddressList": { "alias": "receivedAddressList"; "required": false; }; "parkingList": { "alias": "parkingList"; "required": false; }; }, { "selectedAddress": "selectedAddress"; "sentAddressData": "sentAddressData"; "sentAddressValue": "sentAddressValue"; "onClear": "onClear"; }, never, never, true, never>;
1883
+ }
1884
+
1885
+ interface SelectedBusinessField {
1886
+ label?: string;
1887
+ id?: number;
1888
+ name?: string;
1889
+ address?: string;
1890
+ phone?: string;
1891
+ email?: string;
1892
+ isFavorite?: boolean;
1893
+ isRequired?: boolean;
1894
+ isDisabled?: boolean;
1895
+ }
1896
+
1897
+ declare class SelectedBusinessFieldComponent {
1898
+ business: _angular_core.InputSignal<SelectedBusinessField>;
1899
+ onAction: _angular_core.OutputEmitterRef<eGeneralActions>;
1900
+ eGeneralActions: typeof eGeneralActions;
1901
+ eAlignment: typeof eAlignment;
1902
+ handleAction(action: eGeneralActions): void;
1903
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<SelectedBusinessFieldComponent, never>;
1904
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<SelectedBusinessFieldComponent, "cai-selected-business-field", never, { "business": { "alias": "business"; "required": false; "isSignal": true; }; }, { "onAction": "onAction"; }, never, never, true, never>;
1905
+ }
1906
+
1907
+ interface IReview {
1908
+ ratingId: number | null;
1909
+ thumb: string | null;
1910
+ reviewId: number;
1911
+ comment: string;
1912
+ isEdited: boolean;
1913
+ companyUser: CompanyUser;
1914
+ companyUserId: number;
1915
+ isItCurrentCompanyUser: boolean;
1916
+ createdAt: string;
1917
+ updatedAt: string;
1918
+ }
1919
+ interface CompanyUser {
1920
+ id: number;
1921
+ userId: number;
1922
+ fullName: string;
1923
+ avatarFile: AvatarTest;
1924
+ departmentId: number;
1925
+ }
1926
+ interface AvatarTest {
1927
+ driver: Driver$1;
1928
+ size: Size;
1929
+ rounded: boolean;
1930
+ inverse: boolean;
1931
+ }
1932
+
1933
+ declare enum ReviewType {
1934
+ Modal = "Modal",
1935
+ Table = "Table",
1936
+ Details = "Details"
1937
+ }
1938
+
1939
+ declare enum FilterType {
1940
+ LIKES = "likes",
1941
+ DISLIKES = "dislikes",
1942
+ REVIEWS = "reviews",
1943
+ ALL = "all",
1944
+ RATING = "rating"
1945
+ }
1946
+
1947
+ declare class ReviewModalComponent implements OnInit, OnChanges {
1948
+ ReviewType: typeof ReviewType;
1949
+ FilterType: typeof FilterType;
1950
+ ngOnInit(): void;
1951
+ ngOnChanges(changes: SimpleChanges): void;
1952
+ ratingReviews: IReview[];
1953
+ modaltype: string;
1954
+ titleInput: string;
1955
+ reviewDeleted: EventEmitter<void>;
1956
+ activeLikes: _angular_core.WritableSignal<boolean>;
1957
+ activeDislikes: _angular_core.WritableSignal<boolean>;
1958
+ activeReviews: _angular_core.WritableSignal<boolean>;
1959
+ disabled: _angular_core.WritableSignal<boolean>;
1960
+ addingReview: _angular_core.WritableSignal<boolean>;
1961
+ presentReviews: IReview[];
1962
+ testReview: IReview;
1963
+ countLikes: number;
1964
+ countDislikes: number;
1965
+ countReviews: number;
1966
+ hasPersonalReview: boolean;
1967
+ currentActiveFilter: string;
1968
+ onReturnMost(): string;
1969
+ /**
1970
+ * Adds a new empty review to the `presentReviews` list and sets `addingReview` to `true`.
1971
+ * This review is marked as "personal" and pre-filled with basic user data.
1972
+ */
1973
+ onAddReview(): void;
1974
+ onEditedReview(ev: {
1975
+ review: IReview;
1976
+ edited: boolean;
1977
+ }): void;
1978
+ onGetReview(ev: {
1979
+ review: IReview;
1980
+ }): void;
1981
+ handleSearch(event: string | number | null): void;
1982
+ handleClear(event: void): void;
1983
+ /**
1984
+ * Initializes review data when the component is initialized or when the `reviews` input changes.
1985
+ * It copies the original reviews array, resets counters, calculates new counts, and
1986
+ * sets the `disabled` signal if a personal review already exists.
1987
+ * @private
1988
+ */
1989
+ private initializeReviewsData;
1990
+ /**
1991
+ * Resets the counts for likes, dislikes, and written reviews to zero.
1992
+ * @private
1993
+ */
1994
+ private resetCounts;
1995
+ /**
1996
+ * Iterates through the `reviews` array and calculates the total number of likes,
1997
+ * dislikes, and written reviews (those with a non-empty `value`).
1998
+ * @private
1999
+ */
2000
+ private calculateReviewCounts;
2001
+ onSwitchActive(value: string): void;
2002
+ /**
2003
+ * Changes the displayed reviews in `presentReviews` based on the selected type.
2004
+ * It filters the original `reviews` array to show only likes, dislikes,
2005
+ * written reviews, or all reviews.
2006
+ * @param type The type of reviews to display: 'likes', 'dislikes', 'reviews' (only written), or 'all'.
2007
+ */
2008
+ onChangePresentReviews(type: FilterType): void;
2009
+ /**
2010
+ * Updates the value and edit time of an existing review in the `presentReviews` list.
2011
+ * Sets the `edited` flag to `true` for the modified review.
2012
+ * @param updatedData An object containing the review's ID, the new text value, and the new edit time.
2013
+ */
2014
+ onChangeValue(updatedData: {
2015
+ id: number;
2016
+ value: string;
2017
+ newTime: string;
2018
+ }): void;
2019
+ /**
2020
+ * Initiates the review deletion process.
2021
+ * Currently, it logs a message to the console and emits the `reviewDeleted` event.
2022
+ * The logic for actual removal from `presentReviews` is commented out.
2023
+ * @param id The ID of the review to be deleted.
2024
+ */
2025
+ onDeleteReview(id: number): void;
2026
+ onCheckPersonal(): void;
2027
+ onSelectFilter(type: FilterType): void;
2028
+ onCancelFilter(event: MouseEvent, type: FilterType): void;
2029
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ReviewModalComponent, never>;
2030
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ReviewModalComponent, "cai-review-modal", never, { "ratingReviews": { "alias": "ratingReviews"; "required": false; }; "modaltype": { "alias": "modaltype"; "required": false; }; "titleInput": { "alias": "titleInput"; "required": false; }; }, { "reviewDeleted": "reviewDeleted"; }, never, never, true, never>;
2031
+ }
2032
+
2033
+ declare class RatingReviewComponent {
2034
+ FilterType: typeof FilterType;
2035
+ ngOnInit(): void;
2036
+ ngOnChanges(changes: SimpleChanges): void;
2037
+ ratingReviews: IReview[];
2038
+ inCard: boolean;
2039
+ modaltype: string;
2040
+ countLikes: number;
2041
+ countDislikes: number;
2042
+ countReviews: number;
2043
+ titleInput: string;
2044
+ show: _angular_core.WritableSignal<boolean>;
2045
+ onReturnMost(): string;
2046
+ /**
2047
+ * Initializes review data when the component is initialized or when the `reviews` input changes.
2048
+ * It copies the original reviews array, resets counters, calculates new counts, and
2049
+ * sets the `disabled` signal if a personal review already exists.
2050
+ * @private
2051
+ */
2052
+ private initializeReviewsData;
2053
+ /**
2054
+ * Resets the counts for likes, dislikes, and written reviews to zero.
2055
+ * @private
2056
+ */
2057
+ private resetCounts;
2058
+ /**
2059
+ * Iterates through the `reviews` array and calculates the total number of likes,
2060
+ * dislikes, and written reviews (those with a non-empty `value`).
2061
+ * @private
2062
+ */
2063
+ private calculateReviewCounts;
2064
+ handleOpen(): void;
2065
+ handleClose(): void;
2066
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<RatingReviewComponent, never>;
2067
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<RatingReviewComponent, "cai-rating-review", never, { "ratingReviews": { "alias": "ratingReviews"; "required": true; }; "inCard": { "alias": "inCard"; "required": false; }; "modaltype": { "alias": "modaltype"; "required": true; }; }, {}, never, never, true, never>;
2068
+ }
2069
+
2070
+ interface Contact {
2071
+ id?: number | null;
2072
+ brokerId?: number | null;
2073
+ shipperId?: number | null;
2074
+ email?: string | null;
2075
+ phone?: string | null;
2076
+ contactName?: string | null;
2077
+ fullName?: string | null;
2078
+ extensionPhone?: string | null;
2079
+ department?: Department | null;
2080
+ }
2081
+ interface Department {
2082
+ id?: number | null;
2083
+ name?: string | null;
2084
+ count?: number | null;
2085
+ companyUsers?: any | null;
2086
+ }
2087
+
2088
+ declare class ListContactDropdownComponent {
2089
+ dropdown: NgbPopover;
2090
+ id: _angular_core.InputSignal<string>;
2091
+ contacts: _angular_core.InputSignal<Contact[]>;
2092
+ onAdd: _angular_core.OutputEmitterRef<void>;
2093
+ onDelete: _angular_core.OutputEmitterRef<void>;
2094
+ onEdit: _angular_core.OutputEmitterRef<void>;
2095
+ onOpen: _angular_core.OutputEmitterRef<void>;
2096
+ onClose: _angular_core.OutputEmitterRef<void>;
2097
+ closing: _angular_core.WritableSignal<boolean>;
2098
+ open: _angular_core.WritableSignal<boolean>;
2099
+ selectedIds: _angular_core.WritableSignal<{
2100
+ departmentId: number;
2101
+ contactId: number[];
2102
+ }[]>;
2103
+ form: UntypedFormGroup;
2104
+ selectedContactIds(): number[];
2105
+ closeDropdown(): void;
2106
+ openDropdown(): void;
2107
+ isDepartmentOpen(departmentId: number | null | undefined): boolean;
2108
+ isContactOpen(contactId: number | null | undefined): boolean;
2109
+ handleOpenDropdown(): void;
2110
+ handleCloseDropdown(): void;
2111
+ emitOnAdd(event: Event): void;
2112
+ emitOnEdit(event: Event): void;
2113
+ emitOnDelete(event: Event): void;
2114
+ handleContactClick(contactId: number): void;
2115
+ handleDepartmentClick(departmentId: number): void;
2116
+ handleClick(): void;
2117
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ListContactDropdownComponent, never>;
2118
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<ListContactDropdownComponent, "cai-list-contact-dropdown", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "contacts": { "alias": "contacts"; "required": false; "isSignal": true; }; }, { "onAdd": "onAdd"; "onDelete": "onDelete"; "onEdit": "onEdit"; "onOpen": "onOpen"; "onClose": "onClose"; }, never, never, true, never>;
2119
+ }
2120
+
2121
+ interface ITabOptionConfig {
2122
+ splitPart: string;
2123
+ splitPartSide: 'left' | 'right';
2124
+ }
2125
+
2126
+ interface ITabOption {
2127
+ id: number;
2128
+ name: string;
2129
+ }
2130
+
2131
+ declare class TabOptionDropdownComponent {
2132
+ dropdown: NgbDropdown;
2133
+ containerRef: ElementRef<HTMLDivElement>;
2134
+ inputRef: ElementRef<HTMLInputElement>;
2135
+ selectedOption: _angular_core.InputSignal<ITabOption | null>;
2136
+ count: _angular_core.InputSignal<number>;
2137
+ isLoading: _angular_core.InputSignal<boolean>;
2138
+ options: _angular_core.InputSignal<ITabOption[]>;
2139
+ config: _angular_core.InputSignal<ITabOptionConfig>;
2140
+ onSelectionChange: _angular_core.OutputEmitterRef<ITabOption>;
2141
+ searchValue: _angular_core.WritableSignal<string>;
2142
+ closing: _angular_core.WritableSignal<boolean>;
2143
+ containerWidth: _angular_core.WritableSignal<number>;
2144
+ private updateContainerWidth;
2145
+ private closeDropdown;
2146
+ handleFocus(): void;
2147
+ handleClick(): void;
2148
+ handleBlur(): void;
2149
+ handleOption(event: MouseEvent, option: ITabOption): void;
2150
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TabOptionDropdownComponent, never>;
2151
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TabOptionDropdownComponent, "cai-tab-option-dropdown", never, { "selectedOption": { "alias": "selectedOption"; "required": false; "isSignal": true; }; "count": { "alias": "count"; "required": false; "isSignal": true; }; "isLoading": { "alias": "isLoading"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "onSelectionChange": "onSelectionChange"; }, never, never, true, never>;
2152
+ }
2153
+
2154
+ interface IIntervalDropdownOption {
2155
+ id: number;
2156
+ name: string;
2157
+ value: string;
2158
+ custom?: boolean;
2159
+ startDate?: string;
2160
+ endDate?: string;
2161
+ }
2162
+
2163
+ declare class IntervalDropdownComponent implements AfterViewInit {
2164
+ dropdown: NgbPopover;
2165
+ containerRef: ElementRef<HTMLDivElement>;
2166
+ containerWidth: _angular_core.WritableSignal<number>;
2167
+ selectedOption: _angular_core.InputSignal<IIntervalDropdownOption | null>;
2168
+ options: _angular_core.InputSignal<IIntervalDropdownOption[]>;
2169
+ companyDays: _angular_core.InputSignal<number | null>;
2170
+ custom: _angular_core.WritableSignal<boolean>;
2171
+ open: _angular_core.WritableSignal<boolean>;
2172
+ onClose: _angular_core.OutputEmitterRef<void>;
2173
+ onOpen: _angular_core.OutputEmitterRef<void>;
2174
+ onSelectionChange: _angular_core.OutputEmitterRef<IIntervalDropdownOption>;
2175
+ form: UntypedFormGroup;
2176
+ private updateContainerWidth;
2177
+ ngAfterViewInit(): void;
2178
+ handleOpenDropdown(): void;
2179
+ handleCloseDropdown(): void;
2180
+ handleClick(): void;
2181
+ closeDropdown(): void;
2182
+ openDropdown(): void;
2183
+ handleOption(event: MouseEvent, option: IIntervalDropdownOption): void;
2184
+ handleClearAll(event: MouseEvent): void;
2185
+ handleSet(event: MouseEvent): void;
2186
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<IntervalDropdownComponent, never>;
2187
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<IntervalDropdownComponent, "cai-interval-dropdown", never, { "selectedOption": { "alias": "selectedOption"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "companyDays": { "alias": "companyDays"; "required": false; "isSignal": true; }; }, { "onClose": "onClose"; "onOpen": "onOpen"; "onSelectionChange": "onSelectionChange"; }, never, never, true, never>;
2188
+ }
2189
+
2190
+ declare enum eScrollState {
2191
+ START = "start",
2192
+ SCROLLING = "scrolling",
2193
+ END = "end",
2194
+ NOT_NEEDED = "not_needed"
2195
+ }
2196
+
2197
+ declare class StickyScrollbarComponent implements AfterViewInit {
2198
+ scrollContainer: ElementRef<HTMLDivElement>;
2199
+ scrollThumb: ElementRef<HTMLDivElement>;
2200
+ /**
2201
+ * Input to hide the scrollbar thumb with opacity
2202
+ * @default false
2203
+ */
2204
+ hideThumb: boolean;
2205
+ /**
2206
+ * Hide the scrollbar track completely
2207
+ */
2208
+ set hideTrack(value: boolean);
2209
+ get hideTrack(): boolean;
2210
+ private _hideTrack;
2211
+ /**
2212
+ * Keep scrollbar fixed at bottom of viewport even when table scrolls out of view
2213
+ * @default false
2214
+ */
2215
+ set alwaysVisible(value: boolean);
2216
+ get alwaysVisible(): boolean;
2217
+ private _alwaysVisible;
2218
+ /**
2219
+ * Offset for the sticky position from the bottom (in pixels)
2220
+ * @default 0
2221
+ */
2222
+ set stickyOffset(value: number);
2223
+ get stickyOffset(): number;
2224
+ private _stickyOffset;
2225
+ /**
2226
+ * Output to emit scroll state changes (start, scrolling, end)
2227
+ */
2228
+ scrollStateChange: EventEmitter<eScrollState>;
2229
+ private readonly renderer;
2230
+ private readonly destroyRef;
2231
+ private readonly ngZone;
2232
+ private readonly cdr;
2233
+ isDragging: boolean;
2234
+ isContainerInView: _angular_core.WritableSignal<boolean>;
2235
+ private dragStartX;
2236
+ private scrollStartLeft;
2237
+ private currentScrollState?;
2238
+ private intersectionObserver?;
2239
+ private removeMouseMoveListener?;
2240
+ private removeMouseUpListener?;
2241
+ private removeMouseLeaveListener?;
2242
+ private removeScrollListener?;
2243
+ private isInitialized;
2244
+ private lastTrackVisible?;
2245
+ private lastThumbWidth;
2246
+ private lastThumbPosition;
2247
+ ngAfterViewInit(): void;
2248
+ private setupScrollListener;
2249
+ private handleScroll;
2250
+ private setupGlobalMouseListeners;
2251
+ private teardownAlwaysVisibleTracking;
2252
+ private reconcileAlwaysVisibleTracking;
2253
+ private updateScrollbar;
2254
+ private setupResizeObserver;
2255
+ private setupAlwaysVisibleTracking;
2256
+ private updateFixedTrackPosition;
2257
+ private updateScrollState;
2258
+ private calculateScrollState;
2259
+ onThumbMouseDown(event: MouseEvent): void;
2260
+ private onThumbDrag;
2261
+ onThumbMouseUp(): void;
2262
+ refresh(): void;
2263
+ scrollToEnd(): void;
2264
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<StickyScrollbarComponent, never>;
2265
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<StickyScrollbarComponent, "ca-sticky-scrollbar", never, { "hideThumb": { "alias": "hideThumb"; "required": false; }; "hideTrack": { "alias": "hideTrack"; "required": false; }; "alwaysVisible": { "alias": "alwaysVisible"; "required": false; }; "stickyOffset": { "alias": "stickyOffset"; "required": false; }; }, { "scrollStateChange": "scrollStateChange"; }, never, ["*"], true, never>;
2266
+ }
2267
+
2268
+ interface IDispatchDropdownOption {
2269
+ id?: number;
2270
+ [key: string]: any;
2271
+ }
2272
+
2273
+ interface IDispatchDropdownConfig {
2274
+ hasPagination?: boolean;
2275
+ placeholder?: string;
2276
+ hasNoAdd?: boolean;
2277
+ hasNoAddNew?: boolean;
2278
+ optionLabel?: string;
2279
+ isGrouped?: boolean;
2280
+ groupLabel?: string;
2281
+ groupOptions?: string;
2282
+ }
2283
+
2284
+ declare class DispatchDropdownComponent {
2285
+ dropdown: NgbDropdown;
2286
+ containerRef: ElementRef<HTMLDivElement>;
2287
+ inputRef: ElementRef<HTMLInputElement>;
2288
+ selectedOption: _angular_core.InputSignal<IDispatchDropdownOption | null>;
2289
+ options: _angular_core.InputSignal<IDispatchDropdownOption[]>;
2290
+ config: _angular_core.InputSignal<IDispatchDropdownConfig>;
2291
+ isEditable: _angular_core.InputSignal<boolean>;
2292
+ data: _angular_core.InputSignal<unknown>;
2293
+ isLocked: _angular_core.InputSignal<boolean>;
2294
+ hasNoRemoveButton: _angular_core.InputSignal<boolean>;
2295
+ isDisabled: _angular_core.InputSignal<boolean>;
2296
+ disabledTooltip: _angular_core.InputSignal<string>;
2297
+ contentTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
2298
+ optionTemplateLeft: _angular_core.InputSignal<TemplateRef<unknown> | null>;
2299
+ optionTemplateRight: _angular_core.InputSignal<TemplateRef<unknown> | null>;
2300
+ noContentTemplate: _angular_core.InputSignal<TemplateRef<unknown> | null>;
2301
+ hideDropdownMenu: _angular_core.InputSignal<boolean>;
2302
+ onSelectionChange: _angular_core.OutputEmitterRef<IDispatchDropdownOption | null>;
2303
+ onRemove: _angular_core.OutputEmitterRef<void>;
2304
+ onAddNew: _angular_core.OutputEmitterRef<number | null>;
2305
+ onSearch: _angular_core.OutputEmitterRef<string>;
2306
+ onToggleDropdown: _angular_core.OutputEmitterRef<boolean>;
2307
+ onBlur: _angular_core.OutputEmitterRef<void>;
2308
+ searchValue: _angular_core.WritableSignal<string>;
2309
+ closing: _angular_core.WritableSignal<boolean>;
2310
+ containerWidth: _angular_core.WritableSignal<number>;
2311
+ dropdownOpen: _angular_core.WritableSignal<boolean>;
2312
+ collapsedGroups: _angular_core.WritableSignal<string[]>;
2313
+ private closeTimeout;
2314
+ groupMaxHeightStyle: _angular_core.Signal<string>;
2315
+ maxHeightStyle: _angular_core.Signal<string>;
2316
+ containerHeightStyle: _angular_core.Signal<string>;
2317
+ filteredOptions: _angular_core.Signal<IDispatchDropdownOption[]>;
2318
+ filteredGroupedOptions: _angular_core.Signal<{
2319
+ groupName: any;
2320
+ highlightedGroupName: any;
2321
+ highlightedOptions: any;
2322
+ isCollapsed: boolean;
2323
+ isRelevant: any;
2324
+ id?: number;
2325
+ }[]>;
2326
+ highlightedOptions: _angular_core.Signal<{
2327
+ highlighted: any;
2328
+ id?: number;
2329
+ }[]>;
2330
+ private updateContainerWidth;
2331
+ private closeDropdown;
2332
+ handleOpenChange(event: boolean): void;
2333
+ handleFocus(): void;
2334
+ handleClick($event?: MouseEvent): void;
2335
+ handleBlur(): void;
2336
+ handleKeydown(event: KeyboardEvent): void;
2337
+ handleOption(event: MouseEvent, option: IDispatchDropdownOption): void;
2338
+ handlePrimaryButtonClick(event: MouseEvent): void;
2339
+ handleSearch(event: Event): void;
2340
+ handleAddNew(id: number | null): void;
2341
+ toggleGroup(event: MouseEvent, groupName?: string): void;
2342
+ stopEventPropagationAndPreventDefault(event: Event): void;
2343
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DispatchDropdownComponent, never>;
2344
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DispatchDropdownComponent, "cai-dispatch-dropdown", never, { "selectedOption": { "alias": "selectedOption"; "required": false; "isSignal": true; }; "options": { "alias": "options"; "required": false; "isSignal": true; }; "config": { "alias": "config"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "data": { "alias": "data"; "required": false; "isSignal": true; }; "isLocked": { "alias": "isLocked"; "required": false; "isSignal": true; }; "hasNoRemoveButton": { "alias": "hasNoRemoveButton"; "required": false; "isSignal": true; }; "isDisabled": { "alias": "isDisabled"; "required": false; "isSignal": true; }; "disabledTooltip": { "alias": "disabledTooltip"; "required": false; "isSignal": true; }; "contentTemplate": { "alias": "contentTemplate"; "required": false; "isSignal": true; }; "optionTemplateLeft": { "alias": "optionTemplateLeft"; "required": false; "isSignal": true; }; "optionTemplateRight": { "alias": "optionTemplateRight"; "required": false; "isSignal": true; }; "noContentTemplate": { "alias": "noContentTemplate"; "required": false; "isSignal": true; }; "hideDropdownMenu": { "alias": "hideDropdownMenu"; "required": false; "isSignal": true; }; }, { "onSelectionChange": "onSelectionChange"; "onRemove": "onRemove"; "onAddNew": "onAddNew"; "onSearch": "onSearch"; "onToggleDropdown": "onToggleDropdown"; "onBlur": "onBlur"; }, never, never, true, never>;
2345
+ }
2346
+
2347
+ interface ITextAreaConfig {
2348
+ name?: string;
2349
+ max?: number;
2350
+ }
2351
+
2352
+ /**
2353
+ * This component is a text area component that integrates with Angular forms.
2354
+ */
2355
+ declare class TextAreaComponent implements ControlValueAccessor {
2356
+ ngControl: NgControl | null;
2357
+ cancelTooltip: NgbTooltip;
2358
+ textArea: ElementRef<HTMLTextAreaElement>;
2359
+ /**
2360
+ * Configuration object for the text area's behavior and appearance.
2361
+ */
2362
+ config: _angular_core.InputSignal<ITextAreaConfig>;
2363
+ /**
2364
+ * Holds the internal value of the text area.
2365
+ */
2366
+ value: _angular_core.WritableSignal<string>;
2367
+ /**
2368
+ * Internal signal to track the disabled state of the text area.
2369
+ */
2370
+ disabled: _angular_core.WritableSignal<boolean>;
2371
+ /**
2372
+ * A signal that indicates whether the text area is focused.
2373
+ */
2374
+ focused: _angular_core.WritableSignal<boolean>;
2375
+ onBlur: _angular_core.OutputEmitterRef<void>;
2376
+ onFocused: _angular_core.OutputEmitterRef<void>;
2377
+ onValueChange: _angular_core.OutputEmitterRef<string | null>;
2378
+ onClearEvent: _angular_core.OutputEmitterRef<void>;
2379
+ /**
2380
+ * Constructor for the TextAreaComponent.
2381
+ * It injects NgControl to integrate with Angular's forms API.
2382
+ * @param ngControl - Optional NgControl instance for form integration.
2383
+ */
2384
+ constructor(ngControl: NgControl | null);
2385
+ onChange: (_: any) => void;
2386
+ onTouched: () => void;
2387
+ /**
2388
+ * Writes a new value to the element. (ControlValueAccessor)
2389
+ */
2390
+ writeValue(value: any): void;
2391
+ registerOnChange(fn: any): void;
2392
+ registerOnTouched(fn: any): void;
2393
+ setDisabledState(isDisabled: boolean): void;
2394
+ /**
2395
+ * Handles the native 'input' event from the HTMLTextAreaElement.
2396
+ * Updates the component's internal value and notifies Angular forms.
2397
+ * @param event - The input event object.
2398
+ */
2399
+ onInput(event: Event): void;
2400
+ /**
2401
+ * Dispatches the onChange event with the provided value.
2402
+ * @param value - The value to pass to onChange
2403
+ */
2404
+ dispatchOnChange(value: any): void;
2405
+ /**
2406
+ * Sets the value in the actual HTML text area element.
2407
+ */
2408
+ setValue(): void;
2409
+ /**
2410
+ * Focuses the text area element.
2411
+ */
2412
+ focus(event?: MouseEvent): void;
2413
+ /**
2414
+ * Called when the text area receives focus.
2415
+ */
2416
+ onFocus(): void;
2417
+ /**
2418
+ * Called when the text area loses focus.
2419
+ */
2420
+ dispatchOnBlur(): void;
2421
+ /**
2422
+ * Resets the text area value to an empty string.
2423
+ */
2424
+ reset(event?: MouseEvent): void;
2425
+ /**
2426
+ * Handles the clear button click.
2427
+ */
2428
+ onClear(event: MouseEvent): void;
2429
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<TextAreaComponent, [{ optional: true; self: true; }]>;
2430
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<TextAreaComponent, "cai-text-area", never, { "config": { "alias": "config"; "required": false; "isSignal": true; }; }, { "onBlur": "onBlur"; "onFocused": "onFocused"; "onValueChange": "onValueChange"; "onClearEvent": "onClearEvent"; }, never, never, true, never>;
2431
+ }
2432
+
2433
+ interface ILastStatusData {
2434
+ hours: number;
2435
+ minutes: number;
2436
+ days?: number;
2437
+ seconds?: number;
2438
+ }
2439
+
2440
+ declare class DispatchLocationComponent implements OnInit, OnDestroy {
2441
+ dispatchDropdown: DispatchDropdownComponent;
2442
+ id: _angular_core.InputSignal<string>;
2443
+ locationData: _angular_core.InputSignal<AddressEntity | null>;
2444
+ highlightedLocationString: _angular_core.InputSignal<string>;
2445
+ lastStatusData: _angular_core.InputSignal<ILastStatusData | null>;
2446
+ isParking: _angular_core.InputSignal<boolean>;
2447
+ isEditable: _angular_core.InputSignal<boolean>;
2448
+ parkingName: _angular_core.InputSignal<string>;
2449
+ showParkingIcon: _angular_core.Signal<boolean>;
2450
+ set receivedAddressData(value: AddressData | null);
2451
+ set receivedAddressList(value: {
2452
+ addresses?: string[];
2453
+ } | null);
2454
+ set parkingList(value: any[]);
2455
+ selectedAddress: _angular_core.OutputEmitterRef<any>;
2456
+ sentAddressData: _angular_core.OutputEmitterRef<any>;
2457
+ sentAddressValue: _angular_core.OutputEmitterRef<any>;
2458
+ onClear: _angular_core.OutputEmitterRef<void>;
2459
+ onToggleDropdown: _angular_core.OutputEmitterRef<boolean>;
2460
+ onBlur: _angular_core.OutputEmitterRef<void>;
2461
+ config: IDispatchDropdownConfig;
2462
+ options: AddressList[];
2463
+ addressList: AddressList[];
2464
+ currentAddressData: AddressData | null;
2465
+ isParkingAddressSelected: boolean;
2466
+ isLoading: _angular_core.WritableSignal<boolean>;
2467
+ hideDropdownMenu: _angular_core.WritableSignal<boolean>;
2468
+ private _parkingList;
2469
+ private searchLayers;
2470
+ private destroy$;
2471
+ private searchSubject$;
2472
+ ngOnInit(): void;
2473
+ ngOnDestroy(): void;
2474
+ private initSearchListener;
2475
+ private filterParkingByCity;
2476
+ focus(): void;
2477
+ handleSearch(event: string): void;
2478
+ handleAddressSelect(selectedOption: any): void;
2479
+ handleToggleDropdown(event: boolean): void;
2480
+ handleBlur(): void;
2481
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<DispatchLocationComponent, never>;
2482
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<DispatchLocationComponent, "cai-dispatch-location", never, { "id": { "alias": "id"; "required": false; "isSignal": true; }; "locationData": { "alias": "locationData"; "required": false; "isSignal": true; }; "highlightedLocationString": { "alias": "highlightedLocationString"; "required": false; "isSignal": true; }; "lastStatusData": { "alias": "lastStatusData"; "required": false; "isSignal": true; }; "isParking": { "alias": "isParking"; "required": false; "isSignal": true; }; "isEditable": { "alias": "isEditable"; "required": false; "isSignal": true; }; "parkingName": { "alias": "parkingName"; "required": false; "isSignal": true; }; "receivedAddressData": { "alias": "receivedAddressData"; "required": false; }; "receivedAddressList": { "alias": "receivedAddressList"; "required": false; }; "parkingList": { "alias": "parkingList"; "required": false; }; }, { "selectedAddress": "selectedAddress"; "sentAddressData": "sentAddressData"; "sentAddressValue": "sentAddressValue"; "onClear": "onClear"; "onToggleDropdown": "onToggleDropdown"; "onBlur": "onBlur"; }, never, never, true, never>;
2483
+ }
2484
+
2485
+ declare class CounterComponent implements ControlValueAccessor, OnDestroy {
2486
+ ngControl: NgControl | null;
2487
+ inputRef: ElementRef<HTMLInputElement>;
2488
+ min: _angular_core.InputSignal<number | null>;
2489
+ max: _angular_core.InputSignal<number | null>;
2490
+ value: _angular_core.WritableSignal<number | null>;
2491
+ keyPressed: _angular_core.WritableSignal<"up" | "down" | null>;
2492
+ private keyPressedTimeout;
2493
+ onChange: (_: any) => void;
2494
+ onTouched: () => void;
2495
+ /**
2496
+ * Constructor for the CounterComponent.
2497
+ * It injects NgControl to integrate with Angular's forms API.
2498
+ * If NgControl is present, it sets this component as the value accessor
2499
+ * for the form control.
2500
+ * @param ngControl - Optional NgControl instance for form integration.
2501
+ */
2502
+ constructor(ngControl: NgControl | null);
2503
+ /**
2504
+ * Handles input changes from the input element.
2505
+ * @param event - The input event.
2506
+ */
2507
+ onInput(event: Event): void;
2508
+ /**
2509
+ * Handles blur event on the input element.
2510
+ */
2511
+ onBlur(): void;
2512
+ /**
2513
+ * Increments or decrements the value.
2514
+ * @param step - The amount to increment (positive) or decrement (negative).
2515
+ */
2516
+ increment(step: number): void;
2517
+ /**
2518
+ * Updates the input element's value to match the internal value.
2519
+ */
2520
+ private updateInputValue;
2521
+ /**
2522
+ * Writes a new value to the element.
2523
+ * @param value - The new value.
2524
+ */
2525
+ writeValue(value: any): void;
2526
+ /**
2527
+ * Registers a callback function that is called when the control's value changes.
2528
+ * @param fn - The callback function.
2529
+ */
2530
+ registerOnChange(fn: any): void;
2531
+ /**
2532
+ * Registers a callback function that is called when the control is touched.
2533
+ * @param fn - The callback function.
2534
+ */
2535
+ registerOnTouched(fn: any): void;
2536
+ focus(event: PointerEvent): void;
2537
+ onKeydown(event: KeyboardEvent): void;
2538
+ /**
2539
+ * Applies a temporary key-pressed class effect to the specified arrow.
2540
+ * @param direction - The arrow direction ('up' or 'down').
2541
+ */
2542
+ private flashKeyPressed;
2543
+ /**
2544
+ * Cleanup timeouts when component is destroyed.
2545
+ */
2546
+ ngOnDestroy(): void;
2547
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<CounterComponent, [{ optional: true; self: true; }]>;
2548
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<CounterComponent, "cai-counter", never, { "min": { "alias": "min"; "required": false; "isSignal": true; }; "max": { "alias": "max"; "required": false; "isSignal": true; }; }, {}, never, never, true, never>;
2549
+ }
2550
+
2551
+ export { AvatarComponent, CaiInputDatetimePickerComponent, CopyComponent, CounterComponent, DispatchDropdownComponent, DispatchLocationComponent, DropZoneComponent, DropdownTypes, INPUT_CHARACTER_SETS, InputAddressComponent, InputComponent, IntervalDropdownComponent, ListContactDropdownComponent, PmComponent, RatingReviewComponent, ReviewModalComponent, SelectedBusinessFieldComponent, StickyScrollbarComponent, TabOptionDropdownComponent, TextAreaComponent, eScrollState, ignoreWhenAutofilled, sizes };
2552
+ export type { Address, Bank, Broker, CaiDateTimeConfig, CaiInputConfig, ColorOption, Contact$1 as Contact, CustomError, Department$1 as Department, DepartmentContactsPair, Dispatch, DispatchBoard, Dispatcher, Driver, DropdownArrays, DropdownGroups, DropdownKeys, DropdownOption, DropdownOptions, DropdownType, Franchise, FuelCard, FuelStopStore, GroupedNavigationState, Hazardous, ICaInput, ICaInputDateTimePicker, ICaInputWithDropdown, IDispatchDropdownConfig, IDispatchDropdownOption, IIntervalDropdownOption, IMultipleInput, ITabOption, ITabOptionConfig, ITextAreaConfig, InputChangeValue, KeyboardNavigationState, MakeOption, Owner, PMOption, Provider, Shipper, SplitDriver, SplitDriverBoard, SplitTrailer, SplitTrailerBoard, SplitTruck, SplitTruckBoard, State, Status, TollOption, TollTransponderOption, Trailer, TrailerOption, TrailerType, Truck, TruckColor, TruckOption, TruckType };