novo-elements 10.1.0 → 10.2.0-next.2

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 (61) hide show
  1. package/elements/chips/Chip.scss +1 -0
  2. package/elements/chips/Chips.d.ts +9 -2
  3. package/elements/chips/Chips.scss +5 -0
  4. package/elements/common/overlay/Overlay.d.ts +2 -1
  5. package/elements/data-table/interfaces.d.ts +7 -0
  6. package/elements/data-table/state/data-table-state.service.d.ts +2 -1
  7. package/elements/picker/Picker.d.ts +3 -1
  8. package/esm2022/elements/autocomplete/autocomplete.component.mjs +1 -1
  9. package/esm2022/elements/chips/Chip.mjs +2 -2
  10. package/esm2022/elements/chips/Chips.mjs +39 -9
  11. package/esm2022/elements/chips/RowChips.mjs +2 -2
  12. package/esm2022/elements/color-picker/color-input.component.mjs +1 -1
  13. package/esm2022/elements/common/overlay/Overlay.mjs +10 -2
  14. package/esm2022/elements/data-table/data-table.component.mjs +2 -1
  15. package/esm2022/elements/data-table/interfaces.mjs +7 -2
  16. package/esm2022/elements/data-table/state/data-table-state.service.mjs +7 -1
  17. package/esm2022/elements/date-picker/DatePickerInput.mjs +1 -1
  18. package/esm2022/elements/date-picker/DateRangeInput.mjs +1 -1
  19. package/esm2022/elements/date-picker/MultiDateInput.mjs +1 -1
  20. package/esm2022/elements/dropdown/Dropdown.mjs +1 -1
  21. package/esm2022/elements/field/toggle/picker-toggle.component.mjs +1 -1
  22. package/esm2022/elements/form/ControlTemplates.mjs +1 -1
  23. package/esm2022/elements/form/extras/address/Address.mjs +1 -1
  24. package/esm2022/elements/multi-picker/MultiPicker.mjs +2 -2
  25. package/esm2022/elements/picker/Picker.mjs +9 -5
  26. package/esm2022/elements/search/SearchBox.mjs +1 -1
  27. package/esm2022/elements/select/Select.mjs +1 -1
  28. package/esm2022/elements/time-picker/TimePickerInput.mjs +1 -1
  29. package/esm2022/utils/countries/Countries.mjs +2371 -399
  30. package/fesm2022/novo-elements-elements-autocomplete.mjs +1 -1
  31. package/fesm2022/novo-elements-elements-autocomplete.mjs.map +1 -1
  32. package/fesm2022/novo-elements-elements-chips.mjs +40 -11
  33. package/fesm2022/novo-elements-elements-chips.mjs.map +1 -1
  34. package/fesm2022/novo-elements-elements-color-picker.mjs +1 -1
  35. package/fesm2022/novo-elements-elements-color-picker.mjs.map +1 -1
  36. package/fesm2022/novo-elements-elements-common.mjs +9 -1
  37. package/fesm2022/novo-elements-elements-common.mjs.map +1 -1
  38. package/fesm2022/novo-elements-elements-data-table.mjs +15 -1
  39. package/fesm2022/novo-elements-elements-data-table.mjs.map +1 -1
  40. package/fesm2022/novo-elements-elements-date-picker.mjs +3 -3
  41. package/fesm2022/novo-elements-elements-date-picker.mjs.map +1 -1
  42. package/fesm2022/novo-elements-elements-dropdown.mjs +1 -1
  43. package/fesm2022/novo-elements-elements-dropdown.mjs.map +1 -1
  44. package/fesm2022/novo-elements-elements-field.mjs +1 -1
  45. package/fesm2022/novo-elements-elements-field.mjs.map +1 -1
  46. package/fesm2022/novo-elements-elements-form.mjs +2 -2
  47. package/fesm2022/novo-elements-elements-form.mjs.map +1 -1
  48. package/fesm2022/novo-elements-elements-multi-picker.mjs +2 -2
  49. package/fesm2022/novo-elements-elements-multi-picker.mjs.map +1 -1
  50. package/fesm2022/novo-elements-elements-picker.mjs +8 -4
  51. package/fesm2022/novo-elements-elements-picker.mjs.map +1 -1
  52. package/fesm2022/novo-elements-elements-search.mjs +1 -1
  53. package/fesm2022/novo-elements-elements-search.mjs.map +1 -1
  54. package/fesm2022/novo-elements-elements-select.mjs +1 -1
  55. package/fesm2022/novo-elements-elements-select.mjs.map +1 -1
  56. package/fesm2022/novo-elements-elements-time-picker.mjs +1 -1
  57. package/fesm2022/novo-elements-elements-time-picker.mjs.map +1 -1
  58. package/fesm2022/novo-elements-utils.mjs +2370 -398
  59. package/fesm2022/novo-elements-utils.mjs.map +1 -1
  60. package/package.json +1 -1
  61. package/utils/countries/Countries.d.ts +19 -23
