@brickclay-org/ui 0.0.83 → 0.0.85
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as i0 from '@angular/core';
|
|
2
2
|
import { OnInit, OnDestroy, OnChanges, EventEmitter, ElementRef, SimpleChanges, AfterViewInit, QueryList, ComponentRef, Type, InjectionToken, Renderer2, ApplicationRef, EnvironmentInjector, ChangeDetectorRef } from '@angular/core';
|
|
3
|
-
import { ControlValueAccessor,
|
|
3
|
+
import { ControlValueAccessor, Validator, AbstractControl, ValidationErrors, NgControl, NgModel } from '@angular/forms';
|
|
4
4
|
import * as rxjs from 'rxjs';
|
|
5
5
|
import { Observable } from 'rxjs';
|
|
6
6
|
import * as i1 from '@angular/common';
|
|
@@ -59,7 +59,7 @@ declare class CalendarSelection {
|
|
|
59
59
|
endTime: string | null;
|
|
60
60
|
selectedDates?: string[];
|
|
61
61
|
}
|
|
62
|
-
declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlValueAccessor {
|
|
62
|
+
declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlValueAccessor, Validator {
|
|
63
63
|
private calendarManager;
|
|
64
64
|
enableTimepicker: boolean;
|
|
65
65
|
autoApply: boolean;
|
|
@@ -76,6 +76,7 @@ declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlV
|
|
|
76
76
|
dualCalendar: boolean;
|
|
77
77
|
showRanges: boolean;
|
|
78
78
|
timeFormat: 12 | 24;
|
|
79
|
+
clearableTime: boolean;
|
|
79
80
|
enableSeconds: boolean;
|
|
80
81
|
customRanges?: Record<string, CalendarRange>;
|
|
81
82
|
multiDateSelection: boolean;
|
|
@@ -163,6 +164,12 @@ declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlV
|
|
|
163
164
|
startTime: string | null;
|
|
164
165
|
/** Current end time string in 12-hour format with AM/PM (e.g. "2:00 AM"). Synced with ngModel/CalendarSelection. */
|
|
165
166
|
endTime: string | null;
|
|
167
|
+
/** ngModel binding for single-calendar time picker (null = no time). */
|
|
168
|
+
singleTimeModel: string | null;
|
|
169
|
+
/** ngModel binding for dual-calendar start time picker (null = no time). */
|
|
170
|
+
startTimeModel: string | null;
|
|
171
|
+
/** ngModel binding for dual-calendar end time picker (null = no time). */
|
|
172
|
+
endTimeModel: string | null;
|
|
166
173
|
openTimePickerId: string | null;
|
|
167
174
|
closePickerCounter: {
|
|
168
175
|
[key: string]: number;
|
|
@@ -178,6 +185,8 @@ declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlV
|
|
|
178
185
|
registerOnChange(fn: (value: CalendarSelection | null) => void): void;
|
|
179
186
|
registerOnTouched(fn: () => void): void;
|
|
180
187
|
setDisabledState(isDisabled: boolean): void;
|
|
188
|
+
/** Validator: when required is true, value must have a date selected. */
|
|
189
|
+
validate(control: AbstractControl): ValidationErrors | null;
|
|
181
190
|
/** Call from template when control loses focus (for CVA touched state). */
|
|
182
191
|
markAsTouched(): void;
|
|
183
192
|
/** Apply CalendarSelection to internal state (startDate, endDate, startTime, endTime, selectedDates, calendar view). */
|
|
@@ -234,8 +243,8 @@ declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlV
|
|
|
234
243
|
onTimePickerClosed(pickerId: string): void;
|
|
235
244
|
shouldClosePicker(pickerId: string): number;
|
|
236
245
|
private parsePickerTimeString;
|
|
237
|
-
onSingleTimePickerChange(time: string): void;
|
|
238
|
-
onDualTimePickerChange(time: string, isStart?: boolean): void;
|
|
246
|
+
onSingleTimePickerChange(time: string | null): void;
|
|
247
|
+
onDualTimePickerChange(time: string | null, isStart?: boolean): void;
|
|
239
248
|
onTimeChange(event: any, isStart?: boolean): void;
|
|
240
249
|
onSingleTimeChange(event: any): void;
|
|
241
250
|
incrementHour(isStart?: boolean): void;
|
|
@@ -265,7 +274,7 @@ declare class BkCustomCalendar implements OnInit, OnDestroy, OnChanges, ControlV
|
|
|
265
274
|
private parseDateString;
|
|
266
275
|
formatDateToString(date: Date): string;
|
|
267
276
|
static ɵfac: i0.ɵɵFactoryDeclaration<BkCustomCalendar, never>;
|
|
268
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BkCustomCalendar, "bk-custom-calendar", never, { "enableTimepicker": { "alias": "enableTimepicker"; "required": false; }; "autoApply": { "alias": "autoApply"; "required": false; }; "closeOnAutoApply": { "alias": "closeOnAutoApply"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "linkedCalendars": { "alias": "linkedCalendars"; "required": false; }; "singleDatePicker": { "alias": "singleDatePicker"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "showISOWeekNumbers": { "alias": "showISOWeekNumbers"; "required": false; }; "customRangeDirection": { "alias": "customRangeDirection"; "required": false; }; "lockStartDate": { "alias": "lockStartDate"; "required": false; }; "position": { "alias": "position"; "required": false; }; "drop": { "alias": "drop"; "required": false; }; "dualCalendar": { "alias": "dualCalendar"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "enableSeconds": { "alias": "enableSeconds"; "required": false; }; "customRanges": { "alias": "customRanges"; "required": false; }; "multiDateSelection": { "alias": "multiDateSelection"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "opens": { "alias": "opens"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "isDisplayCrossIcon": { "alias": "isDisplayCrossIcon"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "showCancelApply": { "alias": "showCancelApply"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "displayFormat": { "alias": "displayFormat"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "selected": "selected"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
277
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BkCustomCalendar, "bk-custom-calendar", never, { "enableTimepicker": { "alias": "enableTimepicker"; "required": false; }; "autoApply": { "alias": "autoApply"; "required": false; }; "closeOnAutoApply": { "alias": "closeOnAutoApply"; "required": false; }; "showCancel": { "alias": "showCancel"; "required": false; }; "linkedCalendars": { "alias": "linkedCalendars"; "required": false; }; "singleDatePicker": { "alias": "singleDatePicker"; "required": false; }; "showWeekNumbers": { "alias": "showWeekNumbers"; "required": false; }; "showISOWeekNumbers": { "alias": "showISOWeekNumbers"; "required": false; }; "customRangeDirection": { "alias": "customRangeDirection"; "required": false; }; "lockStartDate": { "alias": "lockStartDate"; "required": false; }; "position": { "alias": "position"; "required": false; }; "drop": { "alias": "drop"; "required": false; }; "dualCalendar": { "alias": "dualCalendar"; "required": false; }; "showRanges": { "alias": "showRanges"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "clearableTime": { "alias": "clearableTime"; "required": false; }; "enableSeconds": { "alias": "enableSeconds"; "required": false; }; "customRanges": { "alias": "customRanges"; "required": false; }; "multiDateSelection": { "alias": "multiDateSelection"; "required": false; }; "maxDate": { "alias": "maxDate"; "required": false; }; "minDate": { "alias": "minDate"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "opens": { "alias": "opens"; "required": false; }; "inline": { "alias": "inline"; "required": false; }; "appendToBody": { "alias": "appendToBody"; "required": false; }; "isDisplayCrossIcon": { "alias": "isDisplayCrossIcon"; "required": false; }; "hasError": { "alias": "hasError"; "required": false; }; "errorMessage": { "alias": "errorMessage"; "required": false; }; "showCancelApply": { "alias": "showCancelApply"; "required": false; }; "selectedValue": { "alias": "selectedValue"; "required": false; }; "displayFormat": { "alias": "displayFormat"; "required": false; }; "required": { "alias": "required"; "required": false; }; }, { "selected": "selected"; "opened": "opened"; "closed": "closed"; }, never, never, true, never>;
|
|
269
278
|
}
|
|
270
279
|
|
|
271
280
|
interface TimeConfiguration {
|
|
@@ -319,17 +328,17 @@ declare class BkScheduledDatePicker implements OnInit {
|
|
|
319
328
|
shouldClosePicker(pickerId: string): number;
|
|
320
329
|
onSingleDateSelected(event: CalendarSelection): void;
|
|
321
330
|
onSingleAllDayChange(): void;
|
|
322
|
-
onSingleStartTimeChange(time: string): void;
|
|
323
|
-
onSingleEndTimeChange(time: string): void;
|
|
331
|
+
onSingleStartTimeChange(time: string | null): void;
|
|
332
|
+
onSingleEndTimeChange(time: string | null): void;
|
|
324
333
|
updateSingleDateTimes(): void;
|
|
325
334
|
onMultipleDatesSelected(event: CalendarSelection): void;
|
|
326
335
|
onMultipleDateAllDayChange(index: number): void;
|
|
327
|
-
onMultipleDateStartTimeChange(index: number, time: string): void;
|
|
328
|
-
onMultipleDateEndTimeChange(index: number, time: string): void;
|
|
336
|
+
onMultipleDateStartTimeChange(index: number, time: string | null): void;
|
|
337
|
+
onMultipleDateEndTimeChange(index: number, time: string | null): void;
|
|
329
338
|
onRangeSelected(event: CalendarSelection): void;
|
|
330
339
|
onRangeAllDayChange(): void;
|
|
331
|
-
onRangeStartTimeChange(time: string): void;
|
|
332
|
-
onRangeEndTimeChange(time: string): void;
|
|
340
|
+
onRangeStartTimeChange(time: string | null): void;
|
|
341
|
+
onRangeEndTimeChange(time: string | null): void;
|
|
333
342
|
updateRangeTimes(): void;
|
|
334
343
|
parseTimeString(timeStr: string): {
|
|
335
344
|
hours: number;
|
|
@@ -344,33 +353,70 @@ declare class BkScheduledDatePicker implements OnInit {
|
|
|
344
353
|
static ɵcmp: i0.ɵɵComponentDeclaration<BkScheduledDatePicker, "bk-scheduled-date-picker", never, { "timeFormat": { "alias": "timeFormat"; "required": false; }; "enableSeconds": { "alias": "enableSeconds"; "required": false; }; }, { "scheduled": "scheduled"; "cleared": "cleared"; }, never, never, true, never>;
|
|
345
354
|
}
|
|
346
355
|
|
|
347
|
-
declare class BkTimePicker implements OnInit, OnChanges, AfterViewInit {
|
|
348
|
-
|
|
356
|
+
declare class BkTimePicker implements OnInit, OnChanges, AfterViewInit, ControlValueAccessor {
|
|
357
|
+
required: boolean;
|
|
358
|
+
/** @deprecated Prefer [(ngModel)]. When ngModel is not used, this sets the initial/current time. */
|
|
359
|
+
value: string | null;
|
|
349
360
|
label: string;
|
|
350
361
|
placeholder: string;
|
|
362
|
+
clearable: boolean;
|
|
351
363
|
position: 'left' | 'right';
|
|
352
364
|
pickerId: string;
|
|
353
365
|
closePicker: number;
|
|
354
366
|
timeFormat: 12 | 24;
|
|
355
367
|
showSeconds: boolean;
|
|
356
|
-
|
|
368
|
+
change: EventEmitter<string | null>;
|
|
369
|
+
/** Alias for (change) for backward compatibility */
|
|
370
|
+
timeChange: EventEmitter<string | null>;
|
|
357
371
|
pickerOpened: EventEmitter<string>;
|
|
358
372
|
pickerClosed: EventEmitter<string>;
|
|
373
|
+
/** CVA: called when the control value is set (e.g. ngModel or programmatic) */
|
|
374
|
+
private onChange;
|
|
375
|
+
/** CVA: called when the control is touched (blur / close picker) */
|
|
376
|
+
private onTouched;
|
|
377
|
+
disabled: boolean;
|
|
359
378
|
timeScrollElements: QueryList<ElementRef>;
|
|
379
|
+
minuteScrollElements: QueryList<ElementRef>;
|
|
380
|
+
secondScrollElements: QueryList<ElementRef>;
|
|
381
|
+
/** Cyclic wheel: item height and cycle size (0-59). Middle block starts at CYCLE_SIZE * ITEM_HEIGHT */
|
|
382
|
+
private readonly ITEM_HEIGHT;
|
|
383
|
+
private readonly WHEEL_CYCLE;
|
|
384
|
+
private readonly MIDDLE_OFFSET;
|
|
385
|
+
private readonly VIEWPORT_HEIGHT;
|
|
386
|
+
/** Repeated 0-59 for infinite scroll (minutes and seconds) */
|
|
387
|
+
wheelMinutes: number[];
|
|
388
|
+
wheelSeconds: number[];
|
|
360
389
|
showPicker: boolean;
|
|
361
390
|
currentHour: number;
|
|
362
391
|
currentMinute: number;
|
|
363
392
|
currentAMPM: string;
|
|
364
393
|
currentSecond: number;
|
|
394
|
+
/** When null, input shows placeholder; otherwise the selected time string. */
|
|
395
|
+
private _modelValue;
|
|
365
396
|
brickclayIcons: {
|
|
366
397
|
readonly arrowleft: "assets/icons/chevron-left.svg";
|
|
367
398
|
readonly arrowRight: "assets/icons/chevron-right.svg";
|
|
368
399
|
readonly calenderIcon: "assets/icons/calender.svg";
|
|
369
400
|
readonly timerIcon: "assets/icons/timer.svg";
|
|
370
401
|
};
|
|
402
|
+
writeValue(value: string | null): void;
|
|
403
|
+
registerOnChange(fn: (value: string | null) => void): void;
|
|
404
|
+
registerOnTouched(fn: () => void): void;
|
|
405
|
+
setDisabledState(isDisabled: boolean): void;
|
|
406
|
+
/** Display string for the input; empty when value is null. */
|
|
407
|
+
getDisplayValue(): string;
|
|
408
|
+
/** True when a time is selected (show clear button). */
|
|
409
|
+
get hasValue(): boolean;
|
|
410
|
+
/** Reset dropdown to default time (used when opening with null value). 12h → 12:00 PM, 24h → 00:00 */
|
|
411
|
+
private setDefaultsForDropdown;
|
|
412
|
+
/** Clear the time value and notify CVA. */
|
|
413
|
+
clear(): void;
|
|
414
|
+
/** Call when control loses focus or picker closes (for CVA touched state). */
|
|
415
|
+
markAsTouched(): void;
|
|
371
416
|
ngOnInit(): void;
|
|
372
417
|
ngAfterViewInit(): void;
|
|
373
|
-
|
|
418
|
+
/** @param timeStr Optional; when not provided uses this.value (from @Input). Empty/null sets defaults. */
|
|
419
|
+
parseTimeValue(timeStr?: string | null): void;
|
|
374
420
|
getHours(): number[];
|
|
375
421
|
getMinutes(): number[];
|
|
376
422
|
getSeconds(): number[];
|
|
@@ -389,12 +435,19 @@ declare class BkTimePicker implements OnInit, OnChanges, AfterViewInit {
|
|
|
389
435
|
onAMPMChange(ampm: string): void;
|
|
390
436
|
updateTime(): void;
|
|
391
437
|
scrollToSelectedTimes(): void;
|
|
438
|
+
/** Position wheel so the selected value is at the top of the viewport. */
|
|
439
|
+
private initMinuteWheelScroll;
|
|
440
|
+
private initSecondWheelScroll;
|
|
441
|
+
/** Scroll position -> value 0-59 (value at top of viewport). Recenter when in first or third block. */
|
|
442
|
+
private wheelScrollToValue;
|
|
443
|
+
onMinuteWheelScroll(): void;
|
|
444
|
+
onSecondWheelScroll(): void;
|
|
392
445
|
onDocumentClick(event: MouseEvent): void;
|
|
393
446
|
private previousCloseCounter;
|
|
394
447
|
ngOnChanges(changes: SimpleChanges): void;
|
|
395
448
|
onInputKeydown(event: KeyboardEvent): void;
|
|
396
449
|
static ɵfac: i0.ɵɵFactoryDeclaration<BkTimePicker, never>;
|
|
397
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BkTimePicker, "bk-time-picker", never, { "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "position": { "alias": "position"; "required": false; }; "pickerId": { "alias": "pickerId"; "required": false; }; "closePicker": { "alias": "closePicker"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; }, { "timeChange": "timeChange"; "pickerOpened": "pickerOpened"; "pickerClosed": "pickerClosed"; }, never, never, true, never>;
|
|
450
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BkTimePicker, "bk-time-picker", never, { "required": { "alias": "required"; "required": false; }; "value": { "alias": "value"; "required": false; }; "label": { "alias": "label"; "required": false; }; "placeholder": { "alias": "placeholder"; "required": false; }; "clearable": { "alias": "clearable"; "required": false; }; "position": { "alias": "position"; "required": false; }; "pickerId": { "alias": "pickerId"; "required": false; }; "closePicker": { "alias": "closePicker"; "required": false; }; "timeFormat": { "alias": "timeFormat"; "required": false; }; "showSeconds": { "alias": "showSeconds"; "required": false; }; }, { "change": "change"; "timeChange": "timeChange"; "pickerOpened": "pickerOpened"; "pickerClosed": "pickerClosed"; }, never, never, true, never>;
|
|
398
451
|
}
|
|
399
452
|
|
|
400
453
|
/**
|
|
@@ -635,6 +688,7 @@ interface TableColumn<T = any> {
|
|
|
635
688
|
/** show / hide both th + td */
|
|
636
689
|
visible?: boolean;
|
|
637
690
|
actions?: TableAction[] | ((row: T) => TableAction[]);
|
|
691
|
+
checkbox?: boolean;
|
|
638
692
|
}
|
|
639
693
|
interface TableAction<T = any> {
|
|
640
694
|
name: string;
|
|
@@ -669,6 +723,9 @@ declare class BkGrid<T = any> {
|
|
|
669
723
|
result: T[];
|
|
670
724
|
actions: TableAction<T>[] | ((row: T) => TableAction<T>[]);
|
|
671
725
|
customClass: string;
|
|
726
|
+
change: EventEmitter<{
|
|
727
|
+
row: T;
|
|
728
|
+
}>;
|
|
672
729
|
actionClick: EventEmitter<{
|
|
673
730
|
action: string;
|
|
674
731
|
row: T;
|
|
@@ -686,6 +743,8 @@ declare class BkGrid<T = any> {
|
|
|
686
743
|
sort(column: TableColumn<T>, index: number): void;
|
|
687
744
|
isColumnVisible(column: TableColumn<T>): boolean;
|
|
688
745
|
getCellValue(row: T, column: TableColumn<T>): string;
|
|
746
|
+
getCheckboxValue(row: T, column: TableColumn<T>): boolean;
|
|
747
|
+
setCheckboxValue(row: T, column: TableColumn<T>, value: boolean): void;
|
|
689
748
|
getBadge(row: T, column: TableColumn<T>): TableBadge | undefined;
|
|
690
749
|
getIcons(row: T, column: TableColumn<T>): TableIcon[];
|
|
691
750
|
getRowActions(row: T, column?: TableColumn<T>): TableAction<T>[];
|
|
@@ -696,7 +755,7 @@ declare class BkGrid<T = any> {
|
|
|
696
755
|
onDragMoved(event: CdkDragMove<any>): void;
|
|
697
756
|
onDragStart(event: CdkDragStart<any>): void;
|
|
698
757
|
static ɵfac: i0.ɵɵFactoryDeclaration<BkGrid<any>, never>;
|
|
699
|
-
static ɵcmp: i0.ɵɵComponentDeclaration<BkGrid<any>, "bk-grid", never, { "draggable": { "alias": "draggable"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "result": { "alias": "result"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, { "actionClick": "actionClick"; "sortChange": "sortChange"; "dragDropChange": "dragDropChange"; }, never, never, true, never>;
|
|
758
|
+
static ɵcmp: i0.ɵɵComponentDeclaration<BkGrid<any>, "bk-grid", never, { "draggable": { "alias": "draggable"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "result": { "alias": "result"; "required": false; }; "actions": { "alias": "actions"; "required": false; }; "customClass": { "alias": "customClass"; "required": false; }; }, { "change": "change"; "actionClick": "actionClick"; "sortChange": "sortChange"; "dragDropChange": "dragDropChange"; }, never, never, true, never>;
|
|
700
759
|
}
|
|
701
760
|
|
|
702
761
|
declare class BkSelect implements ControlValueAccessor {
|
package/package.json
CHANGED