@fundamental-ngx/core 0.58.2-rc.0 → 0.58.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.
- package/fesm2022/fundamental-ngx-core-action-bar.mjs +26 -26
- package/fesm2022/fundamental-ngx-core-action-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-action-sheet.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-avatar-group-legacy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs +34 -34
- package/fesm2022/fundamental-ngx-core-avatar-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-avatar.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-avatar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-bar.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-bar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-breadcrumb.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-busy-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-button.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-calendar.mjs +40 -40
- package/fesm2022/fundamental-ngx-core-calendar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-card.mjs +130 -126
- package/fesm2022/fundamental-ngx-core-card.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-carousel.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-carousel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-checkbox.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-checkbox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-combobox.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-content-density.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-content-density.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-date-picker.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-date-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-datetime-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-datetime.mjs +30 -30
- package/fesm2022/fundamental-ngx-core-datetime.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dialog.mjs +64 -64
- package/fesm2022/fundamental-ngx-core-dialog.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-dynamic-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-dynamic-side-content.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-facets.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-facets.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-input.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-feed-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-feed-list-item.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs +16 -16
- package/fesm2022/fundamental-ngx-core-file-uploader.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-fixed-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-flexible-column-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-form.mjs +70 -70
- package/fesm2022/fundamental-ngx-core-form.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-formatted-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-generic-tag.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-grid-list.mjs +47 -47
- package/fesm2022/fundamental-ngx-core-grid-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-icon.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-icon.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-illustrated-message.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs +10 -8
- package/fesm2022/fundamental-ngx-core-infinite-scroll.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-info-label.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-info-label.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-inline-help.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-inline-help.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-input-group.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-input-group.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-layout-grid.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-layout-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-link.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-link.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-list.mjs +80 -80
- package/fesm2022/fundamental-ngx-core-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-menu.mjs +58 -56
- package/fesm2022/fundamental-ngx-core-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-box.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-message-box.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-page.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-message-page.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-strip.mjs +25 -25
- package/fesm2022/fundamental-ngx-core-message-strip.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-message-toast.mjs +17 -17
- package/fesm2022/fundamental-ngx-core-message-toast.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-micro-process-flow.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-mobile-mode.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs +22 -22
- package/fesm2022/fundamental-ngx-core-multi-combobox.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-multi-input.mjs +15 -15
- package/fesm2022/fundamental-ngx-core-multi-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-nested-list.mjs +40 -40
- package/fesm2022/fundamental-ngx-core-nested-list.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-notification.mjs +88 -88
- package/fesm2022/fundamental-ngx-core-notification.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-attribute.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-object-identifier.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-marker.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-marker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-number.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-number.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-object-status.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-object-status.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs +31 -31
- package/fesm2022/fundamental-ngx-core-overflow-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-pagination.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-pagination.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-panel.mjs +19 -19
- package/fesm2022/fundamental-ngx-core-panel.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-popover.mjs +42 -42
- package/fesm2022/fundamental-ngx-core-popover.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-product-switch.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-product-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-progress-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-quick-view.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-quick-view.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-radio.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-radio.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-rating-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-resizable-card-layout.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-scroll-spy.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-scrollbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-segmented-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-select.mjs +20 -20
- package/fesm2022/fundamental-ngx-core-select.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-settings.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-settings.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shared.mjs +3 -3
- package/fesm2022/fundamental-ngx-core-shared.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-shellbar.mjs +88 -75
- package/fesm2022/fundamental-ngx-core-shellbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-side-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-skeleton.mjs +12 -10
- package/fesm2022/fundamental-ngx-core-skeleton.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-slider.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-slider.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-split-button.mjs +10 -10
- package/fesm2022/fundamental-ngx-core-split-button.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-status-indicator.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-step-input.mjs +13 -9
- package/fesm2022/fundamental-ngx-core-step-input.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-switch.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-switch.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-table.mjs +49 -49
- package/fesm2022/fundamental-ngx-core-table.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tabs.mjs +52 -52
- package/fesm2022/fundamental-ngx-core-tabs.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tests.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-text.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-text.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-theming.mjs +7 -7
- package/fesm2022/fundamental-ngx-core-theming.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tile.mjs +94 -94
- package/fesm2022/fundamental-ngx-core-tile.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time-picker.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-time-picker.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-time.mjs +11 -11
- package/fesm2022/fundamental-ngx-core-time.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-timeline.mjs +43 -43
- package/fesm2022/fundamental-ngx-core-timeline.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-title.mjs +8 -8
- package/fesm2022/fundamental-ngx-core-title.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-token.mjs +19 -15
- package/fesm2022/fundamental-ngx-core-token.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-toolbar.mjs +47 -47
- package/fesm2022/fundamental-ngx-core-toolbar.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-tree.mjs +32 -32
- package/fesm2022/fundamental-ngx-core-tree.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs +37 -37
- package/fesm2022/fundamental-ngx-core-upload-collection.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-user-menu.mjs +64 -64
- package/fesm2022/fundamental-ngx-core-user-menu.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs +13 -13
- package/fesm2022/fundamental-ngx-core-vertical-navigation.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core-wizard.mjs +28 -28
- package/fesm2022/fundamental-ngx-core-wizard.mjs.map +1 -1
- package/fesm2022/fundamental-ngx-core.mjs +4 -4
- package/fesm2022/fundamental-ngx-core.mjs.map +1 -1
- package/package.json +113 -113
- package/{types/fundamental-ngx-core-shellbar.d.ts → shellbar/index.d.ts} +21 -13
- package/{types/fundamental-ngx-core-toolbar.d.ts → toolbar/index.d.ts} +7 -8
- /package/{types/fundamental-ngx-core-action-bar.d.ts → action-bar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-action-sheet.d.ts → action-sheet/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar.d.ts → avatar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar-group.d.ts → avatar-group/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-avatar-group-legacy.d.ts → avatar-group-legacy/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-bar.d.ts → bar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-breadcrumb.d.ts → breadcrumb/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-busy-indicator.d.ts → busy-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-button.d.ts → button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-calendar.d.ts → calendar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-card.d.ts → card/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-carousel.d.ts → carousel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-checkbox.d.ts → checkbox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-combobox.d.ts → combobox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-content-density.d.ts → content-density/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-date-picker.d.ts → date-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-datetime.d.ts → datetime/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-datetime-picker.d.ts → datetime-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dialog.d.ts → dialog/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dynamic-page.d.ts → dynamic-page/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-dynamic-side-content.d.ts → dynamic-side-content/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-facets.d.ts → facets/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-feed-input.d.ts → feed-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-feed-list-item.d.ts → feed-list-item/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-file-uploader.d.ts → file-uploader/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-fixed-card-layout.d.ts → fixed-card-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-flexible-column-layout.d.ts → flexible-column-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-form.d.ts → form/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-formatted-text.d.ts → formatted-text/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-generic-tag.d.ts → generic-tag/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-grid-list.d.ts → grid-list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-icon.d.ts → icon/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-illustrated-message.d.ts → illustrated-message/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core.d.ts → index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-infinite-scroll.d.ts → infinite-scroll/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-info-label.d.ts → info-label/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-inline-help.d.ts → inline-help/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-input-group.d.ts → input-group/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-layout-grid.d.ts → layout-grid/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-layout-panel.d.ts → layout-panel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-link.d.ts → link/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-list.d.ts → list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-menu.d.ts → menu/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-box.d.ts → message-box/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-page.d.ts → message-page/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-strip.d.ts → message-strip/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-message-toast.d.ts → message-toast/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-micro-process-flow.d.ts → micro-process-flow/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-mobile-mode.d.ts → mobile-mode/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-multi-combobox.d.ts → multi-combobox/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-multi-input.d.ts → multi-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-nested-list.d.ts → nested-list/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-notification.d.ts → notification/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-attribute.d.ts → object-attribute/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-identifier.d.ts → object-identifier/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-marker.d.ts → object-marker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-number.d.ts → object-number/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-object-status.d.ts → object-status/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-overflow-layout.d.ts → overflow-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-pagination.d.ts → pagination/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-panel.d.ts → panel/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-popover.d.ts → popover/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-product-switch.d.ts → product-switch/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-progress-indicator.d.ts → progress-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-quick-view.d.ts → quick-view/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-radio.d.ts → radio/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-rating-indicator.d.ts → rating-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-resizable-card-layout.d.ts → resizable-card-layout/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-scroll-spy.d.ts → scroll-spy/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-scrollbar.d.ts → scrollbar/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-segmented-button.d.ts → segmented-button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-select.d.ts → select/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-settings.d.ts → settings/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-shared.d.ts → shared/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-side-navigation.d.ts → side-navigation/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-skeleton.d.ts → skeleton/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-slider.d.ts → slider/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-split-button.d.ts → split-button/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-status-indicator.d.ts → status-indicator/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-step-input.d.ts → step-input/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-switch.d.ts → switch/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-table.d.ts → table/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tabs.d.ts → tabs/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tests.d.ts → tests/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-text.d.ts → text/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-theming.d.ts → theming/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tile.d.ts → tile/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-time.d.ts → time/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-time-picker.d.ts → time-picker/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-timeline.d.ts → timeline/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-title.d.ts → title/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-token.d.ts → token/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-tree.d.ts → tree/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-upload-collection.d.ts → upload-collection/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-user-menu.d.ts → user-menu/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-vertical-navigation.d.ts → vertical-navigation/index.d.ts} +0 -0
- /package/{types/fundamental-ngx-core-wizard.d.ts → wizard/index.d.ts} +0 -0
|
@@ -387,8 +387,8 @@ class TimePickerComponent {
|
|
|
387
387
|
this._popoverFormMessage.message = this._formMessageTemplate;
|
|
388
388
|
this._popoverFormMessage.triggers = this._messageTriggers;
|
|
389
389
|
}
|
|
390
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
391
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "
|
|
390
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatetimeAdapter, optional: true }, { token: DATE_TIME_FORMATS, optional: true }, { token: i2.PopoverFormMessageService }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
391
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "20.1.4", type: TimePickerComponent, isStandalone: true, selector: "fd-time-picker", inputs: { time: { classPropertyName: "time", publicName: "time", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: "inputId", publicName: "inputId", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: "disabled", publicName: "disabled", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: "required", publicName: "required", isSignal: false, isRequired: false, transformFunction: null }, spinnerButtons: { classPropertyName: "spinnerButtons", publicName: "spinnerButtons", isSignal: false, isRequired: false, transformFunction: null }, meridian: { classPropertyName: "meridian", publicName: "meridian", isSignal: false, isRequired: false, transformFunction: null }, displaySeconds: { classPropertyName: "displaySeconds", publicName: "displaySeconds", isSignal: false, isRequired: false, transformFunction: null }, displayMinutes: { classPropertyName: "displayMinutes", publicName: "displayMinutes", isSignal: false, isRequired: false, transformFunction: null }, displayHours: { classPropertyName: "displayHours", publicName: "displayHours", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: "placeholder", publicName: "placeholder", isSignal: false, isRequired: false, transformFunction: null }, timePickerInputLabel: { classPropertyName: "timePickerInputLabel", publicName: "timePickerInputLabel", isSignal: false, isRequired: false, transformFunction: null }, timePickerButtonLabel: { classPropertyName: "timePickerButtonLabel", publicName: "timePickerButtonLabel", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: "ariaLabelledBy", publicName: "ariaLabelledBy", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: "allowNull", publicName: "allowNull", isSignal: false, isRequired: false, transformFunction: null }, tablet: { classPropertyName: "tablet", publicName: "tablet", isSignal: false, isRequired: false, transformFunction: null }, message: { classPropertyName: "message", publicName: "message", isSignal: false, isRequired: false, transformFunction: null }, messageType: { classPropertyName: "messageType", publicName: "messageType", isSignal: false, isRequired: false, transformFunction: null }, messageTriggers: { classPropertyName: "messageTriggers", publicName: "messageTriggers", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: "placement", publicName: "placement", isSignal: false, isRequired: false, transformFunction: null }, useValidation: { classPropertyName: "useValidation", publicName: "useValidation", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: "state", publicName: "state", isSignal: false, isRequired: false, transformFunction: null }, buttonFocusable: { classPropertyName: "buttonFocusable", publicName: "buttonFocusable", isSignal: false, isRequired: false, transformFunction: null }, keepTwoDigitsTime: { classPropertyName: "keepTwoDigitsTime", publicName: "keepTwoDigitsTime", isSignal: false, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: "displayFormat", publicName: "displayFormat", isSignal: false, isRequired: false, transformFunction: null }, parseFormat: { classPropertyName: "parseFormat", publicName: "parseFormat", isSignal: false, isRequired: false, transformFunction: null }, valueStateSuccessMessage: { classPropertyName: "valueStateSuccessMessage", publicName: "valueStateSuccessMessage", isSignal: false, isRequired: false, transformFunction: null }, valueStateInformationMessage: { classPropertyName: "valueStateInformationMessage", publicName: "valueStateInformationMessage", isSignal: false, isRequired: false, transformFunction: null }, valueStateWarningMessage: { classPropertyName: "valueStateWarningMessage", publicName: "valueStateWarningMessage", isSignal: false, isRequired: false, transformFunction: null }, valueStateErrorMessage: { classPropertyName: "valueStateErrorMessage", publicName: "valueStateErrorMessage", isSignal: false, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: "minuteStep", publicName: "minuteStep", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: "isOpenChange" }, host: { listeners: { "focusout": "_focusOut($event)", "blur": "onTouched()" }, classAttribute: "fd-time-picker fd-timepicker-custom" }, providers: [
|
|
392
392
|
{
|
|
393
393
|
provide: NG_VALUE_ACCESSOR,
|
|
394
394
|
useExisting: forwardRef(() => TimePickerComponent),
|
|
@@ -404,7 +404,7 @@ class TimePickerComponent {
|
|
|
404
404
|
registerFormItemControl(TimePickerComponent)
|
|
405
405
|
], viewQueries: [{ propertyName: "child", first: true, predicate: TimeComponent, descendants: true }, { propertyName: "_inputGroupElement", first: true, predicate: ["inputGroupComponent"], descendants: true, read: ElementRef }, { propertyName: "_inputElement", first: true, predicate: InputGroupInputDirective, descendants: true, read: ElementRef }, { propertyName: "_formMessageTemplate", first: true, predicate: ["formMessageTemplate"], descendants: true }], usesOnChanges: true, ngImport: i0, template: "<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue | translateDayPeriod\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <ng-template [ngTemplateOutlet]=\"formMessageTemplate\"></ng-template>\n <ng-content></ng-content>\n @if (isOpen) {\n <fd-time\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [minuteStep]=\"minuteStep()\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n }\n </fd-popover-body>\n</fd-popover>\n<div [style.display]=\"'none'\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n @switch (state) {\n @case ('success') {\n {{ valueStateSuccessMessage }}\n }\n @case ('information') {\n {{ valueStateInformationMessage }}\n }\n @case ('warning') {\n {{ valueStateWarningMessage }}\n }\n @case ('error') {\n {{ valueStateErrorMessage }}\n }\n }\n {{ _message }}\n </div>\n</div>\n<ng-template #formMessageTemplate>\n @if (_message) {\n <fd-form-message [embedded]=\"true\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n }\n</ng-template>\n", styles: [".fd-timepicker-custom{display:inline-block}.fd-timepicker-custom fd-popover{display:block}.fd-timepicker-custom fd-time{width:auto}\n"], dependencies: [{ kind: "component", type: PopoverComponent, selector: "fd-popover", inputs: ["title", "trigger", "fixedPosition", "id", "mobile", "mobileConfig", "preventSpaceKeyScroll"] }, { kind: "component", type: PopoverControlComponent, selector: "fd-popover-control, [fdPopoverControl]" }, { kind: "component", type: InputGroupComponent, selector: "fd-input-group", inputs: ["placement", "required", "inline", "addOnText", "buttonFocusable", "type", "glyph", "glyphFont", "button", "isControl", "showFocus", "isExpanded", "glyphAriaLabel", "addonButtonAriaHidden", "iconTitle", "ariaLabelledBy", "ariaLabel"], outputs: ["addOnButtonClicked", "search"] }, { kind: "directive", type: InputGroupInputDirective, selector: "[fdInputGroupInput], [fd-input-group-input]", inputs: ["class"] }, { kind: "component", type: PopoverBodyComponent, selector: "fd-popover-body", inputs: ["minWidth", "maxWidth", "minHeight", "maxHeight"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "component", type: FormMessageComponent, selector: "fd-form-message", inputs: ["type", "static", "embedded", "class"] }, { kind: "component", type: TimeComponent, selector: "fd-time", inputs: ["meridian", "validate", "keepTwoDigits", "disabled", "displaySeconds", "displayMinutes", "displayHours", "tablet", "elementsAtOnce", "time", "spinnerButtons", "minuteStep"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i3.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i3.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "pipe", type: FdTranslatePipe, name: "fdTranslate" }, { kind: "pipe", type: TranslateDayPeriodPipe, name: "translateDayPeriod" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
406
406
|
}
|
|
407
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
407
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimePickerComponent, decorators: [{
|
|
408
408
|
type: Component,
|
|
409
409
|
args: [{ selector: 'fd-time-picker', host: {
|
|
410
410
|
'(focusout)': '_focusOut($event)',
|
|
@@ -516,18 +516,18 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "21.1.0", ngImpor
|
|
|
516
516
|
}], _formMessageTemplate: [{
|
|
517
517
|
type: ViewChild,
|
|
518
518
|
args: ['formMessageTemplate']
|
|
519
|
-
}]
|
|
519
|
+
}] } });
|
|
520
520
|
|
|
521
521
|
/**
|
|
522
522
|
* @deprecated
|
|
523
523
|
* Use direct import of `TimePickerComponent`
|
|
524
524
|
*/
|
|
525
525
|
class TimePickerModule {
|
|
526
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "
|
|
527
|
-
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "
|
|
528
|
-
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "
|
|
526
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }
|
|
527
|
+
static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "20.1.4", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent], exports: [TimePickerComponent] }); }
|
|
528
|
+
static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent] }); }
|
|
529
529
|
}
|
|
530
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
530
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "20.1.4", ngImport: i0, type: TimePickerModule, decorators: [{
|
|
531
531
|
type: NgModule,
|
|
532
532
|
args: [{
|
|
533
533
|
imports: [TimePickerComponent],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"fundamental-ngx-core-time-picker.mjs","sources":["../../../../libs/core/time-picker/errors.ts","../../../../libs/core/time-picker/time-picker.component.ts","../../../../libs/core/time-picker/time-picker.component.html","../../../../libs/core/time-picker/time-picker.module.ts","../../../../libs/core/time-picker/fundamental-ngx-core-time-picker.ts"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider: string): Error {\n return Error(\n `FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`\n );\n}\n","import {\n AfterViewInit,\n ChangeDetectionStrategy,\n ChangeDetectorRef,\n Component,\n DestroyRef,\n ElementRef,\n EventEmitter,\n forwardRef,\n inject,\n Inject,\n input,\n Input,\n OnChanges,\n OnDestroy,\n OnInit,\n Optional,\n Output,\n SimpleChanges,\n TemplateRef,\n ViewChild,\n ViewEncapsulation\n} from '@angular/core';\nimport { ControlValueAccessor, FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR, Validator } from '@angular/forms';\nimport { Subscription } from 'rxjs';\n\nimport {\n DATE_TIME_FORMATS,\n DatetimeAdapter,\n DateTimeFormats,\n TranslateDayPeriodPipe\n} from '@fundamental-ngx/core/datetime';\nimport {\n FormItemControl,\n FormMessageComponent,\n PopoverFormMessageService,\n registerFormItemControl\n} from '@fundamental-ngx/core/form';\nimport { InputGroupComponent, InputGroupInputDirective } from '@fundamental-ngx/core/input-group';\nimport {\n PopoverBodyComponent,\n PopoverComponent,\n PopoverControlComponent,\n PopoverService\n} from '@fundamental-ngx/core/popover';\nimport { Placement, ValueStateAriaMessageService } from '@fundamental-ngx/core/shared';\nimport { TimeComponent } from '@fundamental-ngx/core/time';\n\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FormStates } from '@fundamental-ngx/cdk/forms';\nimport { Nullable } from '@fundamental-ngx/cdk/utils';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { createMissingDateImplementationError } from './errors';\n\nlet timePickerCounter = 0;\n\n@Component({\n selector: 'fd-time-picker',\n templateUrl: './time-picker.component.html',\n host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()',\n class: 'fd-time-picker fd-timepicker-custom'\n },\n providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n PopoverFormMessageService,\n PopoverService,\n registerFormItemControl(TimePickerComponent)\n ],\n styleUrl: './time-picker.component.scss',\n encapsulation: ViewEncapsulation.None,\n changeDetection: ChangeDetectionStrategy.OnPush,\n imports: [\n PopoverComponent,\n PopoverControlComponent,\n InputGroupComponent,\n InputGroupInputDirective,\n PopoverBodyComponent,\n NgTemplateOutlet,\n FormMessageComponent,\n TimeComponent,\n FormsModule,\n FdTranslatePipe,\n TranslateDayPeriodPipe\n ]\n})\nexport class TimePickerComponent<D>\n implements ControlValueAccessor, OnInit, AfterViewInit, OnChanges, OnDestroy, Validator, FormItemControl\n{\n /**\n * Date time object representation\n */\n @Input()\n time: Nullable<D>;\n\n /** Id attribute for input element inside TimePicker component */\n @Input()\n inputId: string;\n\n /** Disables the component. */\n @Input()\n disabled: boolean;\n\n /** If it is mandatory field */\n @Input()\n required = false;\n\n /** Whether to show spinner buttons */\n @Input()\n spinnerButtons = true;\n\n /**\n * When set to false, uses the 24 hour clock (hours ranging from 0 to 23).\n * Default value based on the current locale format option\n */\n @Input()\n meridian: boolean;\n\n /**\n * When set to false, hides the input for seconds.\n * Default value based on the current locale format option\n * */\n @Input()\n displaySeconds: boolean;\n\n /**\n * When set to false, hides the input for minutes.\n * Default value based on the current locale format option\n * */\n @Input()\n displayMinutes: boolean;\n\n /**\n * When set to false, hides the input for hours.\n * Default value based on the current locale format option\n * */\n @Input()\n displayHours: boolean;\n\n /**\n * Default time picker placeholder which is set dependant on the hours, minutes and seconds.\n * Otherwise It can be set to a default value\n */\n @Input()\n placeholder: string;\n\n /** Aria label for the time picker input. */\n @Input()\n timePickerInputLabel: string;\n\n /** Aria label for the time picker toggle button. */\n @Input()\n timePickerButtonLabel: string;\n\n /** Aria-labelledby for the time picker toggle button. */\n @Input()\n ariaLabelledBy: Nullable<string>;\n\n /** Whether a null input is considered valid(success). */\n @Input()\n allowNull = true;\n\n /** Defines if time component should be used with tablet mode */\n @Input()\n tablet = false;\n\n /** Text displayed in message */\n @Input()\n set message(message: string) {\n this._message = message;\n }\n\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n @Input()\n set messageType(messageType: FormStates) {\n this._messageType = messageType;\n }\n\n /**\n * The trigger events that will open/close the message box.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n @Input()\n set messageTriggers(triggers: string[]) {\n this._messageTriggers = triggers;\n this._popoverFormMessage.triggers = triggers;\n }\n\n /**\n * The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end.\n */\n @Input()\n placement: Placement = 'bottom-start';\n\n /** Whether to validate the time picker input. */\n @Input()\n useValidation = true;\n\n /**\n * The state of the form control - applies css classes.\n * Also this is applied to message.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n @Input()\n set state(state: FormStates) {\n this._state = state;\n }\n\n get state(): FormStates {\n if (this._state == null && this.useValidation && this._isInvalidTimeInput) {\n return 'error';\n }\n return this._state ?? 'default';\n }\n\n /**\n * Whether AddOn Button should be focusable\n * @default true\n */\n @Input()\n buttonFocusable = true;\n\n /**\n * When set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n @Input()\n keepTwoDigitsTime = false;\n\n /**\n * Display format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n displayFormat: unknown;\n\n /**\n * Parse format option to customize time format in input control.\n * Must be a format option that is understandable by DatetimeAdapter.\n */\n @Input()\n parseFormat: unknown;\n\n /**\n * Value state \"success\" aria message.\n */\n @Input()\n valueStateSuccessMessage: string = inject(ValueStateAriaMessageService).success;\n\n /**\n * Value state \"information\" aria message.\n */\n @Input()\n valueStateInformationMessage: string = inject(ValueStateAriaMessageService).information;\n\n /**\n * Value state \"warning\" aria message.\n */\n @Input()\n valueStateWarningMessage: string = inject(ValueStateAriaMessageService).warning;\n\n /**\n * Value state \"error\" aria message.\n */\n @Input()\n valueStateErrorMessage: string = inject(ValueStateAriaMessageService).error;\n\n /** Event emitted when the state of the isOpen property changes. */\n @Output()\n isOpenChange = new EventEmitter<boolean>();\n\n /** @hidden */\n @ViewChild(TimeComponent)\n child: TimeComponent<D>;\n\n /** @hidden */\n @ViewChild('inputGroupComponent', { read: ElementRef })\n _inputGroupElement: ElementRef;\n\n /** @hidden */\n @ViewChild(InputGroupInputDirective, { read: ElementRef })\n _inputElement: ElementRef;\n\n /** @hidden */\n @ViewChild('formMessageTemplate')\n private readonly _formMessageTemplate: TemplateRef<any>;\n\n /**\n * The interval between selectable minutes (e.g., 1 for every minute, 5 for 5-minute intervals, 15 for 15-minute intervals).\n * Defaults to 1 (every minute).\n */\n readonly minuteStep = input<number>(1);\n\n /** @hidden */\n _message: string | null = null;\n\n /** @hidden */\n _messageType: FormStates | null = null;\n\n /** @hidden */\n _messageTriggers: string[] = ['focusin', 'focusout'];\n\n /**\n * @hidden\n * Whether the input time is valid(success). Internal use.\n */\n _isInvalidTimeInput = false;\n\n /**\n * @hidden\n * Indicates when popover is opened\n */\n isOpen: boolean;\n\n /** @hidden */\n _meridian: boolean;\n\n /** @hidden */\n _displaySeconds: boolean;\n\n /** @hidden */\n _displayMinutes: boolean;\n\n /** @hidden */\n _displayHours: boolean;\n\n /**\n * @hidden\n * Input field value\n */\n _inputTimeValue = '';\n\n /** @hidden */\n _formValueStateMessageId = `fd-time-picker-form-message-${timePickerCounter++}`;\n\n /** @hidden */\n private _state: FormStates | null = null;\n\n /** @hidden */\n private readonly _destroyRef = inject(DestroyRef);\n\n /** @hidden */\n private _subscriptions = new Subscription();\n\n /** @hidden */\n get _placeholder(): string {\n return this.placeholder || this._getPlaceholder();\n }\n\n /** @hidden */\n constructor(\n private _changeDetectorRef: ChangeDetectorRef,\n private _elementRef: ElementRef,\n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n @Optional() private _dateTimeAdapter: DatetimeAdapter<D>,\n @Optional() @Inject(DATE_TIME_FORMATS) private _dateTimeFormats: DateTimeFormats,\n private _popoverFormMessage: PopoverFormMessageService\n ) {\n if (!this._dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n if (!this._dateTimeFormats) {\n throw createMissingDateImplementationError('DATE_TIME_FORMATS');\n }\n }\n\n /** @hidden */\n onChange: (_: Nullable<D>) => void = () => {};\n /** @hidden */\n onTouched: () => void = () => {};\n\n /** @hidden */\n ngOnInit(): void {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n\n this._dateTimeAdapter.localeChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n this._changeDetectorRef.detectChanges();\n });\n }\n\n /** @hidden */\n ngOnChanges(changes: SimpleChanges): void {\n if (\n ['displayHours', 'displayMinutes', 'displaySeconds', 'meridian', 'displayFormat'].some(\n (change) => change in changes\n )\n ) {\n this._calculateTimeOptions();\n }\n if (changes.displayFormat) {\n this._formatTimeInputField();\n }\n }\n\n /** @hidden */\n ngOnDestroy(): void {\n this._subscriptions.unsubscribe();\n }\n\n /** @hidden */\n ngAfterViewInit(): void {\n this.initialiseVariablesInMessageService();\n }\n\n /**\n * @hidden\n * Function that implements Validator Interface, adds validation support for forms\n */\n validate(): { [key: string]: any } | null {\n if (this._isInvalidTimeInput) {\n return {\n timeValidation: {\n valid: false\n }\n };\n }\n\n return null;\n }\n\n /**\n * Returns the current value of the time input.\n */\n getTime(): Nullable<D> {\n return this.time;\n }\n\n /**\n * Returns format options to be used during time formatting.\n */\n getDisplayFormat(): unknown {\n return this.displayFormat || this._dateTimeFormats.display.timeInput;\n }\n\n /**\n * Returns format options to be used during time parsing.\n */\n getParseFormat(): unknown {\n return this.parseFormat || this._dateTimeFormats.parse.timeInput;\n }\n\n /** @hidden */\n _getFormattedTime(time = this.time): string {\n let formattedTime = '';\n\n try {\n if (this.allowNull && time === null) {\n return '';\n }\n formattedTime = this._dateTimeAdapter.format(time!, this.getDisplayFormat());\n } catch {}\n\n return formattedTime;\n }\n\n /**\n * @hidden\n * When the open state is changed, there should be at least one active item, which by default is hour.\n */\n _setIsOpen(isOpen: boolean): void {\n this.isOpen = isOpen;\n this._onOpenStateChanged(isOpen);\n }\n\n /**\n * @hidden\n * Time input field changes handler\n */\n _timeInputChanged(inputValue: string): void {\n inputValue = inputValue.trim();\n\n // check if value has been changed\n if (this._inputTimeValue === inputValue) {\n return;\n }\n\n this._inputTimeValue = inputValue;\n\n if (inputValue === '') {\n this.time = null;\n this._isInvalidTimeInput = !this.allowNull;\n }\n\n if (inputValue !== '') {\n // Regex to detect and rearrange day period in the time string\n const dayPeriodPattern = /\\b(night|morning|afternoon|evening)\\b/g;\n inputValue = inputValue.replace(dayPeriodPattern, '').trim();\n\n this.time = this._dateTimeAdapter.parse(inputValue, this.getParseFormat());\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(this.time!);\n }\n\n this.onChange(this.time);\n\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n _inputGroupClicked($event: MouseEvent): void {\n if (!this.isOpen && !this.disabled) {\n $event.stopPropagation();\n this._setIsOpen(true);\n }\n }\n\n /** @hidden */\n _addOnButtonClicked(): void {\n if (!this.disabled) {\n this._setIsOpen(!this.isOpen);\n }\n }\n\n /** @hidden */\n _popoverClosed(): void {\n this._setIsOpen(false);\n }\n\n /** @hidden */\n _getPlaceholder(): string {\n let retVal = '';\n\n if (this._displayHours) {\n retVal = retVal + 'hh';\n }\n if (this._displayMinutes) {\n retVal = retVal + ':mm';\n }\n if (this._displaySeconds) {\n retVal = retVal + ':ss';\n }\n if (this._meridian) {\n retVal = retVal + ' am/pm';\n }\n\n return retVal;\n }\n\n /** @hidden */\n _timeComponentValueChanged(time: D): void {\n if (this._dateTimeAdapter.dateTimesEqual(time, this.time!)) {\n return;\n }\n this._inputTimeValue = this._getFormattedTime(time);\n this.time = time;\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n this.onChange(time);\n this._changeDetectorRef.detectChanges();\n }\n\n // #region ControlValueAccessor\n\n /** @hidden */\n registerOnChange(fn: (time: Nullable<D>) => void): void {\n this.onChange = fn;\n }\n\n /** @hidden */\n registerOnTouched(fn: any): void {\n this.onTouched = fn;\n }\n\n /** @hidden */\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n\n /** @hidden */\n writeValue(time: D): void {\n if (!time) {\n this.time = null;\n this._inputTimeValue = '';\n this._isInvalidTimeInput = !this.allowNull;\n } else {\n this.time = this._dateTimeAdapter.parse(time, this.getParseFormat());\n this._inputTimeValue = this._getFormattedTime(time);\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n }\n this._changeDetectorRef.markForCheck();\n }\n\n // #endregion ControlValueAccessor\n\n /** @hidden */\n _formatTimeInputField(time = this.time): string {\n return (this._inputTimeValue = this._getFormattedTime(time));\n }\n\n /** @hidden */\n _changeMessageVisibility(): void {\n if (this.isOpen) {\n this._popoverFormMessage.hide();\n } else {\n this._popoverFormMessage.show();\n }\n }\n\n /** @hidden */\n _onOpenStateChanged(isOpen: boolean): void {\n this.isOpenChange.emit(isOpen);\n this._changeMessageVisibility();\n if (isOpen) {\n this._changeDetectorRef.detectChanges();\n this.child.focusActiveColumn();\n }\n // focus input control every time popup is closed\n if (!isOpen && this._inputElement) {\n this._inputElement.nativeElement.focus();\n }\n }\n\n /** @hidden */\n protected _focusOut(event: FocusEvent): void {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n\n /** @hidden */\n private _calculateTimeOptions(): void {\n const format = this.getDisplayFormat();\n\n // default meridian option based on format option\n this._meridian =\n this.meridian != null ? this.meridian : this._dateTimeAdapter.isTimeFormatIncludesDayPeriod(format);\n\n // default seconds option based on format option\n this._displaySeconds =\n this.displaySeconds != null\n ? this.displaySeconds\n : this._dateTimeAdapter.isTimeFormatIncludesSeconds(format);\n\n // default minutes option based on format option\n this._displayMinutes =\n this.displayMinutes != null\n ? this.displayMinutes\n : this._dateTimeAdapter.isTimeFormatIncludesMinutes(format);\n\n // default hours option based on format option\n this._displayHours =\n this.displayHours != null ? this.displayHours : this._dateTimeAdapter.isTimeFormatIncludesHours(format);\n }\n\n /** @hidden */\n private initialiseVariablesInMessageService(): void {\n this._popoverFormMessage.init(this._inputGroupElement);\n this._popoverFormMessage.message = this._formMessageTemplate;\n this._popoverFormMessage.triggers = this._messageTriggers;\n }\n}\n","<fd-popover\n [(isOpen)]=\"isOpen\"\n (isOpenChange)=\"_onOpenStateChanged($event)\"\n [triggers]=\"[]\"\n [disabled]=\"disabled\"\n [placement]=\"placement\"\n [closeOnEscapeKey]=\"true\"\n [focusAutoCapture]=\"false\"\n [focusTrapped]=\"true\"\n>\n <fd-popover-control>\n <fd-input-group\n #inputGroupComponent\n (addOnButtonClicked)=\"_addOnButtonClicked()\"\n [button]=\"true\"\n [state]=\"state\"\n [disabled]=\"disabled\"\n [buttonFocusable]=\"buttonFocusable\"\n [isControl]=\"true\"\n [isExpanded]=\"isOpen\"\n [glyphAriaLabel]=\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\"\n glyph=\"fob-watch\"\n >\n <input\n type=\"text\"\n class=\"fd-input\"\n fd-input-group-input\n [value]=\"_inputTimeValue | translateDayPeriod\"\n (focusout)=\"_timeInputChanged($any($event.currentTarget).value)\"\n (keyup.enter)=\"_timeInputChanged($any($event.currentTarget).value)\"\n [disabled]=\"disabled\"\n [attr.id]=\"inputId\"\n [placeholder]=\"_placeholder\"\n [attr.aria-labelledby]=\"ariaLabelledBy\"\n [attr.aria-label]=\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\"\n [attr.aria-describedby]=\"_formValueStateMessageId\"\n [attr.aria-required]=\"required\"\n />\n </fd-input-group>\n </fd-popover-control>\n <fd-popover-body>\n <ng-template [ngTemplateOutlet]=\"formMessageTemplate\"></ng-template>\n <ng-content></ng-content>\n @if (isOpen) {\n <fd-time\n [tablet]=\"tablet\"\n [disabled]=\"disabled\"\n [keepTwoDigits]=\"keepTwoDigitsTime\"\n [ngModel]=\"time\"\n (ngModelChange)=\"_timeComponentValueChanged($event)\"\n [meridian]=\"_meridian\"\n [displayHours]=\"_displayHours\"\n [displayMinutes]=\"_displayMinutes\"\n [displaySeconds]=\"_displaySeconds\"\n [minuteStep]=\"minuteStep()\"\n [spinnerButtons]=\"spinnerButtons\"\n ></fd-time>\n }\n </fd-popover-body>\n</fd-popover>\n<div [style.display]=\"'none'\" aria-hidden=\"true\">\n <div [attr.id]=\"_formValueStateMessageId\" aria-atomic=\"true\" aria-live=\"assertive\">\n @switch (state) {\n @case ('success') {\n {{ valueStateSuccessMessage }}\n }\n @case ('information') {\n {{ valueStateInformationMessage }}\n }\n @case ('warning') {\n {{ valueStateWarningMessage }}\n }\n @case ('error') {\n {{ valueStateErrorMessage }}\n }\n }\n {{ _message }}\n </div>\n</div>\n<ng-template #formMessageTemplate>\n @if (_message) {\n <fd-form-message [embedded]=\"true\" [type]=\"state\">\n {{ _message }}\n </fd-form-message>\n }\n</ng-template>\n","import { NgModule } from '@angular/core';\n\nimport { TimePickerComponent } from './time-picker.component';\n\n/**\n * @deprecated\n * Use direct import of `TimePickerComponent`\n */\n@NgModule({\n imports: [TimePickerComponent],\n exports: [TimePickerComponent]\n})\nexport class TimePickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"fundamental-ngx-core-time-picker.mjs","sources":["../tmp-esm2022/time-picker/errors.js","../tmp-esm2022/time-picker/time-picker.component.js","../tmp-esm2022/time-picker/time-picker.module.js","../tmp-esm2022/time-picker/fundamental-ngx-core-time-picker.js"],"sourcesContent":["/** Creates an error to be thrown when attempting to use an invalid date implementation. */\nexport function createMissingDateImplementationError(provider) {\n return Error(`FdTime: No provider found for ${provider}. You must import one of the following ` +\n `modules at your application root: FdDatetimeModule, or provide a ` +\n `custom implementation.`);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RpbWUtcGlja2VyL2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwyRkFBMkY7QUFDM0YsTUFBTSxVQUFVLG9DQUFvQyxDQUFDLFFBQWdCO0lBQ2pFLE9BQU8sS0FBSyxDQUNSLGlDQUFpQyxRQUFRLHlDQUF5QztRQUM5RSxtRUFBbUU7UUFDbkUsd0JBQXdCLENBQy9CLENBQUM7QUFDTixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIENyZWF0ZXMgYW4gZXJyb3IgdG8gYmUgdGhyb3duIHdoZW4gYXR0ZW1wdGluZyB0byB1c2UgYW4gaW52YWxpZCBkYXRlIGltcGxlbWVudGF0aW9uLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZU1pc3NpbmdEYXRlSW1wbGVtZW50YXRpb25FcnJvcihwcm92aWRlcjogc3RyaW5nKTogRXJyb3Ige1xuICAgIHJldHVybiBFcnJvcihcbiAgICAgICAgYEZkVGltZTogTm8gcHJvdmlkZXIgZm91bmQgZm9yICR7cHJvdmlkZXJ9LiBZb3UgbXVzdCBpbXBvcnQgb25lIG9mIHRoZSBmb2xsb3dpbmcgYCArXG4gICAgICAgICAgICBgbW9kdWxlcyBhdCB5b3VyIGFwcGxpY2F0aW9uIHJvb3Q6IEZkRGF0ZXRpbWVNb2R1bGUsIG9yIHByb3ZpZGUgYSBgICtcbiAgICAgICAgICAgIGBjdXN0b20gaW1wbGVtZW50YXRpb24uYFxuICAgICk7XG59XG4iXX0=","import { ChangeDetectionStrategy, ChangeDetectorRef, Component, DestroyRef, ElementRef, EventEmitter, forwardRef, inject, Inject, input, Input, Optional, Output, TemplateRef, ViewChild, ViewEncapsulation } from '@angular/core';\nimport { FormsModule, NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';\nimport { Subscription } from 'rxjs';\nimport { DATE_TIME_FORMATS, DatetimeAdapter, TranslateDayPeriodPipe } from '@fundamental-ngx/core/datetime';\nimport { FormMessageComponent, PopoverFormMessageService, registerFormItemControl } from '@fundamental-ngx/core/form';\nimport { InputGroupComponent, InputGroupInputDirective } from '@fundamental-ngx/core/input-group';\nimport { PopoverBodyComponent, PopoverComponent, PopoverControlComponent, PopoverService } from '@fundamental-ngx/core/popover';\nimport { ValueStateAriaMessageService } from '@fundamental-ngx/core/shared';\nimport { TimeComponent } from '@fundamental-ngx/core/time';\nimport { NgTemplateOutlet } from '@angular/common';\nimport { takeUntilDestroyed } from '@angular/core/rxjs-interop';\nimport { FdTranslatePipe } from '@fundamental-ngx/i18n';\nimport { createMissingDateImplementationError } from './errors';\nimport * as i0 from \"@angular/core\";\nimport * as i1 from \"@fundamental-ngx/core/datetime\";\nimport * as i2 from \"@fundamental-ngx/core/form\";\nimport * as i3 from \"@angular/forms\";\nlet timePickerCounter = 0;\nexport class TimePickerComponent {\n /** Text displayed in message */\n set message(message) {\n this._message = message;\n }\n /** Type of the message. Can be 'success' | 'error' | 'warning' | 'information' */\n set messageType(messageType) {\n this._messageType = messageType;\n }\n /**\n * The trigger events that will open/close the message box.\n * Accepts any [HTML DOM Events](https://www.w3schools.com/jsref/dom_obj_event.asp).\n */\n set messageTriggers(triggers) {\n this._messageTriggers = triggers;\n this._popoverFormMessage.triggers = triggers;\n }\n /**\n * The state of the form control - applies css classes.\n * Also this is applied to message.\n * Can be `success`, `error`, `warning`, `information` or blank for default.\n */\n set state(state) {\n this._state = state;\n }\n get state() {\n if (this._state == null && this.useValidation && this._isInvalidTimeInput) {\n return 'error';\n }\n return this._state ?? 'default';\n }\n /** @hidden */\n get _placeholder() {\n return this.placeholder || this._getPlaceholder();\n }\n /** @hidden */\n constructor(_changeDetectorRef, _elementRef, \n // Use @Optional to avoid angular injection error message and throw our own which is more precise one\n _dateTimeAdapter, _dateTimeFormats, _popoverFormMessage) {\n this._changeDetectorRef = _changeDetectorRef;\n this._elementRef = _elementRef;\n this._dateTimeAdapter = _dateTimeAdapter;\n this._dateTimeFormats = _dateTimeFormats;\n this._popoverFormMessage = _popoverFormMessage;\n /** If it is mandatory field */\n this.required = false;\n /** Whether to show spinner buttons */\n this.spinnerButtons = true;\n /** Whether a null input is considered valid(success). */\n this.allowNull = true;\n /** Defines if time component should be used with tablet mode */\n this.tablet = false;\n /**\n * The placement of the popover. It can be one of: top, top-start, top-end, bottom,\n * bottom-start, bottom-end, right, right-start, right-end, left, left-start, left-end.\n */\n this.placement = 'bottom-start';\n /** Whether to validate the time picker input. */\n this.useValidation = true;\n /**\n * Whether AddOn Button should be focusable\n * @default true\n */\n this.buttonFocusable = true;\n /**\n * When set to true, time inputs won't allow to have 1 digit\n * for example 9 will become 09\n * but 12 will be kept as 12.\n */\n this.keepTwoDigitsTime = false;\n /**\n * Value state \"success\" aria message.\n */\n this.valueStateSuccessMessage = inject(ValueStateAriaMessageService).success;\n /**\n * Value state \"information\" aria message.\n */\n this.valueStateInformationMessage = inject(ValueStateAriaMessageService).information;\n /**\n * Value state \"warning\" aria message.\n */\n this.valueStateWarningMessage = inject(ValueStateAriaMessageService).warning;\n /**\n * Value state \"error\" aria message.\n */\n this.valueStateErrorMessage = inject(ValueStateAriaMessageService).error;\n /** Event emitted when the state of the isOpen property changes. */\n this.isOpenChange = new EventEmitter();\n /**\n * The interval between selectable minutes (e.g., 1 for every minute, 5 for 5-minute intervals, 15 for 15-minute intervals).\n * Defaults to 1 (every minute).\n */\n this.minuteStep = input(1, ...(ngDevMode ? [{ debugName: \"minuteStep\" }] : []));\n /** @hidden */\n this._message = null;\n /** @hidden */\n this._messageType = null;\n /** @hidden */\n this._messageTriggers = ['focusin', 'focusout'];\n /**\n * @hidden\n * Whether the input time is valid(success). Internal use.\n */\n this._isInvalidTimeInput = false;\n /**\n * @hidden\n * Input field value\n */\n this._inputTimeValue = '';\n /** @hidden */\n this._formValueStateMessageId = `fd-time-picker-form-message-${timePickerCounter++}`;\n /** @hidden */\n this._state = null;\n /** @hidden */\n this._destroyRef = inject(DestroyRef);\n /** @hidden */\n this._subscriptions = new Subscription();\n /** @hidden */\n this.onChange = () => { };\n /** @hidden */\n this.onTouched = () => { };\n if (!this._dateTimeAdapter) {\n throw createMissingDateImplementationError('DateTimeAdapter');\n }\n if (!this._dateTimeFormats) {\n throw createMissingDateImplementationError('DATE_TIME_FORMATS');\n }\n }\n /** @hidden */\n ngOnInit() {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n this._dateTimeAdapter.localeChanges.pipe(takeUntilDestroyed(this._destroyRef)).subscribe(() => {\n this._calculateTimeOptions();\n this._formatTimeInputField();\n this._changeDetectorRef.detectChanges();\n });\n }\n /** @hidden */\n ngOnChanges(changes) {\n if (['displayHours', 'displayMinutes', 'displaySeconds', 'meridian', 'displayFormat'].some((change) => change in changes)) {\n this._calculateTimeOptions();\n }\n if (changes.displayFormat) {\n this._formatTimeInputField();\n }\n }\n /** @hidden */\n ngOnDestroy() {\n this._subscriptions.unsubscribe();\n }\n /** @hidden */\n ngAfterViewInit() {\n this.initialiseVariablesInMessageService();\n }\n /**\n * @hidden\n * Function that implements Validator Interface, adds validation support for forms\n */\n validate() {\n if (this._isInvalidTimeInput) {\n return {\n timeValidation: {\n valid: false\n }\n };\n }\n return null;\n }\n /**\n * Returns the current value of the time input.\n */\n getTime() {\n return this.time;\n }\n /**\n * Returns format options to be used during time formatting.\n */\n getDisplayFormat() {\n return this.displayFormat || this._dateTimeFormats.display.timeInput;\n }\n /**\n * Returns format options to be used during time parsing.\n */\n getParseFormat() {\n return this.parseFormat || this._dateTimeFormats.parse.timeInput;\n }\n /** @hidden */\n _getFormattedTime(time = this.time) {\n let formattedTime = '';\n try {\n if (this.allowNull && time === null) {\n return '';\n }\n formattedTime = this._dateTimeAdapter.format(time, this.getDisplayFormat());\n }\n catch { }\n return formattedTime;\n }\n /**\n * @hidden\n * When the open state is changed, there should be at least one active item, which by default is hour.\n */\n _setIsOpen(isOpen) {\n this.isOpen = isOpen;\n this._onOpenStateChanged(isOpen);\n }\n /**\n * @hidden\n * Time input field changes handler\n */\n _timeInputChanged(inputValue) {\n inputValue = inputValue.trim();\n // check if value has been changed\n if (this._inputTimeValue === inputValue) {\n return;\n }\n this._inputTimeValue = inputValue;\n if (inputValue === '') {\n this.time = null;\n this._isInvalidTimeInput = !this.allowNull;\n }\n if (inputValue !== '') {\n // Regex to detect and rearrange day period in the time string\n const dayPeriodPattern = /\\b(night|morning|afternoon|evening)\\b/g;\n inputValue = inputValue.replace(dayPeriodPattern, '').trim();\n this.time = this._dateTimeAdapter.parse(inputValue, this.getParseFormat());\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(this.time);\n }\n this.onChange(this.time);\n this._changeDetectorRef.detectChanges();\n }\n /** @hidden */\n _inputGroupClicked($event) {\n if (!this.isOpen && !this.disabled) {\n $event.stopPropagation();\n this._setIsOpen(true);\n }\n }\n /** @hidden */\n _addOnButtonClicked() {\n if (!this.disabled) {\n this._setIsOpen(!this.isOpen);\n }\n }\n /** @hidden */\n _popoverClosed() {\n this._setIsOpen(false);\n }\n /** @hidden */\n _getPlaceholder() {\n let retVal = '';\n if (this._displayHours) {\n retVal = retVal + 'hh';\n }\n if (this._displayMinutes) {\n retVal = retVal + ':mm';\n }\n if (this._displaySeconds) {\n retVal = retVal + ':ss';\n }\n if (this._meridian) {\n retVal = retVal + ' am/pm';\n }\n return retVal;\n }\n /** @hidden */\n _timeComponentValueChanged(time) {\n if (this._dateTimeAdapter.dateTimesEqual(time, this.time)) {\n return;\n }\n this._inputTimeValue = this._getFormattedTime(time);\n this.time = time;\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n this.onChange(time);\n this._changeDetectorRef.detectChanges();\n }\n // #region ControlValueAccessor\n /** @hidden */\n registerOnChange(fn) {\n this.onChange = fn;\n }\n /** @hidden */\n registerOnTouched(fn) {\n this.onTouched = fn;\n }\n /** @hidden */\n setDisabledState(isDisabled) {\n this.disabled = isDisabled;\n this._changeDetectorRef.detectChanges();\n }\n /** @hidden */\n writeValue(time) {\n if (!time) {\n this.time = null;\n this._inputTimeValue = '';\n this._isInvalidTimeInput = !this.allowNull;\n }\n else {\n this.time = this._dateTimeAdapter.parse(time, this.getParseFormat());\n this._inputTimeValue = this._getFormattedTime(time);\n this._isInvalidTimeInput = !this._dateTimeAdapter.isValid(time);\n }\n this._changeDetectorRef.markForCheck();\n }\n // #endregion ControlValueAccessor\n /** @hidden */\n _formatTimeInputField(time = this.time) {\n return (this._inputTimeValue = this._getFormattedTime(time));\n }\n /** @hidden */\n _changeMessageVisibility() {\n if (this.isOpen) {\n this._popoverFormMessage.hide();\n }\n else {\n this._popoverFormMessage.show();\n }\n }\n /** @hidden */\n _onOpenStateChanged(isOpen) {\n this.isOpenChange.emit(isOpen);\n this._changeMessageVisibility();\n if (isOpen) {\n this._changeDetectorRef.detectChanges();\n this.child.focusActiveColumn();\n }\n // focus input control every time popup is closed\n if (!isOpen && this._inputElement) {\n this._inputElement.nativeElement.focus();\n }\n }\n /** @hidden */\n _focusOut(event) {\n if (!this._elementRef.nativeElement.contains(event.relatedTarget)) {\n this.onTouched();\n }\n }\n /** @hidden */\n _calculateTimeOptions() {\n const format = this.getDisplayFormat();\n // default meridian option based on format option\n this._meridian =\n this.meridian != null ? this.meridian : this._dateTimeAdapter.isTimeFormatIncludesDayPeriod(format);\n // default seconds option based on format option\n this._displaySeconds =\n this.displaySeconds != null\n ? this.displaySeconds\n : this._dateTimeAdapter.isTimeFormatIncludesSeconds(format);\n // default minutes option based on format option\n this._displayMinutes =\n this.displayMinutes != null\n ? this.displayMinutes\n : this._dateTimeAdapter.isTimeFormatIncludesMinutes(format);\n // default hours option based on format option\n this._displayHours =\n this.displayHours != null ? this.displayHours : this._dateTimeAdapter.isTimeFormatIncludesHours(format);\n }\n /** @hidden */\n initialiseVariablesInMessageService() {\n this._popoverFormMessage.init(this._inputGroupElement);\n this._popoverFormMessage.message = this._formMessageTemplate;\n this._popoverFormMessage.triggers = this._messageTriggers;\n }\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerComponent, deps: [{ token: i0.ChangeDetectorRef }, { token: i0.ElementRef }, { token: i1.DatetimeAdapter, optional: true }, { token: DATE_TIME_FORMATS, optional: true }, { token: i2.PopoverFormMessageService }], target: i0.ɵɵFactoryTarget.Component }); }\n static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: \"17.0.0\", version: \"20.1.4\", type: TimePickerComponent, isStandalone: true, selector: \"fd-time-picker\", inputs: { time: { classPropertyName: \"time\", publicName: \"time\", isSignal: false, isRequired: false, transformFunction: null }, inputId: { classPropertyName: \"inputId\", publicName: \"inputId\", isSignal: false, isRequired: false, transformFunction: null }, disabled: { classPropertyName: \"disabled\", publicName: \"disabled\", isSignal: false, isRequired: false, transformFunction: null }, required: { classPropertyName: \"required\", publicName: \"required\", isSignal: false, isRequired: false, transformFunction: null }, spinnerButtons: { classPropertyName: \"spinnerButtons\", publicName: \"spinnerButtons\", isSignal: false, isRequired: false, transformFunction: null }, meridian: { classPropertyName: \"meridian\", publicName: \"meridian\", isSignal: false, isRequired: false, transformFunction: null }, displaySeconds: { classPropertyName: \"displaySeconds\", publicName: \"displaySeconds\", isSignal: false, isRequired: false, transformFunction: null }, displayMinutes: { classPropertyName: \"displayMinutes\", publicName: \"displayMinutes\", isSignal: false, isRequired: false, transformFunction: null }, displayHours: { classPropertyName: \"displayHours\", publicName: \"displayHours\", isSignal: false, isRequired: false, transformFunction: null }, placeholder: { classPropertyName: \"placeholder\", publicName: \"placeholder\", isSignal: false, isRequired: false, transformFunction: null }, timePickerInputLabel: { classPropertyName: \"timePickerInputLabel\", publicName: \"timePickerInputLabel\", isSignal: false, isRequired: false, transformFunction: null }, timePickerButtonLabel: { classPropertyName: \"timePickerButtonLabel\", publicName: \"timePickerButtonLabel\", isSignal: false, isRequired: false, transformFunction: null }, ariaLabelledBy: { classPropertyName: \"ariaLabelledBy\", publicName: \"ariaLabelledBy\", isSignal: false, isRequired: false, transformFunction: null }, allowNull: { classPropertyName: \"allowNull\", publicName: \"allowNull\", isSignal: false, isRequired: false, transformFunction: null }, tablet: { classPropertyName: \"tablet\", publicName: \"tablet\", isSignal: false, isRequired: false, transformFunction: null }, message: { classPropertyName: \"message\", publicName: \"message\", isSignal: false, isRequired: false, transformFunction: null }, messageType: { classPropertyName: \"messageType\", publicName: \"messageType\", isSignal: false, isRequired: false, transformFunction: null }, messageTriggers: { classPropertyName: \"messageTriggers\", publicName: \"messageTriggers\", isSignal: false, isRequired: false, transformFunction: null }, placement: { classPropertyName: \"placement\", publicName: \"placement\", isSignal: false, isRequired: false, transformFunction: null }, useValidation: { classPropertyName: \"useValidation\", publicName: \"useValidation\", isSignal: false, isRequired: false, transformFunction: null }, state: { classPropertyName: \"state\", publicName: \"state\", isSignal: false, isRequired: false, transformFunction: null }, buttonFocusable: { classPropertyName: \"buttonFocusable\", publicName: \"buttonFocusable\", isSignal: false, isRequired: false, transformFunction: null }, keepTwoDigitsTime: { classPropertyName: \"keepTwoDigitsTime\", publicName: \"keepTwoDigitsTime\", isSignal: false, isRequired: false, transformFunction: null }, displayFormat: { classPropertyName: \"displayFormat\", publicName: \"displayFormat\", isSignal: false, isRequired: false, transformFunction: null }, parseFormat: { classPropertyName: \"parseFormat\", publicName: \"parseFormat\", isSignal: false, isRequired: false, transformFunction: null }, valueStateSuccessMessage: { classPropertyName: \"valueStateSuccessMessage\", publicName: \"valueStateSuccessMessage\", isSignal: false, isRequired: false, transformFunction: null }, valueStateInformationMessage: { classPropertyName: \"valueStateInformationMessage\", publicName: \"valueStateInformationMessage\", isSignal: false, isRequired: false, transformFunction: null }, valueStateWarningMessage: { classPropertyName: \"valueStateWarningMessage\", publicName: \"valueStateWarningMessage\", isSignal: false, isRequired: false, transformFunction: null }, valueStateErrorMessage: { classPropertyName: \"valueStateErrorMessage\", publicName: \"valueStateErrorMessage\", isSignal: false, isRequired: false, transformFunction: null }, minuteStep: { classPropertyName: \"minuteStep\", publicName: \"minuteStep\", isSignal: true, isRequired: false, transformFunction: null } }, outputs: { isOpenChange: \"isOpenChange\" }, host: { listeners: { \"focusout\": \"_focusOut($event)\", \"blur\": \"onTouched()\" }, classAttribute: \"fd-time-picker fd-timepicker-custom\" }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n PopoverFormMessageService,\n PopoverService,\n registerFormItemControl(TimePickerComponent)\n ], viewQueries: [{ propertyName: \"child\", first: true, predicate: TimeComponent, descendants: true }, { propertyName: \"_inputGroupElement\", first: true, predicate: [\"inputGroupComponent\"], descendants: true, read: ElementRef }, { propertyName: \"_inputElement\", first: true, predicate: InputGroupInputDirective, descendants: true, read: ElementRef }, { propertyName: \"_formMessageTemplate\", first: true, predicate: [\"formMessageTemplate\"], descendants: true }], usesOnChanges: true, ngImport: i0, template: \"<fd-popover\\n [(isOpen)]=\\\"isOpen\\\"\\n (isOpenChange)=\\\"_onOpenStateChanged($event)\\\"\\n [triggers]=\\\"[]\\\"\\n [disabled]=\\\"disabled\\\"\\n [placement]=\\\"placement\\\"\\n [closeOnEscapeKey]=\\\"true\\\"\\n [focusAutoCapture]=\\\"false\\\"\\n [focusTrapped]=\\\"true\\\"\\n>\\n <fd-popover-control>\\n <fd-input-group\\n #inputGroupComponent\\n (addOnButtonClicked)=\\\"_addOnButtonClicked()\\\"\\n [button]=\\\"true\\\"\\n [state]=\\\"state\\\"\\n [disabled]=\\\"disabled\\\"\\n [buttonFocusable]=\\\"buttonFocusable\\\"\\n [isControl]=\\\"true\\\"\\n [isExpanded]=\\\"isOpen\\\"\\n [glyphAriaLabel]=\\\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\\\"\\n glyph=\\\"fob-watch\\\"\\n >\\n <input\\n type=\\\"text\\\"\\n class=\\\"fd-input\\\"\\n fd-input-group-input\\n [value]=\\\"_inputTimeValue | translateDayPeriod\\\"\\n (focusout)=\\\"_timeInputChanged($any($event.currentTarget).value)\\\"\\n (keyup.enter)=\\\"_timeInputChanged($any($event.currentTarget).value)\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.id]=\\\"inputId\\\"\\n [placeholder]=\\\"_placeholder\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy\\\"\\n [attr.aria-label]=\\\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\\\"\\n [attr.aria-describedby]=\\\"_formValueStateMessageId\\\"\\n [attr.aria-required]=\\\"required\\\"\\n />\\n </fd-input-group>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-template [ngTemplateOutlet]=\\\"formMessageTemplate\\\"></ng-template>\\n <ng-content></ng-content>\\n @if (isOpen) {\\n <fd-time\\n [tablet]=\\\"tablet\\\"\\n [disabled]=\\\"disabled\\\"\\n [keepTwoDigits]=\\\"keepTwoDigitsTime\\\"\\n [ngModel]=\\\"time\\\"\\n (ngModelChange)=\\\"_timeComponentValueChanged($event)\\\"\\n [meridian]=\\\"_meridian\\\"\\n [displayHours]=\\\"_displayHours\\\"\\n [displayMinutes]=\\\"_displayMinutes\\\"\\n [displaySeconds]=\\\"_displaySeconds\\\"\\n [minuteStep]=\\\"minuteStep()\\\"\\n [spinnerButtons]=\\\"spinnerButtons\\\"\\n ></fd-time>\\n }\\n </fd-popover-body>\\n</fd-popover>\\n<div [style.display]=\\\"'none'\\\" aria-hidden=\\\"true\\\">\\n <div [attr.id]=\\\"_formValueStateMessageId\\\" aria-atomic=\\\"true\\\" aria-live=\\\"assertive\\\">\\n @switch (state) {\\n @case ('success') {\\n {{ valueStateSuccessMessage }}\\n }\\n @case ('information') {\\n {{ valueStateInformationMessage }}\\n }\\n @case ('warning') {\\n {{ valueStateWarningMessage }}\\n }\\n @case ('error') {\\n {{ valueStateErrorMessage }}\\n }\\n }\\n {{ _message }}\\n </div>\\n</div>\\n<ng-template #formMessageTemplate>\\n @if (_message) {\\n <fd-form-message [embedded]=\\\"true\\\" [type]=\\\"state\\\">\\n {{ _message }}\\n </fd-form-message>\\n }\\n</ng-template>\\n\", styles: [\".fd-timepicker-custom{display:inline-block}.fd-timepicker-custom fd-popover{display:block}.fd-timepicker-custom fd-time{width:auto}\\n\"], dependencies: [{ kind: \"component\", type: PopoverComponent, selector: \"fd-popover\", inputs: [\"title\", \"trigger\", \"fixedPosition\", \"id\", \"mobile\", \"mobileConfig\", \"preventSpaceKeyScroll\"] }, { kind: \"component\", type: PopoverControlComponent, selector: \"fd-popover-control, [fdPopoverControl]\" }, { kind: \"component\", type: InputGroupComponent, selector: \"fd-input-group\", inputs: [\"placement\", \"required\", \"inline\", \"addOnText\", \"buttonFocusable\", \"type\", \"glyph\", \"glyphFont\", \"button\", \"isControl\", \"showFocus\", \"isExpanded\", \"glyphAriaLabel\", \"addonButtonAriaHidden\", \"iconTitle\", \"ariaLabelledBy\", \"ariaLabel\"], outputs: [\"addOnButtonClicked\", \"search\"] }, { kind: \"directive\", type: InputGroupInputDirective, selector: \"[fdInputGroupInput], [fd-input-group-input]\", inputs: [\"class\"] }, { kind: \"component\", type: PopoverBodyComponent, selector: \"fd-popover-body\", inputs: [\"minWidth\", \"maxWidth\", \"minHeight\", \"maxHeight\"] }, { kind: \"directive\", type: NgTemplateOutlet, selector: \"[ngTemplateOutlet]\", inputs: [\"ngTemplateOutletContext\", \"ngTemplateOutlet\", \"ngTemplateOutletInjector\"] }, { kind: \"component\", type: FormMessageComponent, selector: \"fd-form-message\", inputs: [\"type\", \"static\", \"embedded\", \"class\"] }, { kind: \"component\", type: TimeComponent, selector: \"fd-time\", inputs: [\"meridian\", \"validate\", \"keepTwoDigits\", \"disabled\", \"displaySeconds\", \"displayMinutes\", \"displayHours\", \"tablet\", \"elementsAtOnce\", \"time\", \"spinnerButtons\", \"minuteStep\"] }, { kind: \"ngmodule\", type: FormsModule }, { kind: \"directive\", type: i3.NgControlStatus, selector: \"[formControlName],[ngModel],[formControl]\" }, { kind: \"directive\", type: i3.NgModel, selector: \"[ngModel]:not([formControlName]):not([formControl])\", inputs: [\"name\", \"disabled\", \"ngModel\", \"ngModelOptions\"], outputs: [\"ngModelChange\"], exportAs: [\"ngModel\"] }, { kind: \"pipe\", type: FdTranslatePipe, name: \"fdTranslate\" }, { kind: \"pipe\", type: TranslateDayPeriodPipe, name: \"translateDayPeriod\" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerComponent, decorators: [{\n type: Component,\n args: [{ selector: 'fd-time-picker', host: {\n '(focusout)': '_focusOut($event)',\n '(blur)': 'onTouched()',\n class: 'fd-time-picker fd-timepicker-custom'\n }, providers: [\n {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => TimePickerComponent),\n multi: true\n },\n PopoverFormMessageService,\n PopoverService,\n registerFormItemControl(TimePickerComponent)\n ], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, imports: [\n PopoverComponent,\n PopoverControlComponent,\n InputGroupComponent,\n InputGroupInputDirective,\n PopoverBodyComponent,\n NgTemplateOutlet,\n FormMessageComponent,\n TimeComponent,\n FormsModule,\n FdTranslatePipe,\n TranslateDayPeriodPipe\n ], template: \"<fd-popover\\n [(isOpen)]=\\\"isOpen\\\"\\n (isOpenChange)=\\\"_onOpenStateChanged($event)\\\"\\n [triggers]=\\\"[]\\\"\\n [disabled]=\\\"disabled\\\"\\n [placement]=\\\"placement\\\"\\n [closeOnEscapeKey]=\\\"true\\\"\\n [focusAutoCapture]=\\\"false\\\"\\n [focusTrapped]=\\\"true\\\"\\n>\\n <fd-popover-control>\\n <fd-input-group\\n #inputGroupComponent\\n (addOnButtonClicked)=\\\"_addOnButtonClicked()\\\"\\n [button]=\\\"true\\\"\\n [state]=\\\"state\\\"\\n [disabled]=\\\"disabled\\\"\\n [buttonFocusable]=\\\"buttonFocusable\\\"\\n [isControl]=\\\"true\\\"\\n [isExpanded]=\\\"isOpen\\\"\\n [glyphAriaLabel]=\\\"timePickerButtonLabel || ('coreTimePicker.timePickerButtonLabel' | fdTranslate)\\\"\\n glyph=\\\"fob-watch\\\"\\n >\\n <input\\n type=\\\"text\\\"\\n class=\\\"fd-input\\\"\\n fd-input-group-input\\n [value]=\\\"_inputTimeValue | translateDayPeriod\\\"\\n (focusout)=\\\"_timeInputChanged($any($event.currentTarget).value)\\\"\\n (keyup.enter)=\\\"_timeInputChanged($any($event.currentTarget).value)\\\"\\n [disabled]=\\\"disabled\\\"\\n [attr.id]=\\\"inputId\\\"\\n [placeholder]=\\\"_placeholder\\\"\\n [attr.aria-labelledby]=\\\"ariaLabelledBy\\\"\\n [attr.aria-label]=\\\"timePickerInputLabel || ('coreTimePicker.timePickerInputLabel' | fdTranslate)\\\"\\n [attr.aria-describedby]=\\\"_formValueStateMessageId\\\"\\n [attr.aria-required]=\\\"required\\\"\\n />\\n </fd-input-group>\\n </fd-popover-control>\\n <fd-popover-body>\\n <ng-template [ngTemplateOutlet]=\\\"formMessageTemplate\\\"></ng-template>\\n <ng-content></ng-content>\\n @if (isOpen) {\\n <fd-time\\n [tablet]=\\\"tablet\\\"\\n [disabled]=\\\"disabled\\\"\\n [keepTwoDigits]=\\\"keepTwoDigitsTime\\\"\\n [ngModel]=\\\"time\\\"\\n (ngModelChange)=\\\"_timeComponentValueChanged($event)\\\"\\n [meridian]=\\\"_meridian\\\"\\n [displayHours]=\\\"_displayHours\\\"\\n [displayMinutes]=\\\"_displayMinutes\\\"\\n [displaySeconds]=\\\"_displaySeconds\\\"\\n [minuteStep]=\\\"minuteStep()\\\"\\n [spinnerButtons]=\\\"spinnerButtons\\\"\\n ></fd-time>\\n }\\n </fd-popover-body>\\n</fd-popover>\\n<div [style.display]=\\\"'none'\\\" aria-hidden=\\\"true\\\">\\n <div [attr.id]=\\\"_formValueStateMessageId\\\" aria-atomic=\\\"true\\\" aria-live=\\\"assertive\\\">\\n @switch (state) {\\n @case ('success') {\\n {{ valueStateSuccessMessage }}\\n }\\n @case ('information') {\\n {{ valueStateInformationMessage }}\\n }\\n @case ('warning') {\\n {{ valueStateWarningMessage }}\\n }\\n @case ('error') {\\n {{ valueStateErrorMessage }}\\n }\\n }\\n {{ _message }}\\n </div>\\n</div>\\n<ng-template #formMessageTemplate>\\n @if (_message) {\\n <fd-form-message [embedded]=\\\"true\\\" [type]=\\\"state\\\">\\n {{ _message }}\\n </fd-form-message>\\n }\\n</ng-template>\\n\", styles: [\".fd-timepicker-custom{display:inline-block}.fd-timepicker-custom fd-popover{display:block}.fd-timepicker-custom fd-time{width:auto}\\n\"] }]\n }], ctorParameters: () => [{ type: i0.ChangeDetectorRef }, { type: i0.ElementRef }, { type: i1.DatetimeAdapter, decorators: [{\n type: Optional\n }] }, { type: undefined, decorators: [{\n type: Optional\n }, {\n type: Inject,\n args: [DATE_TIME_FORMATS]\n }] }, { type: i2.PopoverFormMessageService }], propDecorators: { time: [{\n type: Input\n }], inputId: [{\n type: Input\n }], disabled: [{\n type: Input\n }], required: [{\n type: Input\n }], spinnerButtons: [{\n type: Input\n }], meridian: [{\n type: Input\n }], displaySeconds: [{\n type: Input\n }], displayMinutes: [{\n type: Input\n }], displayHours: [{\n type: Input\n }], placeholder: [{\n type: Input\n }], timePickerInputLabel: [{\n type: Input\n }], timePickerButtonLabel: [{\n type: Input\n }], ariaLabelledBy: [{\n type: Input\n }], allowNull: [{\n type: Input\n }], tablet: [{\n type: Input\n }], message: [{\n type: Input\n }], messageType: [{\n type: Input\n }], messageTriggers: [{\n type: Input\n }], placement: [{\n type: Input\n }], useValidation: [{\n type: Input\n }], state: [{\n type: Input\n }], buttonFocusable: [{\n type: Input\n }], keepTwoDigitsTime: [{\n type: Input\n }], displayFormat: [{\n type: Input\n }], parseFormat: [{\n type: Input\n }], valueStateSuccessMessage: [{\n type: Input\n }], valueStateInformationMessage: [{\n type: Input\n }], valueStateWarningMessage: [{\n type: Input\n }], valueStateErrorMessage: [{\n type: Input\n }], isOpenChange: [{\n type: Output\n }], child: [{\n type: ViewChild,\n args: [TimeComponent]\n }], _inputGroupElement: [{\n type: ViewChild,\n args: ['inputGroupComponent', { read: ElementRef }]\n }], _inputElement: [{\n type: ViewChild,\n args: [InputGroupInputDirective, { read: ElementRef }]\n }], _formMessageTemplate: [{\n type: ViewChild,\n args: ['formMessageTemplate']\n }] } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYnMvY29yZS90aW1lLXBpY2tlci90aW1lLXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUgsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLE1BQU0sRUFDTixNQUFNLEVBQ04sS0FBSyxFQUNMLEtBQUssRUFJTCxRQUFRLEVBQ1IsTUFBTSxFQUVOLFdBQVcsRUFDWCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBd0IsV0FBVyxFQUFFLGFBQWEsRUFBRSxpQkFBaUIsRUFBYSxNQUFNLGdCQUFnQixDQUFDO0FBQ2hILE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFcEMsT0FBTyxFQUNILGlCQUFpQixFQUNqQixlQUFlLEVBRWYsc0JBQXNCLEVBQ3pCLE1BQU0sZ0NBQWdDLENBQUM7QUFDeEMsT0FBTyxFQUVILG9CQUFvQixFQUNwQix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQzFCLE1BQU0sNEJBQTRCLENBQUM7QUFDcEMsT0FBTyxFQUFFLG1CQUFtQixFQUFFLHdCQUF3QixFQUFFLE1BQU0sbUNBQW1DLENBQUM7QUFDbEcsT0FBTyxFQUNILG9CQUFvQixFQUNwQixnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLGNBQWMsRUFDakIsTUFBTSwrQkFBK0IsQ0FBQztBQUN2QyxPQUFPLEVBQWEsNEJBQTRCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUN2RixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENB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RSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS3RELGFBQWE7c0JBRFosU0FBUzt1QkFBQyx3QkFBd0IsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUU7Z0JBS3hDLG9CQUFvQjtzQkFEcEMsU0FBUzt1QkFBQyxxQkFBcUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICAgIEFmdGVyVmlld0luaXQsXG4gICAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXG4gICAgQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgQ29tcG9uZW50LFxuICAgIERlc3Ryb3lSZWYsXG4gICAgRWxlbWVudFJlZixcbiAgICBFdmVudEVtaXR0ZXIsXG4gICAgZm9yd2FyZFJlZixcbiAgICBpbmplY3QsXG4gICAgSW5qZWN0LFxuICAgIGlucHV0LFxuICAgIElucHV0LFxuICAgIE9uQ2hhbmdlcyxcbiAgICBPbkRlc3Ryb3ksXG4gICAgT25Jbml0LFxuICAgIE9wdGlvbmFsLFxuICAgIE91dHB1dCxcbiAgICBTaW1wbGVDaGFuZ2VzLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBGb3Jtc01vZHVsZSwgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IsIFZhbGlkYXRvciB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQge1xuICAgIERBVEVfVElNRV9GT1JNQVRTLFxuICAgIERhdGV0aW1lQWRhcHRlcixcbiAgICBEYXRlVGltZUZvcm1hdHMsXG4gICAgVHJhbnNsYXRlRGF5UGVyaW9kUGlwZVxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZGF0ZXRpbWUnO1xuaW1wb3J0IHtcbiAgICBGb3JtSXRlbUNvbnRyb2wsXG4gICAgRm9ybU1lc3NhZ2VDb21wb25lbnQsXG4gICAgUG9wb3ZlckZvcm1NZXNzYWdlU2VydmljZSxcbiAgICByZWdpc3RlckZvcm1JdGVtQ29udHJvbFxufSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvZm9ybSc7XG5pbXBvcnQgeyBJbnB1dEdyb3VwQ29tcG9uZW50LCBJbnB1dEdyb3VwSW5wdXREaXJlY3RpdmUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2NvcmUvaW5wdXQtZ3JvdXAnO1xuaW1wb3J0IHtcbiAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgIFBvcG92ZXJDb250cm9sQ29tcG9uZW50LFxuICAgIFBvcG92ZXJTZXJ2aWNlXG59IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9wb3BvdmVyJztcbmltcG9ydCB7IFBsYWNlbWVudCwgVmFsdWVTdGF0ZUFyaWFNZXNzYWdlU2VydmljZSB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS9zaGFyZWQnO1xuaW1wb3J0IHsgVGltZUNvbXBvbmVudCB9IGZyb20gJ0BmdW5kYW1lbnRhbC1uZ3gvY29yZS90aW1lJztcblxuaW1wb3J0IHsgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tICdAYW5ndWxhci9jb3JlL3J4anMtaW50ZXJvcCc7XG5pbXBvcnQgeyBGb3JtU3RhdGVzIH0gZnJvbSAnQGZ1bmRhbWVudGFsLW5neC9jZGsvZm9ybXMnO1xuaW1wb3J0IHsgTnVsbGFibGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2Nkay91dGlscyc7XG5pbXBvcnQgeyBGZFRyYW5zbGF0ZVBpcGUgfSBmcm9tICdAZnVuZGFtZW50YWwtbmd4L2kxOG4nO1xuaW1wb3J0IHsgY3JlYXRlTWlzc2luZ0RhdGVJbXBsZW1lbnRhdGlvbkVycm9yIH0gZnJvbSAnLi9lcnJvcnMnO1xuXG5sZXQgdGltZVBpY2tlckNvdW50ZXIgPSAwO1xuXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ2ZkLXRpbWUtcGlja2VyJyxcbiAgICB0ZW1wbGF0ZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50Lmh0bWwnLFxuICAgIGhvc3Q6IHtcbiAgICAgICAgJyhmb2N1c291dCknOiAnX2ZvY3VzT3V0KCRldmVudCknLFxuICAgICAgICAnKGJsdXIpJzogJ29uVG91Y2hlZCgpJyxcbiAgICAgICAgY2xhc3M6ICdmZC10aW1lLXBpY2tlciBmZC10aW1lcGlja2VyLWN1c3RvbSdcbiAgICB9LFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFRpbWVQaWNrZXJDb21wb25lbnQpLFxuICAgICAgICAgICAgbXVsdGk6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgUG9wb3ZlckZvcm1NZXNzYWdlU2VydmljZSxcbiAgICAgICAgUG9wb3ZlclNlcnZpY2UsXG4gICAgICAgIHJlZ2lzdGVyRm9ybUl0ZW1Db250cm9sKFRpbWVQaWNrZXJDb21wb25lbnQpXG4gICAgXSxcbiAgICBzdHlsZVVybDogJy4vdGltZS1waWNrZXIuY29tcG9uZW50LnNjc3MnLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgaW1wb3J0czogW1xuICAgICAgICBQb3BvdmVyQ29tcG9uZW50LFxuICAgICAgICBQb3BvdmVyQ29udHJvbENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRHcm91cENvbXBvbmVudCxcbiAgICAgICAgSW5wdXRHcm91cElucHV0RGlyZWN0aXZlLFxuICAgICAgICBQb3BvdmVyQm9keUNvbXBvbmVudCxcbiAgICAgICAgTmdUZW1wbGF0ZU91dGxldCxcbiAgICAgICAgRm9ybU1lc3NhZ2VDb21wb25lbnQsXG4gICAgICAgIFRpbWVDb21wb25lbnQsXG4gICAgICAgIEZvcm1zTW9kdWxlLFxuICAgICAgICBGZFRyYW5zbGF0ZVBpcGUsXG4gICAgICAgIFRyYW5zbGF0ZURheVBlcmlvZFBpcGVcbiAgICBdXG59KVxuZXhwb3J0IGNsYXNzIFRpbWVQaWNrZXJDb21wb25lbnQ8RD5cbiAgICBpbXBsZW1lbnRzIENvbnRyb2xWYWx1ZUFjY2Vzc29yLCBPbkluaXQsIEFmdGVyVmlld0luaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95LCBWYWxpZGF0b3IsIEZvcm1JdGVtQ29udHJvbFxue1xuICAgIC8qKlxuICAgICAqIERhdGUgdGltZSBvYmplY3QgcmVwcmVzZW50YXRpb25cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHRpbWU6IE51bGxhYmxlPEQ+O1xuXG4gICAgLyoqIElkIGF0dHJpYnV0ZSBmb3IgaW5wdXQgZWxlbWVudCBpbnNpZGUgVGltZVBpY2tlciBjb21wb25lbnQgKi9cbiAgICBASW5wdXQoKVxuICAgIGlucHV0SWQ6IHN0cmluZztcblxuICAgIC8qKiBEaXNhYmxlcyB0aGUgY29tcG9uZW50LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzYWJsZWQ6IGJvb2xlYW47XG5cbiAgICAvKiogSWYgaXQgaXMgbWFuZGF0b3J5IGZpZWxkICovXG4gICAgQElucHV0KClcbiAgICByZXF1aXJlZCA9IGZhbHNlO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gc2hvdyBzcGlubmVyIGJ1dHRvbnMgKi9cbiAgICBASW5wdXQoKVxuICAgIHNwaW5uZXJCdXR0b25zID0gdHJ1ZTtcblxuICAgIC8qKlxuICAgICAqIFdoZW4gc2V0IHRvIGZhbHNlLCB1c2VzIHRoZSAyNCBob3VyIGNsb2NrIChob3VycyByYW5naW5nIGZyb20gMCB0byAyMykuXG4gICAgICogRGVmYXVsdCB2YWx1ZSBiYXNlZCBvbiB0aGUgY3VycmVudCBsb2NhbGUgZm9ybWF0IG9wdGlvblxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgbWVyaWRpYW46IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byBmYWxzZSwgaGlkZXMgdGhlIGlucHV0IGZvciBzZWNvbmRzLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgbG9jYWxlIGZvcm1hdCBvcHRpb25cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheVNlY29uZHM6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byBmYWxzZSwgaGlkZXMgdGhlIGlucHV0IGZvciBtaW51dGVzLlxuICAgICAqIERlZmF1bHQgdmFsdWUgYmFzZWQgb24gdGhlIGN1cnJlbnQgbG9jYWxlIGZvcm1hdCBvcHRpb25cbiAgICAgKiAqL1xuICAgIEBJbnB1dCgpXG4gICAgZGlzcGxheU1pbnV0ZXM6IGJvb2xlYW47XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byBmYWxzZSwgaGlkZXMgdGhlIGlucHV0IGZvciBob3Vycy5cbiAgICAgKiBEZWZhdWx0IHZhbHVlIGJhc2VkIG9uIHRoZSBjdXJyZW50IGxvY2FsZSBmb3JtYXQgb3B0aW9uXG4gICAgICogKi9cbiAgICBASW5wdXQoKVxuICAgIGRpc3BsYXlIb3VyczogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIERlZmF1bHQgdGltZSBwaWNrZXIgcGxhY2Vob2xkZXIgd2hpY2ggaXMgc2V0IGRlcGVuZGFudCBvbiB0aGUgaG91cnMsIG1pbnV0ZXMgYW5kIHNlY29uZHMuXG4gICAgICogT3RoZXJ3aXNlIEl0IGNhbiBiZSBzZXQgdG8gYSBkZWZhdWx0IHZhbHVlXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZWhvbGRlcjogc3RyaW5nO1xuXG4gICAgLyoqIEFyaWEgbGFiZWwgZm9yIHRoZSB0aW1lIHBpY2tlciBpbnB1dC4gKi9cbiAgICBASW5wdXQoKVxuICAgIHRpbWVQaWNrZXJJbnB1dExhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogQXJpYSBsYWJlbCBmb3IgdGhlIHRpbWUgcGlja2VyIHRvZ2dsZSBidXR0b24uICovXG4gICAgQElucHV0KClcbiAgICB0aW1lUGlja2VyQnV0dG9uTGFiZWw6IHN0cmluZztcblxuICAgIC8qKiBBcmlhLWxhYmVsbGVkYnkgZm9yIHRoZSB0aW1lIHBpY2tlciB0b2dnbGUgYnV0dG9uLiAqL1xuICAgIEBJbnB1dCgpXG4gICAgYXJpYUxhYmVsbGVkQnk6IE51bGxhYmxlPHN0cmluZz47XG5cbiAgICAvKiogV2hldGhlciBhIG51bGwgaW5wdXQgaXMgY29uc2lkZXJlZCB2YWxpZChzdWNjZXNzKS4gKi9cbiAgICBASW5wdXQoKVxuICAgIGFsbG93TnVsbCA9IHRydWU7XG5cbiAgICAvKiogRGVmaW5lcyBpZiB0aW1lIGNvbXBvbmVudCBzaG91bGQgYmUgdXNlZCB3aXRoIHRhYmxldCBtb2RlICovXG4gICAgQElucHV0KClcbiAgICB0YWJsZXQgPSBmYWxzZTtcblxuICAgIC8qKiBUZXh0IGRpc3BsYXllZCBpbiBtZXNzYWdlICovXG4gICAgQElucHV0KClcbiAgICBzZXQgbWVzc2FnZShtZXNzYWdlOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbWVzc2FnZSA9IG1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLyoqIFR5cGUgb2YgdGhlIG1lc3NhZ2UuIENhbiBiZSAnc3VjY2VzcycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2luZm9ybWF0aW9uJyAqL1xuICAgIEBJbnB1dCgpXG4gICAgc2V0IG1lc3NhZ2VUeXBlKG1lc3NhZ2VUeXBlOiBGb3JtU3RhdGVzKSB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2VUeXBlID0gbWVzc2FnZVR5cGU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogVGhlIHRyaWdnZXIgZXZlbnRzIHRoYXQgd2lsbCBvcGVuL2Nsb3NlIHRoZSBtZXNzYWdlIGJveC5cbiAgICAgKiBBY2NlcHRzIGFueSBbSFRNTCBET00gRXZlbnRzXShodHRwczovL3d3dy53M3NjaG9vbHMuY29tL2pzcmVmL2RvbV9vYmpfZXZlbnQuYXNwKS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHNldCBtZXNzYWdlVHJpZ2dlcnModHJpZ2dlcnM6IHN0cmluZ1tdKSB7XG4gICAgICAgIHRoaXMuX21lc3NhZ2VUcmlnZ2VycyA9IHRyaWdnZXJzO1xuICAgICAgICB0aGlzLl9wb3BvdmVyRm9ybU1lc3NhZ2UudHJpZ2dlcnMgPSB0cmlnZ2VycztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgVGhlIHBsYWNlbWVudCBvZiB0aGUgcG9wb3Zlci4gSXQgY2FuIGJlIG9uZSBvZjogdG9wLCB0b3Atc3RhcnQsIHRvcC1lbmQsIGJvdHRvbSxcbiAgICAgKiAgYm90dG9tLXN0YXJ0LCBib3R0b20tZW5kLCByaWdodCwgcmlnaHQtc3RhcnQsIHJpZ2h0LWVuZCwgbGVmdCwgbGVmdC1zdGFydCwgbGVmdC1lbmQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBwbGFjZW1lbnQ6IFBsYWNlbWVudCA9ICdib3R0b20tc3RhcnQnO1xuXG4gICAgLyoqIFdoZXRoZXIgdG8gdmFsaWRhdGUgdGhlIHRpbWUgcGlja2VyIGlucHV0LiAqL1xuICAgIEBJbnB1dCgpXG4gICAgdXNlVmFsaWRhdGlvbiA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiAgVGhlIHN0YXRlIG9mIHRoZSBmb3JtIGNvbnRyb2wgLSBhcHBsaWVzIGNzcyBjbGFzc2VzLlxuICAgICAqICBBbHNvIHRoaXMgaXMgYXBwbGllZCB0byBtZXNzYWdlLlxuICAgICAqICBDYW4gYmUgYHN1Y2Nlc3NgLCBgZXJyb3JgLCBgd2FybmluZ2AsIGBpbmZvcm1hdGlvbmAgb3IgYmxhbmsgZm9yIGRlZmF1bHQuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBzZXQgc3RhdGUoc3RhdGU6IEZvcm1TdGF0ZXMpIHtcbiAgICAgICAgdGhpcy5fc3RhdGUgPSBzdGF0ZTtcbiAgICB9XG5cbiAgICBnZXQgc3RhdGUoKTogRm9ybVN0YXRlcyB7XG4gICAgICAgIGlmICh0aGlzLl9zdGF0ZSA9PSBudWxsICYmIHRoaXMudXNlVmFsaWRhdGlvbiAmJiB0aGlzLl9pc0ludmFsaWRUaW1lSW5wdXQpIHtcbiAgICAgICAgICAgIHJldHVybiAnZXJyb3InO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0aGlzLl9zdGF0ZSA/PyAnZGVmYXVsdCc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogV2hldGhlciBBZGRPbiBCdXR0b24gc2hvdWxkIGJlIGZvY3VzYWJsZVxuICAgICAqIEBkZWZhdWx0IHRydWVcbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGJ1dHRvbkZvY3VzYWJsZSA9IHRydWU7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHNldCB0byB0cnVlLCB0aW1lIGlucHV0cyB3b24ndCBhbGxvdyB0byBoYXZlIDEgZGlnaXRcbiAgICAgKiBmb3IgZXhhbXBsZSA5IHdpbGwgYmVjb21lIDA5XG4gICAgICogYnV0IDEyIHdpbGwgYmUga2VwdCBhcyAxMi5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIGtlZXBUd29EaWdpdHNUaW1lID0gZmFsc2U7XG5cbiAgICAvKipcbiAgICAgKiBEaXNwbGF5IGZvcm1hdCBvcHRpb24gdG8gY3VzdG9taXplIHRpbWUgZm9ybWF0IGluIGlucHV0IGNvbnRyb2wuXG4gICAgICogTXVzdCBiZSBhIGZvcm1hdCBvcHRpb24gdGhhdCBpcyB1bmRlcnN0YW5kYWJsZSBieSBEYXRldGltZUFkYXB0ZXIuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICBkaXNwbGF5Rm9ybWF0OiB1bmtub3duO1xuXG4gICAgLyoqXG4gICAgICogUGFyc2UgZm9ybWF0IG9wdGlvbiB0byBjdXN0b21pemUgdGltZSBmb3JtYXQgaW4gaW5wdXQgY29udHJvbC5cbiAgICAgKiBNdXN0IGJlIGEgZm9ybWF0IG9wdGlvbiB0aGF0IGlzIHVuZGVyc3RhbmRhYmxlIGJ5IERhdGV0aW1lQWRhcHRlci5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHBhcnNlRm9ybWF0OiB1bmtub3duO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgc3RhdGUgXCJzdWNjZXNzXCIgYXJpYSBtZXNzYWdlLlxuICAgICAqL1xuICAgIEBJbnB1dCgpXG4gICAgdmFsdWVTdGF0ZVN1Y2Nlc3NNZXNzYWdlOiBzdHJpbmcgPSBpbmplY3QoVmFsdWVTdGF0ZUFyaWFNZXNzYWdlU2VydmljZSkuc3VjY2VzcztcblxuICAgIC8qKlxuICAgICAqIFZhbHVlIHN0YXRlIFwiaW5mb3JtYXRpb25cIiBhcmlhIG1lc3NhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZVN0YXRlSW5mb3JtYXRpb25NZXNzYWdlOiBzdHJpbmcgPSBpbmplY3QoVmFsdWVTdGF0ZUFyaWFNZXNzYWdlU2VydmljZSkuaW5mb3JtYXRpb247XG5cbiAgICAvKipcbiAgICAgKiBWYWx1ZSBzdGF0ZSBcIndhcm5pbmdcIiBhcmlhIG1lc3NhZ2UuXG4gICAgICovXG4gICAgQElucHV0KClcbiAgICB2YWx1ZVN0YXRlV2FybmluZ01lc3NhZ2U6IHN0cmluZyA9IGluamVjdChWYWx1ZVN0YXRlQXJpYU1lc3NhZ2VTZXJ2aWNlKS53YXJuaW5nO1xuXG4gICAgLyoqXG4gICAgICogVmFsdWUgc3RhdGUgXCJlcnJvclwiIGFyaWEgbWVzc2FnZS5cbiAgICAgKi9cbiAgICBASW5wdXQoKVxuICAgIHZhbHVlU3RhdGVFcnJvck1lc3NhZ2U6IHN0cmluZyA9IGluamVjdChWYWx1ZVN0YXRlQXJpYU1lc3NhZ2VTZXJ2aWNlKS5lcnJvcjtcblxuICAgIC8qKiBFdmVudCBlbWl0dGVkIHdoZW4gdGhlIHN0YXRlIG9mIHRoZSBpc09wZW4gcHJvcGVydHkgY2hhbmdlcy4gKi9cbiAgICBAT3V0cHV0KClcbiAgICBpc09wZW5DaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGJvb2xlYW4+KCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoVGltZUNvbXBvbmVudClcbiAgICBjaGlsZDogVGltZUNvbXBvbmVudDxEPjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRHcm91cENvbXBvbmVudCcsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIF9pbnB1dEdyb3VwRWxlbWVudDogRWxlbWVudFJlZjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgQFZpZXdDaGlsZChJbnB1dEdyb3VwSW5wdXREaXJlY3RpdmUsIHsgcmVhZDogRWxlbWVudFJlZiB9KVxuICAgIF9pbnB1dEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIEBWaWV3Q2hpbGQoJ2Zvcm1NZXNzYWdlVGVtcGxhdGUnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Zvcm1NZXNzYWdlVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBUaGUgaW50ZXJ2YWwgYmV0d2VlbiBzZWxlY3RhYmxlIG1pbnV0ZXMgKGUuZy4sIDEgZm9yIGV2ZXJ5IG1pbnV0ZSwgNSBmb3IgNS1taW51dGUgaW50ZXJ2YWxzLCAxNSBmb3IgMTUtbWludXRlIGludGVydmFscykuXG4gICAgICogRGVmYXVsdHMgdG8gMSAoZXZlcnkgbWludXRlKS5cbiAgICAgKi9cbiAgICByZWFkb25seSBtaW51dGVTdGVwID0gaW5wdXQ8bnVtYmVyPigxKTtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21lc3NhZ2U6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbWVzc2FnZVR5cGU6IEZvcm1TdGF0ZXMgfCBudWxsID0gbnVsbDtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX21lc3NhZ2VUcmlnZ2Vyczogc3RyaW5nW10gPSBbJ2ZvY3VzaW4nLCAnZm9jdXNvdXQnXTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKiBXaGV0aGVyIHRoZSBpbnB1dCB0aW1lIGlzIHZhbGlkKHN1Y2Nlc3MpLiBJbnRlcm5hbCB1c2UuXG4gICAgICovXG4gICAgX2lzSW52YWxpZFRpbWVJbnB1dCA9IGZhbHNlO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIEluZGljYXRlcyB3aGVuIHBvcG92ZXIgaXMgb3BlbmVkXG4gICAgICovXG4gICAgaXNPcGVuOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfbWVyaWRpYW46IGJvb2xlYW47XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9kaXNwbGF5U2Vjb25kczogYm9vbGVhbjtcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2Rpc3BsYXlNaW51dGVzOiBib29sZWFuO1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfZGlzcGxheUhvdXJzOiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIElucHV0IGZpZWxkIHZhbHVlXG4gICAgICovXG4gICAgX2lucHV0VGltZVZhbHVlID0gJyc7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb3JtVmFsdWVTdGF0ZU1lc3NhZ2VJZCA9IGBmZC10aW1lLXBpY2tlci1mb3JtLW1lc3NhZ2UtJHt0aW1lUGlja2VyQ291bnRlcisrfWA7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N0YXRlOiBGb3JtU3RhdGVzIHwgbnVsbCA9IG51bGw7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgX2Rlc3Ryb3lSZWYgPSBpbmplY3QoRGVzdHJveVJlZik7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgX3N1YnNjcmlwdGlvbnMgPSBuZXcgU3Vic2NyaXB0aW9uKCk7XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGdldCBfcGxhY2Vob2xkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGxhY2Vob2xkZXIgfHwgdGhpcy5fZ2V0UGxhY2Vob2xkZXIoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBwcml2YXRlIF9jaGFuZ2VEZXRlY3RvclJlZjogQ2hhbmdlRGV0ZWN0b3JSZWYsXG4gICAgICAgIHByaXZhdGUgX2VsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXG4gICAgICAgIC8vIFVzZSBAT3B0aW9uYWwgdG8gYXZvaWQgYW5ndWxhciBpbmplY3Rpb24gZXJyb3IgbWVzc2FnZSBhbmQgdGhyb3cgb3VyIG93biB3aGljaCBpcyBtb3JlIHByZWNpc2Ugb25lXG4gICAgICAgIEBPcHRpb25hbCgpIHByaXZhdGUgX2RhdGVUaW1lQWRhcHRlcjogRGF0ZXRpbWVBZGFwdGVyPEQ+LFxuICAgICAgICBAT3B0aW9uYWwoKSBASW5qZWN0KERBVEVfVElNRV9GT1JNQVRTKSBwcml2YXRlIF9kYXRlVGltZUZvcm1hdHM6IERhdGVUaW1lRm9ybWF0cyxcbiAgICAgICAgcHJpdmF0ZSBfcG9wb3ZlckZvcm1NZXNzYWdlOiBQb3BvdmVyRm9ybU1lc3NhZ2VTZXJ2aWNlXG4gICAgKSB7XG4gICAgICAgIGlmICghdGhpcy5fZGF0ZVRpbWVBZGFwdGVyKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxlbWVudGF0aW9uRXJyb3IoJ0RhdGVUaW1lQWRhcHRlcicpO1xuICAgICAgICB9XG4gICAgICAgIGlmICghdGhpcy5fZGF0ZVRpbWVGb3JtYXRzKSB7XG4gICAgICAgICAgICB0aHJvdyBjcmVhdGVNaXNzaW5nRGF0ZUltcGxlbWVudGF0aW9uRXJyb3IoJ0RBVEVfVElNRV9GT1JNQVRTJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uQ2hhbmdlOiAoXzogTnVsbGFibGU8RD4pID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG9uVG91Y2hlZDogKCkgPT4gdm9pZCA9ICgpID0+IHt9O1xuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fY2FsY3VsYXRlVGltZU9wdGlvbnMoKTtcbiAgICAgICAgdGhpcy5fZm9ybWF0VGltZUlucHV0RmllbGQoKTtcblxuICAgICAgICB0aGlzLl9kYXRlVGltZUFkYXB0ZXIubG9jYWxlQ2hhbmdlcy5waXBlKHRha2VVbnRpbERlc3Ryb3llZCh0aGlzLl9kZXN0cm95UmVmKSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2NhbGN1bGF0ZVRpbWVPcHRpb25zKCk7XG4gICAgICAgICAgICB0aGlzLl9mb3JtYXRUaW1lSW5wdXRGaWVsZCgpO1xuICAgICAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgWydkaXNwbGF5SG91cnMnLCAnZGlzcGxheU1pbnV0ZXMnLCAnZGlzcGxheVNlY29uZHMnLCAnbWVyaWRpYW4nLCAnZGlzcGxheUZvcm1hdCddLnNvbWUoXG4gICAgICAgICAgICAgICAgKGNoYW5nZSkgPT4gY2hhbmdlIGluIGNoYW5nZXNcbiAgICAgICAgICAgIClcbiAgICAgICAgKSB7XG4gICAgICAgICAgICB0aGlzLl9jYWxjdWxhdGVUaW1lT3B0aW9ucygpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChjaGFuZ2VzLmRpc3BsYXlGb3JtYXQpIHtcbiAgICAgICAgICAgIHRoaXMuX2Zvcm1hdFRpbWVJbnB1dEZpZWxkKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIG5nT25EZXN0cm95KCk6IHZvaWQge1xuICAgICAgICB0aGlzLl9zdWJzY3JpcHRpb25zLnVuc3Vic2NyaWJlKCk7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBuZ0FmdGVyVmlld0luaXQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5pdGlhbGlzZVZhcmlhYmxlc0luTWVzc2FnZVNlcnZpY2UoKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaGlkZGVuXG4gICAgICogRnVuY3Rpb24gdGhhdCBpbXBsZW1lbnRzIFZhbGlkYXRvciBJbnRlcmZhY2UsIGFkZHMgdmFsaWRhdGlvbiBzdXBwb3J0IGZvciBmb3Jtc1xuICAgICAqL1xuICAgIHZhbGlkYXRlKCk6IHsgW2tleTogc3RyaW5nXTogYW55IH0gfCBudWxsIHtcbiAgICAgICAgaWYgKHRoaXMuX2lzSW52YWxpZFRpbWVJbnB1dCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICB0aW1lVmFsaWRhdGlvbjoge1xuICAgICAgICAgICAgICAgICAgICB2YWxpZDogZmFsc2VcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9O1xuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgdGltZSBpbnB1dC5cbiAgICAgKi9cbiAgICBnZXRUaW1lKCk6IE51bGxhYmxlPEQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudGltZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGZvcm1hdCBvcHRpb25zIHRvIGJlIHVzZWQgZHVyaW5nIHRpbWUgZm9ybWF0dGluZy5cbiAgICAgKi9cbiAgICBnZXREaXNwbGF5Rm9ybWF0KCk6IHVua25vd24ge1xuICAgICAgICByZXR1cm4gdGhpcy5kaXNwbGF5Rm9ybWF0IHx8IHRoaXMuX2RhdGVUaW1lRm9ybWF0cy5kaXNwbGF5LnRpbWVJbnB1dDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGZvcm1hdCBvcHRpb25zIHRvIGJlIHVzZWQgZHVyaW5nIHRpbWUgcGFyc2luZy5cbiAgICAgKi9cbiAgICBnZXRQYXJzZUZvcm1hdCgpOiB1bmtub3duIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucGFyc2VGb3JtYXQgfHwgdGhpcy5fZGF0ZVRpbWVGb3JtYXRzLnBhcnNlLnRpbWVJbnB1dDtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9nZXRGb3JtYXR0ZWRUaW1lKHRpbWUgPSB0aGlzLnRpbWUpOiBzdHJpbmcge1xuICAgICAgICBsZXQgZm9ybWF0dGVkVGltZSA9ICcnO1xuXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBpZiAodGhpcy5hbGxvd051bGwgJiYgdGltZSA9PT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAnJztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGZvcm1hdHRlZFRpbWUgPSB0aGlzLl9kYXRlVGltZUFkYXB0ZXIuZm9ybWF0KHRpbWUhLCB0aGlzLmdldERpc3BsYXlGb3JtYXQoKSk7XG4gICAgICAgIH0gY2F0Y2gge31cblxuICAgICAgICByZXR1cm4gZm9ybWF0dGVkVGltZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAgQGhpZGRlblxuICAgICAqICBXaGVuIHRoZSBvcGVuIHN0YXRlIGlzIGNoYW5nZWQsIHRoZXJlIHNob3VsZCBiZSBhdCBsZWFzdCBvbmUgYWN0aXZlIGl0ZW0sIHdoaWNoIGJ5IGRlZmF1bHQgaXMgaG91ci5cbiAgICAgKi9cbiAgICBfc2V0SXNPcGVuKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3BlbiA9IGlzT3BlbjtcbiAgICAgICAgdGhpcy5fb25PcGVuU3RhdGVDaGFuZ2VkKGlzT3Blbik7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGhpZGRlblxuICAgICAqIFRpbWUgaW5wdXQgZmllbGQgY2hhbmdlcyBoYW5kbGVyXG4gICAgICovXG4gICAgX3RpbWVJbnB1dENoYW5nZWQoaW5wdXRWYWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgICAgIGlucHV0VmFsdWUgPSBpbnB1dFZhbHVlLnRyaW0oKTtcblxuICAgICAgICAvLyBjaGVjayBpZiB2YWx1ZSBoYXMgYmVlbiBjaGFuZ2VkXG4gICAgICAgIGlmICh0aGlzLl9pbnB1dFRpbWVWYWx1ZSA9PT0gaW5wdXRWYWx1ZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5faW5wdXRUaW1lVmFsdWUgPSBpbnB1dFZhbHVlO1xuXG4gICAgICAgIGlmIChpbnB1dFZhbHVlID09PSAnJykge1xuICAgICAgICAgICAgdGhpcy50aW1lID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2lzSW52YWxpZFRpbWVJbnB1dCA9ICF0aGlzLmFsbG93TnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChpbnB1dFZhbHVlICE9PSAnJykge1xuICAgICAgICAgICAgLy8gUmVnZXggdG8gZGV0ZWN0IGFuZCByZWFycmFuZ2UgZGF5IHBlcmlvZCBpbiB0aGUgdGltZSBzdHJpbmdcbiAgICAgICAgICAgIGNvbnN0IGRheVBlcmlvZFBhdHRlcm4gPSAvXFxiKG5pZ2h0fG1vcm5pbmd8YWZ0ZXJub29ufGV2ZW5pbmcpXFxiL2c7XG4gICAgICAgICAgICBpbnB1dFZhbHVlID0gaW5wdXRWYWx1ZS5yZXBsYWNlKGRheVBlcmlvZFBhdHRlcm4sICcnKS50cmltKCk7XG5cbiAgICAgICAgICAgIHRoaXMudGltZSA9IHRoaXMuX2RhdGVUaW1lQWRhcHRlci5wYXJzZShpbnB1dFZhbHVlLCB0aGlzLmdldFBhcnNlRm9ybWF0KCkpO1xuICAgICAgICAgICAgdGhpcy5faXNJbnZhbGlkVGltZUlucHV0ID0gIXRoaXMuX2RhdGVUaW1lQWRhcHRlci5pc1ZhbGlkKHRoaXMudGltZSEpO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLnRpbWUpO1xuXG4gICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9pbnB1dEdyb3VwQ2xpY2tlZCgkZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlzT3BlbiAmJiAhdGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgICAgICAgdGhpcy5fc2V0SXNPcGVuKHRydWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfYWRkT25CdXR0b25DbGlja2VkKCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuX3NldElzT3BlbighdGhpcy5pc09wZW4pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfcG9wb3ZlckNsb3NlZCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5fc2V0SXNPcGVuKGZhbHNlKTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9nZXRQbGFjZWhvbGRlcigpOiBzdHJpbmcge1xuICAgICAgICBsZXQgcmV0VmFsID0gJyc7XG5cbiAgICAgICAgaWYgKHRoaXMuX2Rpc3BsYXlIb3Vycykge1xuICAgICAgICAgICAgcmV0VmFsID0gcmV0VmFsICsgJ2hoJztcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5fZGlzcGxheU1pbnV0ZXMpIHtcbiAgICAgICAgICAgIHJldFZhbCA9IHJldFZhbCArICc6bW0nO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0aGlzLl9kaXNwbGF5U2Vjb25kcykge1xuICAgICAgICAgICAgcmV0VmFsID0gcmV0VmFsICsgJzpzcyc7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuX21lcmlkaWFuKSB7XG4gICAgICAgICAgICByZXRWYWwgPSByZXRWYWwgKyAnIGFtL3BtJztcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiByZXRWYWw7XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfdGltZUNvbXBvbmVudFZhbHVlQ2hhbmdlZCh0aW1lOiBEKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLl9kYXRlVGltZUFkYXB0ZXIuZGF0ZVRpbWVzRXF1YWwodGltZSwgdGhpcy50aW1lISkpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9pbnB1dFRpbWVWYWx1ZSA9IHRoaXMuX2dldEZvcm1hdHRlZFRpbWUodGltZSk7XG4gICAgICAgIHRoaXMudGltZSA9IHRpbWU7XG4gICAgICAgIHRoaXMuX2lzSW52YWxpZFRpbWVJbnB1dCA9ICF0aGlzLl9kYXRlVGltZUFkYXB0ZXIuaXNWYWxpZCh0aW1lKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSh0aW1lKTtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8vICNyZWdpb24gQ29udHJvbFZhbHVlQWNjZXNzb3JcblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcmVnaXN0ZXJPbkNoYW5nZShmbjogKHRpbWU6IE51bGxhYmxlPEQ+KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgICAgIHRoaXMub25DaGFuZ2UgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHJlZ2lzdGVyT25Ub3VjaGVkKGZuOiBhbnkpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vblRvdWNoZWQgPSBmbjtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHNldERpc2FibGVkU3RhdGUoaXNEaXNhYmxlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmRpc2FibGVkID0gaXNEaXNhYmxlZDtcbiAgICAgICAgdGhpcy5fY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgd3JpdGVWYWx1ZSh0aW1lOiBEKTogdm9pZCB7XG4gICAgICAgIGlmICghdGltZSkge1xuICAgICAgICAgICAgdGhpcy50aW1lID0gbnVsbDtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0VGltZVZhbHVlID0gJyc7XG4gICAgICAgICAgICB0aGlzLl9pc0ludmFsaWRUaW1lSW5wdXQgPSAhdGhpcy5hbGxvd051bGw7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnRpbWUgPSB0aGlzLl9kYXRlVGltZUFkYXB0ZXIucGFyc2UodGltZSwgdGhpcy5nZXRQYXJzZUZvcm1hdCgpKTtcbiAgICAgICAgICAgIHRoaXMuX2lucHV0VGltZVZhbHVlID0gdGhpcy5fZ2V0Rm9ybWF0dGVkVGltZSh0aW1lKTtcbiAgICAgICAgICAgIHRoaXMuX2lzSW52YWxpZFRpbWVJbnB1dCA9ICF0aGlzLl9kYXRlVGltZUFkYXB0ZXIuaXNWYWxpZCh0aW1lKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLl9jaGFuZ2VEZXRlY3RvclJlZi5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICAvLyAjZW5kcmVnaW9uIENvbnRyb2xWYWx1ZUFjY2Vzc29yXG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIF9mb3JtYXRUaW1lSW5wdXRGaWVsZCh0aW1lID0gdGhpcy50aW1lKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuICh0aGlzLl9pbnB1dFRpbWVWYWx1ZSA9IHRoaXMuX2dldEZvcm1hdHRlZFRpbWUodGltZSkpO1xuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgX2NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5KCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5pc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX3BvcG92ZXJGb3JtTWVzc2FnZS5oaWRlKCk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLl9wb3BvdmVyRm9ybU1lc3NhZ2Uuc2hvdygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLyoqIEBoaWRkZW4gKi9cbiAgICBfb25PcGVuU3RhdGVDaGFuZ2VkKGlzT3BlbjogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLmlzT3BlbkNoYW5nZS5lbWl0KGlzT3Blbik7XG4gICAgICAgIHRoaXMuX2NoYW5nZU1lc3NhZ2VWaXNpYmlsaXR5KCk7XG4gICAgICAgIGlmIChpc09wZW4pIHtcbiAgICAgICAgICAgIHRoaXMuX2NoYW5nZURldGVjdG9yUmVmLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgICAgIHRoaXMuY2hpbGQuZm9jdXNBY3RpdmVDb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBmb2N1cyBpbnB1dCBjb250cm9sIGV2ZXJ5IHRpbWUgcG9wdXAgaXMgY2xvc2VkXG4gICAgICAgIGlmICghaXNPcGVuICYmIHRoaXMuX2lucHV0RWxlbWVudCkge1xuICAgICAgICAgICAgdGhpcy5faW5wdXRFbGVtZW50Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJvdGVjdGVkIF9mb2N1c091dChldmVudDogRm9jdXNFdmVudCk6IHZvaWQge1xuICAgICAgICBpZiAoIXRoaXMuX2VsZW1lbnRSZWYubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC5yZWxhdGVkVGFyZ2V0KSkge1xuICAgICAgICAgICAgdGhpcy5vblRvdWNoZWQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcHJpdmF0ZSBfY2FsY3VsYXRlVGltZU9wdGlvbnMoKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGZvcm1hdCA9IHRoaXMuZ2V0RGlzcGxheUZvcm1hdCgpO1xuXG4gICAgICAgIC8vIGRlZmF1bHQgbWVyaWRpYW4gb3B0aW9uIGJhc2VkIG9uIGZvcm1hdCBvcHRpb25cbiAgICAgICAgdGhpcy5fbWVyaWRpYW4gPVxuICAgICAgICAgICAgdGhpcy5tZXJpZGlhbiAhPSBudWxsID8gdGhpcy5tZXJpZGlhbiA6IHRoaXMuX2RhdGVUaW1lQWRhcHRlci5pc1RpbWVGb3JtYXRJbmNsdWRlc0RheVBlcmlvZChmb3JtYXQpO1xuXG4gICAgICAgIC8vIGRlZmF1bHQgc2Vjb25kcyBvcHRpb24gYmFzZWQgb24gZm9ybWF0IG9wdGlvblxuICAgICAgICB0aGlzLl9kaXNwbGF5U2Vjb25kcyA9XG4gICAgICAgICAgICB0aGlzLmRpc3BsYXlTZWNvbmRzICE9IG51bGxcbiAgICAgICAgICAgICAgICA/IHRoaXMuZGlzcGxheVNlY29uZHNcbiAgICAgICAgICAgICAgICA6IHRoaXMuX2RhdGVUaW1lQWRhcHRlci5pc1RpbWVGb3JtYXRJbmNsdWRlc1NlY29uZHMoZm9ybWF0KTtcblxuICAgICAgICAvLyBkZWZhdWx0IG1pbnV0ZXMgb3B0aW9uIGJhc2VkIG9uIGZvcm1hdCBvcHRpb25cbiAgICAgICAgdGhpcy5fZGlzcGxheU1pbnV0ZXMgPVxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5TWludXRlcyAhPSBudWxsXG4gICAgICAgICAgICAgICAgPyB0aGlzLmRpc3BsYXlNaW51dGVzXG4gICAgICAgICAgICAgICAgOiB0aGlzLl9kYXRlVGltZUFkYXB0ZXIuaXNUaW1lRm9ybWF0SW5jbHVkZXNNaW51dGVzKGZvcm1hdCk7XG5cbiAgICAgICAgLy8gZGVmYXVsdCBob3VycyBvcHRpb24gYmFzZWQgb24gZm9ybWF0IG9wdGlvblxuICAgICAgICB0aGlzLl9kaXNwbGF5SG91cnMgPVxuICAgICAgICAgICAgdGhpcy5kaXNwbGF5SG91cnMgIT0gbnVsbCA/IHRoaXMuZGlzcGxheUhvdXJzIDogdGhpcy5fZGF0ZVRpbWVBZGFwdGVyLmlzVGltZUZvcm1hdEluY2x1ZGVzSG91cnMoZm9ybWF0KTtcbiAgICB9XG5cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHByaXZhdGUgaW5pdGlhbGlzZVZhcmlhYmxlc0luTWVzc2FnZVNlcnZpY2UoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuX3BvcG92ZXJGb3JtTWVzc2FnZS5pbml0KHRoaXMuX2lucHV0R3JvdXBFbGVtZW50KTtcbiAgICAgICAgdGhpcy5fcG9wb3ZlckZvcm1NZXNzYWdlLm1lc3NhZ2UgPSB0aGlzLl9mb3JtTWVzc2FnZVRlbXBsYXRlO1xuICAgICAgICB0aGlzLl9wb3BvdmVyRm9ybU1lc3NhZ2UudHJpZ2dlcnMgPSB0aGlzLl9tZXNzYWdlVHJpZ2dlcnM7XG4gICAgfVxufVxuIiwiPGZkLXBvcG92ZXJcbiAgICBbKGlzT3BlbildPVwiaXNPcGVuXCJcbiAgICAoaXNPcGVuQ2hhbmdlKT1cIl9vbk9wZW5TdGF0ZUNoYW5nZWQoJGV2ZW50KVwiXG4gICAgW3RyaWdnZXJzXT1cIltdXCJcbiAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgIFtwbGFjZW1lbnRdPVwicGxhY2VtZW50XCJcbiAgICBbY2xvc2VPbkVzY2FwZUtleV09XCJ0cnVlXCJcbiAgICBbZm9jdXNBdXRvQ2FwdHVyZV09XCJmYWxzZVwiXG4gICAgW2ZvY3VzVHJhcHBlZF09XCJ0cnVlXCJcbj5cbiAgICA8ZmQtcG9wb3Zlci1jb250cm9sPlxuICAgICAgICA8ZmQtaW5wdXQtZ3JvdXBcbiAgICAgICAgICAgICNpbnB1dEdyb3VwQ29tcG9uZW50XG4gICAgICAgICAgICAoYWRkT25CdXR0b25DbGlja2VkKT1cIl9hZGRPbkJ1dHRvbkNsaWNrZWQoKVwiXG4gICAgICAgICAgICBbYnV0dG9uXT1cInRydWVcIlxuICAgICAgICAgICAgW3N0YXRlXT1cInN0YXRlXCJcbiAgICAgICAgICAgIFtkaXNhYmxlZF09XCJkaXNhYmxlZFwiXG4gICAgICAgICAgICBbYnV0dG9uRm9jdXNhYmxlXT1cImJ1dHRvbkZvY3VzYWJsZVwiXG4gICAgICAgICAgICBbaXNDb250cm9sXT1cInRydWVcIlxuICAgICAgICAgICAgW2lzRXhwYW5kZWRdPVwiaXNPcGVuXCJcbiAgICAgICAgICAgIFtnbHlwaEFyaWFMYWJlbF09XCJ0aW1lUGlja2VyQnV0dG9uTGFiZWwgfHwgKCdjb3JlVGltZVBpY2tlci50aW1lUGlja2VyQnV0dG9uTGFiZWwnIHwgZmRUcmFuc2xhdGUpXCJcbiAgICAgICAgICAgIGdseXBoPVwiZm9iLXdhdGNoXCJcbiAgICAgICAgPlxuICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiZmQtaW5wdXRcIlxuICAgICAgICAgICAgICAgIGZkLWlucHV0LWdyb3VwLWlucHV0XG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cIl9pbnB1dFRpbWVWYWx1ZSB8IHRyYW5zbGF0ZURheVBlcmlvZFwiXG4gICAgICAgICAgICAgICAgKGZvY3Vzb3V0KT1cIl90aW1lSW5wdXRDaGFuZ2VkKCRhbnkoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgKGtleXVwLmVudGVyKT1cIl90aW1lSW5wdXRDaGFuZ2VkKCRhbnkoJGV2ZW50LmN1cnJlbnRUYXJnZXQpLnZhbHVlKVwiXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5pZF09XCJpbnB1dElkXCJcbiAgICAgICAgICAgICAgICBbcGxhY2Vob2xkZXJdPVwiX3BsYWNlaG9sZGVyXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsbGVkYnldPVwiYXJpYUxhYmVsbGVkQnlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwidGltZVBpY2tlcklucHV0TGFiZWwgfHwgKCdjb3JlVGltZVBpY2tlci50aW1lUGlja2VySW5wdXRMYWJlbCcgfCBmZFRyYW5zbGF0ZSlcIlxuICAgICAgICAgICAgICAgIFthdHRyLmFyaWEtZGVzY3JpYmVkYnldPVwiX2Zvcm1WYWx1ZVN0YXRlTWVzc2FnZUlkXCJcbiAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXJlcXVpcmVkXT1cInJlcXVpcmVkXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgIDwvZmQtaW5wdXQtZ3JvdXA+XG4gICAgPC9mZC1wb3BvdmVyLWNvbnRyb2w+XG4gICAgPGZkLXBvcG92ZXItYm9keT5cbiAgICAgICAgPG5nLXRlbXBsYXRlIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImZvcm1NZXNzYWdlVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxuICAgICAgICA8bmctY29udGVudD48L25nLWNvbnRlbnQ+XG4gICAgICAgIEBpZiAoaXNPcGVuKSB7XG4gICAgICAgICAgICA8ZmQtdGltZVxuICAgICAgICAgICAgICAgIFt0YWJsZXRdPVwidGFibGV0XCJcbiAgICAgICAgICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxuICAgICAgICAgICAgICAgIFtrZWVwVHdvRGlnaXRzXT1cImtlZXBUd29EaWdpdHNUaW1lXCJcbiAgICAgICAgICAgICAgICBbbmdNb2RlbF09XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJfdGltZUNvbXBvbmVudFZhbHVlQ2hhbmdlZCgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICBbbWVyaWRpYW5dPVwiX21lcmlkaWFuXCJcbiAgICAgICAgICAgICAgICBbZGlzcGxheUhvdXJzXT1cIl9kaXNwbGF5SG91cnNcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5TWludXRlc109XCJfZGlzcGxheU1pbnV0ZXNcIlxuICAgICAgICAgICAgICAgIFtkaXNwbGF5U2Vjb25kc109XCJfZGlzcGxheVNlY29uZHNcIlxuICAgICAgICAgICAgICAgIFttaW51dGVTdGVwXT1cIm1pbnV0ZVN0ZXAoKVwiXG4gICAgICAgICAgICAgICAgW3NwaW5uZXJCdXR0b25zXT1cInNwaW5uZXJCdXR0b25zXCJcbiAgICAgICAgICAgID48L2ZkLXRpbWU+XG4gICAgICAgIH1cbiAgICA8L2ZkLXBvcG92ZXItYm9keT5cbjwvZmQtcG9wb3Zlcj5cbjxkaXYgW3N0eWxlLmRpc3BsYXldPVwiJ25vbmUnXCIgYXJpYS1oaWRkZW49XCJ0cnVlXCI+XG4gICAgPGRpdiBbYXR0ci5pZF09XCJfZm9ybVZhbHVlU3RhdGVNZXNzYWdlSWRcIiBhcmlhLWF0b21pYz1cInRydWVcIiBhcmlhLWxpdmU9XCJhc3NlcnRpdmVcIj5cbiAgICAgICAgQHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgICAgIEBjYXNlICgnc3VjY2VzcycpIHtcbiAgICAgICAgICAgICAgICB7eyB2YWx1ZVN0YXRlU3VjY2Vzc01lc3NhZ2UgfX1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBjYXNlICgnaW5mb3JtYXRpb24nKSB7XG4gICAgICAgICAgICAgICAge3sgdmFsdWVTdGF0ZUluZm9ybWF0aW9uTWVzc2FnZSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCd3YXJuaW5nJykge1xuICAgICAgICAgICAgICAgIHt7IHZhbHVlU3RhdGVXYXJuaW5nTWVzc2FnZSB9fVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGNhc2UgKCdlcnJvcicpIHtcbiAgICAgICAgICAgICAgICB7eyB2YWx1ZVN0YXRlRXJyb3JNZXNzYWdlIH19XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAge3sgX21lc3NhZ2UgfX1cbiAgICA8L2Rpdj5cbjwvZGl2PlxuPG5nLXRlbXBsYXRlICNmb3JtTWVzc2FnZVRlbXBsYXRlPlxuICAgIEBpZiAoX21lc3NhZ2UpIHtcbiAgICAgICAgPGZkLWZvcm0tbWVzc2FnZSBbZW1iZWRkZWRdPVwidHJ1ZVwiIFt0eXBlXT1cInN0YXRlXCI+XG4gICAgICAgICAgICB7eyBfbWVzc2FnZSB9fVxuICAgICAgICA8L2ZkLWZvcm0tbWVzc2FnZT5cbiAgICB9XG48L25nLXRlbXBsYXRlPlxuIl19","import { NgModule } from '@angular/core';\nimport { TimePickerComponent } from './time-picker.component';\nimport * as i0 from \"@angular/core\";\n/**\n * @deprecated\n * Use direct import of `TimePickerComponent`\n */\nexport class TimePickerModule {\n static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); }\n static { this.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: \"14.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent], exports: [TimePickerComponent] }); }\n static { this.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerModule, imports: [TimePickerComponent] }); }\n}\ni0.ɵɵngDeclareClassMetadata({ minVersion: \"12.0.0\", version: \"20.1.4\", ngImport: i0, type: TimePickerModule, decorators: [{\n type: NgModule,\n args: [{\n imports: [TimePickerComponent],\n exports: [TimePickerComponent]\n }]\n }] });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1waWNrZXIubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGlicy9jb3JlL3RpbWUtcGlja2VyL3RpbWUtcGlja2VyLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpDLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOztBQUU5RDs7O0dBR0c7QUFLSCxNQUFNLE9BQU8sZ0JBQWdCOzhHQUFoQixnQkFBZ0I7K0dBQWhCLGdCQUFnQixZQUhmLG1CQUFtQixhQUNuQixtQkFBbUI7K0dBRXBCLGdCQUFnQixZQUhmLG1CQUFtQjs7MkZBR3BCLGdCQUFnQjtrQkFKNUIsUUFBUTttQkFBQztvQkFDTixPQUFPLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQztvQkFDOUIsT0FBTyxFQUFFLENBQUMsbUJBQW1CLENBQUM7aUJBQ2pDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgVGltZVBpY2tlckNvbXBvbmVudCB9IGZyb20gJy4vdGltZS1waWNrZXIuY29tcG9uZW50JztcblxuLyoqXG4gKiBAZGVwcmVjYXRlZFxuICogVXNlIGRpcmVjdCBpbXBvcnQgb2YgYFRpbWVQaWNrZXJDb21wb25lbnRgXG4gKi9cbkBOZ01vZHVsZSh7XG4gICAgaW1wb3J0czogW1RpbWVQaWNrZXJDb21wb25lbnRdLFxuICAgIGV4cG9ydHM6IFtUaW1lUGlja2VyQ29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBUaW1lUGlja2VyTW9kdWxlIHt9XG4iXX0=","/**\n * Generated bundle index. Do not edit.\n */\nexport * from './index';\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnVuZGFtZW50YWwtbmd4LWNvcmUtdGltZS1waWNrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWJzL2NvcmUvdGltZS1waWNrZXIvZnVuZGFtZW50YWwtbmd4LWNvcmUtdGltZS1waWNrZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLFNBQVMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9pbmRleCc7XG4iXX0="],"names":[],"mappings":"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"}
|