@@ -1 +1 @@
1
- {"version":3,"file":"novo-elements-elements-time-picker.mjs","sources":["../../../projects/novo-elements/src/elements/time-picker/TimePicker.ts","../../../projects/novo-elements/src/elements/time-picker/TimePickerInput.ts","../../../projects/novo-elements/src/elements/time-picker/TimePicker.module.ts","../../../projects/novo-elements/src/elements/time-picker/novo-elements-elements-time-picker.ts"],"sourcesContent":["// NG2\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValid } from 'date-fns';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst TIME_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerElement),\n multi: true,\n};\n\nexport enum TIME_VALUE_FORMATS {\n iso8601 = 'iso8601',\n Date = 'Date',\n}\n\n@Component({\n selector: 'novo-time-picker',\n providers: [TIME_PICKER_VALUE_ACCESSOR],\n template: `\n <!-- <div class=\"digital\" [class.inline]=\"inline\" [class.military]=\"military\" *ngIf=\"inline\">\n <div class=\"digital--inner\">\n <span class=\"digital--clock\" *ngIf=\"analog\">\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n </span>\n <div class=\"control-block\" *ngIf=\"!military && analog\">\n <span\n *ngFor=\"let period of MERIDIANS\"\n class=\"digital--period\"\n [class.active]=\"meridian == period\"\n (click)=\"setPeriod($event, period, true)\"\n [attr.data-automation-id]=\"period\"\n >{{ period }}</span\n >\n </div>\n </div>\n </div> -->\n <div class=\"increments\" *ngIf=\"!analog\">\n <novo-list class=\"increments--hours\" direction=\"vertical\" data-automation-id=\"novo-time-picker-hours\">\n <novo-list-item\n class=\"increments--hour\"\n *ngFor=\"let increment of HOURS\"\n (click)=\"setHours($event, increment, true)\"\n [class.active]=\"increment == activeHour\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--minutes\" direction=\"vertical\" data-automation-id=\"novo-time-picker-minutes\">\n <novo-list-item\n class=\"increments--minute\"\n *ngFor=\"let increment of MINUTES\"\n (click)=\"setMinutes($event, increment, true)\"\n [class.active]=\"increment == activeMinute\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--meridians\" direction=\"vertical\" *ngIf=\"!military\" data-automation-id=\"novo-time-picker-meridians\">\n <novo-list-item\n class=\"increments--meridian\"\n *ngFor=\"let period of MERIDIANS\"\n (click)=\"setPeriod($event, period, true)\"\n [class.active]=\"meridian == period\"\n [attr.data-automation-id]=\"period\"\n >\n <item-content>{{ period }}</item-content>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"analog\" *ngIf=\"analog\">\n <div class=\"analog--inner\">\n <div class=\"analog--face\">\n <span class=\"analog--center\"></span>\n <span class=\"analog--hand--hours\" [ngClass]=\"hoursClass\">\n <span class=\"analog--ball\"></span>\n </span>\n <span class=\"analog--hand--minutes\" [ngClass]=\"minutesClass\">\n <span class=\"analog--ball\" [ngClass]=\"{ between: inBetween }\"></span>\n </span>\n </div>\n <div class=\"analog--hours\">\n <span\n *ngFor=\"let hour of HOURS\"\n class=\"analog--hour\"\n [ngClass]=\"{ active: activeHour == hour }\"\n (click)=\"setHours($event, hour, true)\"\n [attr.data-automation-id]=\"hour\"\n >{{ hour }}</span\n >\n </div>\n <div class=\"analog--minutes\">\n <span\n *ngFor=\"let minute of MINUTES\"\n class=\"analog--minute\"\n [ngClass]=\"{ active: activeMinute == minute }\"\n (click)=\"setMinutes($event, minute, true)\"\n [attr.data-automation-id]=\"minute\"\n >{{ minute }}</span\n >\n </div>\n </div>\n </div>\n <div class=\"save-cancel-buttons\" *ngIf=\"hasButtons\">\n <novo-button\n class=\"cancel-button\"\n theme=\"dialogue\"\n size=\"small\"\n (click)=\"cancel()\">{{ labels.cancel }}</novo-button>\n <novo-button\n class=\"save-button\"\n theme=\"primary\"\n color=\"primary\"\n size=\"small\"\n [disabled]=\"saveDisabled\"\n (click)=\"save()\">{{ labels.save }}</novo-button>\n </div>\n `,\n styleUrls: ['./TimePicker.scss'],\n host: {\n class: 'novo-time-picker',\n '[class.military]': 'military',\n },\n})\nexport class NovoTimePickerElement implements ControlValueAccessor, OnInit, OnChanges {\n @Input()\n military: boolean = false;\n @Input()\n analog: boolean = false;\n @Input()\n inline: boolean = false;\n @Input()\n step: number = 1;\n @Input()\n hasButtons: boolean = false;\n @Input()\n saveDisabled: boolean = false;\n\n @Output()\n onSelect: EventEmitter<any> = new EventEmitter();\n @Output()\n onSave: EventEmitter<any> = new EventEmitter();\n @Output()\n onCancel: EventEmitter<any> = new EventEmitter();\n\n hours: number = 12;\n minutes: number = 0;\n value: any = null;\n meridian: string;\n inBetween: boolean;\n hoursClass: string;\n activeHour;\n minutesClass: string;\n activeMinute;\n increments: string[] = [];\n selected: string;\n MERIDIANS: Array<string> = ['am', 'pm'];\n MINUTES: Array<string> = ['05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55', '00'];\n HOURS: Array<string> = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];\n model: any;\n _onChange: Function = () => {};\n _onTouched: Function = () => {};\n\n flatten(arr) {\n return Array.prototype.concat(...arr);\n }\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n protected cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.military) {\n this.HOURS = ['0', ...this.HOURS, '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n }\n if (!this.analog) {\n const mins = Array.from(Array(60 / this.step).keys()).map((i) => i * this.step);\n this.MINUTES = mins.map((m) => `${m}`.padStart(2, '0'));\n }\n this.ngOnChanges();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n if (this.model) {\n this.init(this.model, false);\n } else {\n this.selected = null;\n this.init(new Date(), false);\n }\n }\n\n init(value, dispatch) {\n const _value = new Date(value);\n let hours: string | number = _value.getHours();\n let minutes: string | number = _value.getMinutes();\n\n if (!this.military) {\n this.meridian = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours || 12;\n }\n minutes = minutes < 10 ? `0${minutes}` : minutes;\n\n this.setHours(null, hours, dispatch);\n this.setMinutes(null, minutes, dispatch);\n this.checkBetween(minutes);\n }\n\n checkBetween(value) {\n this.inBetween = this.MINUTES.indexOf(String(value)) < 0;\n }\n\n setValue(event, value) {\n Helpers.swallowEvent(event);\n this.selected = value;\n const [time, meridian] = value.split(' ');\n const [hours, minutes] = time.split(':');\n this.hours = hours;\n this.minutes = minutes;\n this.meridian = meridian;\n\n this.dispatchChange();\n }\n\n setHours(event, hours, dispatch) {\n Helpers.swallowEvent(event);\n this.hours = hours;\n this.hoursClass = `hour-${hours}`;\n this.activeHour = hours;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setMinutes(event, minutes, dispatch) {\n Helpers.swallowEvent(event);\n this.minutes = minutes;\n this.minutesClass = `min-${minutes}`;\n this.activeMinute = minutes;\n this.checkBetween(minutes);\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setPeriod(event, period, dispatch) {\n Helpers.swallowEvent(event);\n this.meridian = period;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n dispatchChange() {\n let hours = Number(this.hours);\n\n if (!this.military) {\n hours = this.meridian.toLowerCase() === 'pm' ? hours + 12 : hours;\n\n // Special case for 12\n if (this.meridian.toLowerCase() === 'pm' && hours === 24) {\n hours = 12;\n } else if (this.meridian.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n }\n\n const value = new Date();\n value.setHours(hours);\n value.setMinutes(this.minutes);\n value.setSeconds(0);\n this.value = `${this.hours}:${this.minutes} ${this.meridian}`;\n this.onSelect.next({\n hours,\n minutes: this.minutes,\n meridian: this.meridian,\n date: value,\n text: this.value,\n });\n this._onChange(value);\n }\n\n // ValueAccessor Functions\n writeValue(model: any): void {\n this.model = model;\n if (Helpers.isDate(model)) {\n this.init(model, false);\n // this.dispatchChange();\n }\n if (Helpers.isString(model)) {\n const time = this.military ? model : this.convertTime12to24(model);\n const date = DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n if (isValid(date)) {\n this.init(date, false);\n // this.dispatchChange();\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this._onTouched = fn;\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n\n save(): void {\n this.onSave.emit();\n }\n\n cancel(): void {\n this.onCancel.emit();\n }\n}\n","// NG\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n// App\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst DATE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerInputElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-time-picker-input',\n providers: [DATE_VALUE_ACCESSOR],\n template: `\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [imask]=\"maskOptions\"\n [unmask]=\"'typed'\"\n [placeholder]=\"placeholder\"\n (change)=\"_handleChange($event)\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"time-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-clock\"></i> <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"overlayElement\" position=\"above-below\">\n <novo-time-picker\n [ngClass]=\"{ 'hasButtons': hasButtons }\"\n [hasButtons]=\"hasButtons\"\n inline=\"true\"\n [analog]=\"analog\"\n (onSelect)=\"setValue($event)\"\n [ngModel]=\"value\"\n [military]=\"military\"\n [saveDisabled]=\"saveDisabled\"\n (onCancel)=\"cancel()\"\n (onSave)=\"save()\"\n ></novo-time-picker>\n </novo-overlay-template>\n `,\n styleUrls: ['./TimePickerInput.scss'],\n})\nexport class NovoTimePickerInputElement implements OnInit, OnChanges, ControlValueAccessor {\n public value: any;\n\n /** View -> model callback called when value changes */\n _onChange: (value: any) => void = () => {};\n /** View -> model callback called when autocomplete has been touched */\n _onTouched = () => {};\n\n @Input()\n name: string;\n @Input()\n placeholder: string;\n @Input()\n military: boolean = false;\n @Input()\n maskOptions: any;\n @HostBinding('class.disabled')\n @Input()\n disabled: boolean = false;\n @Input()\n hasButtons: boolean = false;\n @Input()\n saveDisabled: boolean = false;\n @Input()\n overlayOnElement: ElementRef;\n\n /**\n * @deprecated don't use\n */\n @Input()\n analog: boolean = false;\n\n @Output()\n blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n changeEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n onSave: EventEmitter<any> = new EventEmitter();\n @Output()\n onCancel: EventEmitter<any> = new EventEmitter();\n\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n @ViewChild('input')\n input: HTMLInputElement;\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.initFormatOptions();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n if (Object.keys(changes).some((key) => ['military', 'maskOptions'].includes(key))) {\n this.initFormatOptions();\n }\n }\n\n initFormatOptions() {\n this.placeholder = this.military ? this.labels.timeFormatPlaceholder24Hour : this.labels.timeFormatPlaceholderAM;\n this.maskOptions = this.dateFormatService.getTimeMask(this.military);\n }\n\n /** BEGIN: Convenient Panel Methods. */\n openPanel(): void {\n if (!this.overlay.panelOpen) {\n this.overlay.openPanel();\n const hour = new Date().getHours();\n Promise.resolve(null).then(() => this.scrollToIndex(hour * 4));\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n\n get overlayElement(): ElementRef {\n return this.overlayOnElement || this.element;\n }\n\n /** END: Convenient Panel Methods. */\n\n _handleKeydown(event: KeyboardEvent): void {\n const input = event.target as HTMLInputElement;\n const hour: string = input.value.slice(0, 2);\n if ((event.key === Key.Escape || event.key === Key.Enter) && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n if (this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n }\n } else if (event.key === Key.Tab && input.selectionStart <= 2 && this.hourOneFormatRequired(hour)) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(3, 3);\n } else if (event.key === Key.Backspace && input.selectionStart === input.value.length) {\n input.value = `${input.value.slice(0, 5)} xx`;\n } else if (event.key === Key.Tab && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n } else if (event.key === Key.ArrowRight && input.selectionStart >= 2 && this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(2, 2);\n }\n }\n\n _handleInput(event: KeyboardEvent): void {\n if (document.activeElement === event.target) {\n const text = (event.target as HTMLInputElement).value;\n const hour = text.slice(0, 2);\n this.openPanel();\n if ((this.military && Number(text[0]) > 2) || (!this.military && Number(text[0]) > 1)) {\n event.preventDefault();\n (event.target as HTMLInputElement).value = `0${text}`;\n }\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} ${timePeriod}`;\n }\n if ((event.target as HTMLInputElement).selectionStart >= 3 && this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${(event.target as HTMLInputElement).value.slice(\n 3,\n (event.target as HTMLInputElement).value.length,\n )}`;\n }\n }\n }\n }\n\n _handleChange(event: Event): void {\n const text = (event?.target as HTMLInputElement)?.value;\n this.formatTime(text);\n this.changeEvent.emit();\n }\n\n _handleBlur(event: FocusEvent): void {\n const text = (event.target as HTMLInputElement).value;\n const hour: string = text.slice(0, 2);\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${text.slice(3, text.length)}`;\n }\n if (!timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} xx`;\n }\n }\n }\n\n _handleFocus(event: FocusEvent): void {\n this.openPanel();\n this.focusEvent.emit(event);\n }\n\n writeValue(value: any): void {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n\n registerOnChange(fn: (value: any) => {}): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => {}) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public dispatchOnChange(newValue?: any, skip: boolean = false) {\n if (newValue !== this.value) {\n this._onChange(newValue);\n this.changeEvent.emit(newValue);\n !skip && this.writeValue(newValue);\n }\n }\n\n private _setTriggerValue(value: any): void {\n if (value instanceof Date && this.value instanceof Date) {\n value = new Date(value.setFullYear(this.value.getFullYear(), this.value.getMonth(), this.value.getDate()));\n }\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n public setValueAndClose(event: any | null): void {\n this.setValue(event);\n this.closePanel();\n }\n\n public setValue(event: any | null): void {\n if (event && event.date) {\n this.dispatchOnChange(event.date);\n }\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n public clearValue() {\n this.dispatchOnChange(null);\n }\n\n public get hasValue() {\n return !Helpers.isEmpty(this.value);\n }\n\n public scrollToIndex(index: number) {\n const element = this.overlay.overlayRef.overlayElement;\n const list = element.querySelector('.increments');\n const items = list.querySelectorAll('novo-list-item');\n const item = items[index];\n if (item) {\n list.scrollTop = (item as HTMLElement).offsetTop;\n }\n }\n\n hourOneFormatRequired(hourInput: string): boolean {\n return hourInput === 'h1' || hourInput === '1h';\n }\n\n protected formatTime(value: string) {\n try {\n const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, this.military, 'time');\n if (!isNaN(dateTimeValue.getUTCDate())) {\n const dt = new Date(dateTimeValue);\n this.dispatchOnChange(dt);\n } else {\n this.dispatchOnChange(null);\n }\n } catch (err) {}\n }\n\n save(): void {\n this.onSave.emit();\n }\n\n cancel(): void {\n this.onCancel.emit();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// Vendor\nimport { IMaskModule } from 'angular-imask';\n// APP\nimport { NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoTimePickerElement } from './TimePicker';\nimport { NovoTimePickerInputElement } from './TimePickerInput';\n\n@NgModule({\n imports: [CommonModule, FormsModule, IMaskModule, NovoOverlayModule, NovoListModule, NovoButtonModule],\n declarations: [NovoTimePickerElement, NovoTimePickerInputElement],\n exports: [NovoTimePickerElement, NovoTimePickerInputElement],\n})\nexport class NovoTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i6.NovoTimePickerElement"],"mappings":"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"}
1
+ {"version":3,"file":"novo-elements-elements-time-picker.mjs","sources":["../../../projects/novo-elements/src/elements/time-picker/TimePicker.ts","../../../projects/novo-elements/src/elements/time-picker/TimePickerInput.ts","../../../projects/novo-elements/src/elements/time-picker/TimePicker.module.ts","../../../projects/novo-elements/src/elements/time-picker/novo-elements-elements-time-picker.ts"],"sourcesContent":["// NG2\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { isValid } from 'date-fns';\n// APP\nimport { NovoLabelService } from 'novo-elements/services';\nimport { DateUtil, Helpers } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst TIME_PICKER_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerElement),\n multi: true,\n};\n\nexport enum TIME_VALUE_FORMATS {\n iso8601 = 'iso8601',\n Date = 'Date',\n}\n\n@Component({\n selector: 'novo-time-picker',\n providers: [TIME_PICKER_VALUE_ACCESSOR],\n template: `\n <!-- <div class=\"digital\" [class.inline]=\"inline\" [class.military]=\"military\" *ngIf=\"inline\">\n <div class=\"digital--inner\">\n <span class=\"digital--clock\" *ngIf=\"analog\">\n <span class=\"hours\" data-automation-id=\"novo-time-picker-hours\">{{ hours }}</span\n >:<span class=\"minutes\" data-automation-id=\"novo-time-picker-minutes\">{{ minutes }}</span>\n </span>\n <div class=\"control-block\" *ngIf=\"!military && analog\">\n <span\n *ngFor=\"let period of MERIDIANS\"\n class=\"digital--period\"\n [class.active]=\"meridian == period\"\n (click)=\"setPeriod($event, period, true)\"\n [attr.data-automation-id]=\"period\"\n >{{ period }}</span\n >\n </div>\n </div>\n </div> -->\n <div class=\"increments\" *ngIf=\"!analog\">\n <novo-list class=\"increments--hours\" direction=\"vertical\" data-automation-id=\"novo-time-picker-hours\">\n <novo-list-item\n class=\"increments--hour\"\n *ngFor=\"let increment of HOURS\"\n (click)=\"setHours($event, increment, true)\"\n [class.active]=\"increment == activeHour\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--minutes\" direction=\"vertical\" data-automation-id=\"novo-time-picker-minutes\">\n <novo-list-item\n class=\"increments--minute\"\n *ngFor=\"let increment of MINUTES\"\n (click)=\"setMinutes($event, increment, true)\"\n [class.active]=\"increment == activeMinute\"\n [attr.data-automation-id]=\"increment\"\n >\n <item-content>{{ increment }}</item-content>\n </novo-list-item>\n </novo-list>\n <novo-list class=\"increments--meridians\" direction=\"vertical\" *ngIf=\"!military\" data-automation-id=\"novo-time-picker-meridians\">\n <novo-list-item\n class=\"increments--meridian\"\n *ngFor=\"let period of MERIDIANS\"\n (click)=\"setPeriod($event, period, true)\"\n [class.active]=\"meridian == period\"\n [attr.data-automation-id]=\"period\"\n >\n <item-content>{{ period }}</item-content>\n </novo-list-item>\n </novo-list>\n </div>\n <div class=\"analog\" *ngIf=\"analog\">\n <div class=\"analog--inner\">\n <div class=\"analog--face\">\n <span class=\"analog--center\"></span>\n <span class=\"analog--hand--hours\" [ngClass]=\"hoursClass\">\n <span class=\"analog--ball\"></span>\n </span>\n <span class=\"analog--hand--minutes\" [ngClass]=\"minutesClass\">\n <span class=\"analog--ball\" [ngClass]=\"{ between: inBetween }\"></span>\n </span>\n </div>\n <div class=\"analog--hours\">\n <span\n *ngFor=\"let hour of HOURS\"\n class=\"analog--hour\"\n [ngClass]=\"{ active: activeHour == hour }\"\n (click)=\"setHours($event, hour, true)\"\n [attr.data-automation-id]=\"hour\"\n >{{ hour }}</span\n >\n </div>\n <div class=\"analog--minutes\">\n <span\n *ngFor=\"let minute of MINUTES\"\n class=\"analog--minute\"\n [ngClass]=\"{ active: activeMinute == minute }\"\n (click)=\"setMinutes($event, minute, true)\"\n [attr.data-automation-id]=\"minute\"\n >{{ minute }}</span\n >\n </div>\n </div>\n </div>\n <div class=\"save-cancel-buttons\" *ngIf=\"hasButtons\">\n <novo-button\n class=\"cancel-button\"\n theme=\"dialogue\"\n size=\"small\"\n (click)=\"cancel()\">{{ labels.cancel }}</novo-button>\n <novo-button\n class=\"save-button\"\n theme=\"primary\"\n color=\"primary\"\n size=\"small\"\n [disabled]=\"saveDisabled\"\n (click)=\"save()\">{{ labels.save }}</novo-button>\n </div>\n `,\n styleUrls: ['./TimePicker.scss'],\n host: {\n class: 'novo-time-picker',\n '[class.military]': 'military',\n },\n})\nexport class NovoTimePickerElement implements ControlValueAccessor, OnInit, OnChanges {\n @Input()\n military: boolean = false;\n @Input()\n analog: boolean = false;\n @Input()\n inline: boolean = false;\n @Input()\n step: number = 1;\n @Input()\n hasButtons: boolean = false;\n @Input()\n saveDisabled: boolean = false;\n\n @Output()\n onSelect: EventEmitter<any> = new EventEmitter();\n @Output()\n onSave: EventEmitter<any> = new EventEmitter();\n @Output()\n onCancel: EventEmitter<any> = new EventEmitter();\n\n hours: number = 12;\n minutes: number = 0;\n value: any = null;\n meridian: string;\n inBetween: boolean;\n hoursClass: string;\n activeHour;\n minutesClass: string;\n activeMinute;\n increments: string[] = [];\n selected: string;\n MERIDIANS: Array<string> = ['am', 'pm'];\n MINUTES: Array<string> = ['05', '10', '15', '20', '25', '30', '35', '40', '45', '50', '55', '00'];\n HOURS: Array<string> = ['1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12'];\n model: any;\n _onChange: Function = () => {};\n _onTouched: Function = () => {};\n\n flatten(arr) {\n return Array.prototype.concat(...arr);\n }\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n protected cdr: ChangeDetectorRef,\n ) {}\n\n ngOnInit() {\n if (this.military) {\n this.HOURS = ['0', ...this.HOURS, '13', '14', '15', '16', '17', '18', '19', '20', '21', '22', '23'];\n }\n if (!this.analog) {\n const mins = Array.from(Array(60 / this.step).keys()).map((i) => i * this.step);\n this.MINUTES = mins.map((m) => `${m}`.padStart(2, '0'));\n }\n this.ngOnChanges();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n if (this.model) {\n this.init(this.model, false);\n } else {\n this.selected = null;\n this.init(new Date(), false);\n }\n }\n\n init(value, dispatch) {\n const _value = new Date(value);\n let hours: string | number = _value.getHours();\n let minutes: string | number = _value.getMinutes();\n\n if (!this.military) {\n this.meridian = hours >= 12 ? 'pm' : 'am';\n hours = hours % 12;\n hours = hours || 12;\n }\n minutes = minutes < 10 ? `0${minutes}` : minutes;\n\n this.setHours(null, hours, dispatch);\n this.setMinutes(null, minutes, dispatch);\n this.checkBetween(minutes);\n }\n\n checkBetween(value) {\n this.inBetween = this.MINUTES.indexOf(String(value)) < 0;\n }\n\n setValue(event, value) {\n Helpers.swallowEvent(event);\n this.selected = value;\n const [time, meridian] = value.split(' ');\n const [hours, minutes] = time.split(':');\n this.hours = hours;\n this.minutes = minutes;\n this.meridian = meridian;\n\n this.dispatchChange();\n }\n\n setHours(event, hours, dispatch) {\n Helpers.swallowEvent(event);\n this.hours = hours;\n this.hoursClass = `hour-${hours}`;\n this.activeHour = hours;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setMinutes(event, minutes, dispatch) {\n Helpers.swallowEvent(event);\n this.minutes = minutes;\n this.minutesClass = `min-${minutes}`;\n this.activeMinute = minutes;\n this.checkBetween(minutes);\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n setPeriod(event, period, dispatch) {\n Helpers.swallowEvent(event);\n this.meridian = period;\n\n if (dispatch) {\n this.dispatchChange();\n }\n }\n\n dispatchChange() {\n let hours = Number(this.hours);\n\n if (!this.military) {\n hours = this.meridian.toLowerCase() === 'pm' ? hours + 12 : hours;\n\n // Special case for 12\n if (this.meridian.toLowerCase() === 'pm' && hours === 24) {\n hours = 12;\n } else if (this.meridian.toLowerCase() === 'am' && hours === 12) {\n hours = 0;\n }\n }\n\n const value = new Date();\n value.setHours(hours);\n value.setMinutes(this.minutes);\n value.setSeconds(0);\n this.value = `${this.hours}:${this.minutes} ${this.meridian}`;\n this.onSelect.next({\n hours,\n minutes: this.minutes,\n meridian: this.meridian,\n date: value,\n text: this.value,\n });\n this._onChange(value);\n }\n\n // ValueAccessor Functions\n writeValue(model: any): void {\n this.model = model;\n if (Helpers.isDate(model)) {\n this.init(model, false);\n // this.dispatchChange();\n }\n if (Helpers.isString(model)) {\n const time = this.military ? model : this.convertTime12to24(model);\n const date = DateUtil.parse(`${DateUtil.format(Date.now(), 'YYYY-MM-DD')}T${time}`);\n if (isValid(date)) {\n this.init(date, false);\n // this.dispatchChange();\n }\n }\n }\n\n registerOnChange(fn: Function): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: Function): void {\n this._onTouched = fn;\n }\n\n convertTime12to24(time12h: string) {\n const pmFormat = this.labels.timeFormatPM.toUpperCase();\n\n const [time, modifier] = time12h.split(' ');\n let [hours, minutes] = time.split(':');\n if (hours === '12') {\n hours = '00';\n }\n if (['PM', pmFormat].includes(modifier)) {\n hours = `${parseInt(hours, 10) + 12}`.padStart(2, '0');\n }\n return `${hours}:${minutes}`;\n }\n\n save(): void {\n this.onSave.emit();\n }\n\n cancel(): void {\n this.onCancel.emit();\n }\n}\n","// NG\nimport {\n ChangeDetectorRef,\n Component,\n ElementRef,\n EventEmitter,\n forwardRef,\n HostBinding,\n Input,\n OnChanges,\n OnInit,\n Output,\n SimpleChanges,\n ViewChild,\n} from '@angular/core';\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\n// App\nimport { NovoOverlayTemplateComponent } from 'novo-elements/elements/common';\nimport { DateFormatService, NovoLabelService } from 'novo-elements/services';\nimport { Helpers, Key } from 'novo-elements/utils';\n\n// Value accessor for the component (supports ngModel)\nconst DATE_VALUE_ACCESSOR = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => NovoTimePickerInputElement),\n multi: true,\n};\n\n@Component({\n selector: 'novo-time-picker-input',\n providers: [DATE_VALUE_ACCESSOR],\n template: `\n <input\n type=\"text\"\n [name]=\"name\"\n [(ngModel)]=\"value\"\n [imask]=\"maskOptions\"\n [unmask]=\"'typed'\"\n [placeholder]=\"placeholder\"\n (change)=\"_handleChange($event)\"\n (focus)=\"_handleFocus($event)\"\n (keydown)=\"_handleKeydown($event)\"\n (input)=\"_handleInput($event)\"\n (blur)=\"_handleBlur($event)\"\n #input\n data-automation-id=\"time-input\"\n [disabled]=\"disabled\"\n />\n <i *ngIf=\"!hasValue\" (click)=\"openPanel()\" class=\"bhi-clock\"></i> <i *ngIf=\"hasValue\" (click)=\"clearValue()\" class=\"bhi-times\"></i>\n <novo-overlay-template [parent]=\"overlayElement\" position=\"above-below\">\n <novo-time-picker\n [ngClass]=\"{ 'hasButtons': hasButtons }\"\n [hasButtons]=\"hasButtons\"\n inline=\"true\"\n [analog]=\"analog\"\n (onSelect)=\"setValue($event)\"\n [ngModel]=\"value\"\n [military]=\"military\"\n [saveDisabled]=\"saveDisabled\"\n (onCancel)=\"cancel()\"\n (onSave)=\"save()\"\n ></novo-time-picker>\n </novo-overlay-template>\n `,\n styleUrls: ['./TimePickerInput.scss'],\n})\nexport class NovoTimePickerInputElement implements OnInit, OnChanges, ControlValueAccessor {\n public value: any;\n\n /** View -> model callback called when value changes */\n _onChange: (value: any) => void = () => {};\n /** View -> model callback called when autocomplete has been touched */\n _onTouched = () => {};\n\n @Input()\n name: string;\n @Input()\n placeholder: string;\n @Input()\n military: boolean = false;\n @Input()\n maskOptions: any;\n @HostBinding('class.disabled')\n @Input()\n disabled: boolean = false;\n @Input()\n hasButtons: boolean = false;\n @Input()\n saveDisabled: boolean = false;\n @Input()\n overlayOnElement: ElementRef;\n\n /**\n * @deprecated don't use\n */\n @Input()\n analog: boolean = false;\n\n @Output()\n blurEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n focusEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n changeEvent: EventEmitter<FocusEvent> = new EventEmitter<FocusEvent>();\n @Output()\n onSave: EventEmitter<any> = new EventEmitter();\n @Output()\n onCancel: EventEmitter<any> = new EventEmitter();\n\n /** Element for the panel containing the autocomplete options. */\n @ViewChild(NovoOverlayTemplateComponent)\n overlay: NovoOverlayTemplateComponent;\n @ViewChild('input')\n input: HTMLInputElement;\n\n constructor(\n public element: ElementRef,\n public labels: NovoLabelService,\n public dateFormatService: DateFormatService,\n protected _changeDetectorRef: ChangeDetectorRef,\n ) {}\n\n ngOnInit(): void {\n this.initFormatOptions();\n }\n\n ngOnChanges(changes?: SimpleChanges) {\n // set icon and styling\n if (Object.keys(changes).some((key) => ['military', 'maskOptions'].includes(key))) {\n this.initFormatOptions();\n }\n }\n\n initFormatOptions() {\n this.placeholder = this.military ? this.labels.timeFormatPlaceholder24Hour : this.labels.timeFormatPlaceholderAM;\n this.maskOptions = this.dateFormatService.getTimeMask(this.military);\n }\n\n /** BEGIN: Convenient Panel Methods. */\n openPanel(): void {\n if (!this.overlay.panelOpen) {\n this.overlay.openPanel();\n const hour = new Date().getHours();\n Promise.resolve(null).then(() => this.scrollToIndex(hour * 4));\n }\n }\n\n closePanel(): void {\n this.overlay.closePanel();\n }\n\n get panelOpen(): boolean {\n return this.overlay && this.overlay.panelOpen;\n }\n\n get overlayElement(): ElementRef {\n return this.overlayOnElement || this.element;\n }\n\n /** END: Convenient Panel Methods. */\n\n _handleKeydown(event: KeyboardEvent): void {\n const input = event.target as HTMLInputElement;\n const hour: string = input.value.slice(0, 2);\n if ((event.key === Key.Escape || event.key === Key.Enter) && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n if (this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n }\n } else if (event.key === Key.Tab && input.selectionStart <= 2 && this.hourOneFormatRequired(hour)) {\n event.preventDefault();\n event.stopPropagation();\n event.stopImmediatePropagation();\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(3, 3);\n } else if (event.key === Key.Backspace && input.selectionStart === input.value.length) {\n input.value = `${input.value.slice(0, 5)} xx`;\n } else if (event.key === Key.Tab && this.panelOpen) {\n this.closePanel();\n event.stopPropagation();\n event.stopImmediatePropagation();\n } else if (event.key === Key.ArrowRight && input.selectionStart >= 2 && this.hourOneFormatRequired(hour)) {\n input.value = `01:${input.value.slice(3, input.value.length)}`;\n input.setSelectionRange(2, 2);\n }\n }\n\n _handleInput(event: KeyboardEvent): void {\n if (document.activeElement === event.target) {\n const text = (event.target as HTMLInputElement).value;\n const hour = text.slice(0, 2);\n this.openPanel();\n if ((this.military && Number(text[0]) > 2) || (!this.military && Number(text[0]) > 1)) {\n event.preventDefault();\n (event.target as HTMLInputElement).value = `0${text}`;\n }\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} ${timePeriod}`;\n }\n if ((event.target as HTMLInputElement).selectionStart >= 3 && this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${(event.target as HTMLInputElement).value.slice(\n 3,\n (event.target as HTMLInputElement).value.length,\n )}`;\n }\n }\n }\n }\n\n _handleChange(event: Event): void {\n const text = (event?.target as HTMLInputElement)?.value;\n this.formatTime(text);\n this.changeEvent.emit();\n }\n\n _handleBlur(event: FocusEvent): void {\n const text = (event.target as HTMLInputElement).value;\n const hour: string = text.slice(0, 2);\n if (!this.military) {\n const test = text.substr(5, 4).replace(/x/g, '').trim().slice(0, 2);\n const timePeriod = this.maskOptions.blocks.aa.enum.find((it) => it[0] === test[0]);\n if (this.hourOneFormatRequired(hour)) {\n (event.target as HTMLInputElement).value = `01:${text.slice(3, text.length)}`;\n }\n if (!timePeriod) {\n (event.target as HTMLInputElement).value = `${(event.target as HTMLInputElement).value.slice(0, 5)} xx`;\n }\n }\n }\n\n _handleFocus(event: FocusEvent): void {\n this.openPanel();\n this.focusEvent.emit(event);\n }\n\n writeValue(value: any): void {\n Promise.resolve(null).then(() => this._setTriggerValue(value));\n }\n\n registerOnChange(fn: (value: any) => {}): void {\n this._onChange = fn;\n }\n\n registerOnTouched(fn: () => {}) {\n this._onTouched = fn;\n }\n\n setDisabledState(disabled: boolean): void {\n this.disabled = disabled;\n }\n\n public dispatchOnChange(newValue?: any, skip: boolean = false) {\n if (newValue !== this.value) {\n this._onChange(newValue);\n this.changeEvent.emit(newValue);\n !skip && this.writeValue(newValue);\n }\n }\n\n private _setTriggerValue(value: any): void {\n if (value instanceof Date && this.value instanceof Date) {\n value = new Date(value.setFullYear(this.value.getFullYear(), this.value.getMonth(), this.value.getDate()));\n }\n this.value = value;\n this._changeDetectorRef.markForCheck();\n }\n\n public setValueAndClose(event: any | null): void {\n this.setValue(event);\n this.closePanel();\n }\n\n public setValue(event: any | null): void {\n if (event && event.date) {\n this.dispatchOnChange(event.date);\n }\n }\n\n /**\n * Clear any previous selected option and emit a selection change event for this option\n */\n public clearValue() {\n this.dispatchOnChange(null);\n }\n\n public get hasValue() {\n return !Helpers.isEmpty(this.value);\n }\n\n public scrollToIndex(index: number) {\n const element = this.overlay.overlayRef.overlayElement;\n const list = element.querySelector('.increments');\n const items = list.querySelectorAll('novo-list-item');\n const item = items[index];\n if (item) {\n list.scrollTop = (item as HTMLElement).offsetTop;\n }\n }\n\n hourOneFormatRequired(hourInput: string): boolean {\n return hourInput === 'h1' || hourInput === '1h';\n }\n\n protected formatTime(value: string) {\n try {\n const [dateTimeValue, formatted] = this.dateFormatService.parseString(value, this.military, 'time');\n if (!isNaN(dateTimeValue.getUTCDate())) {\n const dt = new Date(dateTimeValue);\n this.dispatchOnChange(dt);\n } else {\n this.dispatchOnChange(null);\n }\n } catch (err) {}\n }\n\n save(): void {\n this.onSave.emit();\n }\n\n cancel(): void {\n this.onCancel.emit();\n }\n}\n","// NG2\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n// Vendor\nimport { IMaskModule } from 'angular-imask';\n// APP\nimport { NovoOverlayModule } from 'novo-elements/elements/common';\nimport { NovoListModule } from 'novo-elements/elements/list';\nimport { NovoButtonModule } from 'novo-elements/elements/button';\nimport { NovoTimePickerElement } from './TimePicker';\nimport { NovoTimePickerInputElement } from './TimePickerInput';\n\n@NgModule({\n imports: [CommonModule, FormsModule, IMaskModule, NovoOverlayModule, NovoListModule, NovoButtonModule],\n declarations: [NovoTimePickerElement, NovoTimePickerInputElement],\n exports: [NovoTimePickerElement, NovoTimePickerInputElement],\n})\nexport class NovoTimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i3","i4","i6.NovoTimePickerElement"],"mappings":"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"}