@f1falcha/stimulus 1.0.0
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/accordion/accordion-config.scss +18 -0
- package/accordion/accordion-item/accordion-item.component.d.ts +11 -0
- package/accordion/accordion-item-body/accordion-item-body.component.d.ts +10 -0
- package/accordion/accordion-item-header/accordion-item-header.component.d.ts +15 -0
- package/accordion/accordion.d.ts +12 -0
- package/accordion/accordion.icon.d.ts +3 -0
- package/accordion/accordion.scss +41 -0
- package/account-card/account-card-config.scss +36 -0
- package/account-card/account-card-header/account-card-header-config.scss +9 -0
- package/account-card/account-card-header/account-card-header.component.d.ts +12 -0
- package/account-card/account-card-header/account-card-header.scss +11 -0
- package/account-card/account-card.component.d.ts +16 -0
- package/account-card/account-card.scss +19 -0
- package/alert/alert-animation.d.ts +6 -0
- package/alert/alert-config.d.ts +26 -0
- package/alert/alert-config.scss +43 -0
- package/alert/alert-icon.d.ts +3 -0
- package/alert/alert-ref.d.ts +11 -0
- package/alert/alert.d.ts +23 -0
- package/alert/alert.scss +91 -0
- package/alert/alert.service.d.ts +31 -0
- package/avatar/avatar-config.scss +12 -0
- package/avatar/avatar.d.ts +21 -0
- package/avatar/avatar.scss +2 -0
- package/badge/badge-config.scss +68 -0
- package/badge/badge.d.ts +17 -0
- package/badge/badge.scss +21 -0
- package/bank-logo.provider.d.ts +7 -0
- package/bordered-section/bordered-section-config.scss +24 -0
- package/bordered-section/bordered-section.d.ts +15 -0
- package/bordered-section/bordered-section.scss +22 -0
- package/box-shadow/box-shadow-config.scss +18 -0
- package/button/button-config.scss +342 -0
- package/button/button.d.ts +10 -0
- package/button/button.scss +62 -0
- package/button-group/button-group-config.scss +12 -0
- package/button-group/button-group-header/button-group-header-config.scss +9 -0
- package/button-group/button-group-header/button-group-header.d.ts +8 -0
- package/button-group/button-group-header/button-group-header.scss +5 -0
- package/button-group/button-group.d.ts +11 -0
- package/button-group/buttton-group.scss +19 -0
- package/button-spinner/button-spinner-config.scss +15 -0
- package/button-spinner/button-spinner.scss +30 -0
- package/card/card-config.scss +15 -0
- package/card/card.component.d.ts +8 -0
- package/card/card.scss +14 -0
- package/chart/chart-config.scss +21 -0
- package/chart/chart.component.d.ts +21 -0
- package/chart/chart.component.scss +34 -0
- package/checkbox/checkbox-config.scss +62 -0
- package/checkbox/checkbox.scss +45 -0
- package/checkbox-dropdown/checkbox-dropdown.component.d.ts +139 -0
- package/checkbox-dropdown/checkbox-dropdown.component.scss +11 -0
- package/checkbox-dropdown/checkbox-dropdown.icon.d.ts +3 -0
- package/clipboard/clipboard-config.scss +23 -0
- package/clipboard/clipboard.component.d.ts +15 -0
- package/clipboard/clipboard.component.scss +37 -0
- package/clipboard/clipboard.icon.d.ts +3 -0
- package/color/cherry.scss +19 -0
- package/color/chilli.scss +19 -0
- package/color/comet.scss +19 -0
- package/color/cotton-candy.scss +19 -0
- package/color/default.scss +154 -0
- package/color/emerald.scss +19 -0
- package/color/goblin.scss +19 -0
- package/color/jacaranda.scss +19 -0
- package/color/mars.scss +19 -0
- package/color/orchid.scss +19 -0
- package/color/spaceship.scss +19 -0
- package/color/summer.scss +19 -0
- package/color/tiger-lily.scss +19 -0
- package/color-wrapper/color-wrapper-config.scss +37 -0
- package/color-wrapper/color-wrapper.d.ts +17 -0
- package/color-wrapper/color-wrapper.scss +23 -0
- package/column-seperator/column-separator-config.scss +16 -0
- package/column-seperator/column-separator.d.ts +14 -0
- package/column-seperator/column-separator.scss +25 -0
- package/column-text/column-text.config.scss +12 -0
- package/column-text/column-text.d.ts +11 -0
- package/column-text/column-text.scss +22 -0
- package/container/container-config.scss +12 -0
- package/container/container.component.d.ts +12 -0
- package/container/container.scss +19 -0
- package/custom-datepicker/custom-datepicker-config.scss +50 -0
- package/custom-datepicker/custom-datepicker.component.d.ts +80 -0
- package/custom-datepicker/custom-datepicker.component.scss +127 -0
- package/custom-datepicker/custom-datepicker.model.d.ts +18 -0
- package/custom-datepicker/datepicker.icon.d.ts +3 -0
- package/custom-datepicker/timepicker/timepicker.component.d.ts +37 -0
- package/custom-datepicker/timepicker/timepicker.component.scss +79 -0
- package/data-list/data-list.config.scss +35 -0
- package/data-list/data-list.d.ts +13 -0
- package/data-list/data-list.scss +67 -0
- package/date-range-picker/date-range-picker.d.ts +40 -0
- package/datepicker/datepicker.config.scss +0 -0
- package/datepicker/datepicker.d.ts +45 -0
- package/datepicker/datepicker.scss +0 -0
- package/datepicker-icon/datepicker-icon-config.scss +10 -0
- package/datepicker-icon/datepicker-icon.d.ts +6 -0
- package/datepicker-icon/datepicker-icon.scss +7 -0
- package/datepicker.provider.d.ts +2 -0
- package/detail-panel/detail-panel-config.scss +16 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column-config.scss +11 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.d.ts +6 -0
- package/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.scss +15 -0
- package/detail-panel/detail-panel-row/detail-panel-row.d.ts +6 -0
- package/detail-panel/detail-panel-row/detail-panel-row.scss +5 -0
- package/detail-panel/detail-panel-title/detail-panel-title-config.scss +14 -0
- package/detail-panel/detail-panel-title/detail-panel-title.d.ts +7 -0
- package/detail-panel/detail-panel-title/detail-panel-title.scss +16 -0
- package/detail-panel/detail-panel.d.ts +11 -0
- package/detail-panel/detail-panel.scss +50 -0
- package/dialog/dialog-body/dialog-body.component.d.ts +6 -0
- package/dialog/dialog-config.scss +24 -0
- package/dialog/dialog-container/dialog-container-config.scss +9 -0
- package/dialog/dialog-container/dialog-container.component.d.ts +6 -0
- package/dialog/dialog-container/dialog-container.scss +6 -0
- package/dialog/dialog-footer/dialog-footer.component.d.ts +6 -0
- package/dialog/dialog-footer/dialog-footer.scss +6 -0
- package/dialog/dialog-header/dialog-header-config.scss +14 -0
- package/dialog/dialog-header/dialog-header.component.d.ts +10 -0
- package/dialog/dialog-header/dialog-header.scss +16 -0
- package/dialog/dialog-icon.d.ts +3 -0
- package/dialog/dialog.component.d.ts +12 -0
- package/dialog/dialog.scss +27 -0
- package/dialog.provider.d.ts +3 -0
- package/dialog.ref.d.ts +4 -0
- package/dialog.service.d.ts +7 -0
- package/dropdown/context-menu-config.scss +23 -0
- package/dropdown/context-menu-content/context-menu-content.d.ts +9 -0
- package/dropdown/context-menu-item.d.ts +10 -0
- package/dropdown/context-menu-list/context-menu-list.d.ts +9 -0
- package/dropdown/context-menu.d.ts +19 -0
- package/dropdown/context-menu.scss +41 -0
- package/error-page-container/error-content/error-content-config.scss +29 -0
- package/error-page-container/error-content/error-content.d.ts +24 -0
- package/error-page-container/error-content/error-content.scss +58 -0
- package/error-page-container/error-page-container.d.ts +6 -0
- package/error-page-container/error-page-container.scss +15 -0
- package/esm2022/accordion/accordion-item/accordion-item.component.mjs +23 -0
- package/esm2022/accordion/accordion-item-body/accordion-item-body.component.mjs +18 -0
- package/esm2022/accordion/accordion-item-header/accordion-item-header.component.mjs +41 -0
- package/esm2022/accordion/accordion.icon.mjs +25 -0
- package/esm2022/accordion/accordion.mjs +14 -0
- package/esm2022/account-card/account-card-header/account-card-header.component.mjs +30 -0
- package/esm2022/account-card/account-card.component.mjs +64 -0
- package/esm2022/alert/alert-animation.mjs +9 -0
- package/esm2022/alert/alert-config.mjs +13 -0
- package/esm2022/alert/alert-icon.mjs +33 -0
- package/esm2022/alert/alert-ref.mjs +23 -0
- package/esm2022/alert/alert.mjs +50 -0
- package/esm2022/alert/alert.service.mjs +112 -0
- package/esm2022/avatar/avatar.mjs +91 -0
- package/esm2022/badge/badge.mjs +77 -0
- package/esm2022/bank-logo.provider.mjs +12 -0
- package/esm2022/bordered-section/bordered-section.mjs +70 -0
- package/esm2022/button/button.mjs +26 -0
- package/esm2022/button-group/button-group-header/button-group-header.mjs +24 -0
- package/esm2022/button-group/button-group.mjs +41 -0
- package/esm2022/card/card.component.mjs +28 -0
- package/esm2022/chart/chart.component.mjs +70 -0
- package/esm2022/checkbox-dropdown/checkbox-dropdown.component.mjs +232 -0
- package/esm2022/checkbox-dropdown/checkbox-dropdown.icon.mjs +14 -0
- package/esm2022/clipboard/clipboard.component.mjs +36 -0
- package/esm2022/clipboard/clipboard.icon.mjs +6 -0
- package/esm2022/color-wrapper/color-wrapper.mjs +82 -0
- package/esm2022/column-seperator/column-separator.mjs +62 -0
- package/esm2022/column-text/column-text.mjs +38 -0
- package/esm2022/container/container.component.mjs +46 -0
- package/esm2022/custom-datepicker/custom-datepicker.component.mjs +364 -0
- package/esm2022/custom-datepicker/custom-datepicker.model.mjs +12 -0
- package/esm2022/custom-datepicker/datepicker.icon.mjs +7 -0
- package/esm2022/custom-datepicker/timepicker/timepicker.component.mjs +195 -0
- package/esm2022/data-list/data-list.mjs +46 -0
- package/esm2022/date-range-picker/date-range-picker.mjs +207 -0
- package/esm2022/datepicker/datepicker.mjs +153 -0
- package/esm2022/datepicker-icon/datepicker-icon.mjs +18 -0
- package/esm2022/datepicker.provider.mjs +6 -0
- package/esm2022/detail-panel/detail-panel-row/detail-panel-column/detail-panel-column.mjs +15 -0
- package/esm2022/detail-panel/detail-panel-row/detail-panel-row.mjs +15 -0
- package/esm2022/detail-panel/detail-panel-title/detail-panel-title.mjs +19 -0
- package/esm2022/detail-panel/detail-panel.mjs +36 -0
- package/esm2022/dialog/dialog-body/dialog-body.component.mjs +16 -0
- package/esm2022/dialog/dialog-container/dialog-container.component.mjs +16 -0
- package/esm2022/dialog/dialog-footer/dialog-footer.component.mjs +16 -0
- package/esm2022/dialog/dialog-header/dialog-header.component.mjs +25 -0
- package/esm2022/dialog/dialog-icon.mjs +8 -0
- package/esm2022/dialog/dialog.component.mjs +36 -0
- package/esm2022/dialog.provider.mjs +5 -0
- package/esm2022/dialog.ref.mjs +4 -0
- package/esm2022/dialog.service.mjs +15 -0
- package/esm2022/dropdown/context-menu-content/context-menu-content.mjs +18 -0
- package/esm2022/dropdown/context-menu-item.mjs +28 -0
- package/esm2022/dropdown/context-menu-list/context-menu-list.mjs +18 -0
- package/esm2022/dropdown/context-menu.mjs +61 -0
- package/esm2022/error-page-container/error-content/error-content.mjs +49 -0
- package/esm2022/error-page-container/error-page-container.mjs +18 -0
- package/esm2022/extract-inital/extract-initial.mjs +21 -0
- package/esm2022/f1softinternational-stimulus.mjs +5 -0
- package/esm2022/file-uploader/file-uploader-icon.mjs +13 -0
- package/esm2022/file-uploader/file-uploader.mjs +274 -0
- package/esm2022/file-uploader/file-uploader.ref.mjs +3 -0
- package/esm2022/file-uploader/file-uploader.service.mjs +26 -0
- package/esm2022/filter/filter.mjs +173 -0
- package/esm2022/form/form-control/form-control-action.mjs +18 -0
- package/esm2022/form/form-control/form-control-icon.mjs +18 -0
- package/esm2022/form/form-control/form-field.mjs +86 -0
- package/esm2022/form/form-control-wrapper/form-control-wrapper.component.mjs +22 -0
- package/esm2022/form/form-error-messages.mjs +43 -0
- package/esm2022/form/form-message/form-message.mjs +30 -0
- package/esm2022/form/select-input-field/select-input-field.mjs +14 -0
- package/esm2022/form/validate-and-submit.mjs +54 -0
- package/esm2022/full-container/full-container.component.mjs +30 -0
- package/esm2022/grid/grid-item.component.mjs +24 -0
- package/esm2022/grid/grid.component.mjs +56 -0
- package/esm2022/grid-row/grid-row.mjs +18 -0
- package/esm2022/icon/icons.mjs +619 -0
- package/esm2022/image-card/illustration.pipe.mjs +57 -0
- package/esm2022/image-card/image-card.component.mjs +22 -0
- package/esm2022/image-panel/image-panel.component.mjs +88 -0
- package/esm2022/info-column/info-column.mjs +18 -0
- package/esm2022/info-slider/info-slider.component.mjs +50 -0
- package/esm2022/inline-alert/inline-alert.mjs +51 -0
- package/esm2022/inline-group/inline-group.component.mjs +32 -0
- package/esm2022/input/input.mjs +25 -0
- package/esm2022/label/label.mjs +18 -0
- package/esm2022/layout/layout.component.mjs +23 -0
- package/esm2022/link/link.mjs +79 -0
- package/esm2022/media-preview/media-preview-icon.mjs +41 -0
- package/esm2022/media-preview/media-preview-modal/media-preview-modal.mjs +128 -0
- package/esm2022/media-preview/media-preview.mjs +131 -0
- package/esm2022/media-preview/media_preview.service.mjs +31 -0
- package/esm2022/menu/menu-icon.mjs +29 -0
- package/esm2022/menu/menu.component.mjs +151 -0
- package/esm2022/nebular-icon.mjs +179 -0
- package/esm2022/otp-input/otp-input.component.mjs +106 -0
- package/esm2022/otp-input/otp-input.icon.mjs +13 -0
- package/esm2022/page-container/page-container-info/page-container-info.component.mjs +28 -0
- package/esm2022/page-container/page-container.component.mjs +63 -0
- package/esm2022/page-header/page-header.component.mjs +47 -0
- package/esm2022/page-header/page-header.icons.mjs +8 -0
- package/esm2022/page-header/page-sub-heading/page-sub-heading.component.mjs +12 -0
- package/esm2022/page-loader/page-loader.component.mjs +47 -0
- package/esm2022/pagination/pagination.icon.mjs +11 -0
- package/esm2022/pagination/pagination.mjs +170 -0
- package/esm2022/popover-content/popover-content-item/popover-content-item.component.mjs +15 -0
- package/esm2022/popover-content/popover-content.component.mjs +23 -0
- package/esm2022/preview-box/preview-box.component.mjs +73 -0
- package/esm2022/progress-bar/progress-bar.component.mjs +31 -0
- package/esm2022/progress-chart/progress-chart.component.mjs +87 -0
- package/esm2022/public-api.mjs +141 -0
- package/esm2022/radio-card-group/radio-card/radio-card.component.mjs +86 -0
- package/esm2022/radio-card-group/radio-card-group.component.mjs +61 -0
- package/esm2022/regex-checker/regex-checker-icon.mjs +18 -0
- package/esm2022/regex-checker/regex-checker.mjs +77 -0
- package/esm2022/regex-checker/regex-validity-icon.pipe.mjs +25 -0
- package/esm2022/ribbon/ribbon-icon.mjs +8 -0
- package/esm2022/ribbon/ribbon.mjs +37 -0
- package/esm2022/round-checkbox/round-checkbox.component.mjs +43 -0
- package/esm2022/row/column/column.component.mjs +19 -0
- package/esm2022/row/row.component.mjs +32 -0
- package/esm2022/scrollable-content/scrollable-content.component.mjs +22 -0
- package/esm2022/section-header/section-header.component.mjs +29 -0
- package/esm2022/section-row/section-row.mjs +35 -0
- package/esm2022/section-separator/section-separator.mjs +69 -0
- package/esm2022/section-shell/section-shell.component.mjs +45 -0
- package/esm2022/select/select.component.mjs +137 -0
- package/esm2022/select-card/select-card-icon.mjs +24 -0
- package/esm2022/select-card/select-card.component.mjs +117 -0
- package/esm2022/select-country/select-country.component.mjs +86 -0
- package/esm2022/shell/checker-sidebar/checker-sidebar.component.mjs +19 -0
- package/esm2022/shell/maker-sidebar/maker-sidebar.component.mjs +19 -0
- package/esm2022/shell/nebular-icons.mjs +180 -0
- package/esm2022/shell/shell-icons.mjs +474 -0
- package/esm2022/shell/shell-sidebar/shell-sidebar.component.mjs +38 -0
- package/esm2022/shell/shell.component.mjs +77 -0
- package/esm2022/side-drawer/side-drawer.mjs +15 -0
- package/esm2022/side-drawer/side-drawer.service.mjs +71 -0
- package/esm2022/size/component-size.mjs +2 -0
- package/esm2022/spinner/spinner.mjs +32 -0
- package/esm2022/stepper/step/step.mjs +20 -0
- package/esm2022/stepper/step/step.pipe.mjs +21 -0
- package/esm2022/stepper/step-header/step-header.mjs +29 -0
- package/esm2022/stepper/stepper-button/stepper-next.mjs +21 -0
- package/esm2022/stepper/stepper-button/stepper-previous.mjs +21 -0
- package/esm2022/stepper/stepper.mjs +56 -0
- package/esm2022/stimulus.module.mjs +891 -0
- package/esm2022/table/table-column/scl-table-column.mjs +54 -0
- package/esm2022/table/table-icon.mjs +13 -0
- package/esm2022/table/table-text/scl-table-text.mjs +51 -0
- package/esm2022/table/table.config.mjs +15 -0
- package/esm2022/table/table.mjs +186 -0
- package/esm2022/table-action-control/table-action-control.component.mjs +20 -0
- package/esm2022/tabset/tab/tab.component.mjs +29 -0
- package/esm2022/tabset/tab-directive/tabset.directive.mjs +22 -0
- package/esm2022/tabset/tabset.component.mjs +40 -0
- package/esm2022/taglist/tag/tag.component.mjs +51 -0
- package/esm2022/taglist/tag/tag.directive.mjs +30 -0
- package/esm2022/taglist/taglist.component.mjs +39 -0
- package/esm2022/text-decoration/text-decoration.component.mjs +26 -0
- package/esm2022/text-editor/text-editor.mjs +263 -0
- package/esm2022/theme.provider.mjs +9 -0
- package/esm2022/timeline/timeline.component.mjs +66 -0
- package/esm2022/timepicker/timepicker.component.mjs +377 -0
- package/esm2022/timepicker/timepicker.icon.mjs +7 -0
- package/esm2022/timepicker/timepicker.model.mjs +6 -0
- package/esm2022/toggle/toggle-description/toggle-description.mjs +18 -0
- package/esm2022/toggle/toggle.mjs +75 -0
- package/esm2022/toggle-password/toggle-password.component.mjs +54 -0
- package/esm2022/toggle-password/toggle-password.directive.mjs +26 -0
- package/esm2022/toggle-password/toggle-password.icon.mjs +13 -0
- package/esm2022/treeview/treeview-header/treeview-header.mjs +26 -0
- package/esm2022/treeview/treeview.icon.mjs +53 -0
- package/esm2022/treeview/treeview.mjs +319 -0
- package/esm2022/truncate/truncate.component.mjs +53 -0
- package/esm2022/typography/typography.mjs +168 -0
- package/extract-inital/extract-initial.d.ts +8 -0
- package/f1softinternational-stimulus-1.0.0.tgz +0 -0
- package/fesm2022/f1softinternational-stimulus.mjs +10275 -0
- package/file-uploader/file-upload-config.scss +48 -0
- package/file-uploader/file-upload.scss +77 -0
- package/file-uploader/file-uploader-icon.d.ts +3 -0
- package/file-uploader/file-uploader.d.ts +84 -0
- package/file-uploader/file-uploader.ref.d.ts +6 -0
- package/file-uploader/file-uploader.service.d.ts +11 -0
- package/filter/filter.d.ts +48 -0
- package/flag/_flags.scss +9 -0
- package/form/form-config.scss +14 -0
- package/form/form-control/form-control-action.d.ts +6 -0
- package/form/form-control/form-control-config.scss +9 -0
- package/form/form-control/form-control-icon.d.ts +6 -0
- package/form/form-control/form-control.scss +17 -0
- package/form/form-control/form-field.d.ts +26 -0
- package/form/form-control-wrapper/form-control-wrapper-config.scss +11 -0
- package/form/form-control-wrapper/form-control-wrapper.component.d.ts +8 -0
- package/form/form-control-wrapper/form-control-wrapper.scss +17 -0
- package/form/form-error-messages.d.ts +8 -0
- package/form/form-message/form-message-config.scss +7 -0
- package/form/form-message/form-message.d.ts +15 -0
- package/form/form-message/form-message.scss +6 -0
- package/form/form.scss +22 -0
- package/form/select-input-field/select-input-field-config.scss +13 -0
- package/form/select-input-field/select-input-field.d.ts +6 -0
- package/form/select-input-field/select-input-field.scss +43 -0
- package/form/validate-and-submit.d.ts +14 -0
- package/full-container/full-container-config.scss +16 -0
- package/full-container/full-container.component.d.ts +11 -0
- package/full-container/full-container.component.scss +54 -0
- package/grid/grid-config.scss +14 -0
- package/grid/grid-item.component.d.ts +8 -0
- package/grid/grid.component.d.ts +10 -0
- package/grid/grid.component.scss +26 -0
- package/grid-row/grid-row.config.scss +9 -0
- package/grid-row/grid-row.d.ts +6 -0
- package/grid-row/grid-row.scss +7 -0
- package/icon/icon.config.scss +9 -0
- package/icon/icon.scss +9 -0
- package/icon/icons.d.ts +3 -0
- package/image-card/illustration.pipe.d.ts +8 -0
- package/image-card/image-card-config.scss +29 -0
- package/image-card/image-card.component.d.ts +8 -0
- package/image-card/image-card.scss +37 -0
- package/image-panel/image-panel-config.scss +30 -0
- package/image-panel/image-panel.component.d.ts +26 -0
- package/image-panel/image-panel.component.scss +80 -0
- package/index.d.ts +6 -0
- package/info-column/info-column-config.scss +14 -0
- package/info-column/info-column.d.ts +7 -0
- package/info-column/info-column.scss +17 -0
- package/info-slider/info-slider-config.scss +10 -0
- package/info-slider/info-slider.component.d.ts +16 -0
- package/info-slider/info-slider.component.scss +21 -0
- package/inline-alert/inline-alert-config.scss +12 -0
- package/inline-alert/inline-alert.d.ts +20 -0
- package/inline-alert/inline-alert.scss +16 -0
- package/inline-group/inline-group.component.d.ts +10 -0
- package/inline-group/inline-group.component.scss +15 -0
- package/input/input-config.scss +57 -0
- package/input/input.d.ts +10 -0
- package/input/input.scss +68 -0
- package/label/label-config.scss +13 -0
- package/label/label.d.ts +6 -0
- package/label/label.scss +10 -0
- package/layout/layout.component.d.ts +9 -0
- package/link/link-config.scss +89 -0
- package/link/link.d.ts +19 -0
- package/link/link.scss +157 -0
- package/media-preview/media-preview-config.scss +15 -0
- package/media-preview/media-preview-icon.d.ts +3 -0
- package/media-preview/media-preview-modal/media-preview-modal.d.ts +31 -0
- package/media-preview/media-preview-modal/media-preview-modal.scss +148 -0
- package/media-preview/media-preview-modal/media-previw-modal-config.scss +44 -0
- package/media-preview/media-preview.d.ts +48 -0
- package/media-preview/media-preview.scss +59 -0
- package/media-preview/media_preview.service.d.ts +16 -0
- package/menu/menu-config.scss +33 -0
- package/menu/menu-icon.d.ts +3 -0
- package/menu/menu.component.d.ts +47 -0
- package/menu/menu.component.scss +80 -0
- package/nebular-icon.d.ts +3 -0
- package/otp-input/otp-input-config.scss +22 -0
- package/otp-input/otp-input.component.d.ts +33 -0
- package/otp-input/otp-input.component.scss +52 -0
- package/otp-input/otp-input.icon.d.ts +3 -0
- package/package.json +57 -0
- package/page-container/page-container-config.scss +9 -0
- package/page-container/page-container-info/page-container-info-config.scss +9 -0
- package/page-container/page-container-info/page-container-info.component.d.ts +10 -0
- package/page-container/page-container-info/page-container-info.scss +6 -0
- package/page-container/page-container.component.d.ts +14 -0
- package/page-container/page-container.component.scss +11 -0
- package/page-header/page-header-config.scss +28 -0
- package/page-header/page-header.component.d.ts +18 -0
- package/page-header/page-header.component.scss +37 -0
- package/page-header/page-header.icons.d.ts +3 -0
- package/page-header/page-sub-heading/page-sub-heading.component.d.ts +6 -0
- package/page-loader/page-loader-config.scss +23 -0
- package/page-loader/page-loader.component.d.ts +13 -0
- package/page-loader/page-loader.component.scss +44 -0
- package/pagination/pagination-config.scss +24 -0
- package/pagination/pagination.d.ts +47 -0
- package/pagination/pagination.icon.d.ts +3 -0
- package/pagination/pagination.scss +67 -0
- package/popover-content/popover-content-item/popover-content-item-config.scss +22 -0
- package/popover-content/popover-content-item/popover-content-item.component.d.ts +6 -0
- package/popover-content/popover-content-item/popover-content-item.scss +36 -0
- package/popover-content/popover-content.component.d.ts +14 -0
- package/preview-box/preview-box-config.scss +52 -0
- package/preview-box/preview-box.component.d.ts +31 -0
- package/preview-box/preview-box.component.scss +101 -0
- package/progress-bar/progress-bar-config.scss +14 -0
- package/progress-bar/progress-bar.component.d.ts +10 -0
- package/progress-bar/progress-bar.component.scss +13 -0
- package/progress-chart/progress-chart-config.scss +15 -0
- package/progress-chart/progress-chart.component.d.ts +21 -0
- package/progress-chart/progress-chart.component.scss +41 -0
- package/public-api.d.ts +135 -0
- package/radio-button/radio-button-config.scss +47 -0
- package/radio-button/radio-button.scss +89 -0
- package/radio-card-group/radio-card/radio-card-config.scss +31 -0
- package/radio-card-group/radio-card/radio-card.component.d.ts +30 -0
- package/radio-card-group/radio-card/radio-card.component.scss +88 -0
- package/radio-card-group/radio-card-group-config.scss +9 -0
- package/radio-card-group/radio-card-group.component.d.ts +20 -0
- package/radio-card-group/radio-card-group.scss +7 -0
- package/regex-checker/regex-checker-config.scss +24 -0
- package/regex-checker/regex-checker-icon.d.ts +3 -0
- package/regex-checker/regex-checker.d.ts +29 -0
- package/regex-checker/regex-checker.scss +38 -0
- package/regex-checker/regex-validity-icon.pipe.d.ts +8 -0
- package/ribbon/ribbon-config.scss +21 -0
- package/ribbon/ribbon-icon.d.ts +3 -0
- package/ribbon/ribbon.d.ts +14 -0
- package/ribbon/ribbon.scss +29 -0
- package/round-checkbox/round-checkbox-config.scss +15 -0
- package/round-checkbox/round-checkbox.component.d.ts +16 -0
- package/round-checkbox/round-checkbox.component.scss +23 -0
- package/row/column/column.component.d.ts +9 -0
- package/row/row-config.scss +10 -0
- package/row/row.component.d.ts +9 -0
- package/row/row.scss +22 -0
- package/scrollable-content/scrollable-content-config.scss +11 -0
- package/scrollable-content/scrollable-content.component.d.ts +8 -0
- package/scrollable-content/scrollable-content.component.scss +28 -0
- package/section-header/section-header-config.scss +18 -0
- package/section-header/section-header.component.d.ts +9 -0
- package/section-header/section-header.component.scss +32 -0
- package/section-row/section-row-config.scss +9 -0
- package/section-row/section-row.d.ts +9 -0
- package/section-row/section-row.scss +23 -0
- package/section-separator/section-separator-config.scss +19 -0
- package/section-separator/section-separator.d.ts +15 -0
- package/section-separator/section-separator.scss +28 -0
- package/section-shell/section-shell-config.scss +23 -0
- package/section-shell/section-shell.component.d.ts +12 -0
- package/section-shell/section-shell.component.scss +30 -0
- package/select/select-config.scss +78 -0
- package/select/select.component.d.ts +44 -0
- package/select/select.scss +174 -0
- package/select-card/select-card-config.scss +32 -0
- package/select-card/select-card-icon.d.ts +3 -0
- package/select-card/select-card.component.d.ts +38 -0
- package/select-card/select-card.component.scss +66 -0
- package/select-country/select-country-config.scss +10 -0
- package/select-country/select-country.component.d.ts +33 -0
- package/select-country/select-country.component.scss +34 -0
- package/shell/checker-sidebar/checker-sidebar-config.scss +21 -0
- package/shell/checker-sidebar/checker-sidebar.component.d.ts +8 -0
- package/shell/checker-sidebar/checker-sidebar.component.scss +34 -0
- package/shell/maker-sidebar/maker-sidebar-config.scss +21 -0
- package/shell/maker-sidebar/maker-sidebar.component.d.ts +8 -0
- package/shell/maker-sidebar/maker-sidebar.component.scss +34 -0
- package/shell/nebular-icons.d.ts +3 -0
- package/shell/shell-config.component.scss +25 -0
- package/shell/shell-icons.d.ts +3 -0
- package/shell/shell-sidebar/shell-sidebar-config.scss +43 -0
- package/shell/shell-sidebar/shell-sidebar.component.d.ts +14 -0
- package/shell/shell-sidebar/shell-sidebar.component.scss +106 -0
- package/shell/shell-sidebar-menu/shell-sidebar-menu-config.scss +56 -0
- package/shell/shell-sidebar-menu/shell-sidebar-menu.scss +76 -0
- package/shell/shell.component.d.ts +21 -0
- package/shell/shell.component.scss +55 -0
- package/side-drawer/side-drawer-config.scss +20 -0
- package/side-drawer/side-drawer.d.ts +8 -0
- package/side-drawer/side-drawer.scss +52 -0
- package/side-drawer/side-drawer.service.d.ts +20 -0
- package/size/component-size.d.ts +2 -0
- package/spinner/spinner.d.ts +11 -0
- package/stepper/step/step.d.ts +8 -0
- package/stepper/step/step.pipe.d.ts +8 -0
- package/stepper/step-header/step-header.d.ts +12 -0
- package/stepper/stepper-button/stepper-next.d.ts +7 -0
- package/stepper/stepper-button/stepper-previous.d.ts +7 -0
- package/stepper/stepper.config.scss +37 -0
- package/stepper/stepper.d.ts +19 -0
- package/stepper/stepper.scss +149 -0
- package/stimulus-config.scss +98 -0
- package/stimulus.module.d.ts +136 -0
- package/stimulus.scss +107 -0
- package/table/table-column/scl-table-column.d.ts +26 -0
- package/table/table-config.scss +63 -0
- package/table/table-icon.d.ts +3 -0
- package/table/table-text/scl-table-text.d.ts +13 -0
- package/table/table.config.d.ts +19 -0
- package/table/table.d.ts +58 -0
- package/table/table.scss +232 -0
- package/table-action-control/table-action-control-config.scss +12 -0
- package/table-action-control/table-action-control.component.d.ts +8 -0
- package/table-action-control/table-action-control.component.scss +14 -0
- package/tabset/route-tab/route-tab-config.scss +30 -0
- package/tabset/route-tab/route-tab.scss +44 -0
- package/tabset/tab/tab.component.d.ts +9 -0
- package/tabset/tab-directive/tabset-config.scss +49 -0
- package/tabset/tab-directive/tabset.directive.d.ts +7 -0
- package/tabset/tab-directive/tabset.scss +154 -0
- package/tabset/tabset.component.d.ts +14 -0
- package/tabset/tabset.component.scss +79 -0
- package/taglist/tag/tag-config.scss +30 -0
- package/taglist/tag/tag.component.d.ts +17 -0
- package/taglist/tag/tag.directive.d.ts +16 -0
- package/taglist/tag/tag.scss +43 -0
- package/taglist/taglist.component.d.ts +12 -0
- package/text-decoration/text-decoration.component.d.ts +9 -0
- package/text-decoration/text-decoration.scss +7 -0
- package/text-editor/text-editor.config.scss +23 -0
- package/text-editor/text-editor.d.ts +60 -0
- package/text-editor/text-editor.scss +74 -0
- package/theme.provider.d.ts +2 -0
- package/timeline/timeline-config.scss +49 -0
- package/timeline/timeline.component.d.ts +26 -0
- package/timeline/timeline.component.scss +126 -0
- package/timepicker/timepicker-config.scss +41 -0
- package/timepicker/timepicker.component.d.ts +74 -0
- package/timepicker/timepicker.component.scss +111 -0
- package/timepicker/timepicker.icon.d.ts +3 -0
- package/timepicker/timepicker.model.d.ts +13 -0
- package/toggle/toggle-config.scss +51 -0
- package/toggle/toggle-description/toggle-description.d.ts +6 -0
- package/toggle/toggle.d.ts +19 -0
- package/toggle/toggle.scss +31 -0
- package/toggle-password/toggle-password-config.scss +12 -0
- package/toggle-password/toggle-password.component.d.ts +21 -0
- package/toggle-password/toggle-password.directive.d.ts +13 -0
- package/toggle-password/toggle-password.icon.d.ts +3 -0
- package/toggle-password/toggle-password.scss +16 -0
- package/treeview/treeview-config.scss +86 -0
- package/treeview/treeview-header/treeview-header.d.ts +12 -0
- package/treeview/treeview.d.ts +66 -0
- package/treeview/treeview.icon.d.ts +3 -0
- package/treeview/treeview.scss +278 -0
- package/truncate/truncate.component.d.ts +16 -0
- package/truncate/truncate.scss +18 -0
- package/typography/font.scss +28 -0
- package/typography/typography-config.scss +73 -0
- package/typography/typography.d.ts +37 -0
- package/typography/typography.scss +47 -0
|
@@ -0,0 +1,364 @@
|
|
|
1
|
+
import { coerceBooleanProperty } from '@angular/cdk/coercion';
|
|
2
|
+
import { CommonModule } from '@angular/common';
|
|
3
|
+
import { Component, forwardRef, HostListener, InjectionToken, Input, TemplateRef, ViewChild, Output, EventEmitter } from '@angular/core';
|
|
4
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR, ReactiveFormsModule, } from '@angular/forms';
|
|
5
|
+
import { NbButtonModule, NbCalendarKitModule, NbCalendarModule, NbIconModule, NbInputModule, NbPopoverDirective, NbPopoverModule, NbTimepickerModule, } from '@nebular/theme';
|
|
6
|
+
import * as moment from 'moment';
|
|
7
|
+
import { DATE_FORMAT } from './custom-datepicker.model';
|
|
8
|
+
import { TimepickerComponent } from './timepicker/timepicker.component';
|
|
9
|
+
import { SclDatepickerIcons } from './datepicker.icon';
|
|
10
|
+
import * as i0 from "@angular/core";
|
|
11
|
+
import * as i1 from "@angular/forms";
|
|
12
|
+
import * as i2 from "@nebular/theme";
|
|
13
|
+
import * as i3 from "@angular/common";
|
|
14
|
+
export const DATE_TIME_PICKER = new InjectionToken('dateTimePicker');
|
|
15
|
+
class SclDateTimepickerComponent {
|
|
16
|
+
set format(value) {
|
|
17
|
+
if (value) {
|
|
18
|
+
this.dateFormat = value;
|
|
19
|
+
this.hasFormat = true;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
get format() {
|
|
23
|
+
return this.dateFormat;
|
|
24
|
+
}
|
|
25
|
+
set min(value) {
|
|
26
|
+
if (!value)
|
|
27
|
+
return;
|
|
28
|
+
this.setMinDate(value);
|
|
29
|
+
if (this.datepickerForm.value.datepicker !== null) {
|
|
30
|
+
this.onChange(this.formValue);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
get min() {
|
|
34
|
+
return this.hasTimePicker ? this.minDateTime : this.minDate;
|
|
35
|
+
}
|
|
36
|
+
set max(value) {
|
|
37
|
+
if (!value)
|
|
38
|
+
return;
|
|
39
|
+
this.setMaxDate(value);
|
|
40
|
+
if (this.datepickerForm.value.datepicker !== null) {
|
|
41
|
+
this.onChange(this.formValue);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
get max() {
|
|
45
|
+
return this.hasTimePicker ? this.maxDateTime : this.maxDate;
|
|
46
|
+
}
|
|
47
|
+
set dateTimePicker(value) {
|
|
48
|
+
this.hasTimePicker = coerceBooleanProperty(value);
|
|
49
|
+
if (!this.hasFormat) {
|
|
50
|
+
this.dateFormat = DATE_FORMAT.DEFAULT_DATE_TIME;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
get dateTimePicker() {
|
|
54
|
+
return this.hasTimePicker;
|
|
55
|
+
}
|
|
56
|
+
set showPresets(value) {
|
|
57
|
+
this.hasPresets = coerceBooleanProperty(value);
|
|
58
|
+
}
|
|
59
|
+
get showPresets() {
|
|
60
|
+
return this.hasPresets;
|
|
61
|
+
}
|
|
62
|
+
// For tweleve hour format
|
|
63
|
+
// @Input()
|
|
64
|
+
// set twelveHoursFormat(value: string | boolean) {
|
|
65
|
+
// this.showTwelveHrsFormat = coerceBooleanProperty(value);
|
|
66
|
+
// if (!this.hasFormat) {
|
|
67
|
+
// this.dateFormat = DATE_FORMAT.TWELVE_HR_DATETIME;
|
|
68
|
+
// }
|
|
69
|
+
// }
|
|
70
|
+
// get twelveHoursFormat() {
|
|
71
|
+
// return this.showTwelveHrsFormat;
|
|
72
|
+
// }
|
|
73
|
+
set readonly(value) {
|
|
74
|
+
this.isReadonly = coerceBooleanProperty(value);
|
|
75
|
+
}
|
|
76
|
+
get isFormValid() {
|
|
77
|
+
return this.dateTimePicker ? !!(this.selectedDate && this.time) : !!this.selectedDate;
|
|
78
|
+
}
|
|
79
|
+
get timeFormat() {
|
|
80
|
+
let timeFormat = '';
|
|
81
|
+
if (/[Hh]/.test(this.dateFormat))
|
|
82
|
+
timeFormat += 'HH';
|
|
83
|
+
if (/m/.test(this.dateFormat))
|
|
84
|
+
timeFormat += ':mm';
|
|
85
|
+
if (/s/.test(this.dateFormat))
|
|
86
|
+
timeFormat += ':ss';
|
|
87
|
+
if (/[Aa]/.test(this.dateFormat))
|
|
88
|
+
timeFormat += ' a';
|
|
89
|
+
return timeFormat;
|
|
90
|
+
}
|
|
91
|
+
constructor(formBuilder, iconLibraries) {
|
|
92
|
+
this.formBuilder = formBuilder;
|
|
93
|
+
this.iconLibraries = iconLibraries;
|
|
94
|
+
this.dateChange = new EventEmitter();
|
|
95
|
+
this.placeholder = 'Select a date';
|
|
96
|
+
this.DATE_FORMAT = DATE_FORMAT;
|
|
97
|
+
this.dateFormat = 'YYYY-MM-DD';
|
|
98
|
+
this.formValue = '';
|
|
99
|
+
this.visibleDate = new Date();
|
|
100
|
+
this.date = new Date();
|
|
101
|
+
this.selectedDate = '';
|
|
102
|
+
this.time = '00:00';
|
|
103
|
+
this.disabled = false;
|
|
104
|
+
this.hasTimePicker = false;
|
|
105
|
+
this.hasFormat = false;
|
|
106
|
+
this.hasPresets = false;
|
|
107
|
+
this.isRequired = false;
|
|
108
|
+
this.showTwelveHrsFormat = false;
|
|
109
|
+
this.touched = false;
|
|
110
|
+
this.isSelectingDate = false;
|
|
111
|
+
this.isReadonly = false;
|
|
112
|
+
this.onChange = () => { };
|
|
113
|
+
this.onTouch = () => { };
|
|
114
|
+
this.iconLibraries.registerSvgPack('scl-datepicker-icon', SclDatepickerIcons);
|
|
115
|
+
this.datepickerForm = this.formBuilder.group({
|
|
116
|
+
datepicker: [null],
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
ngOnInit() {
|
|
120
|
+
this.formValueChange();
|
|
121
|
+
if (this.minDateTime) {
|
|
122
|
+
this.minDateTime.setSeconds(0);
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
writeValue(obj) {
|
|
126
|
+
if (obj) {
|
|
127
|
+
this.selectedDate = moment(obj).format(this.dateFormat);
|
|
128
|
+
this.formValue = this.selectedDate;
|
|
129
|
+
this.updateFormValue();
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.reset();
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
registerOnChange(fn) {
|
|
136
|
+
this.onChange = fn;
|
|
137
|
+
}
|
|
138
|
+
registerOnTouched(fn) {
|
|
139
|
+
this.onTouch = () => {
|
|
140
|
+
this.touched = true;
|
|
141
|
+
fn();
|
|
142
|
+
};
|
|
143
|
+
}
|
|
144
|
+
onBlur() {
|
|
145
|
+
if (this.isSelectingDate)
|
|
146
|
+
return;
|
|
147
|
+
this.touched = true;
|
|
148
|
+
this.onTouch();
|
|
149
|
+
if (!this.datepickerForm.value.datepicker) {
|
|
150
|
+
this.handleEmptyDatepicker();
|
|
151
|
+
}
|
|
152
|
+
else if (this.isFormValid) {
|
|
153
|
+
this.onConfirm();
|
|
154
|
+
}
|
|
155
|
+
}
|
|
156
|
+
handleKeyboardEvents(event) {
|
|
157
|
+
if (!this.popover.isShown || event.key !== 'Enter')
|
|
158
|
+
return;
|
|
159
|
+
this.touched = true;
|
|
160
|
+
this.onTouch();
|
|
161
|
+
const dateString = this.datepickerForm.value.datepicker;
|
|
162
|
+
const date = dateString ? moment(dateString, this.dateFormat, true).toDate() : new Date();
|
|
163
|
+
const errors = this.getValidationErrors(date);
|
|
164
|
+
if (errors)
|
|
165
|
+
return;
|
|
166
|
+
if (!this.hasTimePicker) {
|
|
167
|
+
this.onDateSelect(date);
|
|
168
|
+
return;
|
|
169
|
+
}
|
|
170
|
+
if (this.isFormValid) {
|
|
171
|
+
this.selectedDate = moment(date, this.dateFormat).format(this.dateFormat);
|
|
172
|
+
this.onConfirm();
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
onDateSelect(event) {
|
|
176
|
+
this.isSelectingDate = true;
|
|
177
|
+
this.selectedDate = moment(event).format(this.dateFormat);
|
|
178
|
+
this.date = moment(this.selectedDate, this.dateFormat).toDate();
|
|
179
|
+
if (!this.hasPresets && !this.hasTimePicker) {
|
|
180
|
+
this.onConfirm();
|
|
181
|
+
}
|
|
182
|
+
this.isSelectingDate = false;
|
|
183
|
+
}
|
|
184
|
+
onTimeChange(event) {
|
|
185
|
+
this.time = event;
|
|
186
|
+
}
|
|
187
|
+
onConfirm() {
|
|
188
|
+
this.setFormValue();
|
|
189
|
+
this.updateFormValue();
|
|
190
|
+
this.onChange(this.formValue);
|
|
191
|
+
this.touched = true;
|
|
192
|
+
this.onTouch();
|
|
193
|
+
this.closePopover();
|
|
194
|
+
this.dateChange.emit(this.formValue);
|
|
195
|
+
}
|
|
196
|
+
validate(control) {
|
|
197
|
+
if (this.isSelectingDate)
|
|
198
|
+
return null;
|
|
199
|
+
if (control?.errors?.['required']) {
|
|
200
|
+
this.isRequired = true;
|
|
201
|
+
}
|
|
202
|
+
return this.getValidationErrors(control?.value);
|
|
203
|
+
}
|
|
204
|
+
getValidationErrors(controlDate) {
|
|
205
|
+
if (!controlDate)
|
|
206
|
+
return this.getRequiredError();
|
|
207
|
+
if (!this.isValidDateFormat(controlDate))
|
|
208
|
+
return { invalidDateFormat: this.dateFormat };
|
|
209
|
+
return this.getDateRangeErrors(controlDate);
|
|
210
|
+
}
|
|
211
|
+
isValidDateFormat(date) {
|
|
212
|
+
return moment(date, this.dateFormat, true).isValid();
|
|
213
|
+
}
|
|
214
|
+
getRequiredError() {
|
|
215
|
+
return this.touched && this.isRequired ? { required: true } : null;
|
|
216
|
+
}
|
|
217
|
+
getDateRangeErrors(controlDate) {
|
|
218
|
+
const minDate = this.hasTimePicker ? this.minDateTime : this.minDate;
|
|
219
|
+
const maxDate = this.hasTimePicker ? this.maxDateTime : this.maxDate;
|
|
220
|
+
const dateObject = new Date(controlDate);
|
|
221
|
+
if (minDate && dateObject < minDate) {
|
|
222
|
+
return { [this.hasTimePicker ? 'minDateTime' : 'minDate']: { date: minDate, format: this.dateFormat } };
|
|
223
|
+
}
|
|
224
|
+
if (maxDate && dateObject > maxDate) {
|
|
225
|
+
return { [this.hasTimePicker ? 'maxDateTime' : 'maxDate']: { date: maxDate, format: this.dateFormat } };
|
|
226
|
+
}
|
|
227
|
+
return null;
|
|
228
|
+
}
|
|
229
|
+
updateFormValue() {
|
|
230
|
+
this.datepickerForm.get('datepicker')?.patchValue(this.formValue);
|
|
231
|
+
}
|
|
232
|
+
closePopover() {
|
|
233
|
+
this.popover.hide();
|
|
234
|
+
}
|
|
235
|
+
reset() {
|
|
236
|
+
this.datepickerForm.reset();
|
|
237
|
+
this.formValue = '';
|
|
238
|
+
this.setCurrentDate();
|
|
239
|
+
}
|
|
240
|
+
setCurrentDate() {
|
|
241
|
+
this.date = new Date();
|
|
242
|
+
this.date.setSeconds(0, 0);
|
|
243
|
+
this.visibleDate = this.date;
|
|
244
|
+
this.selectedDate = this.showTwelveHrsFormat
|
|
245
|
+
? moment(this.date).format(this.dateFormat).replace('00:00', '12:00')
|
|
246
|
+
: moment(this.date).format(this.dateFormat);
|
|
247
|
+
this.onTimeSelect();
|
|
248
|
+
}
|
|
249
|
+
setMinDate(value) {
|
|
250
|
+
if (this.hasTimePicker) {
|
|
251
|
+
this.minDateTime = new Date(value);
|
|
252
|
+
this.minDateTime.setSeconds(0, 0);
|
|
253
|
+
}
|
|
254
|
+
this.minDate = new Date(value);
|
|
255
|
+
this.minDate.setHours(0, 0, 0, 0);
|
|
256
|
+
}
|
|
257
|
+
setMaxDate(value) {
|
|
258
|
+
if (this.hasTimePicker) {
|
|
259
|
+
this.maxDateTime = new Date(value);
|
|
260
|
+
this.maxDateTime.setSeconds(0, 0);
|
|
261
|
+
}
|
|
262
|
+
this.maxDate = new Date(value);
|
|
263
|
+
this.maxDate.setHours(23, 59, 59, 999);
|
|
264
|
+
}
|
|
265
|
+
formValueChange() {
|
|
266
|
+
this.datepickerForm.get('datepicker')?.valueChanges.subscribe(value => {
|
|
267
|
+
if (value === null)
|
|
268
|
+
return;
|
|
269
|
+
if (value.length <= 1) {
|
|
270
|
+
this.selectedDate = value;
|
|
271
|
+
this.onChange(value);
|
|
272
|
+
return;
|
|
273
|
+
}
|
|
274
|
+
this.date = moment(value, this.dateFormat).toDate();
|
|
275
|
+
if (this.isValidDateFormat(this.date)) {
|
|
276
|
+
this.visibleDate = this.date;
|
|
277
|
+
}
|
|
278
|
+
this.selectedDate = value;
|
|
279
|
+
this.onTimeSelect();
|
|
280
|
+
this.onChange(value);
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
handleEmptyDatepicker() {
|
|
284
|
+
this.reset();
|
|
285
|
+
this.onChange('');
|
|
286
|
+
this.dateChange.emit('');
|
|
287
|
+
}
|
|
288
|
+
setFormValue() {
|
|
289
|
+
const [datePart] = this.selectedDate.split(' ');
|
|
290
|
+
this.formValue = this.hasTimePicker ? `${datePart} ${this.time}` : this.selectedDate;
|
|
291
|
+
return this.formValue;
|
|
292
|
+
}
|
|
293
|
+
onTimeSelect() {
|
|
294
|
+
if (!this.selectedDate)
|
|
295
|
+
return;
|
|
296
|
+
const dateParts = this.selectedDate.split(' ');
|
|
297
|
+
this.time = dateParts.length >= 3 ? `${dateParts[1]} ${dateParts[2]}` : dateParts[1];
|
|
298
|
+
}
|
|
299
|
+
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclDateTimepickerComponent, deps: [{ token: i1.FormBuilder }, { token: i2.NbIconLibraries }], target: i0.ɵɵFactoryTarget.Component }); }
|
|
300
|
+
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.0", type: SclDateTimepickerComponent, isStandalone: true, selector: "scl-datetime-picker", inputs: { placeholder: "placeholder", format: "format", min: "min", max: "max", dateTimePicker: "dateTimePicker", showPresets: "showPresets", readonly: "readonly" }, outputs: { dateChange: "dateChange" }, host: { listeners: { "keydown": "handleKeyboardEvents($event)" }, classAttribute: "scl-custom-datepicker " }, providers: [
|
|
301
|
+
{
|
|
302
|
+
provide: NG_VALUE_ACCESSOR,
|
|
303
|
+
useExisting: forwardRef(() => SclDateTimepickerComponent),
|
|
304
|
+
multi: true,
|
|
305
|
+
},
|
|
306
|
+
{ provide: NG_VALIDATORS, useExisting: SclDateTimepickerComponent, multi: true },
|
|
307
|
+
{ provide: DATE_TIME_PICKER, useValue: true },
|
|
308
|
+
], viewQueries: [{ propertyName: "popover", first: true, predicate: NbPopoverDirective, descendants: true }, { propertyName: "calendar", first: true, predicate: ["calendar"], descendants: true, read: TemplateRef }, { propertyName: "timepicker", first: true, predicate: ["timepicker"], descendants: true }], ngImport: i0, template: "<form [formGroup]=\"datepickerForm\">\n <input\n class=\"scl-custom-datepicker__input\"\n nbInput\n type=\"text\"\n formControlName=\"datepicker\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [nbPopover]=\"calendar\"\n nbPopoverPlacement=\"bottom\"\n nbPopoverSize=\"large\"\n [nbPopoverTrigger]=\"isReadonly ? 'noop' : 'focus'\"\n (blur)=\"onBlur()\" />\n\n <div class=\"scl-custom-datepicker__icon\">\n <nb-icon icon=\"calendar\" pack=\"scl-datepicker-icon\"></nb-icon>\n </div>\n\n <ng-template #calendar>\n <div class=\"scl-custom-datepicker__popover\" (mousedown)=\"$event.preventDefault()\" aria-label=\"Calendar\" tabindex=\"-1\">\n <div class=\"scl-custom-datepicker__content\">\n <nb-calendar [(date)]=\"date\" (dateChange)=\"onDateSelect($event)\" [visibleDate]=\"visibleDate\" [min]=\"minDate\" [max]=\"maxDate\"> </nb-calendar>\n\n <timepicker\n #timepicker\n class=\"scl-custom-datepicker__timepicker\"\n (timeChange)=\"onTimeChange($event)\"\n [timeValues]=\"time\"\n [twelveHoursFormat]=\"showTwelveHrsFormat\"\n [format]=\"timeFormat\"\n *ngIf=\"hasTimePicker\">\n </timepicker>\n </div>\n\n <div class=\"scl-custom-datepicker__footer\" *ngIf=\"hasTimePicker\">\n <button nbButton ghost status=\"primary\" *ngIf=\"showPresets\">Choose from presents</button>\n <button nbButton status=\"primary\" [disabled]=\"!isFormValid\" (click)=\"onConfirm()\">Confirm</button>\n </div>\n </div>\n </ng-template>\n</form>\n", dependencies: [{ kind: "ngmodule", type: CommonModule }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "ngmodule", type: NbCalendarKitModule }, { kind: "ngmodule", type: NbCalendarModule }, { kind: "component", type: i2.NbCalendarComponent, selector: "nb-calendar", inputs: ["boundingMonth", "startView", "min", "max", "filter", "dayCellComponent", "monthCellComponent", "yearCellComponent", "size", "visibleDate", "showNavigation", "date", "showWeekNumber", "weekNumberSymbol"], outputs: ["dateChange"] }, { kind: "ngmodule", type: NbPopoverModule }, { kind: "directive", type: i2.NbPopoverDirective, selector: "[nbPopover]", inputs: ["nbPopover", "nbPopoverContext", "nbPopoverPlacement", "nbPopoverAdjustment", "nbPopoverTrigger", "nbPopoverOffset", "nbTooltipDisabled", "nbPopoverClass"], outputs: ["nbPopoverShowStateChange"], exportAs: ["nbPopover"] }, { kind: "ngmodule", type: NbTimepickerModule }, { kind: "component", type: TimepickerComponent, selector: "timepicker", inputs: ["twelveHoursFormat", "timeValues", "format"], outputs: ["timeChange"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "ngmodule", type: NbButtonModule }, { kind: "component", type: i2.NbButtonComponent, selector: "button[nbButton],a[nbButton],input[type=\"button\"][nbButton],input[type=\"submit\"][nbButton]", inputs: ["hero"] }, { kind: "ngmodule", type: NbInputModule }, { kind: "directive", type: i2.NbInputDirective, selector: "input[nbInput],textarea[nbInput]", inputs: ["fieldSize", "status", "shape", "fullWidth"] }, { kind: "ngmodule", type: NbIconModule }, { kind: "component", type: i2.NbIconComponent, selector: "nb-icon", inputs: ["icon", "pack", "options", "status", "config"] }] }); }
|
|
309
|
+
}
|
|
310
|
+
export { SclDateTimepickerComponent };
|
|
311
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.0", ngImport: i0, type: SclDateTimepickerComponent, decorators: [{
|
|
312
|
+
type: Component,
|
|
313
|
+
args: [{ selector: 'scl-datetime-picker', standalone: true, imports: [
|
|
314
|
+
CommonModule,
|
|
315
|
+
NbCalendarKitModule,
|
|
316
|
+
NbCalendarModule,
|
|
317
|
+
NbPopoverModule,
|
|
318
|
+
NbTimepickerModule,
|
|
319
|
+
TimepickerComponent,
|
|
320
|
+
ReactiveFormsModule,
|
|
321
|
+
NbButtonModule,
|
|
322
|
+
NbInputModule,
|
|
323
|
+
NbIconModule,
|
|
324
|
+
], providers: [
|
|
325
|
+
{
|
|
326
|
+
provide: NG_VALUE_ACCESSOR,
|
|
327
|
+
useExisting: forwardRef(() => SclDateTimepickerComponent),
|
|
328
|
+
multi: true,
|
|
329
|
+
},
|
|
330
|
+
{ provide: NG_VALIDATORS, useExisting: SclDateTimepickerComponent, multi: true },
|
|
331
|
+
{ provide: DATE_TIME_PICKER, useValue: true },
|
|
332
|
+
], host: {
|
|
333
|
+
class: 'scl-custom-datepicker ',
|
|
334
|
+
}, template: "<form [formGroup]=\"datepickerForm\">\n <input\n class=\"scl-custom-datepicker__input\"\n nbInput\n type=\"text\"\n formControlName=\"datepicker\"\n [placeholder]=\"placeholder\"\n [readonly]=\"isReadonly\"\n [nbPopover]=\"calendar\"\n nbPopoverPlacement=\"bottom\"\n nbPopoverSize=\"large\"\n [nbPopoverTrigger]=\"isReadonly ? 'noop' : 'focus'\"\n (blur)=\"onBlur()\" />\n\n <div class=\"scl-custom-datepicker__icon\">\n <nb-icon icon=\"calendar\" pack=\"scl-datepicker-icon\"></nb-icon>\n </div>\n\n <ng-template #calendar>\n <div class=\"scl-custom-datepicker__popover\" (mousedown)=\"$event.preventDefault()\" aria-label=\"Calendar\" tabindex=\"-1\">\n <div class=\"scl-custom-datepicker__content\">\n <nb-calendar [(date)]=\"date\" (dateChange)=\"onDateSelect($event)\" [visibleDate]=\"visibleDate\" [min]=\"minDate\" [max]=\"maxDate\"> </nb-calendar>\n\n <timepicker\n #timepicker\n class=\"scl-custom-datepicker__timepicker\"\n (timeChange)=\"onTimeChange($event)\"\n [timeValues]=\"time\"\n [twelveHoursFormat]=\"showTwelveHrsFormat\"\n [format]=\"timeFormat\"\n *ngIf=\"hasTimePicker\">\n </timepicker>\n </div>\n\n <div class=\"scl-custom-datepicker__footer\" *ngIf=\"hasTimePicker\">\n <button nbButton ghost status=\"primary\" *ngIf=\"showPresets\">Choose from presents</button>\n <button nbButton status=\"primary\" [disabled]=\"!isFormValid\" (click)=\"onConfirm()\">Confirm</button>\n </div>\n </div>\n </ng-template>\n</form>\n" }]
|
|
335
|
+
}], ctorParameters: function () { return [{ type: i1.FormBuilder }, { type: i2.NbIconLibraries }]; }, propDecorators: { dateChange: [{
|
|
336
|
+
type: Output
|
|
337
|
+
}], popover: [{
|
|
338
|
+
type: ViewChild,
|
|
339
|
+
args: [NbPopoverDirective]
|
|
340
|
+
}], calendar: [{
|
|
341
|
+
type: ViewChild,
|
|
342
|
+
args: ['calendar', { read: TemplateRef }]
|
|
343
|
+
}], timepicker: [{
|
|
344
|
+
type: ViewChild,
|
|
345
|
+
args: ['timepicker']
|
|
346
|
+
}], placeholder: [{
|
|
347
|
+
type: Input
|
|
348
|
+
}], format: [{
|
|
349
|
+
type: Input
|
|
350
|
+
}], min: [{
|
|
351
|
+
type: Input
|
|
352
|
+
}], max: [{
|
|
353
|
+
type: Input
|
|
354
|
+
}], dateTimePicker: [{
|
|
355
|
+
type: Input
|
|
356
|
+
}], showPresets: [{
|
|
357
|
+
type: Input
|
|
358
|
+
}], readonly: [{
|
|
359
|
+
type: Input
|
|
360
|
+
}], handleKeyboardEvents: [{
|
|
361
|
+
type: HostListener,
|
|
362
|
+
args: ['keydown', ['$event']]
|
|
363
|
+
}] } });
|
|
364
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGVwaWNrZXIuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL2N1c3RvbS1kYXRlcGlja2VyL2N1c3RvbS1kYXRlcGlja2VyLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uL3NyYy9wYWNrYWdlcy9jdXN0b20tZGF0ZXBpY2tlci9jdXN0b20tZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM5RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxLQUFLLEVBQVUsV0FBVyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ2pKLE9BQU8sRUFLSCxhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLG1CQUFtQixHQUV0QixNQUFNLGdCQUFnQixDQUFDO0FBQ3hCLE9BQU8sRUFDSCxjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLGdCQUFnQixFQUVoQixZQUFZLEVBQ1osYUFBYSxFQUNiLGtCQUFrQixFQUNsQixlQUFlLEVBQ2Ysa0JBQWtCLEdBQ3JCLE1BQU0sZ0JBQWdCLENBQUM7QUFDeEIsT0FBTyxLQUFLLE1BQU0sTUFBTSxRQUFRLENBQUM7QUFDakMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ3hFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLG1CQUFtQixDQUFDOzs7OztBQUV2RCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLGNBQWMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0FB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O3dCQUNoQixlQUFlO3dCQUNmLGtCQUFrQjt3QkFDbEIsbUJBQW1CO3dCQUNuQixtQkFBbUI7d0JBQ25CLGNBQWM7d0JBQ2QsYUFBYTt3QkFDYixZQUFZO3FCQUNmLGFBQ1U7d0JBQ1A7NEJBQ0ksT0FBTyxFQUFFLGlCQUFpQjs0QkFDMUIsV0FBVyxFQUFFLFVBQVUsQ0FBQyxHQUFHLEVBQUUsMkJBQTJCLENBQUM7NEJBQ3pELEtBQUssRUFBRSxJQUFJO3lCQUNkO3dCQUNELEVBQUUsT0FBTyxFQUFFLGFBQWEsRUFBRSxXQUFXLDRCQUE0QixFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUU7d0JBQ2hGLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUU7cUJBQ2hELFFBQ0s7d0JBQ0YsS0FBSyxFQUFFLHdCQUF3QjtxQkFDbEM7Z0lBR1MsVUFBVTtzQkFBbkIsTUFBTTtnQkFFd0IsT0FBTztzQkFBckMsU0FBUzt1QkFBQyxrQkFBa0I7Z0JBQ2lCLFFBQVE7c0JBQXJELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRTtnQkFDbkIsVUFBVTtzQkFBbEMsU0FBUzt1QkFBQyxZQUFZO2dCQUVkLFdBQVc7c0JBQW5CLEtBQUs7Z0JBQ08sTUFBTTtzQkFBbEIsS0FBSztnQkFVTyxHQUFHO3NCQUFmLEtBQUs7Z0JBV08sR0FBRztzQkFBZixLQUFLO2dCQVlGLGNBQWM7c0JBRGpCLEtBQUs7Z0JBWUYsV0FBVztzQkFEZCxLQUFLO2dCQXFCRixRQUFRO3NCQURYLEtBQUs7Z0JBZ0dOLG9CQUFvQjtzQkFEbkIsWUFBWTt1QkFBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb2VyY2VCb29sZWFuUHJvcGVydHkgfSBmcm9tICdAYW5ndWxhci9jZGsvY29lcmNpb24nO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IENvbXBvbmVudCwgZm9yd2FyZFJlZiwgSG9zdExpc3RlbmVyLCBJbmplY3Rpb25Ub2tlbiwgSW5wdXQsIE9uSW5pdCwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7XG4gICAgQWJzdHJhY3RDb250cm9sLFxuICAgIENvbnRyb2xWYWx1ZUFjY2Vzc29yLFxuICAgIEZvcm1CdWlsZGVyLFxuICAgIEZvcm1Hcm91cCxcbiAgICBOR19WQUxJREFUT1JTLFxuICAgIE5HX1ZBTFVFX0FDQ0VTU09SLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG4gICAgVmFsaWRhdGlvbkVycm9ycyxcbn0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHtcbiAgICBOYkJ1dHRvbk1vZHVsZSxcbiAgICBOYkNhbGVuZGFyS2l0TW9kdWxlLFxuICAgIE5iQ2FsZW5kYXJNb2R1bGUsXG4gICAgTmJJY29uTGlicmFyaWVzLFxuICAgIE5iSWNvbk1vZHVsZSxcbiAgICBOYklucHV0TW9kdWxlLFxuICAgIE5iUG9wb3ZlckRpcmVjdGl2ZSxcbiAgICBOYlBvcG92ZXJNb2R1bGUsXG4gICAgTmJUaW1lcGlja2VyTW9kdWxlLFxufSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5pbXBvcnQgKiBhcyBtb21lbnQgZnJvbSAnbW9tZW50JztcbmltcG9ydCB7IERBVEVfRk9STUFUIH0gZnJvbSAnLi9jdXN0b20tZGF0ZXBpY2tlci5tb2RlbCc7XG5pbXBvcnQgeyBUaW1lcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnLi90aW1lcGlja2VyL3RpbWVwaWNrZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFNjbERhdGVwaWNrZXJJY29ucyB9IGZyb20gJy4vZGF0ZXBpY2tlci5pY29uJztcblxuZXhwb3J0IGNvbnN0IERBVEVfVElNRV9QSUNLRVIgPSBuZXcgSW5qZWN0aW9uVG9rZW4oJ2RhdGVUaW1lUGlja2VyJyk7XG5cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnc2NsLWRhdGV0aW1lLXBpY2tlcicsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2N1c3RvbS1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtcbiAgICAgICAgQ29tbW9uTW9kdWxlLFxuICAgICAgICBOYkNhbGVuZGFyS2l0TW9kdWxlLFxuICAgICAgICBOYkNhbGVuZGFyTW9kdWxlLFxuICAgICAgICBOYlBvcG92ZXJNb2R1bGUsXG4gICAgICAgIE5iVGltZXBpY2tlck1vZHVsZSxcbiAgICAgICAgVGltZXBpY2tlckNvbXBvbmVudCxcbiAgICAgICAgUmVhY3RpdmVGb3Jtc01vZHVsZSxcbiAgICAgICAgTmJCdXR0b25Nb2R1bGUsXG4gICAgICAgIE5iSW5wdXRNb2R1bGUsXG4gICAgICAgIE5iSWNvbk1vZHVsZSxcbiAgICBdLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBOR19WQUxVRV9BQ0NFU1NPUixcbiAgICAgICAgICAgIHVzZUV4aXN0aW5nOiBmb3J3YXJkUmVmKCgpID0+IFNjbERhdGVUaW1lcGlja2VyQ29tcG9uZW50KSxcbiAgICAgICAgICAgIG11bHRpOiB0cnVlLFxuICAgICAgICB9LFxuICAgICAgICB7IHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsIHVzZUV4aXN0aW5nOiBTY2xEYXRlVGltZXBpY2tlckNvbXBvbmVudCwgbXVsdGk6IHRydWUgfSxcbiAgICAgICAgeyBwcm92aWRlOiBEQVRFX1RJTUVfUElDS0VSLCB1c2VWYWx1ZTogdHJ1ZSB9LFxuICAgIF0sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ3NjbC1jdXN0b20tZGF0ZXBpY2tlciAnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFNjbERhdGVUaW1lcGlja2VyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBDb250cm9sVmFsdWVBY2Nlc3NvciB7XG4gICAgQE91dHB1dCgpIGRhdGVDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyKCk7XG5cbiAgICBAVmlld0NoaWxkKE5iUG9wb3ZlckRpcmVjdGl2ZSkgcG9wb3ZlciE6IE5iUG9wb3ZlckRpcmVjdGl2ZTtcbiAgICBAVmlld0NoaWxkKCdjYWxlbmRhcicsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgY2FsZW5kYXIhOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIEBWaWV3Q2hpbGQoJ3RpbWVwaWNrZXInKSB0aW1lcGlja2VyITogVGltZXBpY2tlckNvbXBvbmVudDtcblxuICAgIEBJbnB1dCgpIHBsYWNlaG9sZGVyOiBzdHJpbmcgPSAnU2VsZWN0IGEgZGF0ZSc7XG4gICAgQElucHV0KCkgc2V0IGZvcm1hdCh2YWx1ZTogc3RyaW5nKSB7XG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLmhhc0Zvcm1hdCA9IHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGZvcm1hdCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZGF0ZUZvcm1hdDtcbiAgICB9XG5cbiAgICBASW5wdXQoKSBzZXQgbWluKHZhbHVlOiBEYXRlIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoIXZhbHVlKSByZXR1cm47XG4gICAgICAgIHRoaXMuc2V0TWluRGF0ZSh2YWx1ZSk7XG4gICAgICAgIGlmICh0aGlzLmRhdGVwaWNrZXJGb3JtLnZhbHVlLmRhdGVwaWNrZXIgIT09IG51bGwpIHtcbiAgICAgICAgICAgIHRoaXMub25DaGFuZ2UodGhpcy5mb3JtVmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGdldCBtaW4oKSB7XG4gICAgICAgIHJldHVybiB0aGlzLmhhc1RpbWVQaWNrZXIgPyB0aGlzLm1pbkRhdGVUaW1lIDogdGhpcy5taW5EYXRlO1xuICAgIH1cblxuICAgIEBJbnB1dCgpIHNldCBtYXgodmFsdWU6IERhdGUgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIGlmICghdmFsdWUpIHJldHVybjtcbiAgICAgICAgdGhpcy5zZXRNYXhEYXRlKHZhbHVlKTtcbiAgICAgICAgaWYgKHRoaXMuZGF0ZXBpY2tlckZvcm0udmFsdWUuZGF0ZXBpY2tlciAhPT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZSh0aGlzLmZvcm1WYWx1ZSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IG1heCgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzVGltZVBpY2tlciA/IHRoaXMubWF4RGF0ZVRpbWUgOiB0aGlzLm1heERhdGU7XG4gICAgfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgZGF0ZVRpbWVQaWNrZXIodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5oYXNUaW1lUGlja2VyID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICAgICAgaWYgKCF0aGlzLmhhc0Zvcm1hdCkge1xuICAgICAgICAgICAgdGhpcy5kYXRlRm9ybWF0ID0gREFURV9GT1JNQVQuREVGQVVMVF9EQVRFX1RJTUU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ2V0IGRhdGVUaW1lUGlja2VyKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5oYXNUaW1lUGlja2VyO1xuICAgIH1cblxuICAgIEBJbnB1dCgpXG4gICAgc2V0IHNob3dQcmVzZXRzKHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuaGFzUHJlc2V0cyA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgfVxuICAgIGdldCBzaG93UHJlc2V0cygpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaGFzUHJlc2V0cztcbiAgICB9XG5cbiAgICAvLyBGb3IgdHdlbGV2ZSBob3VyIGZvcm1hdFxuICAgIC8vIEBJbnB1dCgpXG4gICAgLy8gc2V0IHR3ZWx2ZUhvdXJzRm9ybWF0KHZhbHVlOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgLy8gICAgIHRoaXMuc2hvd1R3ZWx2ZUhyc0Zvcm1hdCA9IGNvZXJjZUJvb2xlYW5Qcm9wZXJ0eSh2YWx1ZSk7XG4gICAgLy8gICAgIGlmICghdGhpcy5oYXNGb3JtYXQpIHtcbiAgICAvLyAgICAgICAgIHRoaXMuZGF0ZUZvcm1hdCA9IERBVEVfRk9STUFULlRXRUxWRV9IUl9EQVRFVElNRTtcbiAgICAvLyAgICAgfVxuICAgIC8vIH1cbiAgICAvLyBnZXQgdHdlbHZlSG91cnNGb3JtYXQoKSB7XG4gICAgLy8gICAgIHJldHVybiB0aGlzLnNob3dUd2VsdmVIcnNGb3JtYXQ7XG4gICAgLy8gfVxuXG4gICAgQElucHV0KClcbiAgICBzZXQgcmVhZG9ubHkodmFsdWU6IHN0cmluZyB8IGJvb2xlYW4pIHtcbiAgICAgICAgdGhpcy5pc1JlYWRvbmx5ID0gY29lcmNlQm9vbGVhblByb3BlcnR5KHZhbHVlKTtcbiAgICB9XG5cbiAgICBEQVRFX0ZPUk1BVCA9IERBVEVfRk9STUFUO1xuICAgIGRhdGVwaWNrZXJGb3JtITogRm9ybUdyb3VwO1xuICAgIGRhdGVGb3JtYXQgPSAnWVlZWS1NTS1ERCc7XG4gICAgZm9ybVZhbHVlID0gJyc7XG5cbiAgICB2aXNpYmxlRGF0ZSA9IG5ldyBEYXRlKCk7XG4gICAgbWF4RGF0ZSE6IERhdGU7XG4gICAgbWluRGF0ZSE6IERhdGU7XG4gICAgbWluRGF0ZVRpbWUhOiBEYXRlO1xuICAgIG1heERhdGVUaW1lITogRGF0ZTtcblxuICAgIGRhdGU6IERhdGUgPSBuZXcgRGF0ZSgpO1xuICAgIHNlbGVjdGVkRGF0ZSA9ICcnO1xuICAgIHRpbWUgPSAnMDA6MDAnO1xuXG4gICAgZGlzYWJsZWQgPSBmYWxzZTtcbiAgICBoYXNUaW1lUGlja2VyID0gZmFsc2U7XG4gICAgaGFzRm9ybWF0ID0gZmFsc2U7XG4gICAgaGFzUHJlc2V0cyA9IGZhbHNlO1xuICAgIGlzUmVxdWlyZWQgPSBmYWxzZTtcbiAgICBzaG93VHdlbHZlSHJzRm9ybWF0ID0gZmFsc2U7XG4gICAgcHJpdmF0ZSB0b3VjaGVkID0gZmFsc2U7XG4gICAgaXNTZWxlY3RpbmdEYXRlID0gZmFsc2U7XG4gICAgaXNSZWFkb25seSA9IGZhbHNlO1xuXG4gICAgZ2V0IGlzRm9ybVZhbGlkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5kYXRlVGltZVBpY2tlciA/ICEhKHRoaXMuc2VsZWN0ZWREYXRlICYmIHRoaXMudGltZSkgOiAhIXRoaXMuc2VsZWN0ZWREYXRlO1xuICAgIH1cblxuICAgIGdldCB0aW1lRm9ybWF0KCk6IHN0cmluZyB7XG4gICAgICAgIGxldCB0aW1lRm9ybWF0ID0gJyc7XG4gICAgICAgIGlmICgvW0hoXS8udGVzdCh0aGlzLmRhdGVGb3JtYXQpKSB0aW1lRm9ybWF0ICs9ICdISCc7XG4gICAgICAgIGlmICgvbS8udGVzdCh0aGlzLmRhdGVGb3JtYXQpKSB0aW1lRm9ybWF0ICs9ICc6bW0nO1xuICAgICAgICBpZiAoL3MvLnRlc3QodGhpcy5kYXRlRm9ybWF0KSkgdGltZUZvcm1hdCArPSAnOnNzJztcbiAgICAgICAgaWYgKC9bQWFdLy50ZXN0KHRoaXMuZGF0ZUZvcm1hdCkpIHRpbWVGb3JtYXQgKz0gJyBhJztcbiAgICAgICAgcmV0dXJuIHRpbWVGb3JtYXQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIHByaXZhdGUgcmVhZG9ubHkgZm9ybUJ1aWxkZXI6IEZvcm1CdWlsZGVyLFxuICAgICAgICBwcml2YXRlIGljb25MaWJyYXJpZXM6IE5iSWNvbkxpYnJhcmllc1xuICAgICkge1xuICAgICAgICB0aGlzLmljb25MaWJyYXJpZXMucmVnaXN0ZXJTdmdQYWNrKCdzY2wtZGF0ZXBpY2tlci1pY29uJywgU2NsRGF0ZXBpY2tlckljb25zKTtcbiAgICAgICAgdGhpcy5kYXRlcGlja2VyRm9ybSA9IHRoaXMuZm9ybUJ1aWxkZXIuZ3JvdXAoe1xuICAgICAgICAgICAgZGF0ZXBpY2tlcjogW251bGxdLFxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWVDaGFuZ2UoKTtcbiAgICAgICAgaWYgKHRoaXMubWluRGF0ZVRpbWUpIHtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVRpbWUuc2V0U2Vjb25kcygwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uQ2hhbmdlOiAodmFsOiBzdHJpbmcpID0+IHZvaWQgPSAoKSA9PiB7fTtcbiAgICBvblRvdWNoOiAoKSA9PiB2b2lkID0gKCkgPT4ge307XG5cbiAgICB3cml0ZVZhbHVlKG9iajogYW55KTogdm9pZCB7XG4gICAgICAgIGlmIChvYmopIHtcbiAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KG9iaikuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCk7XG4gICAgICAgICAgICB0aGlzLmZvcm1WYWx1ZSA9IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICAgICAgdGhpcy51cGRhdGVGb3JtVmFsdWUoKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlZ2lzdGVyT25DaGFuZ2UoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uQ2hhbmdlID0gZm47XG4gICAgfVxuXG4gICAgcmVnaXN0ZXJPblRvdWNoZWQoZm46IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLm9uVG91Y2ggPSAoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgICAgICAgZm4oKTtcbiAgICAgICAgfTtcbiAgICB9XG5cbiAgICBvbkJsdXIoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmlzU2VsZWN0aW5nRGF0ZSkgcmV0dXJuO1xuICAgICAgICB0aGlzLnRvdWNoZWQgPSB0cnVlO1xuICAgICAgICB0aGlzLm9uVG91Y2goKTtcbiAgICAgICAgaWYgKCF0aGlzLmRhdGVwaWNrZXJGb3JtLnZhbHVlLmRhdGVwaWNrZXIpIHtcbiAgICAgICAgICAgIHRoaXMuaGFuZGxlRW1wdHlEYXRlcGlja2VyKCk7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5pc0Zvcm1WYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5vbkNvbmZpcm0oKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICAgIGhhbmRsZUtleWJvYXJkRXZlbnRzKGV2ZW50OiBLZXlib2FyZEV2ZW50KTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5wb3BvdmVyLmlzU2hvd24gfHwgZXZlbnQua2V5ICE9PSAnRW50ZXInKSByZXR1cm47XG4gICAgICAgIHRoaXMudG91Y2hlZCA9IHRydWU7XG4gICAgICAgIHRoaXMub25Ub3VjaCgpO1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdGhpcy5kYXRlcGlja2VyRm9ybS52YWx1ZS5kYXRlcGlja2VyO1xuICAgICAgICBjb25zdCBkYXRlID0gZGF0ZVN0cmluZyA/IG1vbWVudChkYXRlU3RyaW5nLCB0aGlzLmRhdGVGb3JtYXQsIHRydWUpLnRvRGF0ZSgpIDogbmV3IERhdGUoKTtcbiAgICAgICAgY29uc3QgZXJyb3JzID0gdGhpcy5nZXRWYWxpZGF0aW9uRXJyb3JzKGRhdGUpO1xuICAgICAgICBpZiAoZXJyb3JzKSByZXR1cm47XG4gICAgICAgIGlmICghdGhpcy5oYXNUaW1lUGlja2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9uRGF0ZVNlbGVjdChkYXRlKTtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5pc0Zvcm1WYWxpZCkge1xuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSBtb21lbnQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0KS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgICAgIHRoaXMub25Db25maXJtKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvbkRhdGVTZWxlY3QoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgICAgICB0aGlzLmlzU2VsZWN0aW5nRGF0ZSA9IHRydWU7XG4gICAgICAgIHRoaXMuc2VsZWN0ZWREYXRlID0gbW9tZW50KGV2ZW50KS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgdGhpcy5kYXRlID0gbW9tZW50KHRoaXMuc2VsZWN0ZWREYXRlLCB0aGlzLmRhdGVGb3JtYXQpLnRvRGF0ZSgpO1xuICAgICAgICBpZiAoIXRoaXMuaGFzUHJlc2V0cyAmJiAhdGhpcy5oYXNUaW1lUGlja2VyKSB7XG4gICAgICAgICAgICB0aGlzLm9uQ29uZmlybSgpO1xuICAgICAgICB9XG4gICAgICAgIHRoaXMuaXNTZWxlY3RpbmdEYXRlID0gZmFsc2U7XG4gICAgfVxuXG4gICAgb25UaW1lQ2hhbmdlKGV2ZW50OiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50aW1lID0gZXZlbnQ7XG4gICAgfVxuXG4gICAgb25Db25maXJtKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldEZvcm1WYWx1ZSgpO1xuICAgICAgICB0aGlzLnVwZGF0ZUZvcm1WYWx1ZSgpO1xuICAgICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICAgICAgdGhpcy50b3VjaGVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5vblRvdWNoKCk7XG4gICAgICAgIHRoaXMuY2xvc2VQb3BvdmVyKCk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9XG5cbiAgICB2YWxpZGF0ZShjb250cm9sOiBBYnN0cmFjdENvbnRyb2w8YW55LCBhbnk+KTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBpZiAodGhpcy5pc1NlbGVjdGluZ0RhdGUpIHJldHVybiBudWxsO1xuICAgICAgICBpZiAoY29udHJvbD8uZXJyb3JzPy5bJ3JlcXVpcmVkJ10pIHtcbiAgICAgICAgICAgIHRoaXMuaXNSZXF1aXJlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0VmFsaWRhdGlvbkVycm9ycyhjb250cm9sPy52YWx1ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRWYWxpZGF0aW9uRXJyb3JzKGNvbnRyb2xEYXRlOiBEYXRlIHwgbnVsbCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgaWYgKCFjb250cm9sRGF0ZSkgcmV0dXJuIHRoaXMuZ2V0UmVxdWlyZWRFcnJvcigpO1xuICAgICAgICBpZiAoIXRoaXMuaXNWYWxpZERhdGVGb3JtYXQoY29udHJvbERhdGUpKSByZXR1cm4geyBpbnZhbGlkRGF0ZUZvcm1hdDogdGhpcy5kYXRlRm9ybWF0IH07XG4gICAgICAgIHJldHVybiB0aGlzLmdldERhdGVSYW5nZUVycm9ycyhjb250cm9sRGF0ZSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBpc1ZhbGlkRGF0ZUZvcm1hdChkYXRlOiBEYXRlKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiBtb21lbnQoZGF0ZSwgdGhpcy5kYXRlRm9ybWF0LCB0cnVlKS5pc1ZhbGlkKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBnZXRSZXF1aXJlZEVycm9yKCk6IFZhbGlkYXRpb25FcnJvcnMgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMudG91Y2hlZCAmJiB0aGlzLmlzUmVxdWlyZWQgPyB7IHJlcXVpcmVkOiB0cnVlIH0gOiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0RGF0ZVJhbmdlRXJyb3JzKGNvbnRyb2xEYXRlOiBEYXRlKTogVmFsaWRhdGlvbkVycm9ycyB8IG51bGwge1xuICAgICAgICBjb25zdCBtaW5EYXRlID0gdGhpcy5oYXNUaW1lUGlja2VyID8gdGhpcy5taW5EYXRlVGltZSA6IHRoaXMubWluRGF0ZTtcbiAgICAgICAgY29uc3QgbWF4RGF0ZSA9IHRoaXMuaGFzVGltZVBpY2tlciA/IHRoaXMubWF4RGF0ZVRpbWUgOiB0aGlzLm1heERhdGU7XG4gICAgICAgIGNvbnN0IGRhdGVPYmplY3QgPSBuZXcgRGF0ZShjb250cm9sRGF0ZSk7XG4gICAgICAgIGlmIChtaW5EYXRlICYmIGRhdGVPYmplY3QgPCBtaW5EYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBbdGhpcy5oYXNUaW1lUGlja2VyID8gJ21pbkRhdGVUaW1lJyA6ICdtaW5EYXRlJ106IHsgZGF0ZTogbWluRGF0ZSwgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQgfSB9O1xuICAgICAgICB9XG4gICAgICAgIGlmIChtYXhEYXRlICYmIGRhdGVPYmplY3QgPiBtYXhEYXRlKSB7XG4gICAgICAgICAgICByZXR1cm4geyBbdGhpcy5oYXNUaW1lUGlja2VyID8gJ21heERhdGVUaW1lJyA6ICdtYXhEYXRlJ106IHsgZGF0ZTogbWF4RGF0ZSwgZm9ybWF0OiB0aGlzLmRhdGVGb3JtYXQgfSB9O1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlRm9ybVZhbHVlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLmdldCgnZGF0ZXBpY2tlcicpPy5wYXRjaFZhbHVlKHRoaXMuZm9ybVZhbHVlKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGNsb3NlUG9wb3ZlcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5wb3BvdmVyLmhpZGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHJlc2V0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLnJlc2V0KCk7XG4gICAgICAgIHRoaXMuZm9ybVZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuc2V0Q3VycmVudERhdGUoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEN1cnJlbnREYXRlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGUgPSBuZXcgRGF0ZSgpO1xuICAgICAgICB0aGlzLmRhdGUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgdGhpcy52aXNpYmxlRGF0ZSA9IHRoaXMuZGF0ZTtcbiAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB0aGlzLnNob3dUd2VsdmVIcnNGb3JtYXRcbiAgICAgICAgICAgID8gbW9tZW50KHRoaXMuZGF0ZSkuZm9ybWF0KHRoaXMuZGF0ZUZvcm1hdCkucmVwbGFjZSgnMDA6MDAnLCAnMTI6MDAnKVxuICAgICAgICAgICAgOiBtb21lbnQodGhpcy5kYXRlKS5mb3JtYXQodGhpcy5kYXRlRm9ybWF0KTtcbiAgICAgICAgdGhpcy5vblRpbWVTZWxlY3QoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1pbkRhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGltZVBpY2tlcikge1xuICAgICAgICAgICAgdGhpcy5taW5EYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWluRGF0ZVRpbWUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1pbkRhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubWluRGF0ZS5zZXRIb3VycygwLCAwLCAwLCAwKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldE1heERhdGUodmFsdWU6IERhdGUpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuaGFzVGltZVBpY2tlcikge1xuICAgICAgICAgICAgdGhpcy5tYXhEYXRlVGltZSA9IG5ldyBEYXRlKHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMubWF4RGF0ZVRpbWUuc2V0U2Vjb25kcygwLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLm1heERhdGUgPSBuZXcgRGF0ZSh2YWx1ZSk7XG4gICAgICAgIHRoaXMubWF4RGF0ZS5zZXRIb3VycygyMywgNTksIDU5LCA5OTkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZm9ybVZhbHVlQ2hhbmdlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmRhdGVwaWNrZXJGb3JtLmdldCgnZGF0ZXBpY2tlcicpPy52YWx1ZUNoYW5nZXMuc3Vic2NyaWJlKHZhbHVlID0+IHtcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PT0gbnVsbCkgcmV0dXJuO1xuICAgICAgICAgICAgaWYgKHZhbHVlLmxlbmd0aCA8PSAxKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcblxuICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuZGF0ZSA9IG1vbWVudCh2YWx1ZSwgdGhpcy5kYXRlRm9ybWF0KS50b0RhdGUoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLmlzVmFsaWREYXRlRm9ybWF0KHRoaXMuZGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnZpc2libGVEYXRlID0gdGhpcy5kYXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZERhdGUgPSB2YWx1ZTtcbiAgICAgICAgICAgIHRoaXMub25UaW1lU2VsZWN0KCk7XG4gICAgICAgICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBoYW5kbGVFbXB0eURhdGVwaWNrZXIoKTogdm9pZCB7XG4gICAgICAgIHRoaXMucmVzZXQoKTtcbiAgICAgICAgdGhpcy5vbkNoYW5nZSgnJyk7XG4gICAgICAgIHRoaXMuZGF0ZUNoYW5nZS5lbWl0KCcnKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldEZvcm1WYWx1ZSgpOiBzdHJpbmcge1xuICAgICAgICBjb25zdCBbZGF0ZVBhcnRdID0gdGhpcy5zZWxlY3RlZERhdGUuc3BsaXQoJyAnKTtcbiAgICAgICAgdGhpcy5mb3JtVmFsdWUgPSB0aGlzLmhhc1RpbWVQaWNrZXIgPyBgJHtkYXRlUGFydH0gJHt0aGlzLnRpbWV9YCA6IHRoaXMuc2VsZWN0ZWREYXRlO1xuICAgICAgICByZXR1cm4gdGhpcy5mb3JtVmFsdWU7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBvblRpbWVTZWxlY3QoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5zZWxlY3RlZERhdGUpIHJldHVybjtcbiAgICAgICAgY29uc3QgZGF0ZVBhcnRzID0gdGhpcy5zZWxlY3RlZERhdGUuc3BsaXQoJyAnKTtcbiAgICAgICAgdGhpcy50aW1lID0gZGF0ZVBhcnRzLmxlbmd0aCA+PSAzID8gYCR7ZGF0ZVBhcnRzWzFdfSAke2RhdGVQYXJ0c1syXX1gIDogZGF0ZVBhcnRzWzFdO1xuICAgIH1cbn1cbiIsIjxmb3JtIFtmb3JtR3JvdXBdPVwiZGF0ZXBpY2tlckZvcm1cIj5cbiAgICA8aW5wdXRcbiAgICAgICAgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2lucHV0XCJcbiAgICAgICAgbmJJbnB1dFxuICAgICAgICB0eXBlPVwidGV4dFwiXG4gICAgICAgIGZvcm1Db250cm9sTmFtZT1cImRhdGVwaWNrZXJcIlxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxuICAgICAgICBbcmVhZG9ubHldPVwiaXNSZWFkb25seVwiXG4gICAgICAgIFtuYlBvcG92ZXJdPVwiY2FsZW5kYXJcIlxuICAgICAgICBuYlBvcG92ZXJQbGFjZW1lbnQ9XCJib3R0b21cIlxuICAgICAgICBuYlBvcG92ZXJTaXplPVwibGFyZ2VcIlxuICAgICAgICBbbmJQb3BvdmVyVHJpZ2dlcl09XCJpc1JlYWRvbmx5ID8gJ25vb3AnIDogJ2ZvY3VzJ1wiXG4gICAgICAgIChibHVyKT1cIm9uQmx1cigpXCIgLz5cblxuICAgIDxkaXYgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2ljb25cIj5cbiAgICAgICAgPG5iLWljb24gaWNvbj1cImNhbGVuZGFyXCIgcGFjaz1cInNjbC1kYXRlcGlja2VyLWljb25cIj48L25iLWljb24+XG4gICAgPC9kaXY+XG5cbiAgICA8bmctdGVtcGxhdGUgI2NhbGVuZGFyPlxuICAgICAgICA8ZGl2IGNsYXNzPVwic2NsLWN1c3RvbS1kYXRlcGlja2VyX19wb3BvdmVyXCIgKG1vdXNlZG93bik9XCIkZXZlbnQucHJldmVudERlZmF1bHQoKVwiIGFyaWEtbGFiZWw9XCJDYWxlbmRhclwiIHRhYmluZGV4PVwiLTFcIj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzY2wtY3VzdG9tLWRhdGVwaWNrZXJfX2NvbnRlbnRcIj5cbiAgICAgICAgICAgICAgICA8bmItY2FsZW5kYXIgWyhkYXRlKV09XCJkYXRlXCIgKGRhdGVDaGFuZ2UpPVwib25EYXRlU2VsZWN0KCRldmVudClcIiBbdmlzaWJsZURhdGVdPVwidmlzaWJsZURhdGVcIiBbbWluXT1cIm1pbkRhdGVcIiBbbWF4XT1cIm1heERhdGVcIj4gPC9uYi1jYWxlbmRhcj5cblxuICAgICAgICAgICAgICAgIDx0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgICN0aW1lcGlja2VyXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic2NsLWN1c3RvbS1kYXRlcGlja2VyX190aW1lcGlja2VyXCJcbiAgICAgICAgICAgICAgICAgICAgKHRpbWVDaGFuZ2UpPVwib25UaW1lQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgICBbdGltZVZhbHVlc109XCJ0aW1lXCJcbiAgICAgICAgICAgICAgICAgICAgW3R3ZWx2ZUhvdXJzRm9ybWF0XT1cInNob3dUd2VsdmVIcnNGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICBbZm9ybWF0XT1cInRpbWVGb3JtYXRcIlxuICAgICAgICAgICAgICAgICAgICAqbmdJZj1cImhhc1RpbWVQaWNrZXJcIj5cbiAgICAgICAgICAgICAgICA8L3RpbWVwaWNrZXI+XG4gICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNjbC1jdXN0b20tZGF0ZXBpY2tlcl9fZm9vdGVyXCIgKm5nSWY9XCJoYXNUaW1lUGlja2VyXCI+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuYkJ1dHRvbiBnaG9zdCBzdGF0dXM9XCJwcmltYXJ5XCIgKm5nSWY9XCJzaG93UHJlc2V0c1wiPkNob29zZSBmcm9tIHByZXNlbnRzPC9idXR0b24+XG4gICAgICAgICAgICAgICAgPGJ1dHRvbiBuYkJ1dHRvbiBzdGF0dXM9XCJwcmltYXJ5XCIgW2Rpc2FibGVkXT1cIiFpc0Zvcm1WYWxpZFwiIChjbGljayk9XCJvbkNvbmZpcm0oKVwiPkNvbmZpcm08L2J1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICA8L2Rpdj5cbiAgICA8L25nLXRlbXBsYXRlPlxuPC9mb3JtPlxuIl19
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export var DATE_FORMAT;
|
|
2
|
+
(function (DATE_FORMAT) {
|
|
3
|
+
DATE_FORMAT["DEFAULT_DATE"] = "YYYY-MM-DD";
|
|
4
|
+
DATE_FORMAT["DEFAULT_DATE_TIME"] = "YYYY-MM-DD HH:mm:ss";
|
|
5
|
+
DATE_FORMAT["TWELVE_HR_DATETIME"] = "YYYY-MM-DD hh:mm A";
|
|
6
|
+
})(DATE_FORMAT || (DATE_FORMAT = {}));
|
|
7
|
+
export var TIME_FORMAT;
|
|
8
|
+
(function (TIME_FORMAT) {
|
|
9
|
+
TIME_FORMAT["DEFAULT_TIME"] = "HH:mm:ss";
|
|
10
|
+
TIME_FORMAT["TWELVE_HR"] = "hh:mm A";
|
|
11
|
+
})(TIME_FORMAT || (TIME_FORMAT = {}));
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLWRhdGVwaWNrZXIubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvcGFja2FnZXMvY3VzdG9tLWRhdGVwaWNrZXIvY3VzdG9tLWRhdGVwaWNrZXIubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFOLElBQVksV0FJWDtBQUpELFdBQVksV0FBVztJQUNuQiwwQ0FBMkIsQ0FBQTtJQUMzQix3REFBeUMsQ0FBQTtJQUN6Qyx3REFBeUMsQ0FBQTtBQUM3QyxDQUFDLEVBSlcsV0FBVyxLQUFYLFdBQVcsUUFJdEI7QUFFRCxNQUFNLENBQU4sSUFBWSxXQUdYO0FBSEQsV0FBWSxXQUFXO0lBQ25CLHdDQUF5QixDQUFBO0lBQ3pCLG9DQUFxQixDQUFBO0FBQ3pCLENBQUMsRUFIVyxXQUFXLEtBQVgsV0FBVyxRQUd0QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBlbnVtIERBVEVfRk9STUFUIHtcbiAgICBERUZBVUxUX0RBVEUgPSAnWVlZWS1NTS1ERCcsXG4gICAgREVGQVVMVF9EQVRFX1RJTUUgPSAnWVlZWS1NTS1ERCBISDptbTpzcycsXG4gICAgVFdFTFZFX0hSX0RBVEVUSU1FID0gJ1lZWVktTU0tREQgaGg6bW0gQScsXG59XG5cbmV4cG9ydCBlbnVtIFRJTUVfRk9STUFUIHtcbiAgICBERUZBVUxUX1RJTUUgPSAnSEg6bW06c3MnLFxuICAgIFRXRUxWRV9IUiA9ICdoaDptbSBBJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lcGlja2VyT3B0aW9uIHtcbiAgICB1bml0OiBzdHJpbmc7XG4gICAgZGF0YTogVGltZXBpY2tlckRhdGFbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUaW1lcGlja2VyRGF0YSB7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export const SclDatepickerIcons = {
|
|
2
|
+
calendar: `
|
|
3
|
+
<svg width="21" height="20" viewBox="0 0 21 20" fill="none" xmlns="http://www.w3.org/2000/svg">
|
|
4
|
+
<path d="M15.128 2.5a2.708 2.708 0 0 1 2.708 2.708v9.584a2.708 2.708 0 0 1-2.708 2.708H5.544a2.708 2.708 0 0 1-2.708-2.708V5.208A2.708 2.708 0 0 1 5.544 2.5h9.584zm1.458 4.583h-12.5v7.709c0 .805.653 1.458 1.458 1.458h9.584c.805 0 1.458-.653 1.458-1.458V7.083zm-9.792 5a1.042 1.042 0 1 1 0 2.084 1.042 1.042 0 0 1 0-2.084zm3.542 0a1.042 1.042 0 1 1 0 2.084 1.042 1.042 0 0 1 0-2.084zM6.794 8.75a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm3.542 0a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm3.542 0a1.042 1.042 0 1 1 0 2.083 1.042 1.042 0 0 1 0-2.083zm1.25-5H5.544c-.805 0-1.458.653-1.458 1.458v.625h12.5v-.625c0-.805-.653-1.458-1.458-1.458z" fill="#4B5563"/>
|
|
5
|
+
</svg>`,
|
|
6
|
+
};
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZXBpY2tlci5pY29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BhY2thZ2VzL2N1c3RvbS1kYXRlcGlja2VyL2RhdGVwaWNrZXIuaWNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBWTtJQUN2QyxRQUFRLEVBQUU7OztlQUdDO0NBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5iSWNvbnMgfSBmcm9tICdAbmVidWxhci90aGVtZSc7XG5cbmV4cG9ydCBjb25zdCBTY2xEYXRlcGlja2VySWNvbnM6IE5iSWNvbnMgPSB7XG4gICAgY2FsZW5kYXI6IGBcbiAgICAgICAgPHN2ZyB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XG4gICAgICAgICAgICA8cGF0aCBkPVwiTTE1LjEyOCAyLjVhMi43MDggMi43MDggMCAwIDEgMi43MDggMi43MDh2OS41ODRhMi43MDggMi43MDggMCAwIDEtMi43MDggMi43MDhINS41NDRhMi43MDggMi43MDggMCAwIDEtMi43MDgtMi43MDhWNS4yMDhBMi43MDggMi43MDggMCAwIDEgNS41NDQgMi41aDkuNTg0em0xLjQ1OCA0LjU4M2gtMTIuNXY3LjcwOWMwIC44MDUuNjUzIDEuNDU4IDEuNDU4IDEuNDU4aDkuNTg0Yy44MDUgMCAxLjQ1OC0uNjUzIDEuNDU4LTEuNDU4VjcuMDgzem0tOS43OTIgNWExLjA0MiAxLjA0MiAwIDEgMSAwIDIuMDg0IDEuMDQyIDEuMDQyIDAgMCAxIDAtMi4wODR6bTMuNTQyIDBhMS4wNDIgMS4wNDIgMCAxIDEgMCAyLjA4NCAxLjA0MiAxLjA0MiAwIDAgMSAwLTIuMDg0ek02Ljc5NCA4Ljc1YTEuMDQyIDEuMDQyIDAgMSAxIDAgMi4wODMgMS4wNDIgMS4wNDIgMCAwIDEgMC0yLjA4M3ptMy41NDIgMGExLjA0MiAxLjA0MiAwIDEgMSAwIDIuMDgzIDEuMDQyIDEuMDQyIDAgMCAxIDAtMi4wODN6bTMuNTQyIDBhMS4wNDIgMS4wNDIgMCAxIDEgMCAyLjA4MyAxLjA0MiAxLjA0MiAwIDAgMSAwLTIuMDgzem0xLjI1LTVINS41NDRjLS44MDUgMC0xLjQ1OC42NTMtMS40NTggMS40NTh2LjYyNWgxMi41di0uNjI1YzAtLjgwNS0uNjUzLTEuNDU4LTEuNDU4LTEuNDU4elwiIGZpbGw9XCIjNEI1NTYzXCIvPlxuICAgICAgICA8L3N2Zz5gLFxufTtcbiJdfQ==
|