@ptsecurity/mosaic 11.6.0 → 12.2.1
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/_theming.scss +407 -99
- package/_visual.scss +63 -26
- package/autocomplete/autocomplete-origin.directive.d.ts +3 -0
- package/autocomplete/autocomplete-trigger.directive.d.ts +3 -0
- package/autocomplete/autocomplete.component.d.ts +3 -0
- package/autocomplete/autocomplete.module.d.ts +10 -0
- package/autocomplete/package.json +0 -1
- package/autocomplete/ptsecurity-mosaic-autocomplete.d.ts +1 -0
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js +178 -114
- package/bundles/ptsecurity-mosaic-autocomplete.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js +107 -71
- package/bundles/ptsecurity-mosaic-button-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-button.umd.js +106 -77
- package/bundles/ptsecurity-mosaic-button.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-card.umd.js +74 -43
- package/bundles/ptsecurity-mosaic-card.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.js +114 -69
- package/bundles/ptsecurity-mosaic-checkbox.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-core.umd.js +804 -256
- package/bundles/ptsecurity-mosaic-core.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.js +599 -420
- package/bundles/ptsecurity-mosaic-datepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js +108 -26
- package/bundles/ptsecurity-mosaic-design-tokens.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-divider.umd.js +55 -28
- package/bundles/ptsecurity-mosaic-divider.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.js +263 -187
- package/bundles/ptsecurity-mosaic-dropdown.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.js +200 -125
- package/bundles/ptsecurity-mosaic-form-field.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-icon.umd.js +79 -41
- package/bundles/ptsecurity-mosaic-icon.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-input.umd.js +222 -124
- package/bundles/ptsecurity-mosaic-input.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-link.umd.js +76 -45
- package/bundles/ptsecurity-mosaic-link.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-list.umd.js +344 -200
- package/bundles/ptsecurity-mosaic-list.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-modal.umd.js +324 -220
- package/bundles/ptsecurity-mosaic-modal.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.js +289 -208
- package/bundles/ptsecurity-mosaic-navbar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-popover.umd.js +346 -640
- package/bundles/ptsecurity-mosaic-popover.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js +69 -40
- package/bundles/ptsecurity-mosaic-progress-bar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js +69 -40
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-radio.umd.js +126 -81
- package/bundles/ptsecurity-mosaic-radio.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-select.umd.js +276 -154
- package/bundles/ptsecurity-mosaic-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.js +105 -68
- package/bundles/ptsecurity-mosaic-sidebar.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js +236 -158
- package/bundles/ptsecurity-mosaic-sidepanel.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.js +112 -83
- package/bundles/ptsecurity-mosaic-splitter.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-table.umd.js +77 -44
- package/bundles/ptsecurity-mosaic-table.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.js +894 -687
- package/bundles/ptsecurity-mosaic-tabs.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tags.umd.js +313 -209
- package/bundles/ptsecurity-mosaic-tags.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.js +107 -53
- package/bundles/ptsecurity-mosaic-textarea.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.js +116 -71
- package/bundles/ptsecurity-mosaic-timepicker.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.js +97 -58
- package/bundles/ptsecurity-mosaic-toggle.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.js +347 -615
- package/bundles/ptsecurity-mosaic-tooltip.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.js +223 -118
- package/bundles/ptsecurity-mosaic-tree-select.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic-tree.umd.js +1162 -344
- package/bundles/ptsecurity-mosaic-tree.umd.js.map +1 -1
- package/bundles/ptsecurity-mosaic.umd.js +2 -2
- package/button/button.component.d.ts +7 -0
- package/button/button.module.d.ts +8 -0
- package/button/package.json +0 -1
- package/button/ptsecurity-mosaic-button.d.ts +1 -0
- package/button-toggle/button-toggle.component.d.ts +5 -0
- package/button-toggle/button-toggle.module.d.ts +7 -0
- package/button-toggle/package.json +0 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.d.ts +1 -0
- package/card/card.component.d.ts +3 -0
- package/card/card.module.d.ts +8 -0
- package/card/package.json +0 -1
- package/card/ptsecurity-mosaic-card.d.ts +1 -0
- package/checkbox/checkbox-module.d.ts +7 -0
- package/checkbox/checkbox-required-validator.d.ts +3 -0
- package/checkbox/checkbox.d.ts +3 -0
- package/checkbox/package.json +0 -1
- package/checkbox/ptsecurity-mosaic-checkbox.d.ts +1 -0
- package/core/common-behaviors/color.d.ts +3 -3
- package/core/common-behaviors/common-module.d.ts +5 -0
- package/core/common-behaviors/disabled.d.ts +4 -3
- package/core/common-behaviors/tabindex.d.ts +2 -1
- package/core/error/error-options.d.ts +5 -0
- package/core/formatters/date/formatter.d.ts +3 -0
- package/core/formatters/index.d.ts +5 -0
- package/core/formatters/number/formatter.d.ts +4 -0
- package/core/forms/forms-module.d.ts +5 -0
- package/core/forms/forms.directive.d.ts +5 -0
- package/core/highlight/highlight.pipe.d.ts +3 -0
- package/core/highlight/index.d.ts +6 -0
- package/core/line/line.d.ts +6 -0
- package/core/option/action.d.ts +42 -0
- package/core/option/index.d.ts +1 -0
- package/core/option/optgroup.d.ts +3 -0
- package/core/option/option-module.d.ts +9 -0
- package/core/option/option.d.ts +3 -0
- package/core/overlay/overlay-position-map.d.ts +0 -4
- package/core/package.json +0 -1
- package/core/pop-up/constants.d.ts +29 -0
- package/core/pop-up/index.d.ts +3 -0
- package/core/pop-up/pop-up-trigger.d.ts +70 -0
- package/core/pop-up/pop-up.d.ts +35 -0
- package/core/ptsecurity-mosaic-core.d.ts +1 -1
- package/core/public-api.d.ts +1 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.d.ts +3 -0
- package/core/selection/pseudo-checkbox/pseudo-checkbox.module.d.ts +6 -0
- package/core/services/measure-scrollbar.service.d.ts +3 -0
- package/datepicker/calendar-body.component.d.ts +5 -6
- package/datepicker/calendar.component.d.ts +5 -0
- package/datepicker/datepicker-input.directive.d.ts +6 -2
- package/datepicker/datepicker-intl.d.ts +3 -0
- package/datepicker/datepicker-module.d.ts +18 -0
- package/datepicker/datepicker-toggle.component.d.ts +5 -0
- package/datepicker/datepicker.component.d.ts +5 -0
- package/datepicker/month-view.component.d.ts +3 -0
- package/datepicker/multi-year-view.component.d.ts +3 -0
- package/datepicker/package.json +0 -1
- package/datepicker/ptsecurity-mosaic-datepicker.d.ts +1 -0
- package/datepicker/year-view.component.d.ts +3 -0
- package/design-tokens/package.json +0 -1
- package/design-tokens/ptsecurity-mosaic-design-tokens.d.ts +1 -0
- package/design-tokens/tokens/components/list.json5 +0 -4
- package/design-tokens/tokens/components/popover.json5 +32 -4
- package/design-tokens/tokens/components/tooltip.json5 +49 -3
- package/design-tokens/tokens/components/tree.json5 +3 -3
- package/design-tokens/tokens/properties/globals.json5 +1 -1
- package/design-tokens/tokens.d.ts +56 -15
- package/divider/divider.component.d.ts +3 -0
- package/divider/divider.module.d.ts +6 -0
- package/divider/package.json +0 -1
- package/divider/ptsecurity-mosaic-divider.d.ts +1 -0
- package/dropdown/dropdown-content.directive.d.ts +3 -0
- package/dropdown/dropdown-item.component.d.ts +3 -0
- package/dropdown/dropdown-trigger.directive.d.ts +6 -8
- package/dropdown/dropdown.component.d.ts +5 -1
- package/dropdown/dropdown.module.d.ts +11 -0
- package/dropdown/package.json +0 -1
- package/dropdown/ptsecurity-mosaic-dropdown.d.ts +1 -0
- package/esm2015/autocomplete/autocomplete-origin.directive.js +11 -11
- package/esm2015/autocomplete/autocomplete-trigger.directive.js +53 -38
- package/esm2015/autocomplete/autocomplete.component.js +56 -37
- package/esm2015/autocomplete/autocomplete.module.js +25 -15
- package/esm2015/button/button.component.js +52 -56
- package/esm2015/button/button.module.js +35 -20
- package/esm2015/button-toggle/button-toggle.component.js +76 -55
- package/esm2015/button-toggle/button-toggle.module.js +13 -8
- package/esm2015/card/card.component.js +32 -30
- package/esm2015/card/card.module.js +23 -12
- package/esm2015/checkbox/checkbox-module.js +13 -8
- package/esm2015/checkbox/checkbox-required-validator.js +12 -8
- package/esm2015/checkbox/checkbox.js +61 -44
- package/esm2015/core/common-behaviors/color.js +2 -5
- package/esm2015/core/common-behaviors/common-module.js +17 -11
- package/esm2015/core/common-behaviors/disabled.js +1 -1
- package/esm2015/core/common-behaviors/tabindex.js +4 -13
- package/esm2015/core/error/error-options.js +12 -8
- package/esm2015/core/formatters/date/formatter.js +13 -10
- package/esm2015/core/formatters/index.js +13 -8
- package/esm2015/core/formatters/number/formatter.js +16 -10
- package/esm2015/core/forms/forms-module.js +20 -13
- package/esm2015/core/forms/forms.directive.js +32 -29
- package/esm2015/core/highlight/highlight.pipe.js +8 -4
- package/esm2015/core/highlight/index.js +13 -8
- package/esm2015/core/line/line.js +22 -14
- package/esm2015/core/option/action.js +131 -0
- package/esm2015/core/option/index.js +2 -1
- package/esm2015/core/option/optgroup.js +22 -19
- package/esm2015/core/option/option-module.js +14 -8
- package/esm2015/core/option/option.js +44 -35
- package/esm2015/core/overlay/overlay-position-map.js +16 -18
- package/esm2015/core/pop-up/constants.js +34 -0
- package/esm2015/core/pop-up/index.js +4 -0
- package/esm2015/core/pop-up/pop-up-trigger.js +241 -0
- package/esm2015/core/pop-up/pop-up.js +87 -0
- package/esm2015/core/ptsecurity-mosaic-core.js +1 -2
- package/esm2015/core/public-api.js +2 -1
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.js +25 -21
- package/esm2015/core/selection/pseudo-checkbox/pseudo-checkbox.module.js +13 -8
- package/esm2015/core/services/measure-scrollbar.service.js +12 -12
- package/esm2015/datepicker/calendar-body.component.js +39 -32
- package/esm2015/datepicker/calendar.component.js +92 -58
- package/esm2015/datepicker/datepicker-input.directive.js +92 -61
- package/esm2015/datepicker/datepicker-intl.js +7 -5
- package/esm2015/datepicker/datepicker-module.js +89 -48
- package/esm2015/datepicker/datepicker-toggle.component.js +44 -32
- package/esm2015/datepicker/datepicker.component.js +88 -63
- package/esm2015/datepicker/month-view.component.js +48 -29
- package/esm2015/datepicker/multi-year-view.component.js +40 -27
- package/esm2015/datepicker/year-view.component.js +45 -28
- package/esm2015/design-tokens/tokens.js +57 -16
- package/esm2015/divider/divider.component.js +24 -20
- package/esm2015/divider/divider.module.js +13 -8
- package/esm2015/dropdown/dropdown-content.directive.js +13 -15
- package/esm2015/dropdown/dropdown-item.component.js +40 -30
- package/esm2015/dropdown/dropdown-trigger.directive.js +75 -67
- package/esm2015/dropdown/dropdown.component.js +63 -38
- package/esm2015/dropdown/dropdown.module.js +40 -23
- package/esm2015/form-field/cleaner.js +20 -11
- package/esm2015/form-field/form-field.js +77 -53
- package/esm2015/form-field/form-field.module.js +41 -24
- package/esm2015/form-field/hint.js +16 -13
- package/esm2015/form-field/prefix.js +10 -6
- package/esm2015/form-field/stepper.js +22 -11
- package/esm2015/form-field/suffix.js +10 -6
- package/esm2015/icon/icon.component.js +27 -22
- package/esm2015/icon/icon.module.js +31 -18
- package/esm2015/input/input-number-validators.js +48 -29
- package/esm2015/input/input-number.js +42 -28
- package/esm2015/input/input.js +94 -52
- package/esm2015/input/input.module.js +13 -8
- package/esm2015/link/link.component.js +38 -34
- package/esm2015/link/link.module.js +20 -11
- package/esm2015/list/list-selection.component.js +224 -122
- package/esm2015/list/list.component.js +35 -32
- package/esm2015/list/list.module.js +47 -25
- package/esm2015/modal/css-unit.pipe.js +10 -6
- package/esm2015/modal/modal-control.service.js +11 -8
- package/esm2015/modal/modal.component.js +107 -61
- package/esm2015/modal/modal.directive.js +43 -30
- package/esm2015/modal/modal.module.js +59 -31
- package/esm2015/modal/modal.service.js +9 -9
- package/esm2015/modal/ptsecurity-mosaic-modal.js +1 -3
- package/esm2015/navbar/navbar-item.component.js +111 -95
- package/esm2015/navbar/navbar.component.js +40 -30
- package/esm2015/navbar/navbar.module.js +66 -35
- package/esm2015/navbar/ptsecurity-mosaic-navbar.js +1 -2
- package/esm2015/navbar/vertical-navbar.component.js +68 -46
- package/esm2015/popover/popover-confirm.component.js +115 -0
- package/esm2015/popover/popover.component.js +180 -587
- package/esm2015/popover/popover.module.js +18 -12
- package/esm2015/popover/public-api.js +2 -1
- package/esm2015/progress-bar/progress-bar.component.js +26 -24
- package/esm2015/progress-bar/progress-bar.module.js +24 -15
- package/esm2015/progress-spinner/progress-spinner.component.js +26 -24
- package/esm2015/progress-spinner/progress-spinner.module.js +24 -15
- package/esm2015/radio/radio.component.js +87 -67
- package/esm2015/radio/radio.module.js +13 -8
- package/esm2015/select/select.component.js +181 -105
- package/esm2015/select/select.module.js +54 -28
- package/esm2015/sidebar/ptsecurity-mosaic-sidebar.js +1 -2
- package/esm2015/sidebar/sidebar.component.js +61 -50
- package/esm2015/sidebar/sidebar.module.js +25 -16
- package/esm2015/sidepanel/ptsecurity-mosaic-sidepanel.js +1 -2
- package/esm2015/sidepanel/sidepanel-container.component.js +46 -40
- package/esm2015/sidepanel/sidepanel-directives.js +87 -57
- package/esm2015/sidepanel/sidepanel.module.js +63 -30
- package/esm2015/sidepanel/sidepanel.service.js +20 -12
- package/esm2015/splitter/splitter.component.js +62 -64
- package/esm2015/splitter/splitter.module.js +32 -19
- package/esm2015/table/table.component.js +13 -9
- package/esm2015/table/table.module.js +23 -12
- package/esm2015/tabs/paginated-tab-header.js +20 -18
- package/esm2015/tabs/ptsecurity-mosaic-tabs.js +1 -6
- package/esm2015/tabs/tab-body.component.js +52 -42
- package/esm2015/tabs/tab-content.directive.js +8 -8
- package/esm2015/tabs/tab-group.component.js +145 -74
- package/esm2015/tabs/tab-header.component.js +50 -36
- package/esm2015/tabs/tab-label-wrapper.directive.js +30 -16
- package/esm2015/tabs/tab-label.directive.js +11 -7
- package/esm2015/tabs/tab-nav-bar/tab-nav-bar.js +46 -46
- package/esm2015/tabs/tab.component.js +67 -33
- package/esm2015/tabs/tabs.module.js +87 -45
- package/esm2015/tags/tag-input.js +48 -34
- package/esm2015/tags/tag-list.component.js +93 -56
- package/esm2015/tags/tag.component.js +90 -73
- package/esm2015/tags/tag.module.js +46 -29
- package/esm2015/textarea/textarea.component.js +70 -41
- package/esm2015/textarea/textarea.module.js +13 -8
- package/esm2015/timepicker/timepicker.directive.js +64 -52
- package/esm2015/timepicker/timepicker.module.js +26 -13
- package/esm2015/toggle/toggle.component.js +65 -47
- package/esm2015/toggle/toggle.module.js +13 -8
- package/esm2015/tooltip/tooltip.animations.js +19 -0
- package/esm2015/tooltip/tooltip.component.js +239 -555
- package/esm2015/tooltip/tooltip.module.js +38 -11
- package/esm2015/tree/control/base-tree-control.js +60 -0
- package/esm2015/tree/control/flat-tree-control.js +123 -0
- package/esm2015/tree/control/nested-tree-control.js +41 -0
- package/esm2015/tree/control/tree-control.js +2 -0
- package/esm2015/tree/data-source/flat-data-source.js +1 -1
- package/esm2015/tree/node.js +31 -0
- package/esm2015/tree/outlet.js +15 -0
- package/esm2015/tree/padding.directive.js +98 -25
- package/esm2015/tree/public-api.js +9 -2
- package/esm2015/tree/toggle.js +65 -70
- package/esm2015/tree/tree-base.js +243 -0
- package/esm2015/tree/tree-errors.js +36 -0
- package/esm2015/tree/tree-option.component.js +102 -56
- package/esm2015/tree/tree-selection.component.js +180 -115
- package/esm2015/tree/tree.js +23 -0
- package/esm2015/tree/tree.module.js +38 -12
- package/esm2015/tree-select/tree-select.component.js +153 -85
- package/esm2015/tree-select/tree-select.module.js +33 -18
- package/fesm2015/ptsecurity-mosaic-autocomplete.js +140 -102
- package/fesm2015/ptsecurity-mosaic-autocomplete.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button-toggle.js +87 -63
- package/fesm2015/ptsecurity-mosaic-button-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-button.js +86 -76
- package/fesm2015/ptsecurity-mosaic-button.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-card.js +54 -42
- package/fesm2015/ptsecurity-mosaic-card.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-checkbox.js +82 -59
- package/fesm2015/ptsecurity-mosaic-checkbox.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-core.js +758 -239
- package/fesm2015/ptsecurity-mosaic-core.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-datepicker.js +544 -376
- package/fesm2015/ptsecurity-mosaic-datepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-design-tokens.js +57 -16
- package/fesm2015/ptsecurity-mosaic-design-tokens.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-divider.js +34 -26
- package/fesm2015/ptsecurity-mosaic-divider.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-dropdown.js +219 -171
- package/fesm2015/ptsecurity-mosaic-dropdown.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-form-field.js +184 -119
- package/fesm2015/ptsecurity-mosaic-form-field.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-icon.js +56 -39
- package/fesm2015/ptsecurity-mosaic-icon.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-input.js +191 -116
- package/fesm2015/ptsecurity-mosaic-input.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-link.js +57 -45
- package/fesm2015/ptsecurity-mosaic-link.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-list.js +301 -177
- package/fesm2015/ptsecurity-mosaic-list.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-modal.js +243 -159
- package/fesm2015/ptsecurity-mosaic-modal.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-navbar.js +280 -205
- package/fesm2015/ptsecurity-mosaic-navbar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-popover.js +297 -597
- package/fesm2015/ptsecurity-mosaic-popover.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-bar.js +48 -38
- package/fesm2015/ptsecurity-mosaic-progress-bar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js +48 -38
- package/fesm2015/ptsecurity-mosaic-progress-spinner.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-radio.js +99 -76
- package/fesm2015/ptsecurity-mosaic-radio.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-select.js +236 -136
- package/fesm2015/ptsecurity-mosaic-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidebar.js +85 -66
- package/fesm2015/ptsecurity-mosaic-sidebar.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-sidepanel.js +207 -139
- package/fesm2015/ptsecurity-mosaic-sidepanel.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-splitter.js +92 -82
- package/fesm2015/ptsecurity-mosaic-splitter.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-table.js +33 -19
- package/fesm2015/ptsecurity-mosaic-table.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tabs.js +557 -387
- package/fesm2015/ptsecurity-mosaic-tabs.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tags.js +273 -192
- package/fesm2015/ptsecurity-mosaic-tags.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-textarea.js +83 -50
- package/fesm2015/ptsecurity-mosaic-textarea.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-timepicker.js +87 -64
- package/fesm2015/ptsecurity-mosaic-timepicker.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-toggle.js +77 -55
- package/fesm2015/ptsecurity-mosaic-toggle.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tooltip.js +293 -566
- package/fesm2015/ptsecurity-mosaic-tooltip.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree-select.js +188 -106
- package/fesm2015/ptsecurity-mosaic-tree-select.js.map +1 -1
- package/fesm2015/ptsecurity-mosaic-tree.js +1001 -279
- package/fesm2015/ptsecurity-mosaic-tree.js.map +1 -1
- package/form-field/cleaner.d.ts +5 -0
- package/form-field/form-field.d.ts +5 -0
- package/form-field/form-field.module.d.ts +12 -0
- package/form-field/hint.d.ts +3 -0
- package/form-field/package.json +0 -1
- package/form-field/prefix.d.ts +3 -0
- package/form-field/ptsecurity-mosaic-form-field.d.ts +1 -0
- package/form-field/stepper.d.ts +3 -0
- package/form-field/suffix.d.ts +3 -0
- package/icon/icon.component.d.ts +5 -0
- package/icon/icon.module.d.ts +8 -0
- package/icon/package.json +0 -1
- package/icon/ptsecurity-mosaic-icon.d.ts +1 -0
- package/input/input-number-validators.d.ts +7 -2
- package/input/input-number.d.ts +3 -0
- package/input/input.d.ts +5 -0
- package/input/input.module.d.ts +11 -0
- package/input/package.json +0 -1
- package/input/ptsecurity-mosaic-input.d.ts +1 -0
- package/link/link.component.d.ts +3 -0
- package/link/link.module.d.ts +7 -0
- package/link/package.json +0 -1
- package/link/ptsecurity-mosaic-link.d.ts +1 -0
- package/list/list-selection.component.d.ts +30 -3
- package/list/list.component.d.ts +5 -0
- package/list/list.module.d.ts +9 -0
- package/list/package.json +0 -1
- package/list/ptsecurity-mosaic-list.d.ts +1 -0
- package/modal/css-unit.pipe.d.ts +3 -0
- package/modal/modal-control.service.d.ts +3 -0
- package/modal/modal.component.d.ts +5 -0
- package/modal/modal.directive.d.ts +9 -0
- package/modal/modal.module.d.ts +12 -0
- package/modal/modal.service.d.ts +3 -0
- package/modal/package.json +0 -1
- package/modal/ptsecurity-mosaic-modal.d.ts +1 -2
- package/navbar/navbar-item.component.d.ts +13 -0
- package/navbar/navbar.component.d.ts +5 -0
- package/navbar/navbar.module.d.ts +11 -0
- package/navbar/package.json +0 -1
- package/navbar/ptsecurity-mosaic-navbar.d.ts +1 -1
- package/navbar/vertical-navbar.component.d.ts +5 -0
- package/package.json +8 -9
- package/popover/package.json +0 -1
- package/popover/popover-confirm.component.d.ts +33 -0
- package/popover/popover.component.d.ts +50 -136
- package/popover/popover.module.d.ts +9 -0
- package/popover/ptsecurity-mosaic-popover.d.ts +1 -0
- package/popover/public-api.d.ts +1 -0
- package/prebuilt-themes/dark-theme.css +1 -1
- package/prebuilt-themes/default-theme.css +1 -1
- package/prebuilt-visual/default-visual.css +1 -0
- package/progress-bar/package.json +0 -1
- package/progress-bar/progress-bar.component.d.ts +3 -0
- package/progress-bar/progress-bar.module.d.ts +7 -0
- package/progress-bar/ptsecurity-mosaic-progress-bar.d.ts +1 -0
- package/progress-spinner/package.json +0 -1
- package/progress-spinner/progress-spinner.component.d.ts +3 -0
- package/progress-spinner/progress-spinner.module.d.ts +7 -0
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.d.ts +1 -0
- package/ptsecurity-mosaic.d.ts +1 -0
- package/radio/package.json +0 -1
- package/radio/ptsecurity-mosaic-radio.d.ts +1 -0
- package/radio/radio.component.d.ts +5 -0
- package/radio/radio.module.d.ts +8 -0
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js +6 -3
- package/schematics/ng-update/update-9.0.0/secondary-entry-points-migration.js.map +1 -1
- package/select/package.json +0 -1
- package/select/ptsecurity-mosaic-select.d.ts +1 -0
- package/select/select.component.d.ts +11 -7
- package/select/select.module.d.ts +11 -0
- package/sidebar/package.json +0 -1
- package/sidebar/ptsecurity-mosaic-sidebar.d.ts +1 -1
- package/sidebar/sidebar.component.d.ts +7 -0
- package/sidebar/sidebar.module.d.ts +6 -0
- package/sidepanel/package.json +0 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.d.ts +1 -1
- package/sidepanel/sidepanel-container.component.d.ts +3 -0
- package/sidepanel/sidepanel-directives.d.ts +13 -0
- package/sidepanel/sidepanel.module.d.ts +13 -0
- package/sidepanel/sidepanel.service.d.ts +3 -0
- package/splitter/package.json +0 -1
- package/splitter/ptsecurity-mosaic-splitter.d.ts +1 -0
- package/splitter/splitter.component.d.ts +7 -0
- package/splitter/splitter.module.d.ts +7 -0
- package/table/package.json +0 -1
- package/table/ptsecurity-mosaic-table.d.ts +1 -0
- package/table/table.component.d.ts +3 -0
- package/table/table.module.d.ts +8 -0
- package/tabs/package.json +0 -1
- package/tabs/paginated-tab-header.d.ts +3 -0
- package/tabs/ptsecurity-mosaic-tabs.d.ts +1 -5
- package/tabs/tab-body.component.d.ts +5 -0
- package/tabs/tab-content.directive.d.ts +3 -0
- package/tabs/tab-group.component.d.ts +24 -4
- package/tabs/tab-header.component.d.ts +3 -0
- package/tabs/tab-label-wrapper.directive.d.ts +9 -0
- package/tabs/tab-label.directive.d.ts +3 -0
- package/tabs/tab-nav-bar/tab-nav-bar.d.ts +5 -0
- package/tabs/tab.component.d.ts +12 -3
- package/tabs/tabs.module.d.ts +18 -0
- package/tags/package.json +0 -1
- package/tags/ptsecurity-mosaic-tags.d.ts +1 -0
- package/tags/tag-input.d.ts +3 -0
- package/tags/tag-list.component.d.ts +3 -0
- package/tags/tag.component.d.ts +9 -0
- package/tags/tag.module.d.ts +9 -0
- package/textarea/package.json +0 -1
- package/textarea/ptsecurity-mosaic-textarea.d.ts +1 -0
- package/textarea/textarea.component.d.ts +3 -0
- package/textarea/textarea.module.d.ts +9 -0
- package/timepicker/package.json +0 -1
- package/timepicker/ptsecurity-mosaic-timepicker.d.ts +1 -0
- package/timepicker/timepicker.directive.d.ts +5 -2
- package/timepicker/timepicker.module.d.ts +9 -0
- package/toggle/package.json +0 -1
- package/toggle/ptsecurity-mosaic-toggle.d.ts +1 -0
- package/toggle/toggle.component.d.ts +3 -0
- package/toggle/toggle.module.d.ts +8 -0
- package/tooltip/package.json +0 -1
- package/tooltip/ptsecurity-mosaic-tooltip.d.ts +1 -0
- package/tooltip/tooltip.animations.d.ts +8 -0
- package/tooltip/tooltip.component.d.ts +74 -134
- package/tooltip/tooltip.module.d.ts +7 -0
- package/tree/control/base-tree-control.d.ts +40 -0
- package/tree/control/flat-tree-control.d.ts +48 -0
- package/tree/control/nested-tree-control.d.ts +19 -0
- package/tree/control/tree-control.d.ts +44 -0
- package/tree/data-source/flat-data-source.d.ts +2 -1
- package/tree/node.d.ts +34 -0
- package/tree/outlet.d.ts +9 -0
- package/tree/package.json +0 -1
- package/tree/padding.directive.d.ts +36 -5
- package/tree/ptsecurity-mosaic-tree.d.ts +1 -0
- package/tree/public-api.d.ts +8 -1
- package/tree/toggle.d.ts +20 -15
- package/tree/tree-base.d.ts +97 -0
- package/tree/tree-errors.d.ts +25 -0
- package/tree/tree-option.component.d.ts +15 -4
- package/tree/tree-selection.component.d.ts +46 -24
- package/tree/tree.d.ts +6 -0
- package/tree/tree.module.d.ts +14 -0
- package/tree-select/package.json +0 -1
- package/tree-select/ptsecurity-mosaic-tree-select.d.ts +1 -0
- package/tree-select/tree-select.component.d.ts +8 -8
- package/tree-select/tree-select.module.d.ts +11 -0
- package/autocomplete/ptsecurity-mosaic-autocomplete.metadata.json +0 -1
- package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-autocomplete.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-button-toggle.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-button.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-button.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-card.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-card.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-checkbox.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-checkbox.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-core.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-core.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-datepicker.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-datepicker.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-design-tokens.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-divider.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-divider.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-dropdown.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-dropdown.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-form-field.umd.min.js +0 -17
- package/bundles/ptsecurity-mosaic-form-field.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-icon.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-icon.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-input.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-input.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-link.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-link.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-list.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-list.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-modal.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-modal.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-navbar.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-navbar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-popover.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-popover.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-progress-bar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-progress-spinner.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-radio.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-radio.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-select.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-select.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidebar.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-sidebar.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-sidepanel.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-splitter.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-splitter.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-table.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-table.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tabs.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tabs.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tags.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tags.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-textarea.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-textarea.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-timepicker.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic-timepicker.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-toggle.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-toggle.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tooltip.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tooltip.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree-select.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tree-select.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic-tree.umd.min.js +0 -16
- package/bundles/ptsecurity-mosaic-tree.umd.min.js.map +0 -1
- package/bundles/ptsecurity-mosaic.umd.min.js +0 -2
- package/bundles/ptsecurity-mosaic.umd.min.js.map +0 -1
- package/button/ptsecurity-mosaic-button.metadata.json +0 -1
- package/button-toggle/ptsecurity-mosaic-button-toggle.metadata.json +0 -1
- package/card/ptsecurity-mosaic-card.metadata.json +0 -1
- package/checkbox/ptsecurity-mosaic-checkbox.metadata.json +0 -1
- package/core/ptsecurity-mosaic-core.metadata.json +0 -1
- package/datepicker/ptsecurity-mosaic-datepicker.metadata.json +0 -1
- package/design-tokens/ptsecurity-mosaic-design-tokens.metadata.json +0 -1
- package/divider/ptsecurity-mosaic-divider.metadata.json +0 -1
- package/dropdown/ptsecurity-mosaic-dropdown.metadata.json +0 -1
- package/esm2015/tree/node.directive.js +0 -15
- package/form-field/ptsecurity-mosaic-form-field.metadata.json +0 -1
- package/icon/ptsecurity-mosaic-icon.metadata.json +0 -1
- package/input/ptsecurity-mosaic-input.metadata.json +0 -1
- package/link/ptsecurity-mosaic-link.metadata.json +0 -1
- package/list/ptsecurity-mosaic-list.metadata.json +0 -1
- package/modal/ptsecurity-mosaic-modal.metadata.json +0 -1
- package/navbar/ptsecurity-mosaic-navbar.metadata.json +0 -1
- package/popover/ptsecurity-mosaic-popover.metadata.json +0 -1
- package/progress-bar/ptsecurity-mosaic-progress-bar.metadata.json +0 -1
- package/progress-spinner/ptsecurity-mosaic-progress-spinner.metadata.json +0 -1
- package/ptsecurity-mosaic.metadata.json +0 -1
- package/radio/ptsecurity-mosaic-radio.metadata.json +0 -1
- package/select/ptsecurity-mosaic-select.metadata.json +0 -1
- package/sidebar/ptsecurity-mosaic-sidebar.metadata.json +0 -1
- package/sidepanel/ptsecurity-mosaic-sidepanel.metadata.json +0 -1
- package/splitter/ptsecurity-mosaic-splitter.metadata.json +0 -1
- package/table/ptsecurity-mosaic-table.metadata.json +0 -1
- package/tabs/ptsecurity-mosaic-tabs.metadata.json +0 -1
- package/tags/ptsecurity-mosaic-tags.metadata.json +0 -1
- package/textarea/ptsecurity-mosaic-textarea.metadata.json +0 -1
- package/timepicker/ptsecurity-mosaic-timepicker.metadata.json +0 -1
- package/toggle/ptsecurity-mosaic-toggle.metadata.json +0 -1
- package/tooltip/ptsecurity-mosaic-tooltip.metadata.json +0 -1
- package/tree/node.directive.d.ts +0 -4
- package/tree/ptsecurity-mosaic-tree.metadata.json +0 -1
- package/tree-select/ptsecurity-mosaic-tree-select.metadata.json +0 -1
@@ -1,8 +1,29 @@
|
|
1
1
|
(function (global, factory) {
|
2
|
-
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/platform'), require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/cdk/coercion'), require('@ptsecurity/cdk/
|
3
|
-
typeof define === 'function' && define.amd ? define('@ptsecurity/mosaic/timepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/platform', '@angular/common', '@angular/core', '@angular/forms', '@angular/cdk/coercion', '@ptsecurity/cdk/
|
4
|
-
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ptsecurity = global.ptsecurity || {}, global.ptsecurity.mosaic = global.ptsecurity.mosaic || {}, global.ptsecurity.mosaic.timepicker = {}), global.ng.cdk.a11y, global.ng.cdk.platform, global.ng.common, global.ng.core, global.ng.forms, global.ng.cdk.coercion, global.mc.cdk.
|
5
|
-
}(this, (function (exports, a11y, platform, common,
|
2
|
+
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/cdk/a11y'), require('@angular/cdk/platform'), require('@angular/common'), require('@angular/core'), require('@angular/forms'), require('@angular/cdk/coercion'), require('@ptsecurity/cdk/keycodes'), require('@ptsecurity/mosaic/core'), require('@ptsecurity/mosaic/form-field'), require('rxjs'), require('@ptsecurity/cdk/datetime')) :
|
3
|
+
typeof define === 'function' && define.amd ? define('@ptsecurity/mosaic/timepicker', ['exports', '@angular/cdk/a11y', '@angular/cdk/platform', '@angular/common', '@angular/core', '@angular/forms', '@angular/cdk/coercion', '@ptsecurity/cdk/keycodes', '@ptsecurity/mosaic/core', '@ptsecurity/mosaic/form-field', 'rxjs', '@ptsecurity/cdk/datetime'], factory) :
|
4
|
+
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory((global.ptsecurity = global.ptsecurity || {}, global.ptsecurity.mosaic = global.ptsecurity.mosaic || {}, global.ptsecurity.mosaic.timepicker = {}), global.ng.cdk.a11y, global.ng.cdk.platform, global.ng.common, global.ng.core, global.ng.forms, global.ng.cdk.coercion, global.mc.cdk.keycodes, global.ptsecurity.mosaic.core, global.ptsecurity.mosaic["form-field"], global.rxjs, global.mc.cdk.datetime));
|
5
|
+
})(this, (function (exports, a11y, platform, common, i0, forms, coercion, keycodes, core, formField, rxjs, i1) { 'use strict';
|
6
|
+
|
7
|
+
function _interopNamespace(e) {
|
8
|
+
if (e && e.__esModule) return e;
|
9
|
+
var n = Object.create(null);
|
10
|
+
if (e) {
|
11
|
+
Object.keys(e).forEach(function (k) {
|
12
|
+
if (k !== 'default') {
|
13
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
14
|
+
Object.defineProperty(n, k, d.get ? d : {
|
15
|
+
enumerable: true,
|
16
|
+
get: function () { return e[k]; }
|
17
|
+
});
|
18
|
+
}
|
19
|
+
});
|
20
|
+
}
|
21
|
+
n["default"] = e;
|
22
|
+
return Object.freeze(n);
|
23
|
+
}
|
24
|
+
|
25
|
+
var i0__namespace = /*#__PURE__*/_interopNamespace(i0);
|
26
|
+
var i1__namespace = /*#__PURE__*/_interopNamespace(i1);
|
6
27
|
|
7
28
|
var _a;
|
8
29
|
// tslint:disable:naming-convention
|
@@ -33,13 +54,13 @@
|
|
33
54
|
/** @docs-private */
|
34
55
|
var MC_TIMEPICKER_VALUE_ACCESSOR = {
|
35
56
|
provide: forms.NG_VALUE_ACCESSOR,
|
36
|
-
useExisting:
|
57
|
+
useExisting: i0.forwardRef(function () { return McTimepicker; }),
|
37
58
|
multi: true
|
38
59
|
};
|
39
60
|
/** @docs-private */
|
40
61
|
var MC_TIMEPICKER_VALIDATORS = {
|
41
62
|
provide: forms.NG_VALIDATORS,
|
42
|
-
useExisting:
|
63
|
+
useExisting: i0.forwardRef(function () { return McTimepicker; }),
|
43
64
|
multi: true
|
44
65
|
};
|
45
66
|
var uniqueComponentIdSuffix = 0;
|
@@ -70,7 +91,7 @@
|
|
70
91
|
this._format = DEFAULT_TIME_FORMAT;
|
71
92
|
this._min = null;
|
72
93
|
this._max = null;
|
73
|
-
this.incorrectInput = new
|
94
|
+
this.incorrectInput = new i0.EventEmitter();
|
74
95
|
this.uid = "mc-timepicker-" + uniqueComponentIdSuffix++;
|
75
96
|
this.lastValueValid = false;
|
76
97
|
this.defaultPlaceholder = true;
|
@@ -234,16 +255,15 @@
|
|
234
255
|
if (!tooltip) {
|
235
256
|
return;
|
236
257
|
}
|
237
|
-
tooltip.
|
238
|
-
tooltip.
|
239
|
-
tooltip.
|
240
|
-
tooltip.initElementRefListeners();
|
258
|
+
tooltip.enterDelay = core.validationTooltipShowDelay;
|
259
|
+
tooltip.trigger = 'manual';
|
260
|
+
tooltip.initListeners();
|
241
261
|
this.incorrectInput.subscribe(function () {
|
242
|
-
if (tooltip.
|
262
|
+
if (tooltip.isOpen) {
|
243
263
|
return;
|
244
264
|
}
|
245
265
|
tooltip.show();
|
246
|
-
setTimeout(function () { return tooltip.hide(); }, core
|
266
|
+
setTimeout(function () { return tooltip.hide(); }, core.validationTooltipHideDelay);
|
247
267
|
});
|
248
268
|
},
|
249
269
|
enumerable: false,
|
@@ -361,7 +381,7 @@
|
|
361
381
|
event.preventDefault();
|
362
382
|
this.incorrectInput.emit();
|
363
383
|
}
|
364
|
-
else if ((keycodes.hasModifierKey(event) && (keycodes.isVerticalMovement(
|
384
|
+
else if ((keycodes.hasModifierKey(event) && (keycodes.isVerticalMovement(event) || keycodes.isHorizontalMovement(event))) ||
|
365
385
|
event.ctrlKey || event.metaKey ||
|
366
386
|
[keycodes.DELETE, keycodes.BACKSPACE, keycodes.TAB].includes(keyCode)) {
|
367
387
|
rxjs.noop();
|
@@ -688,68 +708,93 @@
|
|
688
708
|
};
|
689
709
|
return McTimepicker;
|
690
710
|
}());
|
691
|
-
McTimepicker
|
692
|
-
|
693
|
-
|
694
|
-
|
695
|
-
|
696
|
-
|
697
|
-
|
698
|
-
|
699
|
-
|
700
|
-
'[
|
701
|
-
|
702
|
-
|
703
|
-
|
704
|
-
|
705
|
-
|
706
|
-
|
707
|
-
|
708
|
-
|
709
|
-
|
710
|
-
|
711
|
-
|
712
|
-
|
713
|
-
|
714
|
-
|
715
|
-
|
716
|
-
|
717
|
-
|
718
|
-
|
719
|
-
|
720
|
-
|
721
|
-
|
722
|
-
|
723
|
-
|
724
|
-
|
725
|
-
|
726
|
-
|
727
|
-
|
728
|
-
|
729
|
-
|
730
|
-
|
731
|
-
|
732
|
-
|
733
|
-
|
734
|
-
|
711
|
+
/** @nocollapse */ McTimepicker.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepicker, deps: [{ token: i0__namespace.ElementRef }, { token: i0__namespace.Renderer2 }, { token: i1__namespace.DateAdapter, optional: true }], target: i0__namespace.ɵɵFactoryTarget.Directive });
|
712
|
+
/** @nocollapse */ McTimepicker.ɵdir = i0__namespace.ɵɵngDeclareDirective({ minVersion: "12.0.0", version: "12.2.13", type: McTimepicker, selector: "input[mcTimepicker]", inputs: { placeholder: "placeholder", disabled: "disabled", id: "id", required: "required", format: "format", min: "min", max: "max", value: "value", mcValidationTooltip: "mcValidationTooltip" }, outputs: { incorrectInput: "incorrectInput" }, host: { listeners: { "blur": "onBlur()", "focus": "focusChanged(true)", "paste": "onPaste($event)", "keydown": "onKeyDown($event)" }, properties: { "attr.id": "id", "attr.placeholder": "placeholder", "attr.disabled": "disabled || null", "attr.required": "required", "attr.size": "getSize()", "attr.autocomplete": "\"off\"" }, classAttribute: "mc-input mc-timepicker" }, providers: [
|
713
|
+
MC_TIMEPICKER_VALIDATORS,
|
714
|
+
MC_TIMEPICKER_VALUE_ACCESSOR,
|
715
|
+
{ provide: formField.McFormFieldControl, useExisting: McTimepicker }
|
716
|
+
], exportAs: ["mcTimepicker"], ngImport: i0__namespace });
|
717
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepicker, decorators: [{
|
718
|
+
type: i0.Directive,
|
719
|
+
args: [{
|
720
|
+
selector: 'input[mcTimepicker]',
|
721
|
+
exportAs: 'mcTimepicker',
|
722
|
+
host: {
|
723
|
+
class: 'mc-input mc-timepicker',
|
724
|
+
// Native input properties that are overwritten by Angular inputs need to be synced with
|
725
|
+
// the native input element. Otherwise property bindings for those don't work.
|
726
|
+
'[attr.id]': 'id',
|
727
|
+
'[attr.placeholder]': 'placeholder',
|
728
|
+
'[attr.disabled]': 'disabled || null',
|
729
|
+
'[attr.required]': 'required',
|
730
|
+
'[attr.size]': 'getSize()',
|
731
|
+
'[attr.autocomplete]': '"off"',
|
732
|
+
'(blur)': 'onBlur()',
|
733
|
+
'(focus)': 'focusChanged(true)',
|
734
|
+
'(paste)': 'onPaste($event)',
|
735
|
+
'(keydown)': 'onKeyDown($event)'
|
736
|
+
},
|
737
|
+
providers: [
|
738
|
+
MC_TIMEPICKER_VALIDATORS,
|
739
|
+
MC_TIMEPICKER_VALUE_ACCESSOR,
|
740
|
+
{ provide: formField.McFormFieldControl, useExisting: McTimepicker }
|
741
|
+
]
|
742
|
+
}]
|
743
|
+
}], ctorParameters: function () {
|
744
|
+
return [{ type: i0__namespace.ElementRef }, { type: i0__namespace.Renderer2 }, { type: i1__namespace.DateAdapter, decorators: [{
|
745
|
+
type: i0.Optional
|
746
|
+
}] }];
|
747
|
+
}, propDecorators: { placeholder: [{
|
748
|
+
type: i0.Input
|
749
|
+
}], disabled: [{
|
750
|
+
type: i0.Input
|
751
|
+
}], id: [{
|
752
|
+
type: i0.Input
|
753
|
+
}], required: [{
|
754
|
+
type: i0.Input
|
755
|
+
}], format: [{
|
756
|
+
type: i0.Input
|
757
|
+
}], min: [{
|
758
|
+
type: i0.Input
|
759
|
+
}], max: [{
|
760
|
+
type: i0.Input
|
761
|
+
}], value: [{
|
762
|
+
type: i0.Input
|
763
|
+
}], mcValidationTooltip: [{
|
764
|
+
type: i0.Input
|
765
|
+
}], incorrectInput: [{
|
766
|
+
type: i0.Output
|
767
|
+
}] } });
|
735
768
|
|
736
769
|
var McTimepickerModule = /** @class */ (function () {
|
737
770
|
function McTimepickerModule() {
|
738
771
|
}
|
739
772
|
return McTimepickerModule;
|
740
773
|
}());
|
741
|
-
McTimepickerModule
|
742
|
-
|
743
|
-
|
744
|
-
|
745
|
-
|
746
|
-
|
747
|
-
|
748
|
-
|
749
|
-
|
750
|
-
|
751
|
-
|
752
|
-
|
774
|
+
/** @nocollapse */ McTimepickerModule.ɵfac = i0__namespace.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepickerModule, deps: [], target: i0__namespace.ɵɵFactoryTarget.NgModule });
|
775
|
+
/** @nocollapse */ McTimepickerModule.ɵmod = i0__namespace.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepickerModule, declarations: [McTimepicker], imports: [common.CommonModule,
|
776
|
+
a11y.A11yModule,
|
777
|
+
platform.PlatformModule,
|
778
|
+
forms.FormsModule], exports: [McTimepicker] });
|
779
|
+
/** @nocollapse */ McTimepickerModule.ɵinj = i0__namespace.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepickerModule, imports: [[
|
780
|
+
common.CommonModule,
|
781
|
+
a11y.A11yModule,
|
782
|
+
platform.PlatformModule,
|
783
|
+
forms.FormsModule
|
784
|
+
]] });
|
785
|
+
i0__namespace.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.13", ngImport: i0__namespace, type: McTimepickerModule, decorators: [{
|
786
|
+
type: i0.NgModule,
|
787
|
+
args: [{
|
788
|
+
imports: [
|
789
|
+
common.CommonModule,
|
790
|
+
a11y.A11yModule,
|
791
|
+
platform.PlatformModule,
|
792
|
+
forms.FormsModule
|
793
|
+
],
|
794
|
+
declarations: [McTimepicker],
|
795
|
+
exports: [McTimepicker]
|
796
|
+
}]
|
797
|
+
}] });
|
753
798
|
|
754
799
|
/**
|
755
800
|
* Generated bundle index. Do not edit.
|
@@ -771,5 +816,5 @@
|
|
771
816
|
|
772
817
|
Object.defineProperty(exports, '__esModule', { value: true });
|
773
818
|
|
774
|
-
}))
|
819
|
+
}));
|
775
820
|
//# sourceMappingURL=ptsecurity-mosaic-timepicker.umd.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"ptsecurity-mosaic-timepicker.umd.js","sources":["../../../packages/mosaic/timepicker/timepicker.constants.ts","../../../packages/mosaic/timepicker/timepicker.directive.ts","../../../packages/mosaic/timepicker/timepicker.module.ts","../../../packages/mosaic/timepicker/ptsecurity-mosaic-timepicker.ts"],"sourcesContent":["// tslint:disable:naming-convention\nexport enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { DateAdapter } from '@ptsecurity/cdk/datetime';\nimport {\n DOWN_ARROW,\n UP_ARROW,\n HOME,\n END,\n LEFT_ARROW,\n RIGHT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n SPACE,\n DELETE,\n BACKSPACE,\n hasModifierKey,\n isLetterKey,\n isVerticalMovement,\n isHorizontalMovement,\n TAB\n} from '@ptsecurity/cdk/keycodes';\nimport { validationTooltipHideDelay, validationTooltipShowDelay } from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { McTooltip } from '@ptsecurity/mosaic/tooltip';\nimport { noop, Subject } from 'rxjs';\n\nimport {\n DEFAULT_TIME_FORMAT,\n HOURS_PER_DAY,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeParts,\n AM_PM_FORMAT_REGEXP\n} from './timepicker.constants';\n\n\n/** @docs-private */\nexport const MC_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const MC_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => McTimepicker),\n multi: true\n};\n\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n\n@Directive({\n selector: 'input[mcTimepicker]',\n exportAs: 'mcTimepicker',\n host: {\n class: 'mc-input mc-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n\n '(paste)': 'onPaste($event)',\n\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n MC_TIMEPICKER_VALIDATORS,\n MC_TIMEPICKER_VALUE_ACCESSOR,\n { provide: McFormFieldControl, useExisting: McTimepicker }\n ]\n})\nexport class McTimepicker<D> implements McFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy {\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n readonly errorState: boolean;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format = Object\n .keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1 ? formatValue : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = TIMEFORMAT_PLACEHOLDERS[this._format];\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set mcValidationTooltip(tooltip: McTooltip) {\n if (!tooltip) { return; }\n\n tooltip.mcMouseEnterDelay = validationTooltipShowDelay;\n tooltip.mcTrigger = 'manual';\n tooltip.mcTooltipClass = 'mc-tooltip_warning';\n\n tooltip.initElementRefListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isTooltipOpen) { return; }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n private readonly uid = `mc-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control: AbstractControl;\n\n private defaultPlaceholder = true;\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>\n ) {\n if (!this.dateAdapter) {\n throw Error(`McTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`);\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) { return; }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n this.onChange(null);\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(keyCode) || isHorizontalMovement(keyCode))) ||\n event.ctrlKey || event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) { return value; }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(Object.values(match.groups)\n // tslint:disable-next-line:no-magic-numbers\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/);\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement> this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) { return; }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) { return; }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) { seconds = 0; }\n\n if (minutes > MINUTES_PER_HOUR) { minutes = 0; }\n\n if (hours > HOURS_PER_DAY) { hours = 0; }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) { seconds = SECONDS_PER_MINUTE; }\n\n if (minutes < 0) { minutes = MINUTES_PER_HOUR; }\n\n if (hours < 0) { hours = HOURS_PER_DAY; }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time valie edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) { return ''; }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) { return null; }\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n // tslint:disable:no-magic-numbers\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n // tslint:enable\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(this.value)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused ||\n this.empty ||\n this.lastValueValid ? null : { mcTimepickerParse: { text: this.viewValue } };\n }\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return (!this.min || !controlValue || this.compareTime(this.min, controlValue) <= 0) ?\n null :\n { mcTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n }\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return (!this.max || !controlValue || this.compareTime(this.max, controlValue) >= 0) ?\n null :\n { mcTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n }\n\n private compareTime(first: D, second: D): number {\n const result = this.dateAdapter.getHours(first) - this.dateAdapter.getHours(second) ||\n this.dateAdapter.getMinutes(first) - this.dateAdapter.getMinutes(second);\n\n if (TimeFormats.HHmm === this.format) {\n return result;\n } else if (TimeFormats.HHmmss === this.format) {\n return result || this.dateAdapter.getSeconds(first) - this.dateAdapter.getSeconds(second);\n } else {\n throw Error(`Unknown format: ${this.format}`);\n }\n }\n\n private getValidDateOrNull(obj: any): D | null {\n return (this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj)) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n private setControl(control: AbstractControl) {\n if (!this.control) {\n this.control = control;\n }\n }\n\n // tslint:disable-next-line:no-empty\n private validatorOnChange = () => {};\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { McTimepicker } from './timepicker.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n FormsModule\n ],\n declarations: [McTimepicker],\n exports: [McTimepicker]\n})\nexport class McTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TimeParts","TimeFormats","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Subject","EventEmitter","Validators","noop","coerceBooleanProperty","validationTooltipShowDelay","validationTooltipHideDelay","isLetterKey","hasModifierKey","isVerticalMovement","isHorizontalMovement","DELETE","BACKSPACE","TAB","SPACE","HOME","PAGE_UP","END","PAGE_DOWN","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","Directive","McFormFieldControl","ElementRef","Renderer2","DateAdapter","Optional","Input","Output","NgModule","CommonModule","A11yModule","PlatformModule","FormsModule"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"ptsecurity-mosaic-timepicker.umd.js","sources":["../../../packages/mosaic/timepicker/timepicker.constants.ts","../../../packages/mosaic/timepicker/timepicker.directive.ts","../../../packages/mosaic/timepicker/timepicker.module.ts","../../../packages/mosaic/timepicker/ptsecurity-mosaic-timepicker.ts"],"sourcesContent":["// tslint:disable:naming-convention\nexport enum TimeParts {\n hours,\n minutes,\n seconds\n}\n\nexport enum TimeFormats {\n HHmmss = 'HH:mm:ss',\n HHmm = 'HH:mm'\n}\n\nexport const TIMEFORMAT_PLACEHOLDERS: { [timeFormat: string]: string } = {\n [TimeFormats.HHmmss]: 'чч:мм:сс',\n [TimeFormats.HHmm]: 'чч:мм'\n};\n\nexport const DEFAULT_TIME_FORMAT: TimeFormats = TimeFormats.HHmm;\n\nexport const HOURS_MINUTES_SECONDS_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9]):?([0-5][0-9])?$/;\nexport const HOURS_MINUTES_REGEXP = /^([0-1][0-9]|2[0-3]):?([0-5][0-9])?$/;\nexport const HOURS_ONLY_REGEXP = /^([0-1][0-9]|2[0-3]):?$/;\nexport const AM_PM_FORMAT_REGEXP = /^([0-1]?[0-9]):([0-5]?[0-9]) ([ap][m]?$)/i;\n\nexport const SECONDS_PER_MINUTE: number = 59;\nexport const MINUTES_PER_HOUR: number = 59;\nexport const HOURS_PER_DAY: number = 23;\n","import { coerceBooleanProperty } from '@angular/cdk/coercion';\nimport {\n Directive,\n ElementRef,\n EventEmitter,\n forwardRef,\n Input,\n OnDestroy,\n Optional,\n Output,\n Renderer2\n} from '@angular/core';\nimport {\n AbstractControl,\n ControlValueAccessor,\n NG_VALIDATORS,\n NG_VALUE_ACCESSOR,\n ValidationErrors,\n Validator,\n ValidatorFn,\n Validators\n} from '@angular/forms';\nimport { DateAdapter } from '@ptsecurity/cdk/datetime';\nimport {\n DOWN_ARROW,\n UP_ARROW,\n HOME,\n END,\n LEFT_ARROW,\n RIGHT_ARROW,\n PAGE_DOWN,\n PAGE_UP,\n SPACE,\n DELETE,\n BACKSPACE,\n hasModifierKey,\n isLetterKey,\n isVerticalMovement,\n isHorizontalMovement,\n TAB\n} from '@ptsecurity/cdk/keycodes';\nimport { validationTooltipHideDelay, validationTooltipShowDelay } from '@ptsecurity/mosaic/core';\nimport { McFormFieldControl } from '@ptsecurity/mosaic/form-field';\nimport { McWarningTooltipTrigger } from '@ptsecurity/mosaic/tooltip';\nimport { noop, Subject } from 'rxjs';\n\nimport {\n DEFAULT_TIME_FORMAT,\n HOURS_PER_DAY,\n HOURS_MINUTES_REGEXP,\n HOURS_MINUTES_SECONDS_REGEXP,\n HOURS_ONLY_REGEXP,\n MINUTES_PER_HOUR,\n SECONDS_PER_MINUTE,\n TIMEFORMAT_PLACEHOLDERS,\n TimeFormats,\n TimeParts,\n AM_PM_FORMAT_REGEXP\n} from './timepicker.constants';\n\n\n/** @docs-private */\nexport const MC_TIMEPICKER_VALUE_ACCESSOR: any = {\n provide: NG_VALUE_ACCESSOR,\n useExisting: forwardRef(() => McTimepicker),\n multi: true\n};\n\n/** @docs-private */\nexport const MC_TIMEPICKER_VALIDATORS: any = {\n provide: NG_VALIDATORS,\n useExisting: forwardRef(() => McTimepicker),\n multi: true\n};\n\n\nlet uniqueComponentIdSuffix: number = 0;\n\nconst shortFormatSize: number = 5;\nconst fullFormatSize: number = 8;\n\n\n@Directive({\n selector: 'input[mcTimepicker]',\n exportAs: 'mcTimepicker',\n host: {\n class: 'mc-input mc-timepicker',\n // Native input properties that are overwritten by Angular inputs need to be synced with\n // the native input element. Otherwise property bindings for those don't work.\n '[attr.id]': 'id',\n '[attr.placeholder]': 'placeholder',\n '[attr.disabled]': 'disabled || null',\n '[attr.required]': 'required',\n '[attr.size]': 'getSize()',\n '[attr.autocomplete]': '\"off\"',\n\n '(blur)': 'onBlur()',\n '(focus)': 'focusChanged(true)',\n\n '(paste)': 'onPaste($event)',\n\n '(keydown)': 'onKeyDown($event)'\n },\n providers: [\n MC_TIMEPICKER_VALIDATORS,\n MC_TIMEPICKER_VALUE_ACCESSOR,\n { provide: McFormFieldControl, useExisting: McTimepicker }\n ]\n})\nexport class McTimepicker<D> implements McFormFieldControl<D>, ControlValueAccessor, Validator, OnDestroy {\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n readonly stateChanges: Subject<void> = new Subject<void>();\n\n readonly errorState: boolean;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n focused: boolean = false;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n controlType: string = 'timepicker';\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get placeholder(): string {\n return this._placeholder;\n }\n\n set placeholder(value: string) {\n this._placeholder = value;\n\n this.defaultPlaceholder = false;\n }\n\n private _placeholder = TIMEFORMAT_PLACEHOLDERS[DEFAULT_TIME_FORMAT];\n\n @Input()\n get disabled(): boolean {\n return this._disabled;\n }\n\n set disabled(value: boolean) {\n this._disabled = coerceBooleanProperty(value);\n\n // Browsers may not fire the blur event if the input is disabled too quickly.\n // Reset from here to ensure that the element doesn't become stuck.\n if (this.focused) {\n this.focused = false;\n }\n\n this.stateChanges.next();\n }\n\n private _disabled: boolean;\n\n @Input()\n get id(): string {\n return this._id;\n }\n\n set id(value: string) {\n this._id = value || this.uid;\n }\n\n private _id: string;\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n @Input()\n get required(): boolean {\n return this._required;\n }\n\n set required(value: boolean) {\n this._required = coerceBooleanProperty(value);\n }\n\n private _required: boolean;\n\n @Input()\n get format(): TimeFormats {\n return this._format;\n }\n\n set format(formatValue: TimeFormats) {\n this._format = Object\n .keys(TimeFormats)\n .map((timeFormatKey) => TimeFormats[timeFormatKey])\n .indexOf(formatValue) > -1 ? formatValue : DEFAULT_TIME_FORMAT;\n\n if (this.defaultPlaceholder) {\n this._placeholder = TIMEFORMAT_PLACEHOLDERS[this._format];\n }\n\n if (this.value) {\n this.updateView();\n }\n }\n\n private _format: TimeFormats = DEFAULT_TIME_FORMAT;\n\n @Input()\n get min(): D | null {\n return this._min;\n }\n\n set min(value: D | null) {\n this._min = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _min: D | null = null;\n\n @Input()\n get max(): D | null {\n return this._max;\n }\n\n set max(value: D | null) {\n this._max = this.getValidDateOrNull(this.dateAdapter.deserialize(value));\n this.validatorOnChange();\n }\n\n private _max: D | null = null;\n\n @Input()\n get value(): D | null {\n return this._value;\n }\n\n set value(value: D | null) {\n const newValue = this.dateAdapter.deserialize(value);\n\n this.lastValueValid = !newValue || this.dateAdapter.isValid(newValue);\n\n this._value = this.getValidDateOrNull(newValue);\n\n this.updateView();\n }\n\n private _value: D | null;\n\n @Input()\n set mcValidationTooltip(tooltip: McWarningTooltipTrigger) {\n if (!tooltip) { return; }\n\n tooltip.enterDelay = validationTooltipShowDelay;\n tooltip.trigger = 'manual';\n\n tooltip.initListeners();\n\n this.incorrectInput.subscribe(() => {\n if (tooltip.isOpen) { return; }\n\n tooltip.show();\n\n setTimeout(() => tooltip.hide(), validationTooltipHideDelay);\n });\n }\n\n @Output() incorrectInput = new EventEmitter<void>();\n\n get hasSelection(): boolean {\n return this.selectionStart !== this.selectionEnd;\n }\n\n get isFullFormat(): boolean {\n return this.format === TimeFormats.HHmmss;\n }\n\n get isShortFormat(): boolean {\n return this.format === TimeFormats.HHmm;\n }\n\n get viewValue(): string {\n return this.elementRef.nativeElement.value;\n }\n\n get ngControl(): any {\n return this.control;\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n get empty(): boolean {\n return !this.viewValue && !this.isBadInput();\n }\n\n get selectionStart(): number | null {\n return this.elementRef.nativeElement.selectionStart;\n }\n\n set selectionStart(value: number | null) {\n this.elementRef.nativeElement.selectionStart = value;\n }\n\n get selectionEnd(): number | null {\n return this.elementRef.nativeElement.selectionEnd;\n }\n\n set selectionEnd(value: number | null) {\n this.elementRef.nativeElement.selectionEnd = value;\n }\n\n private readonly uid = `mc-timepicker-${uniqueComponentIdSuffix++}`;\n\n private readonly validator: ValidatorFn | null;\n\n private lastValueValid = false;\n\n private control: AbstractControl;\n\n private defaultPlaceholder = true;\n\n private onChange: (value: any) => void;\n private onTouched: () => void;\n\n constructor(\n private elementRef: ElementRef,\n private renderer: Renderer2,\n @Optional() private dateAdapter: DateAdapter<any>\n ) {\n if (!this.dateAdapter) {\n throw Error(`McTimepicker: No provider found for DateAdapter. You must import one of the existing ` +\n `modules at your application root or provide a custom implementation or use exists ones.`);\n }\n\n this.validator = Validators.compose([this.parseValidator, this.minValidator, this.maxValidator]);\n\n this.onChange = noop;\n\n // Force setter to be called in case id was not specified.\n this.id = this.id;\n }\n\n ngOnDestroy(): void {\n this.stateChanges.complete();\n }\n\n getSize(): number {\n return this.isFullFormat ? fullFormatSize : shortFormatSize;\n }\n\n focus(): void {\n this.elementRef.nativeElement.focus();\n }\n\n focusChanged(isFocused: boolean): void {\n if (isFocused !== this.focused) {\n this.focused = isFocused;\n this.onTouched();\n this.stateChanges.next();\n }\n }\n\n onBlur() {\n this.focusChanged(false);\n\n this.onInput();\n }\n\n onPaste($event) {\n $event.preventDefault();\n\n const value = this.formatUserPaste($event.clipboardData.getData('text'));\n\n const newTimeObj = this.getDateFromTimeString(value);\n\n if (!newTimeObj) { return; }\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n onInput = () => {\n const formattedValue = this.formatUserInput(this.viewValue);\n\n const newTimeObj = this.getDateFromTimeString(formattedValue);\n this.lastValueValid = !!newTimeObj;\n\n if (!newTimeObj) {\n this.onChange(null);\n\n return;\n }\n\n const selectionStart = this.selectionStart;\n const selectionEnd = this.selectionEnd;\n\n this.setViewValue(this.getTimeStringFromDate(newTimeObj, this.format));\n\n this.selectionStart = selectionStart;\n this.selectionEnd = selectionEnd;\n\n this.createSelectionOfTimeComponentInInput((selectionStart as number) + 1);\n\n this.value = newTimeObj;\n this.onChange(newTimeObj);\n this.stateChanges.next();\n }\n\n /**\n * Implemented as part of McFormFieldControl.\n * @docs-private\n */\n onContainerClick() {\n this.focus();\n }\n\n onKeyDown(event: KeyboardEvent): void {\n // tslint:disable-next-line: deprecation\n const keyCode = event.keyCode;\n\n if (isLetterKey(event) && !event.ctrlKey && !event.metaKey) {\n event.preventDefault();\n\n this.incorrectInput.emit();\n } else if (\n (hasModifierKey(event) && (isVerticalMovement(event) || isHorizontalMovement(event))) ||\n event.ctrlKey || event.metaKey ||\n [DELETE, BACKSPACE, TAB].includes(keyCode)\n ) {\n noop();\n } else if (keyCode === SPACE) {\n this.spaceKeyHandler(event);\n } else if ([HOME, PAGE_UP].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(0);\n } else if ([END, PAGE_DOWN].includes(keyCode)) {\n this.createSelectionOfTimeComponentInInput(this.viewValue.length);\n } else if ([UP_ARROW, DOWN_ARROW].includes(keyCode)) {\n event.preventDefault();\n\n this.verticalArrowKeyHandler(keyCode);\n } else if ([LEFT_ARROW, RIGHT_ARROW].includes(keyCode)) {\n this.horizontalArrowKeyHandler(keyCode);\n } else if (/^\\D$/.test(event.key)) {\n event.preventDefault();\n\n const newValue = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(newValue);\n\n if (newValue !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n } else {\n this.incorrectInput.emit();\n }\n } else {\n setTimeout(this.onInput);\n }\n }\n\n validate(control: AbstractControl): ValidationErrors | null {\n this.setControl(control);\n\n return this.validator ? this.validator(control) : null;\n }\n\n registerOnValidatorChange(fn: () => void): void {\n this.validatorOnChange = fn;\n }\n\n writeValue(value: D | null): void {\n this.value = value;\n }\n\n registerOnChange(fn: (value: D) => void): void {\n this.onChange = fn;\n }\n\n registerOnTouched(fn: () => void): void {\n this.onTouched = fn;\n }\n\n setDisabledState(isDisabled: boolean): void {\n this.disabled = isDisabled;\n }\n\n private formatUserPaste(value: string) {\n if (value.match(AM_PM_FORMAT_REGEXP)) { return value; }\n\n const match: RegExpMatchArray | null = value.match(\n /^(\\D+)?(?<hours>\\d+)?(\\D+)?(\\D+)?(?<minutes>\\d+)?(\\D+)?(\\D+)?(?<seconds>\\d+)?(\\D+)?$/\n );\n\n if (!match?.groups?.hours) {\n this.setViewValue(value);\n\n return value;\n }\n\n return this.replaceNumbers(Object.values(match.groups)\n // tslint:disable-next-line:no-magic-numbers\n .map((group) => (group || '').padStart(2, '0'))\n .join(':')\n );\n }\n\n private formatUserInput(value: string): string {\n return this.replaceNumbers(this.replaceSymbols(value));\n }\n\n private replaceSymbols(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(\\d\\d:){0,2}(?<number>[0-9])(?<symbol>\\W)(:\\d\\d){0,2}$/);\n\n if (match?.groups) {\n const { number, symbol } = match.groups;\n\n formattedValue = value.replace(number + symbol, `0${number}`);\n }\n\n return formattedValue;\n }\n\n private replaceNumbers(value: string): string {\n let formattedValue: string = value;\n\n const match: RegExpMatchArray | null = value.match(/^(?<hours>\\d{0,4}):?(?<minutes>\\d{0,4}):?(?<seconds>\\d{0,4})$/);\n\n if (match?.groups) {\n const { hours, minutes, seconds } = match.groups;\n\n if (hours.length && parseInt(hours) > HOURS_PER_DAY) {\n formattedValue = formattedValue.replace(hours, HOURS_PER_DAY.toString());\n }\n\n if (minutes.length && parseInt(minutes) > MINUTES_PER_HOUR) {\n formattedValue = formattedValue.replace(minutes, MINUTES_PER_HOUR.toString());\n }\n\n if (seconds.length && parseInt(seconds) > SECONDS_PER_MINUTE) {\n formattedValue = formattedValue.replace(seconds, SECONDS_PER_MINUTE.toString());\n }\n }\n\n return formattedValue;\n }\n\n /** Checks whether the input is invalid based on the native validation. */\n private isBadInput(): boolean {\n const validity = (<HTMLInputElement> this.elementRef.nativeElement).validity;\n\n return validity && validity.badInput;\n }\n\n private spaceKeyHandler(event: KeyboardEvent) {\n event.preventDefault();\n\n if (this.selectionStart === this.selectionEnd) {\n const value = this.getNewValue(event.key, this.selectionStart as number);\n const formattedValue = this.replaceSymbols(value);\n\n if (value !== formattedValue) {\n this.setViewValue(formattedValue);\n\n setTimeout(this.onInput);\n }\n } else if (this.selectionStart !== this.selectionEnd) {\n\n let cursorPos = this.selectionStart as number;\n\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n }\n\n private getNewValue(key: string, position: number) {\n return [this.viewValue.slice(0, position), key, this.viewValue.slice(position)].join('');\n }\n\n private verticalArrowKeyHandler(keyCode: number): void {\n if (!this.value) { return; }\n\n let changedTime;\n\n const newEditParams = this.getTimeEditMetrics(this.selectionStart as number);\n\n if (keyCode === UP_ARROW) {\n changedTime = this.incrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n if (keyCode === DOWN_ARROW) {\n changedTime = this.decrementTime(this.value, newEditParams.modifiedTimePart);\n }\n\n this.value = changedTime;\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n\n this.onChange(changedTime);\n this.stateChanges.next();\n }\n\n private horizontalArrowKeyHandler(keyCode: number): void {\n if (!this.value) { return; }\n\n let cursorPos = this.selectionStart as number;\n\n if (keyCode === LEFT_ARROW) {\n cursorPos = cursorPos === 0 ? this.viewValue.length : cursorPos - 1;\n } else if (keyCode === RIGHT_ARROW) {\n const nextDividerPos: number = this.viewValue.indexOf(':', cursorPos);\n\n cursorPos = nextDividerPos ? nextDividerPos + 1 : 0;\n }\n\n this.createSelectionOfTimeComponentInInput(cursorPos);\n }\n\n private createSelectionOfTimeComponentInInput(cursorPos: number): void {\n setTimeout(() => {\n const newEditParams = this.getTimeEditMetrics(cursorPos);\n\n this.selectionStart = newEditParams.cursorStartPosition;\n this.selectionEnd = newEditParams.cursorEndPosition;\n });\n }\n\n private incrementTime(dateVal: D, whatToIncrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToIncrement) {\n case TimeParts.hours:\n hours++;\n break;\n case TimeParts.minutes:\n minutes++;\n break;\n case TimeParts.seconds:\n seconds++;\n break;\n default:\n }\n\n if (seconds > SECONDS_PER_MINUTE) { seconds = 0; }\n\n if (minutes > MINUTES_PER_HOUR) { minutes = 0; }\n\n if (hours > HOURS_PER_DAY) { hours = 0; }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n private decrementTime(dateVal: D, whatToDecrement: TimeParts = TimeParts.seconds): D {\n let hours = this.dateAdapter.getHours(dateVal);\n let minutes = this.dateAdapter.getMinutes(dateVal);\n let seconds = this.dateAdapter.getSeconds(dateVal);\n\n switch (whatToDecrement) {\n case TimeParts.hours:\n hours--;\n break;\n case TimeParts.minutes:\n minutes--;\n break;\n case TimeParts.seconds:\n seconds--;\n break;\n default:\n }\n\n if (seconds < 0) { seconds = SECONDS_PER_MINUTE; }\n\n if (minutes < 0) { minutes = MINUTES_PER_HOUR; }\n\n if (hours < 0) { hours = HOURS_PER_DAY; }\n\n return this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes,\n seconds,\n this.dateAdapter.getMilliseconds(this.value)\n );\n }\n\n /**\n * @description Get params for arrow-keys (up/down) time valie edit.\n * @param cursorPosition Current cursor position in timeString\n */\n private getTimeEditMetrics(cursorPosition: number): {\n modifiedTimePart: TimeParts;\n cursorStartPosition: number;\n cursorEndPosition: number;\n } {\n const timeString: string = this.viewValue;\n let modifiedTimePart: TimeParts;\n let cursorStartPosition: number;\n let cursorEndPosition: number;\n\n const hoursIndex = 0;\n const minutesIndex = timeString.indexOf(':', hoursIndex + 1);\n const secondsIndex = minutesIndex !== -1 ? timeString.indexOf(':', minutesIndex + 1) : -1;\n\n if (secondsIndex !== -1 && cursorPosition > secondsIndex) {\n modifiedTimePart = TimeParts.seconds;\n cursorStartPosition = secondsIndex + 1;\n cursorEndPosition = timeString.length;\n } else if (minutesIndex !== -1 && cursorPosition > minutesIndex) {\n modifiedTimePart = TimeParts.minutes;\n cursorStartPosition = minutesIndex + 1;\n cursorEndPosition = secondsIndex > -1 ? secondsIndex : timeString.length;\n } else {\n modifiedTimePart = TimeParts.hours;\n cursorStartPosition = hoursIndex;\n cursorEndPosition = minutesIndex !== -1 ? minutesIndex : timeString.length;\n }\n\n return { modifiedTimePart, cursorStartPosition, cursorEndPosition };\n }\n\n /**\n * @description Create time string for displaying inside input element of UI\n */\n private getTimeStringFromDate(value: D | null, timeFormat: TimeFormats): string {\n if (!value || !this.dateAdapter.isValid(value)) { return ''; }\n\n return this.dateAdapter.format(value, timeFormat);\n }\n\n private getDateFromTimeString(timeString: string): D | null {\n if (!timeString) { return null; }\n\n const HMS = timeString.match(HOURS_MINUTES_SECONDS_REGEXP);\n const HM = timeString.match(HOURS_MINUTES_REGEXP);\n const H = timeString.match(HOURS_ONLY_REGEXP);\n const amPm = timeString.match(AM_PM_FORMAT_REGEXP);\n\n let hours: number = 0;\n let minutes: number = 0;\n let seconds: number = 0;\n\n // tslint:disable:no-magic-numbers\n if (amPm) {\n hours = Number(amPm[1]);\n minutes = Number(amPm[2]);\n\n if (/[p]/i.test(amPm[3]) || (/[a]/i.test(amPm[3]) && hours === 12)) {\n hours += 12;\n }\n } else if (HMS) {\n hours = Number(HMS[1]);\n minutes = Number(HMS[2]);\n seconds = Number(HMS[3]);\n } else if (HM) {\n hours = Number(HM[1]);\n minutes = Number(HM[2]);\n } else if (H) {\n hours = Number(H[1]);\n } else {\n return null;\n }\n // tslint:enable\n\n const resultDate = this.dateAdapter.createDateTime(\n this.dateAdapter.getYear(this.value),\n this.dateAdapter.getMonth(this.value),\n this.dateAdapter.getDate(this.value),\n hours,\n minutes || 0,\n seconds || 0,\n this.dateAdapter.getMilliseconds(this.value)\n );\n\n return this.getValidDateOrNull(resultDate);\n }\n\n private parseValidator: ValidatorFn = (): ValidationErrors | null => {\n return this.focused ||\n this.empty ||\n this.lastValueValid ? null : { mcTimepickerParse: { text: this.viewValue } };\n }\n\n private minValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return (!this.min || !controlValue || this.compareTime(this.min, controlValue) <= 0) ?\n null :\n { mcTimepickerLowerThenMin: { min: this.min, actual: controlValue } };\n }\n\n private maxValidator: ValidatorFn = (control: AbstractControl): ValidationErrors | null => {\n const controlValue = this.getValidDateOrNull(this.dateAdapter.deserialize(control.value));\n\n return (!this.max || !controlValue || this.compareTime(this.max, controlValue) >= 0) ?\n null :\n { mcTimepickerHigherThenMax: { max: this.max, actual: controlValue } };\n }\n\n private compareTime(first: D, second: D): number {\n const result = this.dateAdapter.getHours(first) - this.dateAdapter.getHours(second) ||\n this.dateAdapter.getMinutes(first) - this.dateAdapter.getMinutes(second);\n\n if (TimeFormats.HHmm === this.format) {\n return result;\n } else if (TimeFormats.HHmmss === this.format) {\n return result || this.dateAdapter.getSeconds(first) - this.dateAdapter.getSeconds(second);\n } else {\n throw Error(`Unknown format: ${this.format}`);\n }\n }\n\n private getValidDateOrNull(obj: any): D | null {\n return (this.dateAdapter.isDateInstance(obj) && this.dateAdapter.isValid(obj)) ? obj : null;\n }\n\n private setViewValue(value: string) {\n this.renderer.setProperty(this.elementRef.nativeElement, 'value', value);\n }\n\n private updateView() {\n const formattedValue = this.getTimeStringFromDate(this.value, this.format);\n\n this.setViewValue(formattedValue);\n }\n\n private setControl(control: AbstractControl) {\n if (!this.control) {\n this.control = control;\n }\n }\n\n // tslint:disable-next-line:no-empty\n private validatorOnChange = () => {};\n}\n","import { A11yModule } from '@angular/cdk/a11y';\nimport { PlatformModule } from '@angular/cdk/platform';\nimport { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { FormsModule } from '@angular/forms';\n\nimport { McTimepicker } from './timepicker.directive';\n\n\n@NgModule({\n imports: [\n CommonModule,\n A11yModule,\n PlatformModule,\n FormsModule\n ],\n declarations: [McTimepicker],\n exports: [McTimepicker]\n})\nexport class McTimepickerModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["TimeParts","TimeFormats","NG_VALUE_ACCESSOR","forwardRef","NG_VALIDATORS","Subject","EventEmitter","Validators","noop","coerceBooleanProperty","validationTooltipShowDelay","validationTooltipHideDelay","isLetterKey","hasModifierKey","isVerticalMovement","isHorizontalMovement","DELETE","BACKSPACE","TAB","SPACE","HOME","PAGE_UP","END","PAGE_DOWN","UP_ARROW","DOWN_ARROW","LEFT_ARROW","RIGHT_ARROW","McFormFieldControl","Directive","Optional","Input","Output","CommonModule","A11yModule","PlatformModule","FormsModule","NgModule"],"mappings":"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"}
|