@po-ui/ng-components 5.22.5 → 5.22.6
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/README.md +36 -36
- package/bundles/po-ui-ng-components.umd.js +38675 -38674
- package/bundles/po-ui-ng-components.umd.js.map +1 -1
- package/esm2015/lib/components/components.module.js +122 -122
- package/esm2015/lib/components/index.js +38 -38
- package/esm2015/lib/components/po-accordion/index.js +4 -4
- package/esm2015/lib/components/po-accordion/po-accordion-base.component.js +29 -29
- package/esm2015/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.js +66 -66
- package/esm2015/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.js +23 -23
- package/esm2015/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.js +24 -24
- package/esm2015/lib/components/po-accordion/po-accordion.component.js +70 -70
- package/esm2015/lib/components/po-accordion/po-accordion.module.js +52 -52
- package/esm2015/lib/components/po-accordion/services/po-accordion.service.js +27 -27
- package/esm2015/lib/components/po-avatar/index.js +3 -3
- package/esm2015/lib/components/po-avatar/po-avatar-base.component.js +68 -68
- package/esm2015/lib/components/po-avatar/po-avatar.component.js +42 -42
- package/esm2015/lib/components/po-avatar/po-avatar.module.js +18 -18
- package/esm2015/lib/components/po-badge/po-badge-base.component.js +89 -89
- package/esm2015/lib/components/po-badge/po-badge.component.js +16 -16
- package/esm2015/lib/components/po-badge/po-badge.module.js +18 -18
- package/esm2015/lib/components/po-breadcrumb/index.js +5 -5
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-base.component.js +48 -48
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.js +20 -20
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.js +77 -77
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.js +49 -49
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.js +27 -27
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb-item.interface.js +2 -2
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.component.js +159 -159
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.interface.js +2 -2
- package/esm2015/lib/components/po-breadcrumb/po-breadcrumb.module.js +28 -28
- package/esm2015/lib/components/po-button/index.js +3 -3
- package/esm2015/lib/components/po-button/po-button-base.component.js +127 -127
- package/esm2015/lib/components/po-button/po-button.component.js +69 -69
- package/esm2015/lib/components/po-button/po-button.module.js +20 -20
- package/esm2015/lib/components/po-button-group/index.js +5 -5
- package/esm2015/lib/components/po-button-group/po-button-group-base.component.js +95 -95
- package/esm2015/lib/components/po-button-group/po-button-group-item.interface.js +2 -2
- package/esm2015/lib/components/po-button-group/po-button-group-toggle.enum.js +17 -17
- package/esm2015/lib/components/po-button-group/po-button-group.component.js +43 -43
- package/esm2015/lib/components/po-button-group/po-button-group.module.js +20 -20
- package/esm2015/lib/components/po-calendar/index.js +4 -4
- package/esm2015/lib/components/po-calendar/po-calendar-base.component.js +176 -176
- package/esm2015/lib/components/po-calendar/po-calendar-header/po-calendar-header.component.js +24 -24
- package/esm2015/lib/components/po-calendar/po-calendar-mode.enum.js +13 -13
- package/esm2015/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.js +251 -251
- package/esm2015/lib/components/po-calendar/po-calendar.component.js +199 -199
- package/esm2015/lib/components/po-calendar/po-calendar.module.js +19 -19
- package/esm2015/lib/components/po-calendar/services/po-calendar.lang.service.js +187 -187
- package/esm2015/lib/components/po-calendar/services/po-calendar.service.js +44 -44
- package/esm2015/lib/components/po-chart/directives/po-resize-observer.directive.js +44 -44
- package/esm2015/lib/components/po-chart/enums/po-chart-type.enum.js +51 -51
- package/esm2015/lib/components/po-chart/helpers/po-chart-default-values.constant.js +18 -18
- package/esm2015/lib/components/po-chart/index.js +8 -8
- package/esm2015/lib/components/po-chart/interfaces/po-chart-axis-options.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-bar-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-container-size.interface.js +11 -11
- package/esm2015/lib/components/po-chart/interfaces/po-chart-label-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-min-max-values.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-options.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-path-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-points-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-chart/interfaces/po-chart-serie.interface.js +2 -2
- package/esm2015/lib/components/po-chart/po-chart-base.component.js +244 -244
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-label/po-chart-axis-label.component.js +23 -23
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-path/po-chart-axis-path.component.js +19 -19
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis.component.js +287 -287
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-base.component.js +94 -94
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-path/po-chart-bar-path.component.js +33 -33
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar.component.js +58 -58
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-column/po-chart-column.component.js +59 -59
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-label/po-chart-circular-label.component.js +29 -29
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-circular-path.component.js +35 -35
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-tooltip.directive.js +76 -76
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular.component.js +142 -142
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-donut/po-chart-donut.component.js +115 -115
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-pie/po-chart-pie.component.js +57 -57
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-container.component.js +119 -119
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-area/po-chart-area.component.js +77 -77
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line-base.component.js +151 -151
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line.component.js +41 -41
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-path/po-chart-path.component.js +65 -65
- package/esm2015/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-series-point/po-chart-series-point.component.js +95 -95
- package/esm2015/lib/components/po-chart/po-chart-legend/po-chart-legend.component.js +21 -21
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.constant.js +11 -11
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.js +374 -374
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-dynamic-type.component.js +45 -45
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-series.interface.js +2 -2
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-text-content/po-chart-gauge-text-content.component.js +75 -75
- package/esm2015/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge.component.js +85 -85
- package/esm2015/lib/components/po-chart/po-chart.component.js +203 -203
- package/esm2015/lib/components/po-chart/po-chart.module.js +61 -61
- package/esm2015/lib/components/po-chart/services/po-chart-maths.service.js +135 -135
- package/esm2015/lib/components/po-chart/services/po-chart-svg-container.service.js +57 -57
- package/esm2015/lib/components/po-container/index.js +3 -3
- package/esm2015/lib/components/po-container/po-container-base.component.js +88 -88
- package/esm2015/lib/components/po-container/po-container.component.js +32 -32
- package/esm2015/lib/components/po-container/po-container.module.js +18 -18
- package/esm2015/lib/components/po-disclaimer/index.js +4 -4
- package/esm2015/lib/components/po-disclaimer/po-disclaimer-base.component.js +77 -77
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.component.js +29 -29
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer/po-disclaimer.module.js +17 -17
- package/esm2015/lib/components/po-disclaimer-group/index.js +5 -5
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.js +194 -194
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group-remove-action.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.component.js +41 -41
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.interface.js +2 -2
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-group.module.js +20 -20
- package/esm2015/lib/components/po-disclaimer-group/po-disclaimer-remove/po-disclaimer-remove.component.js +30 -30
- package/esm2015/lib/components/po-divider/index.js +3 -3
- package/esm2015/lib/components/po-divider/po-divider-base.component.js +16 -16
- package/esm2015/lib/components/po-divider/po-divider.component.js +32 -32
- package/esm2015/lib/components/po-divider/po-divider.module.js +18 -18
- package/esm2015/lib/components/po-dropdown/index.js +4 -4
- package/esm2015/lib/components/po-dropdown/po-dropdown-action.interface.js +2 -2
- package/esm2015/lib/components/po-dropdown/po-dropdown-base.component.js +71 -71
- package/esm2015/lib/components/po-dropdown/po-dropdown.component.js +97 -97
- package/esm2015/lib/components/po-dropdown/po-dropdown.module.js +18 -18
- package/esm2015/lib/components/po-dynamic/index.js +11 -11
- package/esm2015/lib/components/po-dynamic/po-dynamic-field-type.enum.js +25 -25
- package/esm2015/lib/components/po-dynamic/po-dynamic-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.js +104 -104
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-field-internal.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.js +200 -200
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.js +129 -129
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.service.js +32 -32
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.js +20 -20
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-response.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-validation.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.service.js +39 -39
- package/esm2015/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.js +167 -167
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.js +163 -163
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-field.interface.js +2 -2
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.js +101 -101
- package/esm2015/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.service.js +17 -17
- package/esm2015/lib/components/po-dynamic/po-dynamic.module.js +35 -35
- package/esm2015/lib/components/po-dynamic/po-dynamic.util.js +18 -18
- package/esm2015/lib/components/po-field/index.js +51 -51
- package/esm2015/lib/components/po-field/po-checkbox/po-checkbox-base.component.js +98 -98
- package/esm2015/lib/components/po-field/po-checkbox/po-checkbox.component.js +94 -94
- package/esm2015/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option-view.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.js +297 -297
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.js +98 -98
- package/esm2015/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.js +20 -20
- package/esm2015/lib/components/po-field/po-clean/po-clean-base.component.js +42 -42
- package/esm2015/lib/components/po-field/po-clean/po-clean.component.js +33 -33
- package/esm2015/lib/components/po-field/po-clean/po-clean.module.js +18 -18
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-group.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-option-group.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-combo-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/interfaces/po-response.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-combo/po-combo-base.component.js +749 -749
- package/esm2015/lib/components/po-field/po-combo/po-combo-filter-mode.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-combo/po-combo-filter.service.js +78 -78
- package/esm2015/lib/components/po-field/po-combo/po-combo-option-template/po-combo-option-template.directive.js +81 -81
- package/esm2015/lib/components/po-field/po-combo/po-combo.component.js +525 -525
- package/esm2015/lib/components/po-field/po-datepicker/enums/po-datepicker-iso-format.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker-base.component.js +396 -396
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker.component.js +345 -345
- package/esm2015/lib/components/po-field/po-datepicker/po-datepicker.module.js +22 -22
- package/esm2015/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.js +475 -475
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.js +443 -443
- package/esm2015/lib/components/po-field/po-datepicker-range/po-datepicker-range.literals.js +27 -27
- package/esm2015/lib/components/po-field/po-decimal/po-decimal.component.js +598 -598
- package/esm2015/lib/components/po-field/po-email/po-email.component.js +106 -106
- package/esm2015/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.js +29 -29
- package/esm2015/lib/components/po-field/po-field-container/po-field-container-literals.js +15 -15
- package/esm2015/lib/components/po-field/po-field-container/po-field-container.component.js +39 -39
- package/esm2015/lib/components/po-field/po-field-container/po-field-container.module.js +19 -19
- package/esm2015/lib/components/po-field/po-field-validate.model.js +69 -69
- package/esm2015/lib/components/po-field/po-field.model.js +78 -78
- package/esm2015/lib/components/po-field/po-field.module.js +156 -156
- package/esm2015/lib/components/po-field/po-input/po-input-base.component.js +357 -357
- package/esm2015/lib/components/po-field/po-input/po-input.component.js +56 -56
- package/esm2015/lib/components/po-field/po-input/po-mask.js +460 -460
- package/esm2015/lib/components/po-field/po-input-generic/po-input-generic.js +187 -187
- package/esm2015/lib/components/po-field/po-login/po-login.component.js +65 -65
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-column.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-filtered-items-params.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/interfaces/po-lookup-response-api.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-base.component.js +455 -455
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.js +365 -364
- package/esm2015/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.js +130 -130
- package/esm2015/lib/components/po-field/po-lookup/po-lookup.component.js +337 -337
- package/esm2015/lib/components/po-field/po-lookup/services/po-lookup-filter.service.js +59 -59
- package/esm2015/lib/components/po-field/po-lookup/services/po-lookup-modal.service.js +62 -62
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-base.component.js +576 -576
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.js +139 -139
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter-mode.enum.js +17 -17
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-filter.service.js +50 -50
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.js +33 -33
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.js +57 -57
- package/esm2015/lib/components/po-field/po-multiselect/po-multiselect.component.js +359 -359
- package/esm2015/lib/components/po-field/po-number/po-number-base.component.js +114 -114
- package/esm2015/lib/components/po-field/po-number/po-number.component.js +119 -119
- package/esm2015/lib/components/po-field/po-password/po-password.component.js +92 -92
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group-base.component.js +184 -184
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-radio-group/po-radio-group.component.js +119 -119
- package/esm2015/lib/components/po-field/po-rich-text/interfaces/po-rich-text-toolbar-button-group-item.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-base.component.js +181 -181
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.js +312 -312
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.js +96 -96
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.js +140 -140
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-literals.js +83 -83
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.js +166 -166
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text.component.js +147 -147
- package/esm2015/lib/components/po-field/po-rich-text/po-rich-text.service.js +17 -17
- package/esm2015/lib/components/po-field/po-select/po-select-option-template/po-select-option-template.directive.js +59 -59
- package/esm2015/lib/components/po-field/po-select/po-select-option.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-select/po-select.component.js +366 -366
- package/esm2015/lib/components/po-field/po-switch/po-switch-label-position.enum.js +15 -15
- package/esm2015/lib/components/po-field/po-switch/po-switch.component.js +190 -190
- package/esm2015/lib/components/po-field/po-textarea/po-textarea-base.component.js +269 -269
- package/esm2015/lib/components/po-field/po-textarea/po-textarea.component.js +130 -130
- package/esm2015/lib/components/po-field/po-upload/interfaces/po-upload-file-restriction.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.js +2 -2
- package/esm2015/lib/components/po-field/po-upload/po-upload-base.component.js +581 -581
- package/esm2015/lib/components/po-field/po-upload/po-upload-base.service.js +88 -88
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component.js +30 -30
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.js +40 -40
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.js +60 -60
- package/esm2015/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.js +165 -165
- package/esm2015/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.js +63 -63
- package/esm2015/lib/components/po-field/po-upload/po-upload-file.js +39 -39
- package/esm2015/lib/components/po-field/po-upload/po-upload-status.enum.js +13 -13
- package/esm2015/lib/components/po-field/po-upload/po-upload.component.js +326 -326
- package/esm2015/lib/components/po-field/po-upload/po-upload.service.js +8 -8
- package/esm2015/lib/components/po-field/po-url/po-url.component.js +86 -86
- package/esm2015/lib/components/po-field/validators.js +41 -41
- package/esm2015/lib/components/po-gauge/index.js +4 -4
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.js +2 -2
- package/esm2015/lib/components/po-gauge/po-gauge-base.component.js +146 -146
- package/esm2015/lib/components/po-gauge/po-gauge-default-values.constant.js +11 -11
- package/esm2015/lib/components/po-gauge/po-gauge-description/po-gauge-description.component.js +27 -27
- package/esm2015/lib/components/po-gauge/po-gauge-legend/po-gauge-legend.component.js +27 -27
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-path/po-gauge-path.component.js +20 -20
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-pointer/po-gauge-pointer.component.js +50 -50
- package/esm2015/lib/components/po-gauge/po-gauge-svg/po-gauge-svg.component.js +204 -204
- package/esm2015/lib/components/po-gauge/po-gauge-title/po-gauge-title.component.js +13 -13
- package/esm2015/lib/components/po-gauge/po-gauge.component.js +72 -72
- package/esm2015/lib/components/po-gauge/po-gauge.module.js +32 -32
- package/esm2015/lib/components/po-grid/index.js +4 -4
- package/esm2015/lib/components/po-grid/po-grid-cell/po-grid-cell.component.js +111 -111
- package/esm2015/lib/components/po-grid/po-grid-cell-action/po-grid-cell-action.component.js +24 -24
- package/esm2015/lib/components/po-grid/po-grid-head/po-grid-head.component.js +30 -30
- package/esm2015/lib/components/po-grid/po-grid-row-actions.interface.js +2 -2
- package/esm2015/lib/components/po-grid/po-grid.component.js +314 -314
- package/esm2015/lib/components/po-grid/po-grid.module.js +23 -23
- package/esm2015/lib/components/po-icon/index.js +3 -3
- package/esm2015/lib/components/po-icon/po-icon.component.js +62 -62
- package/esm2015/lib/components/po-icon/po-icon.module.js +18 -18
- package/esm2015/lib/components/po-info/index.js +4 -4
- package/esm2015/lib/components/po-info/po-info-base.component.js +62 -62
- package/esm2015/lib/components/po-info/po-info-orietation.enum.js +15 -15
- package/esm2015/lib/components/po-info/po-info.component.js +36 -36
- package/esm2015/lib/components/po-info/po-info.module.js +21 -21
- package/esm2015/lib/components/po-list-view/index.js +7 -7
- package/esm2015/lib/components/po-list-view/interfaces/po-list-view-action.interface.js +2 -2
- package/esm2015/lib/components/po-list-view/interfaces/po-list-view-literals.interface.js +2 -2
- package/esm2015/lib/components/po-list-view/po-list-view-base.component.js +274 -274
- package/esm2015/lib/components/po-list-view/po-list-view-content-template/po-list-view-content-template.directive.js +101 -101
- package/esm2015/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.js +64 -64
- package/esm2015/lib/components/po-list-view/po-list-view.component.js +128 -128
- package/esm2015/lib/components/po-list-view/po-list-view.module.js +51 -51
- package/esm2015/lib/components/po-loading/index.js +5 -5
- package/esm2015/lib/components/po-loading/po-loading-base.component.js +24 -24
- package/esm2015/lib/components/po-loading/po-loading-icon/po-loading-icon.component.js +37 -37
- package/esm2015/lib/components/po-loading/po-loading-overlay/interfaces/po-loading-overlay-literals.interface.js +2 -2
- package/esm2015/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.js +91 -91
- package/esm2015/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.js +41 -41
- package/esm2015/lib/components/po-loading/po-loading.component.js +16 -16
- package/esm2015/lib/components/po-loading/po-loading.module.js +22 -22
- package/esm2015/lib/components/po-menu/index.js +9 -9
- package/esm2015/lib/components/po-menu/po-menu-base.component.js +299 -299
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter-literals.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter.component.js +40 -40
- package/esm2015/lib/components/po-menu/po-menu-filter/po-menu-filter.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-header-template/po-menu-header-template.directive.js +51 -51
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item-badge.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item-filtered.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu-item/po-menu-item.component.js +173 -173
- package/esm2015/lib/components/po-menu/po-menu-item.interface.js +2 -2
- package/esm2015/lib/components/po-menu/po-menu.component.js +497 -497
- package/esm2015/lib/components/po-menu/po-menu.module.js +26 -26
- package/esm2015/lib/components/po-menu/services/po-menu-global.service.js +32 -32
- package/esm2015/lib/components/po-menu/services/po-menu-items.service.js +35 -35
- package/esm2015/lib/components/po-menu/services/po-menu.service.js +35 -35
- package/esm2015/lib/components/po-menu-panel/index.js +4 -4
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-base.component.js +76 -76
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item-internal.interface.js +2 -2
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.js +54 -54
- package/esm2015/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.interface.js +2 -2
- package/esm2015/lib/components/po-menu-panel/po-menu-panel.component.js +145 -145
- package/esm2015/lib/components/po-menu-panel/po-menu-panel.module.js +24 -24
- package/esm2015/lib/components/po-menu-panel/services/po-menu-panel-items.service.js +35 -35
- package/esm2015/lib/components/po-modal/index.js +5 -5
- package/esm2015/lib/components/po-modal/po-modal-action.interface.js +2 -2
- package/esm2015/lib/components/po-modal/po-modal-base.component.js +121 -121
- package/esm2015/lib/components/po-modal/po-modal-footer/po-modal-footer.component.js +43 -43
- package/esm2015/lib/components/po-modal/po-modal.component.js +114 -114
- package/esm2015/lib/components/po-modal/po-modal.literals.js +15 -15
- package/esm2015/lib/components/po-modal/po-modal.module.js +19 -19
- package/esm2015/lib/components/po-navbar/index.js +5 -5
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-icon-action.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-item.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/interfaces/po-navbar-literals.interface.js +2 -2
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.js +43 -43
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-action-popup/po-navbar-action-popup.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.component.js +19 -19
- package/esm2015/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.module.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-base.component.js +147 -147
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation-icon/po-navbar-item-navigation-icon.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.component.js +18 -18
- package/esm2015/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.module.js +15 -15
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-item/po-navbar-item.component.js +30 -30
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.js +53 -53
- package/esm2015/lib/components/po-navbar/po-navbar-items/po-navbar-items.module.js +15 -15
- package/esm2015/lib/components/po-navbar/po-navbar-logo/po-navbar-logo.component.js +13 -13
- package/esm2015/lib/components/po-navbar/po-navbar.component.js +213 -213
- package/esm2015/lib/components/po-navbar/po-navbar.module.js +57 -57
- package/esm2015/lib/components/po-page/index.js +15 -15
- package/esm2015/lib/components/po-page/po-page-action.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-base.component.js +23 -23
- package/esm2015/lib/components/po-page/po-page-content/po-page-content-base.component.js +10 -10
- package/esm2015/lib/components/po-page/po-page-content/po-page-content.component.js +54 -54
- package/esm2015/lib/components/po-page/po-page-default/po-page-default-base.component.js +111 -111
- package/esm2015/lib/components/po-page/po-page-default/po-page-default-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-default/po-page-default.component.js +98 -98
- package/esm2015/lib/components/po-page/po-page-default/po-page-default.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail-base.component.js +141 -141
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-detail/po-page-detail.component.js +62 -62
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit-base.component.js +146 -146
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-edit/po-page-edit.component.js +65 -65
- package/esm2015/lib/components/po-page/po-page-filter.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-header/po-page-header-base.component.js +26 -26
- package/esm2015/lib/components/po-page/po-page-header/po-page-header.component.js +15 -15
- package/esm2015/lib/components/po-page/po-page-list/po-page-list-base.component.js +137 -137
- package/esm2015/lib/components/po-page/po-page-list/po-page-list-literals.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page-list/po-page-list.component.js +188 -188
- package/esm2015/lib/components/po-page/po-page-slide/po-page-slide-base.component.js +135 -135
- package/esm2015/lib/components/po-page/po-page-slide/po-page-slide.component.js +121 -121
- package/esm2015/lib/components/po-page/po-page.component.js +16 -16
- package/esm2015/lib/components/po-page/po-page.interface.js +2 -2
- package/esm2015/lib/components/po-page/po-page.module.js +60 -60
- package/esm2015/lib/components/po-popover/index.js +3 -3
- package/esm2015/lib/components/po-popover/po-popover-base.component.js +113 -113
- package/esm2015/lib/components/po-popover/po-popover.component.js +138 -138
- package/esm2015/lib/components/po-popover/po-popover.module.js +17 -17
- package/esm2015/lib/components/po-popup/index.js +4 -4
- package/esm2015/lib/components/po-popup/po-popup-action.interface.js +2 -2
- package/esm2015/lib/components/po-popup/po-popup-base.component.js +186 -186
- package/esm2015/lib/components/po-popup/po-popup.component.js +169 -169
- package/esm2015/lib/components/po-popup/po-popup.module.js +21 -21
- package/esm2015/lib/components/po-progress/enums/po-progress-status.enum.js +17 -17
- package/esm2015/lib/components/po-progress/index.js +4 -4
- package/esm2015/lib/components/po-progress/po-progress-bar/po-progress-bar.component.js +18 -18
- package/esm2015/lib/components/po-progress/po-progress-base.component.js +107 -107
- package/esm2015/lib/components/po-progress/po-progress.component.js +56 -56
- package/esm2015/lib/components/po-progress/po-progress.module.js +19 -19
- package/esm2015/lib/components/po-slide/directives/po-slide-content-template.directive.js +59 -59
- package/esm2015/lib/components/po-slide/index.js +5 -5
- package/esm2015/lib/components/po-slide/interfaces/po-slide-item.interface.js +2 -2
- package/esm2015/lib/components/po-slide/po-slide-base.component.js +104 -104
- package/esm2015/lib/components/po-slide/po-slide-circles/po-slide-circles.component.js +26 -26
- package/esm2015/lib/components/po-slide/po-slide-control/po-slide-control.component.js +25 -25
- package/esm2015/lib/components/po-slide/po-slide-item/po-slide-item.component.js +37 -37
- package/esm2015/lib/components/po-slide/po-slide.component.js +256 -256
- package/esm2015/lib/components/po-slide/po-slide.module.js +58 -58
- package/esm2015/lib/components/po-stepper/enums/po-stepper-orientation.enum.js +18 -18
- package/esm2015/lib/components/po-stepper/enums/po-stepper-status.enum.js +23 -23
- package/esm2015/lib/components/po-stepper/index.js +7 -7
- package/esm2015/lib/components/po-stepper/po-step/po-step.component.js +78 -78
- package/esm2015/lib/components/po-stepper/po-stepper-base.component.js +144 -144
- package/esm2015/lib/components/po-stepper/po-stepper-circle/po-stepper-circle.component.js +47 -47
- package/esm2015/lib/components/po-stepper/po-stepper-item.interface.js +2 -2
- package/esm2015/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.js +20 -20
- package/esm2015/lib/components/po-stepper/po-stepper-step/po-stepper-step.component.js +116 -116
- package/esm2015/lib/components/po-stepper/po-stepper.component.js +219 -219
- package/esm2015/lib/components/po-stepper/po-stepper.module.js +27 -27
- package/esm2015/lib/components/po-table/enums/po-table-column-sort-type.enum.js +14 -14
- package/esm2015/lib/components/po-table/enums/po-table-row-template-arrow-direction.enum.js +14 -14
- package/esm2015/lib/components/po-table/index.js +18 -18
- package/esm2015/lib/components/po-table/interfaces/po-table-action.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-boolean.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-column-sort.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-filter.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-filtered-items-params.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-literals.interface.js +2 -2
- package/esm2015/lib/components/po-table/interfaces/po-table-response-api.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-base.component.js +860 -860
- package/esm2015/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.js +82 -82
- package/esm2015/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.js +72 -72
- package/esm2015/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-column-label/po-table-column-label.component.js +38 -38
- package/esm2015/lib/components/po-table/po-table-column-label/po-table-column-label.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-column-link/po-table-column-link.component.js +38 -38
- package/esm2015/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.js +250 -250
- package/esm2015/lib/components/po-table/po-table-column-template/po-table-column-template.directive.js +90 -90
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail.component.js +88 -88
- package/esm2015/lib/components/po-table/po-table-detail/po-table-detail.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-icon/po-table-icon.component.js +46 -46
- package/esm2015/lib/components/po-table/po-table-row-template/po-table-row-template.directive.js +128 -128
- package/esm2015/lib/components/po-table/po-table-show-subtitle/po-table-show-subtitle.component.js +21 -21
- package/esm2015/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.js +41 -41
- package/esm2015/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-column.interface.js +2 -2
- package/esm2015/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.js +70 -70
- package/esm2015/lib/components/po-table/po-table.component.js +542 -542
- package/esm2015/lib/components/po-table/po-table.module.js +75 -75
- package/esm2015/lib/components/po-table/services/po-table.service.js +38 -38
- package/esm2015/lib/components/po-tabs/index.js +5 -5
- package/esm2015/lib/components/po-tabs/po-tab/po-tab-base.component.js +82 -82
- package/esm2015/lib/components/po-tabs/po-tab/po-tab.component.js +27 -27
- package/esm2015/lib/components/po-tabs/po-tab/po-tab.interface.js +2 -2
- package/esm2015/lib/components/po-tabs/po-tab-button/po-tab-button.component.js +75 -75
- package/esm2015/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.js +44 -44
- package/esm2015/lib/components/po-tabs/po-tabs-base.component.js +49 -49
- package/esm2015/lib/components/po-tabs/po-tabs.component.js +126 -126
- package/esm2015/lib/components/po-tabs/po-tabs.module.js +21 -21
- package/esm2015/lib/components/po-tag/enums/po-tag-icon.enum.js +19 -19
- package/esm2015/lib/components/po-tag/enums/po-tag-orientation.enum.js +15 -15
- package/esm2015/lib/components/po-tag/enums/po-tag-type.enum.js +19 -19
- package/esm2015/lib/components/po-tag/index.js +5 -5
- package/esm2015/lib/components/po-tag/interfaces/po-tag-item.interface.js +2 -2
- package/esm2015/lib/components/po-tag/po-tag-base.component.js +175 -175
- package/esm2015/lib/components/po-tag/po-tag.component.js +71 -71
- package/esm2015/lib/components/po-tag/po-tag.module.js +21 -21
- package/esm2015/lib/components/po-toolbar/index.js +5 -5
- package/esm2015/lib/components/po-toolbar/po-toolbar-action.interface.js +2 -2
- package/esm2015/lib/components/po-toolbar/po-toolbar-actions/po-toolbar-actions.component.js +35 -35
- package/esm2015/lib/components/po-toolbar/po-toolbar-base.component.js +43 -43
- package/esm2015/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.js +39 -39
- package/esm2015/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.component.js +28 -28
- package/esm2015/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.interface.js +2 -2
- package/esm2015/lib/components/po-toolbar/po-toolbar.component.js +46 -46
- package/esm2015/lib/components/po-toolbar/po-toolbar.module.js +32 -32
- package/esm2015/lib/components/po-tree-view/index.js +4 -4
- package/esm2015/lib/components/po-tree-view/po-tree-view-base.component.js +197 -197
- package/esm2015/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.js +58 -58
- package/esm2015/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.js +2 -2
- package/esm2015/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.js +26 -26
- package/esm2015/lib/components/po-tree-view/po-tree-view.component.js +60 -60
- package/esm2015/lib/components/po-tree-view/po-tree-view.module.js +49 -49
- package/esm2015/lib/components/po-tree-view/services/po-tree-view.service.js +24 -24
- package/esm2015/lib/components/po-widget/index.js +3 -3
- package/esm2015/lib/components/po-widget/po-widget-base.component.js +216 -216
- package/esm2015/lib/components/po-widget/po-widget.component.js +114 -114
- package/esm2015/lib/components/po-widget/po-widget.module.js +19 -19
- package/esm2015/lib/decorators/index.js +3 -3
- package/esm2015/lib/decorators/input-boolean/input-boolean.decorator.js +18 -18
- package/esm2015/lib/decorators/input-required/input-required.decorator.js +34 -34
- package/esm2015/lib/decorators/property-decorator.interface.js +2 -2
- package/esm2015/lib/decorators/utils-decorators.js +64 -64
- package/esm2015/lib/directives/directives.module.js +14 -14
- package/esm2015/lib/directives/index.js +3 -3
- package/esm2015/lib/directives/po-tooltip/index.js +3 -3
- package/esm2015/lib/directives/po-tooltip/po-tooltip-base.directive.js +106 -106
- package/esm2015/lib/directives/po-tooltip/po-tooltip-control-position.service.js +8 -8
- package/esm2015/lib/directives/po-tooltip/po-tooltip.directive.js +147 -147
- package/esm2015/lib/directives/po-tooltip/po-tooltip.module.js +18 -18
- package/esm2015/lib/enums/po-color-palette.enum.js +35 -35
- package/esm2015/lib/enums/po-key-code.enum.js +31 -31
- package/esm2015/lib/guards/guards.module.js +13 -13
- package/esm2015/lib/guards/index.js +2 -2
- package/esm2015/lib/index.js +10 -10
- package/esm2015/lib/interceptors/index.js +4 -4
- package/esm2015/lib/interceptors/interceptors.module.js +15 -15
- package/esm2015/lib/interceptors/po-http-interceptor/index.js +3 -3
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.js +249 -249
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail-literals.interface.js +39 -39
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.js +83 -83
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.js +2 -2
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor-literals.js +23 -23
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor.module.js +28 -28
- package/esm2015/lib/interceptors/po-http-interceptor/po-http-interceptor.service.js +28 -28
- package/esm2015/lib/interceptors/po-http-request/index.js +3 -3
- package/esm2015/lib/interceptors/po-http-request/po-http-request-control-service.js +23 -23
- package/esm2015/lib/interceptors/po-http-request/po-http-request-interceptor.service.js +169 -169
- package/esm2015/lib/interceptors/po-http-request/po-http-request.module.js +24 -24
- package/esm2015/lib/interfaces/index.js +2 -2
- package/esm2015/lib/interfaces/po-http/po-response-api.interface.js +2 -2
- package/esm2015/lib/pipes/index.js +3 -3
- package/esm2015/lib/pipes/pipes.module.js +14 -14
- package/esm2015/lib/pipes/po-time/index.js +3 -3
- package/esm2015/lib/pipes/po-time/po-time.module.js +19 -19
- package/esm2015/lib/pipes/po-time/po-time.pipe.js +55 -55
- package/esm2015/lib/po.module.js +34 -34
- package/esm2015/lib/services/index.js +11 -11
- package/esm2015/lib/services/po-active-overlay/index.js +3 -3
- package/esm2015/lib/services/po-active-overlay/po-active-overlay.module.js +16 -16
- package/esm2015/lib/services/po-active-overlay/po-active-overlay.service.js +14 -14
- package/esm2015/lib/services/po-color/po-color.service.js +60 -60
- package/esm2015/lib/services/po-color/po-colors.constant.js +43 -43
- package/esm2015/lib/services/po-color-palette/index.js +3 -3
- package/esm2015/lib/services/po-color-palette/po-color-palette.module.js +16 -16
- package/esm2015/lib/services/po-color-palette/po-color-palette.service.js +25 -25
- package/esm2015/lib/services/po-component-injector/index.js +3 -3
- package/esm2015/lib/services/po-component-injector/po-component-injector.module.js +14 -14
- package/esm2015/lib/services/po-component-injector/po-component-injector.service.js +34 -34
- package/esm2015/lib/services/po-control-position/index.js +3 -3
- package/esm2015/lib/services/po-control-position/po-control-position.constants.js +16 -16
- package/esm2015/lib/services/po-control-position/po-control-position.module.js +15 -15
- package/esm2015/lib/services/po-control-position/po-control-position.service.js +361 -361
- package/esm2015/lib/services/po-date/index.js +3 -3
- package/esm2015/lib/services/po-date/po-date.module.js +16 -16
- package/esm2015/lib/services/po-date/po-date.service.js +201 -201
- package/esm2015/lib/services/po-dialog/index.js +8 -8
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog-alert-literals.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog-confirm-literals.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/interfaces/po-dialog.interface.js +2 -2
- package/esm2015/lib/services/po-dialog/po-dialog-base.service.js +18 -18
- package/esm2015/lib/services/po-dialog/po-dialog.component.js +115 -115
- package/esm2015/lib/services/po-dialog/po-dialog.enum.js +16 -16
- package/esm2015/lib/services/po-dialog/po-dialog.module.js +15 -15
- package/esm2015/lib/services/po-dialog/po-dialog.service.js +42 -42
- package/esm2015/lib/services/po-i18n/index.js +8 -8
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-config-default.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-config.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/interfaces/po-i18n-literals.interface.js +2 -2
- package/esm2015/lib/services/po-i18n/po-i18n-base.pipe.js +40 -40
- package/esm2015/lib/services/po-i18n/po-i18n-base.service.js +439 -439
- package/esm2015/lib/services/po-i18n/po-i18n-config-injection-token.js +3 -3
- package/esm2015/lib/services/po-i18n/po-i18n.module.js +188 -188
- package/esm2015/lib/services/po-i18n/po-i18n.pipe.js +21 -21
- package/esm2015/lib/services/po-i18n/po-i18n.service.js +20 -20
- package/esm2015/lib/services/po-language/index.js +5 -5
- package/esm2015/lib/services/po-language/po-language.constant.js +75 -75
- package/esm2015/lib/services/po-language/po-language.interface.js +2 -2
- package/esm2015/lib/services/po-language/po-language.module.js +15 -15
- package/esm2015/lib/services/po-language/po-language.service.js +136 -136
- package/esm2015/lib/services/po-notification/index.js +6 -6
- package/esm2015/lib/services/po-notification/po-notification-base.service.js +111 -111
- package/esm2015/lib/services/po-notification/po-notification.interface.js +2 -2
- package/esm2015/lib/services/po-notification/po-notification.module.js +15 -15
- package/esm2015/lib/services/po-notification/po-notification.service.js +92 -92
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-base.component.js +15 -15
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-orientation.enum.js +13 -13
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster-type.enum.js +17 -17
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster.component.js +132 -132
- package/esm2015/lib/services/po-notification/po-toaster/po-toaster.interface.js +2 -2
- package/esm2015/lib/services/services.module.js +40 -40
- package/esm2015/lib/utils/util.js +508 -508
- package/esm2015/po-ui-ng-components.js +205 -205
- package/esm2015/public-api.js +2 -2
- package/fesm2015/po-ui-ng-components.js +35221 -35220
- package/fesm2015/po-ui-ng-components.js.map +1 -1
- package/lib/components/components.module.d.ts +2 -2
- package/lib/components/index.d.ts +37 -37
- package/lib/components/po-accordion/index.d.ts +3 -3
- package/lib/components/po-accordion/po-accordion-base.component.d.ts +28 -28
- package/lib/components/po-accordion/po-accordion-item/po-accordion-item.component.d.ts +49 -49
- package/lib/components/po-accordion/po-accordion-item-body/po-accordion-item-body.component.d.ts +3 -3
- package/lib/components/po-accordion/po-accordion-item-header/po-accordion-item-header.component.d.ts +7 -7
- package/lib/components/po-accordion/po-accordion.component.d.ts +37 -37
- package/lib/components/po-accordion/po-accordion.module.d.ts +33 -33
- package/lib/components/po-accordion/services/po-accordion.service.d.ts +13 -13
- package/lib/components/po-avatar/index.d.ts +2 -2
- package/lib/components/po-avatar/po-avatar-base.component.d.ts +53 -53
- package/lib/components/po-avatar/po-avatar.component.d.ts +28 -28
- package/lib/components/po-avatar/po-avatar.module.d.ts +7 -7
- package/lib/components/po-badge/po-badge-base.component.d.ts +55 -55
- package/lib/components/po-badge/po-badge.component.d.ts +8 -8
- package/lib/components/po-badge/po-badge.module.d.ts +7 -7
- package/lib/components/po-breadcrumb/index.d.ts +4 -4
- package/lib/components/po-breadcrumb/po-breadcrumb-base.component.d.ts +104 -104
- package/lib/components/po-breadcrumb/po-breadcrumb-dropdown/po-breadcrumb-dropdown.component.d.ts +11 -11
- package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.component.d.ts +29 -29
- package/lib/components/po-breadcrumb/po-breadcrumb-favorite/po-breadcrumb-favorite.service.d.ts +27 -27
- package/lib/components/po-breadcrumb/po-breadcrumb-item/po-breadcrumb-item.component.d.ts +13 -13
- package/lib/components/po-breadcrumb/po-breadcrumb-item.interface.d.ts +31 -31
- package/lib/components/po-breadcrumb/po-breadcrumb.component.d.ts +53 -53
- package/lib/components/po-breadcrumb/po-breadcrumb.interface.d.ts +42 -42
- package/lib/components/po-breadcrumb/po-breadcrumb.module.d.ts +8 -8
- package/lib/components/po-button/index.d.ts +2 -2
- package/lib/components/po-button/po-button-base.component.d.ts +120 -120
- package/lib/components/po-button/po-button.component.d.ts +49 -49
- package/lib/components/po-button/po-button.module.d.ts +7 -7
- package/lib/components/po-button-group/index.d.ts +4 -4
- package/lib/components/po-button-group/po-button-group-base.component.d.ts +53 -53
- package/lib/components/po-button-group/po-button-group-item.interface.d.ts +64 -64
- package/lib/components/po-button-group/po-button-group-toggle.enum.d.ts +15 -15
- package/lib/components/po-button-group/po-button-group.component.d.ts +31 -31
- package/lib/components/po-button-group/po-button-group.module.d.ts +7 -7
- package/lib/components/po-calendar/index.d.ts +3 -3
- package/lib/components/po-calendar/po-calendar-base.component.d.ts +129 -129
- package/lib/components/po-calendar/po-calendar-header/po-calendar-header.component.d.ts +8 -8
- package/lib/components/po-calendar/po-calendar-mode.enum.d.ts +11 -11
- package/lib/components/po-calendar/po-calendar-wrapper/po-calendar-wrapper.component.d.ts +77 -77
- package/lib/components/po-calendar/po-calendar.component.d.ts +53 -53
- package/lib/components/po-calendar/po-calendar.module.d.ts +6 -6
- package/lib/components/po-calendar/services/po-calendar.lang.service.d.ts +16 -16
- package/lib/components/po-calendar/services/po-calendar.service.d.ts +5 -5
- package/lib/components/po-chart/directives/po-resize-observer.directive.d.ts +12 -12
- package/lib/components/po-chart/enums/po-chart-type.enum.d.ts +49 -49
- package/lib/components/po-chart/helpers/po-chart-default-values.constant.d.ts +8 -8
- package/lib/components/po-chart/index.d.ts +7 -7
- package/lib/components/po-chart/interfaces/po-chart-axis-options.interface.d.ts +37 -37
- package/lib/components/po-chart/interfaces/po-chart-bar-coordinates.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-container-size.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-label-coordinates.interface.d.ts +19 -19
- package/lib/components/po-chart/interfaces/po-chart-min-max-values.interface.d.ts +19 -19
- package/lib/components/po-chart/interfaces/po-chart-options.interface.d.ts +20 -20
- package/lib/components/po-chart/interfaces/po-chart-path-coordinates.interface.d.ts +23 -23
- package/lib/components/po-chart/interfaces/po-chart-points-coordinates.interface.d.ts +26 -26
- package/lib/components/po-chart/interfaces/po-chart-serie.interface.d.ts +101 -101
- package/lib/components/po-chart/po-chart-base.component.d.ts +152 -152
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-label/po-chart-axis-label.component.d.ts +10 -10
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis-path/po-chart-axis-path.component.d.ts +7 -7
- package/lib/components/po-chart/po-chart-container/po-chart-axis/po-chart-axis.component.d.ts +60 -60
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-base.component.d.ts +31 -31
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar-path/po-chart-bar-path.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-bar.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-bar/po-chart-column/po-chart-column.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-label/po-chart-circular-label.component.d.ts +11 -11
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-circular-path.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular-path/po-chart-tooltip.directive.d.ts +20 -20
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-circular.component.d.ts +42 -42
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-donut/po-chart-donut.component.d.ts +16 -16
- package/lib/components/po-chart/po-chart-container/po-chart-circular/po-chart-pie/po-chart-pie.component.d.ts +8 -8
- package/lib/components/po-chart/po-chart-container/po-chart-container.component.d.ts +43 -43
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-area/po-chart-area.component.d.ts +20 -20
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line-base.component.d.ts +46 -46
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-line.component.d.ts +13 -13
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-path/po-chart-path.component.d.ts +19 -19
- package/lib/components/po-chart/po-chart-container/po-chart-line/po-chart-series-point/po-chart-series-point.component.d.ts +30 -30
- package/lib/components/po-chart/po-chart-legend/po-chart-legend.component.d.ts +7 -7
- package/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.constant.d.ts +7 -7
- package/lib/components/po-chart/po-chart-types/po-chart-circular/po-chart-circular.d.ts +55 -55
- package/lib/components/po-chart/po-chart-types/po-chart-dynamic-type.component.d.ts +36 -36
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-series.interface.d.ts +39 -39
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge-text-content/po-chart-gauge-text-content.component.d.ts +24 -24
- package/lib/components/po-chart/po-chart-types/po-chart-gauge/po-chart-gauge.component.d.ts +20 -20
- package/lib/components/po-chart/po-chart.component.d.ts +67 -67
- package/lib/components/po-chart/po-chart.module.d.ts +7 -7
- package/lib/components/po-chart/services/po-chart-maths.service.d.ts +63 -63
- package/lib/components/po-chart/services/po-chart-svg-container.service.d.ts +21 -21
- package/lib/components/po-container/index.d.ts +2 -2
- package/lib/components/po-container/po-container-base.component.d.ts +59 -59
- package/lib/components/po-container/po-container.component.d.ts +24 -24
- package/lib/components/po-container/po-container.module.d.ts +7 -7
- package/lib/components/po-disclaimer/index.d.ts +3 -3
- package/lib/components/po-disclaimer/po-disclaimer-base.component.d.ts +56 -56
- package/lib/components/po-disclaimer/po-disclaimer.component.d.ts +16 -16
- package/lib/components/po-disclaimer/po-disclaimer.interface.d.ts +17 -17
- package/lib/components/po-disclaimer/po-disclaimer.module.d.ts +6 -6
- package/lib/components/po-disclaimer-group/index.d.ts +4 -4
- package/lib/components/po-disclaimer-group/po-disclaimer-group-base.component.d.ts +114 -114
- package/lib/components/po-disclaimer-group/po-disclaimer-group-remove-action.interface.d.ts +18 -18
- package/lib/components/po-disclaimer-group/po-disclaimer-group.component.d.ts +28 -28
- package/lib/components/po-disclaimer-group/po-disclaimer-group.interface.d.ts +78 -78
- package/lib/components/po-disclaimer-group/po-disclaimer-group.module.d.ts +7 -7
- package/lib/components/po-disclaimer-group/po-disclaimer-remove/po-disclaimer-remove.component.d.ts +16 -16
- package/lib/components/po-divider/index.d.ts +2 -2
- package/lib/components/po-divider/po-divider-base.component.d.ts +10 -10
- package/lib/components/po-divider/po-divider.component.d.ts +23 -23
- package/lib/components/po-divider/po-divider.module.d.ts +7 -7
- package/lib/components/po-dropdown/index.d.ts +3 -3
- package/lib/components/po-dropdown/po-dropdown-action.interface.d.ts +11 -11
- package/lib/components/po-dropdown/po-dropdown-base.component.d.ts +54 -54
- package/lib/components/po-dropdown/po-dropdown.component.d.ts +41 -41
- package/lib/components/po-dropdown/po-dropdown.module.d.ts +6 -6
- package/lib/components/po-dynamic/index.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic-field-type.enum.d.ts +23 -23
- package/lib/components/po-dynamic/po-dynamic-field.interface.d.ts +130 -130
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-base.component.d.ts +215 -215
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-field.interface.d.ts +249 -249
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-field-internal.interface.d.ts +14 -14
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields-base.component.d.ts +44 -44
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-fields/po-dynamic-form-fields.component.d.ts +36 -36
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.interface.d.ts +20 -20
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-load/po-dynamic-form-load.service.d.ts +8 -8
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-operation/po-dynamic-form-operation.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-response.interface.d.ts +29 -29
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-changed.interface.d.ts +13 -13
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-field-validation.interface.d.ts +21 -21
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.interface.d.ts +20 -20
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form-validation/po-dynamic-form-validation.service.d.ts +12 -12
- package/lib/components/po-dynamic/po-dynamic-form/po-dynamic-form.component.d.ts +83 -83
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-base.component.d.ts +134 -134
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view-field.interface.d.ts +104 -104
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.component.d.ts +36 -36
- package/lib/components/po-dynamic/po-dynamic-view/po-dynamic-view.service.d.ts +10 -10
- package/lib/components/po-dynamic/po-dynamic.module.d.ts +2 -2
- package/lib/components/po-dynamic/po-dynamic.util.d.ts +4 -4
- package/lib/components/po-field/index.d.ts +50 -50
- package/lib/components/po-field/po-checkbox/po-checkbox-base.component.d.ts +62 -62
- package/lib/components/po-field/po-checkbox/po-checkbox.component.d.ts +51 -51
- package/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option-view.interface.d.ts +14 -14
- package/lib/components/po-field/po-checkbox-group/interfaces/po-checkbox-group-option.interface.d.ts +24 -24
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group-base.component.d.ts +184 -184
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group.component.d.ts +50 -50
- package/lib/components/po-field/po-checkbox-group/po-checkbox-group.module.d.ts +7 -7
- package/lib/components/po-field/po-clean/po-clean-base.component.d.ts +30 -30
- package/lib/components/po-field/po-clean/po-clean.component.d.ts +17 -17
- package/lib/components/po-field/po-clean/po-clean.module.d.ts +7 -7
- package/lib/components/po-field/po-combo/interfaces/po-combo-filter.interface.d.ts +27 -27
- package/lib/components/po-field/po-combo/interfaces/po-combo-group.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/interfaces/po-combo-literals.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/interfaces/po-combo-option-group.interface.d.ts +14 -14
- package/lib/components/po-field/po-combo/interfaces/po-combo-option.interface.d.ts +21 -21
- package/lib/components/po-field/po-combo/interfaces/po-response.interface.d.ts +11 -11
- package/lib/components/po-field/po-combo/po-combo-base.component.d.ts +409 -409
- package/lib/components/po-field/po-combo/po-combo-filter-mode.enum.d.ts +15 -15
- package/lib/components/po-field/po-combo/po-combo-filter.service.d.ts +28 -28
- package/lib/components/po-field/po-combo/po-combo-option-template/po-combo-option-template.directive.d.ts +70 -70
- package/lib/components/po-field/po-combo/po-combo.component.d.ts +139 -139
- package/lib/components/po-field/po-datepicker/enums/po-datepicker-iso-format.enum.d.ts +15 -15
- package/lib/components/po-field/po-datepicker/po-datepicker-base.component.d.ts +223 -223
- package/lib/components/po-field/po-datepicker/po-datepicker.component.d.ts +101 -101
- package/lib/components/po-field/po-datepicker/po-datepicker.module.d.ts +7 -7
- package/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range-literals.interface.d.ts +17 -17
- package/lib/components/po-field/po-datepicker-range/interfaces/po-datepicker-range.interface.d.ts +16 -16
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range-base.component.d.ts +269 -269
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range.component.d.ts +125 -125
- package/lib/components/po-field/po-datepicker-range/po-datepicker-range.literals.d.ts +7 -7
- package/lib/components/po-field/po-decimal/po-decimal.component.d.ts +180 -180
- package/lib/components/po-field/po-email/po-email.component.d.ts +42 -42
- package/lib/components/po-field/po-field-container/po-field-container-bottom/po-field-container-bottom.component.d.ts +15 -15
- package/lib/components/po-field/po-field-container/po-field-container-literals.d.ts +14 -14
- package/lib/components/po-field/po-field-container/po-field-container.component.d.ts +18 -18
- package/lib/components/po-field/po-field-container/po-field-container.module.d.ts +7 -7
- package/lib/components/po-field/po-field-validate.model.d.ts +38 -38
- package/lib/components/po-field/po-field.model.d.ts +51 -51
- package/lib/components/po-field/po-field.module.d.ts +12 -12
- package/lib/components/po-field/po-input/po-input-base.component.d.ts +265 -265
- package/lib/components/po-field/po-input/po-input.component.d.ts +29 -29
- package/lib/components/po-field/po-input/po-mask.d.ts +49 -49
- package/lib/components/po-field/po-input-generic/po-input-generic.d.ts +35 -35
- package/lib/components/po-field/po-login/po-login.component.d.ts +34 -34
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-advanced-filter.interface.d.ts +8 -8
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-column.interface.d.ts +44 -44
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-filter.interface.d.ts +29 -29
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-filtered-items-params.interface.d.ts +40 -40
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-literals.interface.d.ts +40 -40
- package/lib/components/po-field/po-lookup/interfaces/po-lookup-response-api.interface.d.ts +8 -8
- package/lib/components/po-field/po-lookup/po-lookup-base.component.d.ts +387 -387
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal-base.component.d.ts +119 -119
- package/lib/components/po-field/po-lookup/po-lookup-modal/po-lookup-modal.component.d.ts +41 -41
- package/lib/components/po-field/po-lookup/po-lookup.component.d.ts +113 -113
- package/lib/components/po-field/po-lookup/services/po-lookup-filter.service.d.ts +25 -25
- package/lib/components/po-field/po-lookup/services/po-lookup-modal.service.d.ts +44 -44
- package/lib/components/po-field/po-multiselect/po-multiselect-base.component.d.ts +345 -345
- package/lib/components/po-field/po-multiselect/po-multiselect-dropdown/po-multiselect-dropdown.component.d.ts +57 -57
- package/lib/components/po-field/po-multiselect/po-multiselect-filter-mode.enum.d.ts +15 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.interface.d.ts +28 -28
- package/lib/components/po-field/po-multiselect/po-multiselect-filter.service.d.ts +18 -18
- package/lib/components/po-field/po-multiselect/po-multiselect-item/po-multiselect-item.component.d.ts +17 -17
- package/lib/components/po-field/po-multiselect/po-multiselect-literals.interface.d.ts +15 -15
- package/lib/components/po-field/po-multiselect/po-multiselect-option.interface.d.ts +13 -13
- package/lib/components/po-field/po-multiselect/po-multiselect-search/po-multiselect-search.component.d.ts +34 -34
- package/lib/components/po-field/po-multiselect/po-multiselect.component.d.ts +107 -107
- package/lib/components/po-field/po-number/po-number-base.component.d.ts +18 -18
- package/lib/components/po-field/po-number/po-number.component.d.ts +59 -59
- package/lib/components/po-field/po-password/po-password.component.d.ts +48 -48
- package/lib/components/po-field/po-radio-group/po-radio-group-base.component.d.ts +119 -119
- package/lib/components/po-field/po-radio-group/po-radio-group-option.interface.d.ts +15 -15
- package/lib/components/po-field/po-radio-group/po-radio-group.component.d.ts +64 -64
- package/lib/components/po-field/po-rich-text/interfaces/po-rich-text-toolbar-button-group-item.interface.d.ts +4 -4
- package/lib/components/po-field/po-rich-text/po-rich-text-base.component.d.ts +144 -144
- package/lib/components/po-field/po-rich-text/po-rich-text-body/po-rich-text-body.component.d.ts +52 -52
- package/lib/components/po-field/po-rich-text/po-rich-text-image-modal/po-rich-text-image-modal.component.d.ts +34 -34
- package/lib/components/po-field/po-rich-text/po-rich-text-link-modal/po-rich-text-link-modal.component.d.ts +45 -45
- package/lib/components/po-field/po-rich-text/po-rich-text-literals.d.ts +82 -82
- package/lib/components/po-field/po-rich-text/po-rich-text-toolbar/po-rich-text-toolbar.component.d.ts +45 -45
- package/lib/components/po-field/po-rich-text/po-rich-text.component.d.ts +60 -60
- package/lib/components/po-field/po-rich-text/po-rich-text.service.d.ts +5 -5
- package/lib/components/po-field/po-select/po-select-option-template/po-select-option-template.directive.d.ts +48 -48
- package/lib/components/po-field/po-select/po-select-option.interface.d.ts +13 -13
- package/lib/components/po-field/po-select/po-select.component.d.ts +158 -158
- package/lib/components/po-field/po-switch/po-switch-label-position.enum.d.ts +13 -13
- package/lib/components/po-field/po-switch/po-switch.component.d.ts +102 -102
- package/lib/components/po-field/po-textarea/po-textarea-base.component.d.ts +178 -178
- package/lib/components/po-field/po-textarea/po-textarea.component.d.ts +59 -59
- package/lib/components/po-field/po-upload/interfaces/po-upload-file-restriction.interface.d.ts +37 -37
- package/lib/components/po-field/po-upload/interfaces/po-upload-literals.interface.d.ts +45 -45
- package/lib/components/po-field/po-upload/po-upload-base.component.d.ts +333 -333
- package/lib/components/po-field/po-upload/po-upload-base.service.d.ts +32 -32
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area/po-upload-drag-drop-area.component.d.ts +14 -14
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop-area-overlay/po-upload-drag-drop-area-overlay.component.d.ts +14 -14
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.component.d.ts +24 -24
- package/lib/components/po-field/po-upload/po-upload-drag-drop/po-upload-drag-drop.directive.d.ts +32 -32
- package/lib/components/po-field/po-upload/po-upload-file-restrictions/po-upload-file-restrictions.component.d.ts +21 -21
- package/lib/components/po-field/po-upload/po-upload-file.d.ts +15 -15
- package/lib/components/po-field/po-upload/po-upload-status.enum.d.ts +6 -6
- package/lib/components/po-field/po-upload/po-upload.component.d.ts +106 -106
- package/lib/components/po-field/po-upload/po-upload.service.d.ts +3 -3
- package/lib/components/po-field/po-url/po-url.component.d.ts +41 -41
- package/lib/components/po-field/validators.d.ts +7 -7
- package/lib/components/po-gauge/index.d.ts +3 -3
- package/lib/components/po-gauge/interfaces/po-gauge-coordinates.interface.d.ts +19 -19
- package/lib/components/po-gauge/interfaces/po-gauge-ranges.interface.d.ts +44 -44
- package/lib/components/po-gauge/interfaces/po-gauge-svg-container.interface.d.ts +15 -15
- package/lib/components/po-gauge/po-gauge-base.component.d.ts +98 -98
- package/lib/components/po-gauge/po-gauge-default-values.constant.d.ts +5 -5
- package/lib/components/po-gauge/po-gauge-description/po-gauge-description.component.d.ts +11 -11
- package/lib/components/po-gauge/po-gauge-legend/po-gauge-legend.component.d.ts +9 -9
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-path/po-gauge-path.component.d.ts +9 -9
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-pointer/po-gauge-pointer.component.d.ts +15 -15
- package/lib/components/po-gauge/po-gauge-svg/po-gauge-svg.component.d.ts +32 -32
- package/lib/components/po-gauge/po-gauge-title/po-gauge-title.component.d.ts +3 -3
- package/lib/components/po-gauge/po-gauge.component.d.ts +37 -37
- package/lib/components/po-gauge/po-gauge.module.d.ts +6 -6
- package/lib/components/po-grid/index.d.ts +3 -3
- package/lib/components/po-grid/po-grid-cell/po-grid-cell.component.d.ts +27 -27
- package/lib/components/po-grid/po-grid-cell-action/po-grid-cell-action.component.d.ts +6 -6
- package/lib/components/po-grid/po-grid-head/po-grid-head.component.d.ts +10 -10
- package/lib/components/po-grid/po-grid-row-actions.interface.d.ts +86 -86
- package/lib/components/po-grid/po-grid.component.d.ts +80 -80
- package/lib/components/po-grid/po-grid.module.d.ts +7 -7
- package/lib/components/po-icon/index.d.ts +2 -2
- package/lib/components/po-icon/po-icon.component.d.ts +39 -39
- package/lib/components/po-icon/po-icon.module.d.ts +7 -7
- package/lib/components/po-info/index.d.ts +3 -3
- package/lib/components/po-info/po-info-base.component.d.ts +46 -46
- package/lib/components/po-info/po-info-orietation.enum.d.ts +13 -13
- package/lib/components/po-info/po-info.component.d.ts +24 -24
- package/lib/components/po-info/po-info.module.d.ts +7 -7
- package/lib/components/po-list-view/index.d.ts +6 -6
- package/lib/components/po-list-view/interfaces/po-list-view-action.interface.d.ts +15 -15
- package/lib/components/po-list-view/interfaces/po-list-view-literals.interface.d.ts +19 -19
- package/lib/components/po-list-view/po-list-view-base.component.d.ts +165 -165
- package/lib/components/po-list-view/po-list-view-content-template/po-list-view-content-template.directive.d.ts +97 -97
- package/lib/components/po-list-view/po-list-view-detail-template/po-list-view-detail-template.directive.d.ts +60 -60
- package/lib/components/po-list-view/po-list-view.component.d.ts +53 -53
- package/lib/components/po-list-view/po-list-view.module.d.ts +33 -33
- package/lib/components/po-loading/index.d.ts +4 -4
- package/lib/components/po-loading/po-loading-base.component.d.ts +14 -14
- package/lib/components/po-loading/po-loading-icon/po-loading-icon.component.d.ts +22 -22
- package/lib/components/po-loading/po-loading-overlay/interfaces/po-loading-overlay-literals.interface.d.ts +13 -13
- package/lib/components/po-loading/po-loading-overlay/po-loading-overlay-base.component.d.ts +59 -59
- package/lib/components/po-loading/po-loading-overlay/po-loading-overlay.component.d.ts +28 -28
- package/lib/components/po-loading/po-loading.component.d.ts +8 -8
- package/lib/components/po-loading/po-loading.module.d.ts +8 -8
- package/lib/components/po-menu/index.d.ts +8 -8
- package/lib/components/po-menu/po-menu-base.component.d.ts +182 -182
- package/lib/components/po-menu/po-menu-filter/po-menu-filter-literals.interface.d.ts +14 -14
- package/lib/components/po-menu/po-menu-filter/po-menu-filter.component.d.ts +25 -25
- package/lib/components/po-menu/po-menu-filter/po-menu-filter.interface.d.ts +19 -19
- package/lib/components/po-menu/po-menu-header-template/po-menu-header-template.directive.d.ts +40 -40
- package/lib/components/po-menu/po-menu-item/po-menu-item-badge.interface.d.ts +49 -49
- package/lib/components/po-menu/po-menu-item/po-menu-item-filtered.interface.d.ts +13 -13
- package/lib/components/po-menu/po-menu-item/po-menu-item.component.d.ts +54 -54
- package/lib/components/po-menu/po-menu-item.interface.d.ts +78 -78
- package/lib/components/po-menu/po-menu.component.d.ts +178 -178
- package/lib/components/po-menu/po-menu.module.d.ts +7 -7
- package/lib/components/po-menu/services/po-menu-global.service.d.ts +14 -14
- package/lib/components/po-menu/services/po-menu-items.service.d.ts +16 -16
- package/lib/components/po-menu/services/po-menu.service.d.ts +20 -20
- package/lib/components/po-menu-panel/index.d.ts +3 -3
- package/lib/components/po-menu-panel/po-menu-panel-base.component.d.ts +33 -33
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item-internal.interface.d.ts +16 -16
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.component.d.ts +23 -23
- package/lib/components/po-menu-panel/po-menu-panel-item/po-menu-panel-item.interface.d.ts +18 -18
- package/lib/components/po-menu-panel/po-menu-panel.component.d.ts +91 -91
- package/lib/components/po-menu-panel/po-menu-panel.module.d.ts +7 -7
- package/lib/components/po-menu-panel/services/po-menu-panel-items.service.d.ts +16 -16
- package/lib/components/po-modal/index.d.ts +4 -4
- package/lib/components/po-modal/po-modal-action.interface.d.ts +23 -23
- package/lib/components/po-modal/po-modal-base.component.d.ts +79 -79
- package/lib/components/po-modal/po-modal-footer/po-modal-footer.component.d.ts +30 -30
- package/lib/components/po-modal/po-modal.component.d.ts +46 -46
- package/lib/components/po-modal/po-modal.literals.d.ts +14 -14
- package/lib/components/po-modal/po-modal.module.d.ts +6 -6
- package/lib/components/po-navbar/index.d.ts +4 -4
- package/lib/components/po-navbar/interfaces/po-navbar-icon-action.interface.d.ts +55 -55
- package/lib/components/po-navbar/interfaces/po-navbar-item.interface.d.ts +21 -21
- package/lib/components/po-navbar/interfaces/po-navbar-literals.interface.d.ts +11 -11
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-action/po-navbar-action.component.d.ts +13 -13
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-action-popup/po-navbar-action-popup.component.d.ts +5 -5
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-actions/po-navbar-actions.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-base.component.d.ts +129 -129
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation-icon/po-navbar-item-navigation-icon.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.component.d.ts +6 -6
- package/lib/components/po-navbar/po-navbar-item-navigation/po-navbar-item-navigation.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-items/po-navbar-item/po-navbar-item.component.d.ts +11 -11
- package/lib/components/po-navbar/po-navbar-items/po-navbar-items.component.d.ts +17 -17
- package/lib/components/po-navbar/po-navbar-items/po-navbar-items.module.d.ts +2 -2
- package/lib/components/po-navbar/po-navbar-logo/po-navbar-logo.component.d.ts +3 -3
- package/lib/components/po-navbar/po-navbar.component.d.ts +57 -57
- package/lib/components/po-navbar/po-navbar.module.d.ts +33 -33
- package/lib/components/po-page/index.d.ts +14 -14
- package/lib/components/po-page/po-page-action.interface.d.ts +16 -16
- package/lib/components/po-page/po-page-base.component.d.ts +22 -22
- package/lib/components/po-page/po-page-content/po-page-content-base.component.d.ts +10 -10
- package/lib/components/po-page/po-page-content/po-page-content.component.d.ts +20 -20
- package/lib/components/po-page/po-page-default/po-page-default-base.component.d.ts +75 -75
- package/lib/components/po-page/po-page-default/po-page-default-literals.interface.d.ts +11 -11
- package/lib/components/po-page/po-page-default/po-page-default.component.d.ts +45 -45
- package/lib/components/po-page/po-page-default/po-page-default.interface.d.ts +13 -13
- package/lib/components/po-page/po-page-detail/po-page-detail-base.component.d.ts +100 -100
- package/lib/components/po-page/po-page-detail/po-page-detail-literals.interface.d.ts +15 -15
- package/lib/components/po-page/po-page-detail/po-page-detail.component.d.ts +28 -28
- package/lib/components/po-page/po-page-edit/po-page-edit-base.component.d.ts +106 -106
- package/lib/components/po-page/po-page-edit/po-page-edit-literals.interface.d.ts +15 -15
- package/lib/components/po-page/po-page-edit/po-page-edit.component.d.ts +29 -29
- package/lib/components/po-page/po-page-filter.interface.d.ts +26 -26
- package/lib/components/po-page/po-page-header/po-page-header-base.component.d.ts +17 -17
- package/lib/components/po-page/po-page-header/po-page-header.component.d.ts +7 -7
- package/lib/components/po-page/po-page-list/po-page-list-base.component.d.ts +108 -108
- package/lib/components/po-page/po-page-list/po-page-list-literals.interface.d.ts +11 -11
- package/lib/components/po-page/po-page-list/po-page-list.component.d.ts +71 -71
- package/lib/components/po-page/po-page-slide/po-page-slide-base.component.d.ts +111 -111
- package/lib/components/po-page/po-page-slide/po-page-slide.component.d.ts +42 -42
- package/lib/components/po-page/po-page.component.d.ts +8 -8
- package/lib/components/po-page/po-page.interface.d.ts +14 -14
- package/lib/components/po-page/po-page.module.d.ts +7 -7
- package/lib/components/po-popover/index.d.ts +2 -2
- package/lib/components/po-popover/po-popover-base.component.d.ts +131 -131
- package/lib/components/po-popover/po-popover.component.d.ts +47 -47
- package/lib/components/po-popover/po-popover.module.d.ts +6 -6
- package/lib/components/po-popup/index.d.ts +3 -3
- package/lib/components/po-popup/po-popup-action.interface.d.ts +91 -91
- package/lib/components/po-popup/po-popup-base.component.d.ts +151 -151
- package/lib/components/po-popup/po-popup.component.d.ts +69 -69
- package/lib/components/po-popup/po-popup.module.d.ts +7 -7
- package/lib/components/po-progress/enums/po-progress-status.enum.d.ts +15 -15
- package/lib/components/po-progress/index.d.ts +3 -3
- package/lib/components/po-progress/po-progress-bar/po-progress-bar.component.d.ts +5 -5
- package/lib/components/po-progress/po-progress-base.component.d.ts +103 -103
- package/lib/components/po-progress/po-progress.component.d.ts +28 -28
- package/lib/components/po-progress/po-progress.module.d.ts +7 -7
- package/lib/components/po-slide/directives/po-slide-content-template.directive.d.ts +48 -48
- package/lib/components/po-slide/index.d.ts +4 -4
- package/lib/components/po-slide/interfaces/po-slide-item.interface.d.ts +17 -17
- package/lib/components/po-slide/po-slide-base.component.d.ts +75 -75
- package/lib/components/po-slide/po-slide-circles/po-slide-circles.component.d.ts +16 -16
- package/lib/components/po-slide/po-slide-control/po-slide-control.component.d.ts +14 -14
- package/lib/components/po-slide/po-slide-item/po-slide-item.component.d.ts +28 -28
- package/lib/components/po-slide/po-slide.component.d.ts +110 -110
- package/lib/components/po-slide/po-slide.module.d.ts +33 -33
- package/lib/components/po-stepper/enums/po-stepper-orientation.enum.d.ts +16 -16
- package/lib/components/po-stepper/enums/po-stepper-status.enum.d.ts +21 -21
- package/lib/components/po-stepper/index.d.ts +6 -6
- package/lib/components/po-stepper/po-step/po-step.component.d.ts +76 -76
- package/lib/components/po-stepper/po-stepper-base.component.d.ts +132 -132
- package/lib/components/po-stepper/po-stepper-circle/po-stepper-circle.component.d.ts +20 -20
- package/lib/components/po-stepper/po-stepper-item.interface.d.ts +14 -14
- package/lib/components/po-stepper/po-stepper-label/po-stepper-label.component.d.ts +10 -10
- package/lib/components/po-stepper/po-stepper-step/po-stepper-step.component.d.ts +37 -37
- package/lib/components/po-stepper/po-stepper.component.d.ts +80 -80
- package/lib/components/po-stepper/po-stepper.module.d.ts +6 -6
- package/lib/components/po-table/enums/po-table-column-sort-type.enum.d.ts +12 -12
- package/lib/components/po-table/enums/po-table-row-template-arrow-direction.enum.d.ts +12 -12
- package/lib/components/po-table/index.d.ts +17 -17
- package/lib/components/po-table/interfaces/po-table-action.interface.d.ts +8 -8
- package/lib/components/po-table/interfaces/po-table-boolean.interface.d.ts +13 -13
- package/lib/components/po-table/interfaces/po-table-column-sort.interface.d.ts +15 -15
- package/lib/components/po-table/interfaces/po-table-column.interface.d.ts +242 -242
- package/lib/components/po-table/interfaces/po-table-filter.interface.d.ts +16 -16
- package/lib/components/po-table/interfaces/po-table-filtered-items-params.interface.d.ts +33 -33
- package/lib/components/po-table/interfaces/po-table-literals.interface.d.ts +25 -25
- package/lib/components/po-table/interfaces/po-table-response-api.interface.d.ts +7 -7
- package/lib/components/po-table/po-table-base.component.d.ts +501 -501
- package/lib/components/po-table/po-table-cell-template/po-table-cell-template.directive.d.ts +71 -71
- package/lib/components/po-table/po-table-column-icon/po-table-column-icon.component.d.ts +26 -26
- package/lib/components/po-table/po-table-column-icon/po-table-column-icon.interface.d.ts +80 -80
- package/lib/components/po-table/po-table-column-label/po-table-column-label.component.d.ts +17 -17
- package/lib/components/po-table/po-table-column-label/po-table-column-label.interface.d.ts +42 -42
- package/lib/components/po-table/po-table-column-link/po-table-column-link.component.d.ts +15 -15
- package/lib/components/po-table/po-table-column-manager/po-table-column-manager.component.d.ts +74 -74
- package/lib/components/po-table/po-table-column-template/po-table-column-template.directive.d.ts +86 -86
- package/lib/components/po-table/po-table-detail/po-table-detail-column.interface.d.ts +61 -61
- package/lib/components/po-table/po-table-detail/po-table-detail.component.d.ts +44 -44
- package/lib/components/po-table/po-table-detail/po-table-detail.interface.d.ts +36 -36
- package/lib/components/po-table/po-table-icon/po-table-icon.component.d.ts +27 -27
- package/lib/components/po-table/po-table-row-template/po-table-row-template.directive.d.ts +120 -120
- package/lib/components/po-table/po-table-show-subtitle/po-table-show-subtitle.component.d.ts +14 -14
- package/lib/components/po-table/po-table-subtitle-circle/po-table-subtitle-circle.component.d.ts +19 -19
- package/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-column.interface.d.ts +39 -39
- package/lib/components/po-table/po-table-subtitle-footer/po-table-subtitle-footer.component.d.ts +31 -31
- package/lib/components/po-table/po-table.component.d.ts +229 -229
- package/lib/components/po-table/po-table.module.d.ts +6 -6
- package/lib/components/po-table/services/po-table.service.d.ts +14 -14
- package/lib/components/po-tabs/index.d.ts +4 -4
- package/lib/components/po-tabs/po-tab/po-tab-base.component.d.ts +57 -57
- package/lib/components/po-tabs/po-tab/po-tab.component.d.ts +11 -11
- package/lib/components/po-tabs/po-tab/po-tab.interface.d.ts +45 -45
- package/lib/components/po-tabs/po-tab-button/po-tab-button.component.d.ts +29 -29
- package/lib/components/po-tabs/po-tab-dropdown/po-tab-dropdown.component.d.ts +23 -23
- package/lib/components/po-tabs/po-tabs-base.component.d.ts +34 -34
- package/lib/components/po-tabs/po-tabs.component.d.ts +50 -50
- package/lib/components/po-tabs/po-tabs.module.d.ts +6 -6
- package/lib/components/po-tag/enums/po-tag-icon.enum.d.ts +17 -17
- package/lib/components/po-tag/enums/po-tag-orientation.enum.d.ts +13 -13
- package/lib/components/po-tag/enums/po-tag-type.enum.d.ts +17 -17
- package/lib/components/po-tag/index.d.ts +4 -4
- package/lib/components/po-tag/interfaces/po-tag-item.interface.d.ts +13 -13
- package/lib/components/po-tag/po-tag-base.component.d.ts +144 -144
- package/lib/components/po-tag/po-tag.component.d.ts +32 -32
- package/lib/components/po-tag/po-tag.module.d.ts +7 -7
- package/lib/components/po-toolbar/index.d.ts +4 -4
- package/lib/components/po-toolbar/po-toolbar-action.interface.d.ts +8 -8
- package/lib/components/po-toolbar/po-toolbar-actions/po-toolbar-actions.component.d.ts +19 -19
- package/lib/components/po-toolbar/po-toolbar-base.component.d.ts +75 -75
- package/lib/components/po-toolbar/po-toolbar-notification/po-toolbar-notification.component.d.ts +22 -22
- package/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.component.d.ts +18 -18
- package/lib/components/po-toolbar/po-toolbar-profile/po-toolbar-profile.interface.d.ts +15 -15
- package/lib/components/po-toolbar/po-toolbar.component.d.ts +29 -29
- package/lib/components/po-toolbar/po-toolbar.module.d.ts +8 -8
- package/lib/components/po-tree-view/index.d.ts +3 -3
- package/lib/components/po-tree-view/po-tree-view-base.component.d.ts +86 -86
- package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.component.d.ts +12 -12
- package/lib/components/po-tree-view/po-tree-view-item/po-tree-view-item.interface.d.ts +24 -24
- package/lib/components/po-tree-view/po-tree-view-item-header/po-tree-view-item-header.component.d.ts +10 -10
- package/lib/components/po-tree-view/po-tree-view.component.d.ts +35 -35
- package/lib/components/po-tree-view/po-tree-view.module.d.ts +33 -33
- package/lib/components/po-tree-view/services/po-tree-view.service.d.ts +9 -9
- package/lib/components/po-widget/index.d.ts +2 -2
- package/lib/components/po-widget/po-widget-base.component.d.ts +162 -162
- package/lib/components/po-widget/po-widget.component.d.ts +41 -41
- package/lib/components/po-widget/po-widget.module.d.ts +7 -7
- package/lib/decorators/index.d.ts +2 -2
- package/lib/decorators/input-boolean/input-boolean.decorator.d.ts +10 -10
- package/lib/decorators/input-required/input-required.decorator.d.ts +22 -22
- package/lib/decorators/property-decorator.interface.d.ts +13 -13
- package/lib/decorators/utils-decorators.d.ts +27 -27
- package/lib/directives/directives.module.d.ts +2 -2
- package/lib/directives/index.d.ts +2 -2
- package/lib/directives/po-tooltip/index.d.ts +2 -2
- package/lib/directives/po-tooltip/po-tooltip-base.directive.d.ts +67 -67
- package/lib/directives/po-tooltip/po-tooltip-control-position.service.d.ts +3 -3
- package/lib/directives/po-tooltip/po-tooltip.directive.d.ts +52 -52
- package/lib/directives/po-tooltip/po-tooltip.module.d.ts +7 -7
- package/lib/enums/po-color-palette.enum.d.ts +33 -33
- package/lib/enums/po-key-code.enum.d.ts +29 -29
- package/lib/guards/guards.module.d.ts +2 -2
- package/lib/guards/index.d.ts +1 -1
- package/lib/index.d.ts +9 -9
- package/lib/interceptors/index.d.ts +3 -3
- package/lib/interceptors/interceptors.module.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/index.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-base.service.d.ts +154 -154
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail-literals.interface.d.ts +6 -6
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.component.d.ts +39 -39
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-detail/po-http-interceptor-detail.interface.d.ts +23 -23
- package/lib/interceptors/po-http-interceptor/po-http-interceptor-literals.d.ts +6 -6
- package/lib/interceptors/po-http-interceptor/po-http-interceptor.module.d.ts +2 -2
- package/lib/interceptors/po-http-interceptor/po-http-interceptor.service.d.ts +16 -16
- package/lib/interceptors/po-http-request/index.d.ts +2 -2
- package/lib/interceptors/po-http-request/po-http-request-control-service.d.ts +12 -12
- package/lib/interceptors/po-http-request/po-http-request-interceptor.service.d.ts +102 -102
- package/lib/interceptors/po-http-request/po-http-request.module.d.ts +2 -2
- package/lib/interfaces/index.d.ts +1 -1
- package/lib/interfaces/po-http/po-response-api.interface.d.ts +13 -13
- package/lib/pipes/index.d.ts +2 -2
- package/lib/pipes/pipes.module.d.ts +2 -2
- package/lib/pipes/po-time/index.d.ts +2 -2
- package/lib/pipes/po-time/po-time.module.d.ts +7 -7
- package/lib/pipes/po-time/po-time.pipe.d.ts +14 -14
- package/lib/po.module.d.ts +2 -2
- package/lib/services/index.d.ts +10 -10
- package/lib/services/po-active-overlay/index.d.ts +2 -2
- package/lib/services/po-active-overlay/po-active-overlay.module.d.ts +7 -7
- package/lib/services/po-active-overlay/po-active-overlay.service.d.ts +3 -3
- package/lib/services/po-color/po-color.service.d.ts +16 -16
- package/lib/services/po-color/po-colors.constant.d.ts +2 -2
- package/lib/services/po-color-palette/index.d.ts +2 -2
- package/lib/services/po-color-palette/po-color-palette.module.d.ts +7 -7
- package/lib/services/po-color-palette/po-color-palette.service.d.ts +7 -7
- package/lib/services/po-component-injector/index.d.ts +2 -2
- package/lib/services/po-component-injector/po-component-injector.module.d.ts +2 -2
- package/lib/services/po-component-injector/po-component-injector.service.d.ts +9 -9
- package/lib/services/po-control-position/index.d.ts +2 -2
- package/lib/services/po-control-position/po-control-position.constants.d.ts +1 -1
- package/lib/services/po-control-position/po-control-position.module.d.ts +7 -7
- package/lib/services/po-control-position/po-control-position.service.d.ts +56 -56
- package/lib/services/po-date/index.d.ts +2 -2
- package/lib/services/po-date/po-date.module.d.ts +7 -7
- package/lib/services/po-date/po-date.service.d.ts +94 -94
- package/lib/services/po-dialog/index.d.ts +7 -7
- package/lib/services/po-dialog/interfaces/po-dialog-alert-literals.interface.d.ts +11 -11
- package/lib/services/po-dialog/interfaces/po-dialog-confirm-literals.interface.d.ts +13 -13
- package/lib/services/po-dialog/interfaces/po-dialog.interface.d.ts +82 -82
- package/lib/services/po-dialog/po-dialog-base.service.d.ts +15 -15
- package/lib/services/po-dialog/po-dialog.component.d.ts +48 -48
- package/lib/services/po-dialog/po-dialog.enum.d.ts +12 -12
- package/lib/services/po-dialog/po-dialog.module.d.ts +2 -2
- package/lib/services/po-dialog/po-dialog.service.d.ts +29 -29
- package/lib/services/po-i18n/index.d.ts +7 -7
- package/lib/services/po-i18n/interfaces/po-i18n-config-default.interface.d.ts +35 -35
- package/lib/services/po-i18n/interfaces/po-i18n-config.interface.d.ts +78 -78
- package/lib/services/po-i18n/interfaces/po-i18n-literals.interface.d.ts +15 -15
- package/lib/services/po-i18n/po-i18n-base.pipe.d.ts +29 -29
- package/lib/services/po-i18n/po-i18n-base.service.d.ts +212 -212
- package/lib/services/po-i18n/po-i18n-config-injection-token.d.ts +3 -3
- package/lib/services/po-i18n/po-i18n.module.d.ts +150 -150
- package/lib/services/po-i18n/po-i18n.pipe.d.ts +15 -15
- package/lib/services/po-i18n/po-i18n.service.d.ts +10 -10
- package/lib/services/po-language/index.d.ts +4 -4
- package/lib/services/po-language/po-language.constant.d.ts +58 -58
- package/lib/services/po-language/po-language.interface.d.ts +43 -43
- package/lib/services/po-language/po-language.module.d.ts +7 -7
- package/lib/services/po-language/po-language.service.d.ts +95 -95
- package/lib/services/po-notification/index.d.ts +5 -5
- package/lib/services/po-notification/po-notification-base.service.d.ts +84 -84
- package/lib/services/po-notification/po-notification.interface.d.ts +33 -33
- package/lib/services/po-notification/po-notification.module.d.ts +2 -2
- package/lib/services/po-notification/po-notification.service.d.ts +31 -31
- package/lib/services/po-notification/po-toaster/po-toaster-base.component.d.ts +41 -41
- package/lib/services/po-notification/po-toaster/po-toaster-orientation.enum.d.ts +11 -11
- package/lib/services/po-notification/po-toaster/po-toaster-type.enum.d.ts +15 -15
- package/lib/services/po-notification/po-toaster/po-toaster.component.d.ts +33 -33
- package/lib/services/po-notification/po-toaster/po-toaster.interface.d.ts +15 -15
- package/lib/services/services.module.d.ts +2 -2
- package/lib/utils/util.d.ts +217 -217
- package/package.json +4 -4
- package/po-ui-ng-components-5.22.6.tgz +0 -0
- package/po-ui-ng-components.d.ts +205 -205
- package/po-ui-ng-components.metadata.json +1 -1
- package/public-api.d.ts +1 -1
- package/schematics/README.md +74 -74
- package/schematics/collection.json +40 -40
- package/schematics/migrations.json +25 -25
- package/schematics/ng-add/index.d.ts +8 -8
- package/schematics/ng-add/index.js +25 -25
- package/schematics/ng-add/index.spec.d.ts +1 -1
- package/schematics/ng-add/index.spec.js +91 -91
- package/schematics/ng-add/schema.json +16 -16
- package/schematics/ng-add/setup-project.d.ts +8 -8
- package/schematics/ng-add/setup-project.js +55 -55
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +3 -3
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +18 -18
- package/schematics/ng-generate/po-page-default/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-default/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-default/index.js +12 -12
- package/schematics/ng-generate/po-page-default/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-default/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-default/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-default/schema.js +2 -2
- package/schematics/ng-generate/po-page-default/schema.json +67 -67
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-detail/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-detail/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-detail/index.js +12 -12
- package/schematics/ng-generate/po-page-detail/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-detail/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-detail/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-detail/schema.js +2 -2
- package/schematics/ng-generate/po-page-detail/schema.json +67 -67
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +8 -8
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +32 -32
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +26 -26
- package/schematics/ng-generate/po-page-edit/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-edit/index.d.ts +4 -4
- package/schematics/ng-generate/po-page-edit/index.js +12 -12
- package/schematics/ng-generate/po-page-edit/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-edit/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-edit/schema.d.ts +3 -3
- package/schematics/ng-generate/po-page-edit/schema.js +2 -2
- package/schematics/ng-generate/po-page-edit/schema.json +67 -67
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__-routing.module.ts.template +14 -14
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.html.template +28 -28
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.spec.ts.template +35 -35
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.component.ts.template +33 -33
- package/schematics/ng-generate/po-page-list/files/__path__/__name@dasherize__/__name@dasherize__.module.ts.template +19 -19
- package/schematics/ng-generate/po-page-list/index.d.ts +7 -7
- package/schematics/ng-generate/po-page-list/index.js +15 -15
- package/schematics/ng-generate/po-page-list/index.spec.d.ts +1 -1
- package/schematics/ng-generate/po-page-list/index.spec.js +120 -120
- package/schematics/ng-generate/po-page-list/schema.d.ts +5 -5
- package/schematics/ng-generate/po-page-list/schema.js +2 -2
- package/schematics/ng-generate/po-page-list/schema.json +78 -78
- package/schematics/ng-generate/sidemenu/files/app.component.html.template +9 -9
- package/schematics/ng-generate/sidemenu/files/app.component.spec.ts.template +30 -30
- package/schematics/ng-generate/sidemenu/files/app.component.ts.template +20 -20
- package/schematics/ng-generate/sidemenu/index.d.ts +8 -8
- package/schematics/ng-generate/sidemenu/index.js +51 -51
- package/schematics/ng-generate/sidemenu/index.spec.d.ts +1 -1
- package/schematics/ng-generate/sidemenu/index.spec.js +62 -62
- package/schematics/ng-generate/sidemenu/schema.d.ts +13 -13
- package/schematics/ng-generate/sidemenu/schema.js +2 -2
- package/schematics/ng-generate/sidemenu/schema.json +32 -32
- package/schematics/ng-update/v2/changes.d.ts +19 -19
- package/schematics/ng-update/v2/changes.js +58 -58
- package/schematics/ng-update/v2/index.d.ts +1 -1
- package/schematics/ng-update/v2/index.js +145 -145
- package/schematics/ng-update/v3/changes.d.ts +4 -4
- package/schematics/ng-update/v3/changes.js +20 -20
- package/schematics/ng-update/v3/index.d.ts +1 -1
- package/schematics/ng-update/v3/index.js +66 -66
- package/schematics/ng-update/v4/changes.d.ts +4 -4
- package/schematics/ng-update/v4/changes.js +20 -20
- package/schematics/ng-update/v4/index.d.ts +1 -1
- package/schematics/ng-update/v4/index.js +65 -65
- package/schematics/ng-update/v5/changes.d.ts +4 -4
- package/schematics/ng-update/v5/changes.js +25 -25
- package/schematics/ng-update/v5/index.d.ts +1 -1
- package/schematics/ng-update/v5/index.js +65 -65
- package/po-ui-ng-components-5.22.5.tgz +0 -0
|
@@ -1,345 +1,345 @@
|
|
|
1
|
-
import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostListener, Input, Renderer2, ViewChild } from '@angular/core';
|
|
2
|
-
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
-
import { formatYear, isMobile, setYearFrom0To100 } from '../../../utils/util';
|
|
4
|
-
import { PoControlPositionService } from './../../../services/po-control-position/po-control-position.service';
|
|
5
|
-
import { PoDatepickerBaseComponent } from './po-datepicker-base.component';
|
|
6
|
-
import { PoLanguageService } from '../../../services/po-language/po-language.service';
|
|
7
|
-
const poCalendarContentOffset = 8;
|
|
8
|
-
const poCalendarPositionDefault = 'bottom-left';
|
|
9
|
-
/**
|
|
10
|
-
* @docsExtends PoDatepickerBaseComponent
|
|
11
|
-
*
|
|
12
|
-
* @example
|
|
13
|
-
*
|
|
14
|
-
* <example name="po-datepicker-basic" title="PO Datepicker Basic">
|
|
15
|
-
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.html"> </file>
|
|
16
|
-
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.ts"> </file>
|
|
17
|
-
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.po.ts"> </file>
|
|
18
|
-
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.e2e-spec.ts"> </file>
|
|
19
|
-
* </example>
|
|
20
|
-
*
|
|
21
|
-
* <example name="po-datepicker-labs" title="PO Datepicker Labs">
|
|
22
|
-
* <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.html"> </file>
|
|
23
|
-
* <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.ts"> </file>
|
|
24
|
-
* </example>
|
|
25
|
-
*
|
|
26
|
-
* <example name="po-datepicker-airfare" title="PO Datepicker - Airfare">
|
|
27
|
-
* <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.html"> </file>
|
|
28
|
-
* <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.ts"> </file>
|
|
29
|
-
* </example>
|
|
30
|
-
*
|
|
31
|
-
* <example name="po-datepicker-airfare-reactive-form" title="PO Datepicker - Airfare Reactive Form">
|
|
32
|
-
* <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.html"> </file>
|
|
33
|
-
* <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.ts"> </file>
|
|
34
|
-
* </example>
|
|
35
|
-
*/
|
|
36
|
-
export class PoDatepickerComponent extends PoDatepickerBaseComponent {
|
|
37
|
-
constructor(controlPosition, languageService, renderer, el) {
|
|
38
|
-
super(languageService);
|
|
39
|
-
this.controlPosition = controlPosition;
|
|
40
|
-
this.renderer = renderer;
|
|
41
|
-
this.visible = false;
|
|
42
|
-
this.dateRegex = new RegExp('^(?:[0-9])\\d{1}(?:[0-9])\\d{1}-' + '(?:0[1-9]|1[0-2])-' + '(?:0[1-9]|[12]\\d|3[01])$');
|
|
43
|
-
this.isoRegex = new RegExp('^(?:[0-9])\\d{1}(?:[0-9])\\d{1}-' +
|
|
44
|
-
'(?:0[1-9]|1[0-2])-' +
|
|
45
|
-
'(?:0[1-9]|[12]\\d|3[01])' +
|
|
46
|
-
'T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:Z|-0[1-9]|-1\\d|-2[0-3]|' +
|
|
47
|
-
'-00:?(?:0[1-9]|[0-5]\\d)|\\+[01]\\d|\\+2[0-3])' +
|
|
48
|
-
'(?:|:?[0-5]\\d)$');
|
|
49
|
-
this.onScroll = () => {
|
|
50
|
-
this.controlPosition.adjustPosition(poCalendarPositionDefault);
|
|
51
|
-
};
|
|
52
|
-
this.el = el;
|
|
53
|
-
}
|
|
54
|
-
get autocomplete() {
|
|
55
|
-
return this.noAutocomplete ? 'off' : 'on';
|
|
56
|
-
}
|
|
57
|
-
onKeyup($event) {
|
|
58
|
-
if (this.readonly) {
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
|
-
this.objMask.keyup($event);
|
|
62
|
-
// Controla a atualização do model, verificando se a data é valida
|
|
63
|
-
if (this.objMask.valueToModel || this.objMask.valueToModel === '') {
|
|
64
|
-
if (this.objMask.valueToModel.length >= 10) {
|
|
65
|
-
this.controlModel(this.getDateFromString(this.inputEl.nativeElement.value));
|
|
66
|
-
this.date = this.getDateFromString(this.inputEl.nativeElement.value);
|
|
67
|
-
}
|
|
68
|
-
else {
|
|
69
|
-
this.date = undefined;
|
|
70
|
-
this.controlModel(this.date);
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
else {
|
|
74
|
-
this.date = undefined;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
onKeydown($event) {
|
|
78
|
-
if (this.readonly) {
|
|
79
|
-
return;
|
|
80
|
-
}
|
|
81
|
-
this.objMask.keydown($event);
|
|
82
|
-
}
|
|
83
|
-
ngAfterViewInit() {
|
|
84
|
-
this.setDialogPickerStyleDisplay('none');
|
|
85
|
-
if (this.autoFocus) {
|
|
86
|
-
this.focus();
|
|
87
|
-
}
|
|
88
|
-
}
|
|
89
|
-
ngOnDestroy() {
|
|
90
|
-
this.removeListeners();
|
|
91
|
-
}
|
|
92
|
-
/**
|
|
93
|
-
* Função que atribui foco ao componente.
|
|
94
|
-
*
|
|
95
|
-
* Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma:
|
|
96
|
-
*
|
|
97
|
-
* ```
|
|
98
|
-
* import { PoDatepickerComponent } from '@po-ui/ng-components';
|
|
99
|
-
*
|
|
100
|
-
* ...
|
|
101
|
-
*
|
|
102
|
-
* @ViewChild(PoDatepickerComponent, { static: true }) datepicker: PoDatepickerComponent;
|
|
103
|
-
*
|
|
104
|
-
* focusDatepicker() {
|
|
105
|
-
* this.datepicker.focus();
|
|
106
|
-
* }
|
|
107
|
-
* ```
|
|
108
|
-
*/
|
|
109
|
-
focus() {
|
|
110
|
-
if (!this.disabled) {
|
|
111
|
-
this.inputEl.nativeElement.focus();
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
togglePicker() {
|
|
115
|
-
if (this.disabled || this.readonly) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
if (!this.visible) {
|
|
119
|
-
this.setCalendarPosition();
|
|
120
|
-
this.initializeListeners();
|
|
121
|
-
this.visible = true;
|
|
122
|
-
}
|
|
123
|
-
else {
|
|
124
|
-
this.inputEl.nativeElement.disabled = false;
|
|
125
|
-
this.closeCalendar();
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
dateSelected() {
|
|
129
|
-
if (!this.verifyMobile()) {
|
|
130
|
-
this.inputEl.nativeElement.focus();
|
|
131
|
-
}
|
|
132
|
-
this.inputEl.nativeElement.value = this.formatToDate(this.date);
|
|
133
|
-
this.controlModel(this.date);
|
|
134
|
-
this.controlChangeEmitter();
|
|
135
|
-
this.closeCalendar();
|
|
136
|
-
}
|
|
137
|
-
// Esconde Picker quando for clicado fora
|
|
138
|
-
wasClickedOnPicker(event) {
|
|
139
|
-
if (!this.dialogPicker || !this.iconDatepicker) {
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
if ((!this.dialogPicker.nativeElement.contains(event.target) || this.hasOverlayClass(event.target)) &&
|
|
143
|
-
!this.iconDatepicker.nativeElement.contains(event.target) &&
|
|
144
|
-
!this.hasAttrCalendar(event.target)) {
|
|
145
|
-
this.closeCalendar();
|
|
146
|
-
}
|
|
147
|
-
}
|
|
148
|
-
hasInvalidClass() {
|
|
149
|
-
return (this.el.nativeElement.classList.contains('ng-invalid') &&
|
|
150
|
-
this.el.nativeElement.classList.contains('ng-dirty') &&
|
|
151
|
-
this.inputEl.nativeElement.value !== '');
|
|
152
|
-
}
|
|
153
|
-
getErrorPattern() {
|
|
154
|
-
return this.errorPattern !== '' && this.hasInvalidClass() ? this.errorPattern : '';
|
|
155
|
-
}
|
|
156
|
-
clear() {
|
|
157
|
-
this.valueBeforeChange = this.formatToDate(this.date);
|
|
158
|
-
this.date = undefined;
|
|
159
|
-
this.controlModel(this.date);
|
|
160
|
-
this.controlChangeEmitter();
|
|
161
|
-
}
|
|
162
|
-
eventOnBlur($event) {
|
|
163
|
-
var _a;
|
|
164
|
-
(_a = this.onTouchedModel) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
165
|
-
const date = this.inputEl.nativeElement.value;
|
|
166
|
-
const newDate = date ? this.getDateFromString(date) : undefined;
|
|
167
|
-
this.objMask.blur($event);
|
|
168
|
-
this.onblur.emit();
|
|
169
|
-
if (this.objMask.valueToModel) {
|
|
170
|
-
if (this.objMask.valueToModel.length >= 10) {
|
|
171
|
-
this.controlModel(newDate);
|
|
172
|
-
this.date = newDate;
|
|
173
|
-
}
|
|
174
|
-
else {
|
|
175
|
-
this.date = null;
|
|
176
|
-
this.controlModel(this.date);
|
|
177
|
-
}
|
|
178
|
-
}
|
|
179
|
-
else {
|
|
180
|
-
this.date = undefined;
|
|
181
|
-
this.callOnChange(this.date);
|
|
182
|
-
}
|
|
183
|
-
this.controlChangeEmitter();
|
|
184
|
-
}
|
|
185
|
-
eventOnClick($event) {
|
|
186
|
-
if (this.verifyMobile()) {
|
|
187
|
-
$event.target.blur();
|
|
188
|
-
// abre o calendar quando clicar no input somente no mobile
|
|
189
|
-
setTimeout(() => this.togglePicker(), 0);
|
|
190
|
-
}
|
|
191
|
-
else {
|
|
192
|
-
// Atualiza a posição do cursor ao clicar
|
|
193
|
-
this.objMask.click($event);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
formatToDate(value) {
|
|
197
|
-
if (!value) {
|
|
198
|
-
return undefined;
|
|
199
|
-
}
|
|
200
|
-
let dateFormatted = this.format;
|
|
201
|
-
dateFormatted = dateFormatted.replace('dd', ('0' + value.getDate()).slice(-2));
|
|
202
|
-
dateFormatted = dateFormatted.replace('mm', ('0' + (value.getMonth() + 1)).slice(-2));
|
|
203
|
-
dateFormatted = dateFormatted.replace('yyyy', formatYear(value.getFullYear()));
|
|
204
|
-
return dateFormatted;
|
|
205
|
-
}
|
|
206
|
-
refreshValue(value) {
|
|
207
|
-
if (value) {
|
|
208
|
-
this.inputEl.nativeElement.value = this.formatToDate(value);
|
|
209
|
-
}
|
|
210
|
-
}
|
|
211
|
-
// Função implementada do ControlValueAccessor
|
|
212
|
-
writeValue(value) {
|
|
213
|
-
if (this.inputEl && value) {
|
|
214
|
-
if (value instanceof Date) {
|
|
215
|
-
const dateString = value.toString();
|
|
216
|
-
this.hour =
|
|
217
|
-
'T' + dateString.substring(16, 24) + dateString.substring(28, 31) + ':' + dateString.substring(31, 33);
|
|
218
|
-
this.date = value;
|
|
219
|
-
this.inputEl.nativeElement.value = this.formatToDate(value);
|
|
220
|
-
}
|
|
221
|
-
else if (this.isValidDateIso(value) || this.isValidExtendedIso(value)) {
|
|
222
|
-
if (this.isValidExtendedIso(value)) {
|
|
223
|
-
this.hour = value.substring(10, 25);
|
|
224
|
-
}
|
|
225
|
-
if (this.isoFormat === undefined) {
|
|
226
|
-
this.isExtendedISO = this.isValidExtendedIso(value);
|
|
227
|
-
}
|
|
228
|
-
const day = parseInt(value.substring(8, 10), 10);
|
|
229
|
-
const month = parseInt(value.substring(5, 7), 10) - 1;
|
|
230
|
-
const year = parseInt(value.substring(0, 4), 10);
|
|
231
|
-
const dateTemp = new Date(year, month, day);
|
|
232
|
-
setYearFrom0To100(dateTemp, year);
|
|
233
|
-
this.date = dateTemp;
|
|
234
|
-
this.inputEl.nativeElement.value = this.formatToDate(dateTemp);
|
|
235
|
-
}
|
|
236
|
-
else {
|
|
237
|
-
this.inputEl.nativeElement.value = '';
|
|
238
|
-
this.date = undefined;
|
|
239
|
-
}
|
|
240
|
-
this.controlModel(this.date);
|
|
241
|
-
}
|
|
242
|
-
else if (this.inputEl) {
|
|
243
|
-
this.inputEl.nativeElement.value = '';
|
|
244
|
-
this.date = undefined;
|
|
245
|
-
this.callOnChange(this.date, false);
|
|
246
|
-
}
|
|
247
|
-
this.valueBeforeChange = this.formatToDate(this.date);
|
|
248
|
-
}
|
|
249
|
-
isValidDateIso(value) {
|
|
250
|
-
return this.dateRegex.test(value);
|
|
251
|
-
}
|
|
252
|
-
isValidExtendedIso(value) {
|
|
253
|
-
return this.isoRegex.test(value);
|
|
254
|
-
}
|
|
255
|
-
hasOverlayClass(element) {
|
|
256
|
-
return element.classList.contains('po-datepicker-calendar-overlay');
|
|
257
|
-
}
|
|
258
|
-
/* istanbul ignore next */
|
|
259
|
-
verifyMobile() {
|
|
260
|
-
return isMobile();
|
|
261
|
-
}
|
|
262
|
-
closeCalendar() {
|
|
263
|
-
this.visible = false;
|
|
264
|
-
this.removeListeners();
|
|
265
|
-
this.setDialogPickerStyleDisplay('none');
|
|
266
|
-
}
|
|
267
|
-
controlChangeEmitter() {
|
|
268
|
-
const dateModelFormatted = this.formatToDate(this.date);
|
|
269
|
-
if (dateModelFormatted !== this.valueBeforeChange) {
|
|
270
|
-
this.valueBeforeChange = dateModelFormatted;
|
|
271
|
-
clearTimeout(this.timeoutChange);
|
|
272
|
-
this.timeoutChange = setTimeout(() => {
|
|
273
|
-
this.onchange.emit(dateModelFormatted);
|
|
274
|
-
}, 200);
|
|
275
|
-
}
|
|
276
|
-
}
|
|
277
|
-
hasAttrCalendar(element) {
|
|
278
|
-
const attrCalendar = 'attr-calendar';
|
|
279
|
-
return ((element && element.hasAttribute(attrCalendar)) ||
|
|
280
|
-
(element.parentElement && element.parentElement.hasAttribute(attrCalendar)));
|
|
281
|
-
}
|
|
282
|
-
initializeListeners() {
|
|
283
|
-
this.clickListener = this.renderer.listen('document', 'click', (event) => {
|
|
284
|
-
this.wasClickedOnPicker(event);
|
|
285
|
-
});
|
|
286
|
-
this.eventResizeListener = this.renderer.listen('window', 'resize', () => {
|
|
287
|
-
this.closeCalendar();
|
|
288
|
-
});
|
|
289
|
-
window.addEventListener('scroll', this.onScroll, true);
|
|
290
|
-
}
|
|
291
|
-
removeListeners() {
|
|
292
|
-
if (this.clickListener) {
|
|
293
|
-
this.clickListener();
|
|
294
|
-
}
|
|
295
|
-
if (this.eventResizeListener) {
|
|
296
|
-
this.eventResizeListener();
|
|
297
|
-
}
|
|
298
|
-
window.removeEventListener('scroll', this.onScroll, true);
|
|
299
|
-
}
|
|
300
|
-
setDialogPickerStyleDisplay(value) {
|
|
301
|
-
this.dialogPicker.nativeElement.style.display = value;
|
|
302
|
-
}
|
|
303
|
-
setCalendarPosition() {
|
|
304
|
-
this.setDialogPickerStyleDisplay('block');
|
|
305
|
-
this.controlPosition.setElements(this.dialogPicker.nativeElement, poCalendarContentOffset, this.inputEl, ['top-left', 'top-right', 'bottom-left', 'bottom-right'], false, true);
|
|
306
|
-
this.controlPosition.adjustPosition(poCalendarPositionDefault);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
PoDatepickerComponent.decorators = [
|
|
310
|
-
{ type: Component, args: [{
|
|
311
|
-
selector: 'po-datepicker',
|
|
312
|
-
template: "<po-field-container [p-help]=\"help\" [p-label]=\"label\" [p-optional]=\"!required && optional\">\
|
|
313
|
-
providers: [
|
|
314
|
-
{
|
|
315
|
-
provide: NG_VALUE_ACCESSOR,
|
|
316
|
-
useExisting: forwardRef(() => PoDatepickerComponent),
|
|
317
|
-
multi: true
|
|
318
|
-
},
|
|
319
|
-
{
|
|
320
|
-
provide: NG_VALIDATORS,
|
|
321
|
-
useExisting: forwardRef(() => PoDatepickerComponent),
|
|
322
|
-
multi: true
|
|
323
|
-
},
|
|
324
|
-
PoControlPositionService
|
|
325
|
-
],
|
|
326
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
327
|
-
},] }
|
|
328
|
-
];
|
|
329
|
-
PoDatepickerComponent.ctorParameters = () => [
|
|
330
|
-
{ type: PoControlPositionService },
|
|
331
|
-
{ type: PoLanguageService },
|
|
332
|
-
{ type: Renderer2 },
|
|
333
|
-
{ type: ElementRef }
|
|
334
|
-
];
|
|
335
|
-
PoDatepickerComponent.propDecorators = {
|
|
336
|
-
calendar: [{ type: ViewChild, args: ['calendar', { static: true },] }],
|
|
337
|
-
dialogPicker: [{ type: ViewChild, args: ['dialogPicker', { read: ElementRef, static: true },] }],
|
|
338
|
-
iconDatepicker: [{ type: ViewChild, args: ['iconDatepicker', { read: ElementRef, static: true },] }],
|
|
339
|
-
inputEl: [{ type: ViewChild, args: ['inp', { read: ElementRef, static: true },] }],
|
|
340
|
-
label: [{ type: Input, args: ['p-label',] }],
|
|
341
|
-
help: [{ type: Input, args: ['p-help',] }],
|
|
342
|
-
onKeyup: [{ type: HostListener, args: ['keyup', ['$event'],] }],
|
|
343
|
-
onKeydown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
|
|
344
|
-
};
|
|
345
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tZGF0ZXBpY2tlci9wby1kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUcvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV0RixNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLHlCQUF5QixHQUFHLGFBQWEsQ0FBQztBQUVoRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFtQkgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHlCQUF5QjtJQXNDbEUsWUFDVSxlQUF5QyxFQUNqRCxlQUFrQyxFQUMxQixRQUFtQixFQUMzQixFQUFjO1FBRWQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBTGYsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRXpDLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQjdCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFNUixjQUFTLEdBQUcsSUFBSSxNQUFNLENB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TSxFQUFFLElBQUksRUFBRTsyQkFDdEMsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFDNUQsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUM5RCxTQUFTLFNBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO29CQUduRCxLQUFLLFNBQUMsU0FBUzttQkFHZixLQUFLLFNBQUMsUUFBUTtzQkFzQ2QsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkFxQmhDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIEFmdGVyVmlld0luaXQsXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ29tcG9uZW50LFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgZm9yd2FyZFJlZixcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgSW5wdXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIFJlbmRlcmVyMixcclxuICBWaWV3Q2hpbGRcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcblxyXG5pbXBvcnQgeyBmb3JtYXRZZWFyLCBpc01vYmlsZSwgc2V0WWVhckZyb20wVG8xMDAgfSBmcm9tICcuLi8uLi8uLi91dGlscy91dGlsJztcclxuaW1wb3J0IHsgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1jb250cm9sLXBvc2l0aW9uL3BvLWNvbnRyb2wtcG9zaXRpb24uc2VydmljZSc7XHJcblxyXG5pbXBvcnQgeyBQb0NhbGVuZGFyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vcG8tY2FsZW5kYXIvcG8tY2FsZW5kYXIuY29tcG9uZW50JztcclxuaW1wb3J0IHsgUG9EYXRlcGlja2VyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tZGF0ZXBpY2tlci1iYXNlLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IFBvTGFuZ3VhZ2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvcG8tbGFuZ3VhZ2UvcG8tbGFuZ3VhZ2Uuc2VydmljZSc7XHJcblxyXG5jb25zdCBwb0NhbGVuZGFyQ29udGVudE9mZnNldCA9IDg7XHJcbmNvbnN0IHBvQ2FsZW5kYXJQb3NpdGlvbkRlZmF1bHQgPSAnYm90dG9tLWxlZnQnO1xyXG5cclxuLyoqXHJcbiAqIEBkb2NzRXh0ZW5kcyBQb0RhdGVwaWNrZXJCYXNlQ29tcG9uZW50XHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1kYXRlcGlja2VyLWJhc2ljXCIgdGl0bGU9XCJQTyBEYXRlcGlja2VyIEJhc2ljXCI+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMvc2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWJhc2ljL3NhbXBsZS1wby1kYXRlcGlja2VyLWJhc2ljLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMvc2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMuY29tcG9uZW50LnBvLnRzXCI+IDwvZmlsZT5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy9zYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy5jb21wb25lbnQuZTJlLXNwZWMudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1kYXRlcGlja2VyLWxhYnNcIiB0aXRsZT1cIlBPIERhdGVwaWNrZXIgTGFic1wiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWxhYnMvc2FtcGxlLXBvLWRhdGVwaWNrZXItbGFicy5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XHJcbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWRhdGVwaWNrZXItbGFicy9zYW1wbGUtcG8tZGF0ZXBpY2tlci1sYWJzLmNvbXBvbmVudC50c1wiPiA8L2ZpbGU+XHJcbiAqIDwvZXhhbXBsZT5cclxuICpcclxuICogPGV4YW1wbGUgbmFtZT1cInBvLWRhdGVwaWNrZXItYWlyZmFyZVwiIHRpdGxlPVwiUE8gRGF0ZXBpY2tlciAtIEFpcmZhcmVcIj5cclxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlL3NhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUvc2FtcGxlLXBvLWRhdGVwaWNrZXItYWlyZmFyZS5jb21wb25lbnQudHNcIj4gPC9maWxlPlxyXG4gKiA8L2V4YW1wbGU+XHJcbiAqXHJcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1kYXRlcGlja2VyLWFpcmZhcmUtcmVhY3RpdmUtZm9ybVwiIHRpdGxlPVwiUE8gRGF0ZXBpY2tlciAtIEFpcmZhcmUgUmVhY3RpdmUgRm9ybVwiPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxyXG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cclxuICogPC9leGFtcGxlPlxyXG4gKi9cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdwby1kYXRlcGlja2VyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vcG8tZGF0ZXBpY2tlci5jb21wb25lbnQuaHRtbCcsXHJcbiAgcHJvdmlkZXJzOiBbXHJcbiAgICB7XHJcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTFVFX0FDQ0VTU09SLFxyXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0RhdGVwaWNrZXJDb21wb25lbnQpLFxyXG4gICAgICBtdWx0aTogdHJ1ZVxyXG4gICAgfSxcclxuICAgIHtcclxuICAgICAgcHJvdmlkZTogTkdfVkFMSURBVE9SUyxcclxuICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gUG9EYXRlcGlja2VyQ29tcG9uZW50KSxcclxuICAgICAgbXVsdGk6IHRydWVcclxuICAgIH0sXHJcbiAgICBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2VcclxuICBdLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBQb0RhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBQb0RhdGVwaWNrZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcclxuICBAVmlld0NoaWxkKCdjYWxlbmRhcicsIHsgc3RhdGljOiB0cnVlIH0pIGNhbGVuZGFyOiBQb0NhbGVuZGFyQ29tcG9uZW50O1xyXG4gIEBWaWV3Q2hpbGQoJ2RpYWxvZ1BpY2tlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGRpYWxvZ1BpY2tlcjogRWxlbWVudFJlZjtcclxuICBAVmlld0NoaWxkKCdpY29uRGF0ZXBpY2tlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGljb25EYXRlcGlja2VyOiBFbGVtZW50UmVmO1xyXG4gIEBWaWV3Q2hpbGQoJ2lucCcsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGlucHV0RWw6IEVsZW1lbnRSZWY7XHJcblxyXG4gIC8qKiBSw7N0dWxvIGRvIGNhbXBvLiAqL1xyXG4gIEBJbnB1dCgncC1sYWJlbCcpIGxhYmVsPzogc3RyaW5nO1xyXG5cclxuICAvKiogVGV4dG8gZGUgYXBvaW8gZG8gY2FtcG8uICovXHJcbiAgQElucHV0KCdwLWhlbHAnKSBoZWxwPzogc3RyaW5nO1xyXG5cclxuICBlbDogRWxlbWVudFJlZjtcclxuICBob3VyOiBzdHJpbmc7XHJcbiAgdmlzaWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBldmVudExpc3RlbmVyRnVuY3Rpb246ICgpID0+IHZvaWQ7XHJcbiAgZXZlbnRSZXNpemVMaXN0ZW5lcjogKCkgPT4gdm9pZDtcclxuXHJcbiAgcHJpdmF0ZSBjbGlja0xpc3RlbmVyO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0ZVJlZ2V4ID0gbmV3IFJlZ0V4cChcclxuICAgICdeKD86WzAtOV0pXFxcXGR7MX0oPzpbMC05XSlcXFxcZHsxfS0nICsgJyg/OjBbMS05XXwxWzAtMl0pLScgKyAnKD86MFsxLTldfFsxMl1cXFxcZHwzWzAxXSkkJ1xyXG4gICk7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBpc29SZWdleCA9IG5ldyBSZWdFeHAoXHJcbiAgICAnXig/OlswLTldKVxcXFxkezF9KD86WzAtOV0pXFxcXGR7MX0tJyArXHJcbiAgICAgICcoPzowWzEtOV18MVswLTJdKS0nICtcclxuICAgICAgJyg/OjBbMS05XXxbMTJdXFxcXGR8M1swMV0pJyArXHJcbiAgICAgICdUKD86WzAxXVxcXFxkfDJbMC0zXSk6WzAtNV1cXFxcZDpbMC01XVxcXFxkKD86WnwtMFsxLTldfC0xXFxcXGR8LTJbMC0zXXwnICtcclxuICAgICAgJy0wMDo/KD86MFsxLTldfFswLTVdXFxcXGQpfFxcXFwrWzAxXVxcXFxkfFxcXFwrMlswLTNdKScgK1xyXG4gICAgICAnKD86fDo/WzAtNV1cXFxcZCkkJ1xyXG4gICk7XHJcbiAgcHJpdmF0ZSB0aW1lb3V0Q2hhbmdlOiBhbnk7XHJcbiAgcHJpdmF0ZSB2YWx1ZUJlZm9yZUNoYW5nZTogc3RyaW5nO1xyXG5cclxuICBnZXQgYXV0b2NvbXBsZXRlKCkge1xyXG4gICAgcmV0dXJuIHRoaXMubm9BdXRvY29tcGxldGUgPyAnb2ZmJyA6ICdvbic7XHJcbiAgfVxyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgY29udHJvbFBvc2l0aW9uOiBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UsXHJcbiAgICBsYW5ndWFnZVNlcnZpY2U6IFBvTGFuZ3VhZ2VTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgZWw6IEVsZW1lbnRSZWZcclxuICApIHtcclxuICAgIHN1cGVyKGxhbmd1YWdlU2VydmljZSk7XHJcbiAgICB0aGlzLmVsID0gZWw7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXHJcbiAgb25LZXl1cCgkZXZlbnQ6IGFueSkge1xyXG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMub2JqTWFzay5rZXl1cCgkZXZlbnQpO1xyXG4gICAgLy8gQ29udHJvbGEgYSBhdHVhbGl6YcOnw6NvIGRvIG1vZGVsLCB2ZXJpZmljYW5kbyBzZSBhIGRhdGEgw6kgdmFsaWRhXHJcbiAgICBpZiAodGhpcy5vYmpNYXNrLnZhbHVlVG9Nb2RlbCB8fCB0aGlzLm9iak1hc2sudmFsdWVUb01vZGVsID09PSAnJykge1xyXG4gICAgICBpZiAodGhpcy5vYmpNYXNrLnZhbHVlVG9Nb2RlbC5sZW5ndGggPj0gMTApIHtcclxuICAgICAgICB0aGlzLmNvbnRyb2xNb2RlbCh0aGlzLmdldERhdGVGcm9tU3RyaW5nKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlKSk7XHJcbiAgICAgICAgdGhpcy5kYXRlID0gdGhpcy5nZXREYXRlRnJvbVN0cmluZyh0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgdGhpcy5kYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICAgIHRoaXMuY29udHJvbE1vZGVsKHRoaXMuZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxyXG4gIG9uS2V5ZG93bigkZXZlbnQ/OiBhbnkpIHtcclxuICAgIGlmICh0aGlzLnJlYWRvbmx5KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLm9iak1hc2sua2V5ZG93bigkZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgbmdBZnRlclZpZXdJbml0KCkge1xyXG4gICAgdGhpcy5zZXREaWFsb2dQaWNrZXJTdHlsZURpc3BsYXkoJ25vbmUnKTtcclxuICAgIGlmICh0aGlzLmF1dG9Gb2N1cykge1xyXG4gICAgICB0aGlzLmZvY3VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXHJcbiAgICpcclxuICAgKiBQYXJhIHV0aWxpesOhLWxhIMOpIG5lY2Vzc8OhcmlvIHRlciBhIGluc3TDom5jaWEgZG8gY29tcG9uZW50ZSBubyBET00sIHBvZGVuZG8gc2VyIHV0aWxpemFkbyBvIFZpZXdDaGlsZCBkYSBzZWd1aW50ZSBmb3JtYTpcclxuICAgKlxyXG4gICAqIGBgYFxyXG4gICAqIGltcG9ydCB7IFBvRGF0ZXBpY2tlckNvbXBvbmVudCB9IGZyb20gJ0Bwby11aS9uZy1jb21wb25lbnRzJztcclxuICAgKlxyXG4gICAqIC4uLlxyXG4gICAqXHJcbiAgICogQFZpZXdDaGlsZChQb0RhdGVwaWNrZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGRhdGVwaWNrZXI6IFBvRGF0ZXBpY2tlckNvbXBvbmVudDtcclxuICAgKlxyXG4gICAqIGZvY3VzRGF0ZXBpY2tlcigpIHtcclxuICAgKiAgIHRoaXMuZGF0ZXBpY2tlci5mb2N1cygpO1xyXG4gICAqIH1cclxuICAgKiBgYGBcclxuICAgKi9cclxuICBmb2N1cygpOiB2b2lkIHtcclxuICAgIGlmICghdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdG9nZ2xlUGlja2VyKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5yZWFkb25seSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKCF0aGlzLnZpc2libGUpIHtcclxuICAgICAgdGhpcy5zZXRDYWxlbmRhclBvc2l0aW9uKCk7XHJcbiAgICAgIHRoaXMuaW5pdGlhbGl6ZUxpc3RlbmVycygpO1xyXG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBkYXRlU2VsZWN0ZWQoKSB7XHJcbiAgICBpZiAoIXRoaXMudmVyaWZ5TW9iaWxlKCkpIHtcclxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKHRoaXMuZGF0ZSk7XHJcbiAgICB0aGlzLmNvbnRyb2xNb2RlbCh0aGlzLmRhdGUpO1xyXG4gICAgdGhpcy5jb250cm9sQ2hhbmdlRW1pdHRlcigpO1xyXG4gICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XHJcbiAgfVxyXG5cclxuICAvLyBFc2NvbmRlIFBpY2tlciBxdWFuZG8gZm9yIGNsaWNhZG8gZm9yYVxyXG4gIHdhc0NsaWNrZWRPblBpY2tlcihldmVudDogYW55KTogdm9pZCB7XHJcbiAgICBpZiAoIXRoaXMuZGlhbG9nUGlja2VyIHx8ICF0aGlzLmljb25EYXRlcGlja2VyKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBpZiAoXHJcbiAgICAgICghdGhpcy5kaWFsb2dQaWNrZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpIHx8IHRoaXMuaGFzT3ZlcmxheUNsYXNzKGV2ZW50LnRhcmdldCkpICYmXHJcbiAgICAgICF0aGlzLmljb25EYXRlcGlja2VyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSAmJlxyXG4gICAgICAhdGhpcy5oYXNBdHRyQ2FsZW5kYXIoZXZlbnQudGFyZ2V0KVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY2xvc2VDYWxlbmRhcigpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFzSW52YWxpZENsYXNzKCkge1xyXG4gICAgcmV0dXJuIChcclxuICAgICAgdGhpcy5lbC5uYXRpdmVFbGVtZW50LmNsYXNzTGlzdC5jb250YWlucygnbmctaW52YWxpZCcpICYmXHJcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLWRpcnR5JykgJiZcclxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgIT09ICcnXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0RXJyb3JQYXR0ZXJuKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZXJyb3JQYXR0ZXJuICE9PSAnJyAmJiB0aGlzLmhhc0ludmFsaWRDbGFzcygpID8gdGhpcy5lcnJvclBhdHRlcm4gOiAnJztcclxuICB9XHJcblxyXG4gIGNsZWFyKCkge1xyXG4gICAgdGhpcy52YWx1ZUJlZm9yZUNoYW5nZSA9IHRoaXMuZm9ybWF0VG9EYXRlKHRoaXMuZGF0ZSk7XHJcbiAgICB0aGlzLmRhdGUgPSB1bmRlZmluZWQ7XHJcbiAgICB0aGlzLmNvbnRyb2xNb2RlbCh0aGlzLmRhdGUpO1xyXG5cclxuICAgIHRoaXMuY29udHJvbENoYW5nZUVtaXR0ZXIoKTtcclxuICB9XHJcblxyXG4gIGV2ZW50T25CbHVyKCRldmVudDogYW55KSB7XHJcbiAgICB0aGlzLm9uVG91Y2hlZE1vZGVsPy4oKTtcclxuICAgIGNvbnN0IGRhdGUgPSB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZTtcclxuICAgIGNvbnN0IG5ld0RhdGUgPSBkYXRlID8gdGhpcy5nZXREYXRlRnJvbVN0cmluZyhkYXRlKSA6IHVuZGVmaW5lZDtcclxuICAgIHRoaXMub2JqTWFzay5ibHVyKCRldmVudCk7XHJcbiAgICB0aGlzLm9uYmx1ci5lbWl0KCk7XHJcblxyXG4gICAgaWYgKHRoaXMub2JqTWFzay52YWx1ZVRvTW9kZWwpIHtcclxuICAgICAgaWYgKHRoaXMub2JqTWFzay52YWx1ZVRvTW9kZWwubGVuZ3RoID49IDEwKSB7XHJcbiAgICAgICAgdGhpcy5jb250cm9sTW9kZWwobmV3RGF0ZSk7XHJcbiAgICAgICAgdGhpcy5kYXRlID0gbmV3RGF0ZTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmRhdGUgPSBudWxsO1xyXG4gICAgICAgIHRoaXMuY29udHJvbE1vZGVsKHRoaXMuZGF0ZSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgdGhpcy5jYWxsT25DaGFuZ2UodGhpcy5kYXRlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmNvbnRyb2xDaGFuZ2VFbWl0dGVyKCk7XHJcbiAgfVxyXG5cclxuICBldmVudE9uQ2xpY2soJGV2ZW50KSB7XHJcbiAgICBpZiAodGhpcy52ZXJpZnlNb2JpbGUoKSkge1xyXG4gICAgICAkZXZlbnQudGFyZ2V0LmJsdXIoKTtcclxuXHJcbiAgICAgIC8vIGFicmUgbyBjYWxlbmRhciBxdWFuZG8gY2xpY2FyIG5vIGlucHV0IHNvbWVudGUgbm8gbW9iaWxlXHJcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50b2dnbGVQaWNrZXIoKSwgMCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICAvLyBBdHVhbGl6YSBhIHBvc2nDp8OjbyBkbyBjdXJzb3IgYW8gY2xpY2FyXHJcbiAgICAgIHRoaXMub2JqTWFzay5jbGljaygkZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybWF0VG9EYXRlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICBpZiAoIXZhbHVlKSB7XHJcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGRhdGVGb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdDtcclxuXHJcbiAgICBkYXRlRm9ybWF0dGVkID0gZGF0ZUZvcm1hdHRlZC5yZXBsYWNlKCdkZCcsICgnMCcgKyB2YWx1ZS5nZXREYXRlKCkpLnNsaWNlKC0yKSk7XHJcbiAgICBkYXRlRm9ybWF0dGVkID0gZGF0ZUZvcm1hdHRlZC5yZXBsYWNlKCdtbScsICgnMCcgKyAodmFsdWUuZ2V0TW9udGgoKSArIDEpKS5zbGljZSgtMikpO1xyXG4gICAgZGF0ZUZvcm1hdHRlZCA9IGRhdGVGb3JtYXR0ZWQucmVwbGFjZSgneXl5eScsIGZvcm1hdFllYXIodmFsdWUuZ2V0RnVsbFllYXIoKSkpO1xyXG5cclxuICAgIHJldHVybiBkYXRlRm9ybWF0dGVkO1xyXG4gIH1cclxuXHJcbiAgcmVmcmVzaFZhbHVlKHZhbHVlOiBEYXRlKSB7XHJcbiAgICBpZiAodmFsdWUpIHtcclxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdFRvRGF0ZSh2YWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLmlucHV0RWwgJiYgdmFsdWUpIHtcclxuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xyXG4gICAgICAgIGNvbnN0IGRhdGVTdHJpbmcgPSB2YWx1ZS50b1N0cmluZygpO1xyXG4gICAgICAgIHRoaXMuaG91ciA9XHJcbiAgICAgICAgICAnVCcgKyBkYXRlU3RyaW5nLnN1YnN0cmluZygxNiwgMjQpICsgZGF0ZVN0cmluZy5zdWJzdHJpbmcoMjgsIDMxKSArICc6JyArIGRhdGVTdHJpbmcuc3Vic3RyaW5nKDMxLCAzMyk7XHJcbiAgICAgICAgdGhpcy5kYXRlID0gdmFsdWU7XHJcbiAgICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSB0aGlzLmZvcm1hdFRvRGF0ZSh2YWx1ZSk7XHJcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1ZhbGlkRGF0ZUlzbyh2YWx1ZSkgfHwgdGhpcy5pc1ZhbGlkRXh0ZW5kZWRJc28odmFsdWUpKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXNWYWxpZEV4dGVuZGVkSXNvKHZhbHVlKSkge1xyXG4gICAgICAgICAgdGhpcy5ob3VyID0gdmFsdWUuc3Vic3RyaW5nKDEwLCAyNSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5pc29Gb3JtYXQgPT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgICAgdGhpcy5pc0V4dGVuZGVkSVNPID0gdGhpcy5pc1ZhbGlkRXh0ZW5kZWRJc28odmFsdWUpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQodmFsdWUuc3Vic3RyaW5nKDgsIDEwKSwgMTApO1xyXG4gICAgICAgIGNvbnN0IG1vbnRoID0gcGFyc2VJbnQodmFsdWUuc3Vic3RyaW5nKDUsIDcpLCAxMCkgLSAxO1xyXG4gICAgICAgIGNvbnN0IHllYXIgPSBwYXJzZUludCh2YWx1ZS5zdWJzdHJpbmcoMCwgNCksIDEwKTtcclxuXHJcbiAgICAgICAgY29uc3QgZGF0ZVRlbXAgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgZGF5KTtcclxuXHJcbiAgICAgICAgc2V0WWVhckZyb20wVG8xMDAoZGF0ZVRlbXAsIHllYXIpO1xyXG5cclxuICAgICAgICB0aGlzLmRhdGUgPSBkYXRlVGVtcDtcclxuICAgICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKGRhdGVUZW1wKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9ICcnO1xyXG4gICAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmNvbnRyb2xNb2RlbCh0aGlzLmRhdGUpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWwpIHtcclxuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWUgPSAnJztcclxuICAgICAgdGhpcy5kYXRlID0gdW5kZWZpbmVkO1xyXG4gICAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLmRhdGUsIGZhbHNlKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnZhbHVlQmVmb3JlQ2hhbmdlID0gdGhpcy5mb3JtYXRUb0RhdGUodGhpcy5kYXRlKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWREYXRlSXNvKHZhbHVlOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmRhdGVSZWdleC50ZXN0KHZhbHVlKTtcclxuICB9XHJcblxyXG4gIGlzVmFsaWRFeHRlbmRlZElzbyh2YWx1ZSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaXNvUmVnZXgudGVzdCh2YWx1ZSk7XHJcbiAgfVxyXG5cclxuICBoYXNPdmVybGF5Q2xhc3MoZWxlbWVudDogYW55KSB7XHJcbiAgICByZXR1cm4gZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3BvLWRhdGVwaWNrZXItY2FsZW5kYXItb3ZlcmxheScpO1xyXG4gIH1cclxuXHJcbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cclxuICB2ZXJpZnlNb2JpbGUoKSB7XHJcbiAgICByZXR1cm4gaXNNb2JpbGUoKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2xvc2VDYWxlbmRhcigpIHtcclxuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcclxuICAgIHRoaXMuc2V0RGlhbG9nUGlja2VyU3R5bGVEaXNwbGF5KCdub25lJyk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNvbnRyb2xDaGFuZ2VFbWl0dGVyKCkge1xyXG4gICAgY29uc3QgZGF0ZU1vZGVsRm9ybWF0dGVkID0gdGhpcy5mb3JtYXRUb0RhdGUodGhpcy5kYXRlKTtcclxuXHJcbiAgICBpZiAoZGF0ZU1vZGVsRm9ybWF0dGVkICE9PSB0aGlzLnZhbHVlQmVmb3JlQ2hhbmdlKSB7XHJcbiAgICAgIHRoaXMudmFsdWVCZWZvcmVDaGFuZ2UgPSBkYXRlTW9kZWxGb3JtYXR0ZWQ7XHJcblxyXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy50aW1lb3V0Q2hhbmdlKTtcclxuICAgICAgdGhpcy50aW1lb3V0Q2hhbmdlID0gc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5vbmNoYW5nZS5lbWl0KGRhdGVNb2RlbEZvcm1hdHRlZCk7XHJcbiAgICAgIH0sIDIwMCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGhhc0F0dHJDYWxlbmRhcihlbGVtZW50OiBhbnkpIHtcclxuICAgIGNvbnN0IGF0dHJDYWxlbmRhciA9ICdhdHRyLWNhbGVuZGFyJztcclxuXHJcbiAgICByZXR1cm4gKFxyXG4gICAgICAoZWxlbWVudCAmJiBlbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyQ2FsZW5kYXIpKSB8fFxyXG4gICAgICAoZWxlbWVudC5wYXJlbnRFbGVtZW50ICYmIGVsZW1lbnQucGFyZW50RWxlbWVudC5oYXNBdHRyaWJ1dGUoYXR0ckNhbGVuZGFyKSlcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKSB7XHJcbiAgICB0aGlzLmNsaWNrTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3RlbignZG9jdW1lbnQnLCAnY2xpY2snLCAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcclxuICAgICAgdGhpcy53YXNDbGlja2VkT25QaWNrZXIoZXZlbnQpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ldmVudFJlc2l6ZUxpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ3dpbmRvdycsICdyZXNpemUnLCAoKSA9PiB7XHJcbiAgICAgIHRoaXMuY2xvc2VDYWxlbmRhcigpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvblNjcm9sbCA9ICgpOiB2b2lkID0+IHtcclxuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLmFkanVzdFBvc2l0aW9uKHBvQ2FsZW5kYXJQb3NpdGlvbkRlZmF1bHQpO1xyXG4gIH07XHJcblxyXG4gIHByaXZhdGUgcmVtb3ZlTGlzdGVuZXJzKCkge1xyXG4gICAgaWYgKHRoaXMuY2xpY2tMaXN0ZW5lcikge1xyXG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIoKTtcclxuICAgIH1cclxuXHJcbiAgICBpZiAodGhpcy5ldmVudFJlc2l6ZUxpc3RlbmVyKSB7XHJcbiAgICAgIHRoaXMuZXZlbnRSZXNpemVMaXN0ZW5lcigpO1xyXG4gICAgfVxyXG5cclxuICAgIHdpbmRvdy5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCB0aGlzLm9uU2Nyb2xsLCB0cnVlKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0RGlhbG9nUGlja2VyU3R5bGVEaXNwbGF5KHZhbHVlKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1BpY2tlci5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSB2YWx1ZTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0Q2FsZW5kYXJQb3NpdGlvbigpIHtcclxuICAgIHRoaXMuc2V0RGlhbG9nUGlja2VyU3R5bGVEaXNwbGF5KCdibG9jaycpO1xyXG5cclxuICAgIHRoaXMuY29udHJvbFBvc2l0aW9uLnNldEVsZW1lbnRzKFxyXG4gICAgICB0aGlzLmRpYWxvZ1BpY2tlci5uYXRpdmVFbGVtZW50LFxyXG4gICAgICBwb0NhbGVuZGFyQ29udGVudE9mZnNldCxcclxuICAgICAgdGhpcy5pbnB1dEVsLFxyXG4gICAgICBbJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCcsICdib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnXSxcclxuICAgICAgZmFsc2UsXHJcbiAgICAgIHRydWVcclxuICAgICk7XHJcblxyXG4gICAgdGhpcy5jb250cm9sUG9zaXRpb24uYWRqdXN0UG9zaXRpb24ocG9DYWxlbmRhclBvc2l0aW9uRGVmYXVsdCk7XHJcbiAgfVxyXG59XHJcbiJdfQ==
|
|
1
|
+
import { ChangeDetectionStrategy, Component, ElementRef, forwardRef, HostListener, Input, Renderer2, ViewChild } from '@angular/core';
|
|
2
|
+
import { NG_VALIDATORS, NG_VALUE_ACCESSOR } from '@angular/forms';
|
|
3
|
+
import { formatYear, isMobile, setYearFrom0To100 } from '../../../utils/util';
|
|
4
|
+
import { PoControlPositionService } from './../../../services/po-control-position/po-control-position.service';
|
|
5
|
+
import { PoDatepickerBaseComponent } from './po-datepicker-base.component';
|
|
6
|
+
import { PoLanguageService } from '../../../services/po-language/po-language.service';
|
|
7
|
+
const poCalendarContentOffset = 8;
|
|
8
|
+
const poCalendarPositionDefault = 'bottom-left';
|
|
9
|
+
/**
|
|
10
|
+
* @docsExtends PoDatepickerBaseComponent
|
|
11
|
+
*
|
|
12
|
+
* @example
|
|
13
|
+
*
|
|
14
|
+
* <example name="po-datepicker-basic" title="PO Datepicker Basic">
|
|
15
|
+
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.html"> </file>
|
|
16
|
+
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.ts"> </file>
|
|
17
|
+
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.po.ts"> </file>
|
|
18
|
+
* <file name="sample-po-datepicker-basic/sample-po-datepicker-basic.component.e2e-spec.ts"> </file>
|
|
19
|
+
* </example>
|
|
20
|
+
*
|
|
21
|
+
* <example name="po-datepicker-labs" title="PO Datepicker Labs">
|
|
22
|
+
* <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.html"> </file>
|
|
23
|
+
* <file name="sample-po-datepicker-labs/sample-po-datepicker-labs.component.ts"> </file>
|
|
24
|
+
* </example>
|
|
25
|
+
*
|
|
26
|
+
* <example name="po-datepicker-airfare" title="PO Datepicker - Airfare">
|
|
27
|
+
* <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.html"> </file>
|
|
28
|
+
* <file name="sample-po-datepicker-airfare/sample-po-datepicker-airfare.component.ts"> </file>
|
|
29
|
+
* </example>
|
|
30
|
+
*
|
|
31
|
+
* <example name="po-datepicker-airfare-reactive-form" title="PO Datepicker - Airfare Reactive Form">
|
|
32
|
+
* <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.html"> </file>
|
|
33
|
+
* <file name="sample-po-datepicker-airfare-reactive-form/sample-po-datepicker-airfare-reactive-form.component.ts"> </file>
|
|
34
|
+
* </example>
|
|
35
|
+
*/
|
|
36
|
+
export class PoDatepickerComponent extends PoDatepickerBaseComponent {
|
|
37
|
+
constructor(controlPosition, languageService, renderer, el) {
|
|
38
|
+
super(languageService);
|
|
39
|
+
this.controlPosition = controlPosition;
|
|
40
|
+
this.renderer = renderer;
|
|
41
|
+
this.visible = false;
|
|
42
|
+
this.dateRegex = new RegExp('^(?:[0-9])\\d{1}(?:[0-9])\\d{1}-' + '(?:0[1-9]|1[0-2])-' + '(?:0[1-9]|[12]\\d|3[01])$');
|
|
43
|
+
this.isoRegex = new RegExp('^(?:[0-9])\\d{1}(?:[0-9])\\d{1}-' +
|
|
44
|
+
'(?:0[1-9]|1[0-2])-' +
|
|
45
|
+
'(?:0[1-9]|[12]\\d|3[01])' +
|
|
46
|
+
'T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d(?:Z|-0[1-9]|-1\\d|-2[0-3]|' +
|
|
47
|
+
'-00:?(?:0[1-9]|[0-5]\\d)|\\+[01]\\d|\\+2[0-3])' +
|
|
48
|
+
'(?:|:?[0-5]\\d)$');
|
|
49
|
+
this.onScroll = () => {
|
|
50
|
+
this.controlPosition.adjustPosition(poCalendarPositionDefault);
|
|
51
|
+
};
|
|
52
|
+
this.el = el;
|
|
53
|
+
}
|
|
54
|
+
get autocomplete() {
|
|
55
|
+
return this.noAutocomplete ? 'off' : 'on';
|
|
56
|
+
}
|
|
57
|
+
onKeyup($event) {
|
|
58
|
+
if (this.readonly) {
|
|
59
|
+
return;
|
|
60
|
+
}
|
|
61
|
+
this.objMask.keyup($event);
|
|
62
|
+
// Controla a atualização do model, verificando se a data é valida
|
|
63
|
+
if (this.objMask.valueToModel || this.objMask.valueToModel === '') {
|
|
64
|
+
if (this.objMask.valueToModel.length >= 10) {
|
|
65
|
+
this.controlModel(this.getDateFromString(this.inputEl.nativeElement.value));
|
|
66
|
+
this.date = this.getDateFromString(this.inputEl.nativeElement.value);
|
|
67
|
+
}
|
|
68
|
+
else {
|
|
69
|
+
this.date = undefined;
|
|
70
|
+
this.controlModel(this.date);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
this.date = undefined;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
onKeydown($event) {
|
|
78
|
+
if (this.readonly) {
|
|
79
|
+
return;
|
|
80
|
+
}
|
|
81
|
+
this.objMask.keydown($event);
|
|
82
|
+
}
|
|
83
|
+
ngAfterViewInit() {
|
|
84
|
+
this.setDialogPickerStyleDisplay('none');
|
|
85
|
+
if (this.autoFocus) {
|
|
86
|
+
this.focus();
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
ngOnDestroy() {
|
|
90
|
+
this.removeListeners();
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Função que atribui foco ao componente.
|
|
94
|
+
*
|
|
95
|
+
* Para utilizá-la é necessário ter a instância do componente no DOM, podendo ser utilizado o ViewChild da seguinte forma:
|
|
96
|
+
*
|
|
97
|
+
* ```
|
|
98
|
+
* import { PoDatepickerComponent } from '@po-ui/ng-components';
|
|
99
|
+
*
|
|
100
|
+
* ...
|
|
101
|
+
*
|
|
102
|
+
* @ViewChild(PoDatepickerComponent, { static: true }) datepicker: PoDatepickerComponent;
|
|
103
|
+
*
|
|
104
|
+
* focusDatepicker() {
|
|
105
|
+
* this.datepicker.focus();
|
|
106
|
+
* }
|
|
107
|
+
* ```
|
|
108
|
+
*/
|
|
109
|
+
focus() {
|
|
110
|
+
if (!this.disabled) {
|
|
111
|
+
this.inputEl.nativeElement.focus();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
togglePicker() {
|
|
115
|
+
if (this.disabled || this.readonly) {
|
|
116
|
+
return;
|
|
117
|
+
}
|
|
118
|
+
if (!this.visible) {
|
|
119
|
+
this.setCalendarPosition();
|
|
120
|
+
this.initializeListeners();
|
|
121
|
+
this.visible = true;
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
this.inputEl.nativeElement.disabled = false;
|
|
125
|
+
this.closeCalendar();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
dateSelected() {
|
|
129
|
+
if (!this.verifyMobile()) {
|
|
130
|
+
this.inputEl.nativeElement.focus();
|
|
131
|
+
}
|
|
132
|
+
this.inputEl.nativeElement.value = this.formatToDate(this.date);
|
|
133
|
+
this.controlModel(this.date);
|
|
134
|
+
this.controlChangeEmitter();
|
|
135
|
+
this.closeCalendar();
|
|
136
|
+
}
|
|
137
|
+
// Esconde Picker quando for clicado fora
|
|
138
|
+
wasClickedOnPicker(event) {
|
|
139
|
+
if (!this.dialogPicker || !this.iconDatepicker) {
|
|
140
|
+
return;
|
|
141
|
+
}
|
|
142
|
+
if ((!this.dialogPicker.nativeElement.contains(event.target) || this.hasOverlayClass(event.target)) &&
|
|
143
|
+
!this.iconDatepicker.nativeElement.contains(event.target) &&
|
|
144
|
+
!this.hasAttrCalendar(event.target)) {
|
|
145
|
+
this.closeCalendar();
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
hasInvalidClass() {
|
|
149
|
+
return (this.el.nativeElement.classList.contains('ng-invalid') &&
|
|
150
|
+
this.el.nativeElement.classList.contains('ng-dirty') &&
|
|
151
|
+
this.inputEl.nativeElement.value !== '');
|
|
152
|
+
}
|
|
153
|
+
getErrorPattern() {
|
|
154
|
+
return this.errorPattern !== '' && this.hasInvalidClass() ? this.errorPattern : '';
|
|
155
|
+
}
|
|
156
|
+
clear() {
|
|
157
|
+
this.valueBeforeChange = this.formatToDate(this.date);
|
|
158
|
+
this.date = undefined;
|
|
159
|
+
this.controlModel(this.date);
|
|
160
|
+
this.controlChangeEmitter();
|
|
161
|
+
}
|
|
162
|
+
eventOnBlur($event) {
|
|
163
|
+
var _a;
|
|
164
|
+
(_a = this.onTouchedModel) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
165
|
+
const date = this.inputEl.nativeElement.value;
|
|
166
|
+
const newDate = date ? this.getDateFromString(date) : undefined;
|
|
167
|
+
this.objMask.blur($event);
|
|
168
|
+
this.onblur.emit();
|
|
169
|
+
if (this.objMask.valueToModel) {
|
|
170
|
+
if (this.objMask.valueToModel.length >= 10) {
|
|
171
|
+
this.controlModel(newDate);
|
|
172
|
+
this.date = newDate;
|
|
173
|
+
}
|
|
174
|
+
else {
|
|
175
|
+
this.date = null;
|
|
176
|
+
this.controlModel(this.date);
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
else {
|
|
180
|
+
this.date = undefined;
|
|
181
|
+
this.callOnChange(this.date);
|
|
182
|
+
}
|
|
183
|
+
this.controlChangeEmitter();
|
|
184
|
+
}
|
|
185
|
+
eventOnClick($event) {
|
|
186
|
+
if (this.verifyMobile()) {
|
|
187
|
+
$event.target.blur();
|
|
188
|
+
// abre o calendar quando clicar no input somente no mobile
|
|
189
|
+
setTimeout(() => this.togglePicker(), 0);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
// Atualiza a posição do cursor ao clicar
|
|
193
|
+
this.objMask.click($event);
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
formatToDate(value) {
|
|
197
|
+
if (!value) {
|
|
198
|
+
return undefined;
|
|
199
|
+
}
|
|
200
|
+
let dateFormatted = this.format;
|
|
201
|
+
dateFormatted = dateFormatted.replace('dd', ('0' + value.getDate()).slice(-2));
|
|
202
|
+
dateFormatted = dateFormatted.replace('mm', ('0' + (value.getMonth() + 1)).slice(-2));
|
|
203
|
+
dateFormatted = dateFormatted.replace('yyyy', formatYear(value.getFullYear()));
|
|
204
|
+
return dateFormatted;
|
|
205
|
+
}
|
|
206
|
+
refreshValue(value) {
|
|
207
|
+
if (value) {
|
|
208
|
+
this.inputEl.nativeElement.value = this.formatToDate(value);
|
|
209
|
+
}
|
|
210
|
+
}
|
|
211
|
+
// Função implementada do ControlValueAccessor
|
|
212
|
+
writeValue(value) {
|
|
213
|
+
if (this.inputEl && value) {
|
|
214
|
+
if (value instanceof Date) {
|
|
215
|
+
const dateString = value.toString();
|
|
216
|
+
this.hour =
|
|
217
|
+
'T' + dateString.substring(16, 24) + dateString.substring(28, 31) + ':' + dateString.substring(31, 33);
|
|
218
|
+
this.date = value;
|
|
219
|
+
this.inputEl.nativeElement.value = this.formatToDate(value);
|
|
220
|
+
}
|
|
221
|
+
else if (this.isValidDateIso(value) || this.isValidExtendedIso(value)) {
|
|
222
|
+
if (this.isValidExtendedIso(value)) {
|
|
223
|
+
this.hour = value.substring(10, 25);
|
|
224
|
+
}
|
|
225
|
+
if (this.isoFormat === undefined) {
|
|
226
|
+
this.isExtendedISO = this.isValidExtendedIso(value);
|
|
227
|
+
}
|
|
228
|
+
const day = parseInt(value.substring(8, 10), 10);
|
|
229
|
+
const month = parseInt(value.substring(5, 7), 10) - 1;
|
|
230
|
+
const year = parseInt(value.substring(0, 4), 10);
|
|
231
|
+
const dateTemp = new Date(year, month, day);
|
|
232
|
+
setYearFrom0To100(dateTemp, year);
|
|
233
|
+
this.date = dateTemp;
|
|
234
|
+
this.inputEl.nativeElement.value = this.formatToDate(dateTemp);
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
this.inputEl.nativeElement.value = '';
|
|
238
|
+
this.date = undefined;
|
|
239
|
+
}
|
|
240
|
+
this.controlModel(this.date);
|
|
241
|
+
}
|
|
242
|
+
else if (this.inputEl) {
|
|
243
|
+
this.inputEl.nativeElement.value = '';
|
|
244
|
+
this.date = undefined;
|
|
245
|
+
this.callOnChange(this.date, false);
|
|
246
|
+
}
|
|
247
|
+
this.valueBeforeChange = this.formatToDate(this.date);
|
|
248
|
+
}
|
|
249
|
+
isValidDateIso(value) {
|
|
250
|
+
return this.dateRegex.test(value);
|
|
251
|
+
}
|
|
252
|
+
isValidExtendedIso(value) {
|
|
253
|
+
return this.isoRegex.test(value);
|
|
254
|
+
}
|
|
255
|
+
hasOverlayClass(element) {
|
|
256
|
+
return element.classList.contains('po-datepicker-calendar-overlay');
|
|
257
|
+
}
|
|
258
|
+
/* istanbul ignore next */
|
|
259
|
+
verifyMobile() {
|
|
260
|
+
return isMobile();
|
|
261
|
+
}
|
|
262
|
+
closeCalendar() {
|
|
263
|
+
this.visible = false;
|
|
264
|
+
this.removeListeners();
|
|
265
|
+
this.setDialogPickerStyleDisplay('none');
|
|
266
|
+
}
|
|
267
|
+
controlChangeEmitter() {
|
|
268
|
+
const dateModelFormatted = this.formatToDate(this.date);
|
|
269
|
+
if (dateModelFormatted !== this.valueBeforeChange) {
|
|
270
|
+
this.valueBeforeChange = dateModelFormatted;
|
|
271
|
+
clearTimeout(this.timeoutChange);
|
|
272
|
+
this.timeoutChange = setTimeout(() => {
|
|
273
|
+
this.onchange.emit(dateModelFormatted);
|
|
274
|
+
}, 200);
|
|
275
|
+
}
|
|
276
|
+
}
|
|
277
|
+
hasAttrCalendar(element) {
|
|
278
|
+
const attrCalendar = 'attr-calendar';
|
|
279
|
+
return ((element && element.hasAttribute(attrCalendar)) ||
|
|
280
|
+
(element.parentElement && element.parentElement.hasAttribute(attrCalendar)));
|
|
281
|
+
}
|
|
282
|
+
initializeListeners() {
|
|
283
|
+
this.clickListener = this.renderer.listen('document', 'click', (event) => {
|
|
284
|
+
this.wasClickedOnPicker(event);
|
|
285
|
+
});
|
|
286
|
+
this.eventResizeListener = this.renderer.listen('window', 'resize', () => {
|
|
287
|
+
this.closeCalendar();
|
|
288
|
+
});
|
|
289
|
+
window.addEventListener('scroll', this.onScroll, true);
|
|
290
|
+
}
|
|
291
|
+
removeListeners() {
|
|
292
|
+
if (this.clickListener) {
|
|
293
|
+
this.clickListener();
|
|
294
|
+
}
|
|
295
|
+
if (this.eventResizeListener) {
|
|
296
|
+
this.eventResizeListener();
|
|
297
|
+
}
|
|
298
|
+
window.removeEventListener('scroll', this.onScroll, true);
|
|
299
|
+
}
|
|
300
|
+
setDialogPickerStyleDisplay(value) {
|
|
301
|
+
this.dialogPicker.nativeElement.style.display = value;
|
|
302
|
+
}
|
|
303
|
+
setCalendarPosition() {
|
|
304
|
+
this.setDialogPickerStyleDisplay('block');
|
|
305
|
+
this.controlPosition.setElements(this.dialogPicker.nativeElement, poCalendarContentOffset, this.inputEl, ['top-left', 'top-right', 'bottom-left', 'bottom-right'], false, true);
|
|
306
|
+
this.controlPosition.adjustPosition(poCalendarPositionDefault);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
PoDatepickerComponent.decorators = [
|
|
310
|
+
{ type: Component, args: [{
|
|
311
|
+
selector: 'po-datepicker',
|
|
312
|
+
template: "<po-field-container [p-help]=\"help\" [p-label]=\"label\" [p-optional]=\"!required && optional\">\n <div class=\"po-field-container-content\">\n <input\n #inp\n class=\"po-input po-datepicker\"\n [ngClass]=\"clean && inp.value ? 'po-input-double-icon-right' : 'po-input-icon-right'\"\n type=\"text\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocomplete\"\n [disabled]=\"disabled\"\n [placeholder]=\"placeholder\"\n [readonly]=\"readonly\"\n [required]=\"required\"\n (blur)=\"eventOnBlur($event)\"\n (click)=\"eventOnClick($event)\"\n />\n\n <div class=\"po-field-icon-container-right\">\n <po-clean *ngIf=\"clean && !disabled && !readonly\" [p-element-ref]=\"inputEl\" (p-change-event)=\"clear()\">\n </po-clean>\n\n <span\n #iconDatepicker\n class=\"po-icon po-field-icon po-icon-calendar\"\n [class.po-field-icon]=\"!disabled && !readonly\"\n [class.po-field-icon-disabled]=\"disabled || readonly\"\n (click)=\"togglePicker()\"\n >\n </span>\n </div>\n </div>\n\n <div #dialogPicker [class.po-datepicker-popup-calendar]=\"!verifyMobile()\">\n <div *ngIf=\"verifyMobile()\" class=\"po-datepicker-calendar-overlay\"></div>\n <po-calendar\n [class.po-datepicker-calendar-mobile]=\"verifyMobile()\"\n #calendar\n [(ngModel)]=\"date\"\n [p-max-date]=\"maxDate\"\n [p-min-date]=\"minDate\"\n [p-locale]=\"locale\"\n (p-change)=\"dateSelected()\"\n >\n </po-calendar>\n </div>\n\n <po-field-container-bottom [p-error-pattern]=\"getErrorPattern()\"></po-field-container-bottom>\n</po-field-container>\n",
|
|
313
|
+
providers: [
|
|
314
|
+
{
|
|
315
|
+
provide: NG_VALUE_ACCESSOR,
|
|
316
|
+
useExisting: forwardRef(() => PoDatepickerComponent),
|
|
317
|
+
multi: true
|
|
318
|
+
},
|
|
319
|
+
{
|
|
320
|
+
provide: NG_VALIDATORS,
|
|
321
|
+
useExisting: forwardRef(() => PoDatepickerComponent),
|
|
322
|
+
multi: true
|
|
323
|
+
},
|
|
324
|
+
PoControlPositionService
|
|
325
|
+
],
|
|
326
|
+
changeDetection: ChangeDetectionStrategy.OnPush
|
|
327
|
+
},] }
|
|
328
|
+
];
|
|
329
|
+
PoDatepickerComponent.ctorParameters = () => [
|
|
330
|
+
{ type: PoControlPositionService },
|
|
331
|
+
{ type: PoLanguageService },
|
|
332
|
+
{ type: Renderer2 },
|
|
333
|
+
{ type: ElementRef }
|
|
334
|
+
];
|
|
335
|
+
PoDatepickerComponent.propDecorators = {
|
|
336
|
+
calendar: [{ type: ViewChild, args: ['calendar', { static: true },] }],
|
|
337
|
+
dialogPicker: [{ type: ViewChild, args: ['dialogPicker', { read: ElementRef, static: true },] }],
|
|
338
|
+
iconDatepicker: [{ type: ViewChild, args: ['iconDatepicker', { read: ElementRef, static: true },] }],
|
|
339
|
+
inputEl: [{ type: ViewChild, args: ['inp', { read: ElementRef, static: true },] }],
|
|
340
|
+
label: [{ type: Input, args: ['p-label',] }],
|
|
341
|
+
help: [{ type: Input, args: ['p-help',] }],
|
|
342
|
+
onKeyup: [{ type: HostListener, args: ['keyup', ['$event'],] }],
|
|
343
|
+
onKeydown: [{ type: HostListener, args: ['keydown', ['$event'],] }]
|
|
344
|
+
};
|
|
345
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicG8tZGF0ZXBpY2tlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy91aS9zcmMvbGliL2NvbXBvbmVudHMvcG8tZmllbGQvcG8tZGF0ZXBpY2tlci9wby1kYXRlcGlja2VyLmNvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxVQUFVLEVBQ1YsVUFBVSxFQUNWLFlBQVksRUFDWixLQUFLLEVBRUwsU0FBUyxFQUNULFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFbEUsT0FBTyxFQUFFLFVBQVUsRUFBRSxRQUFRLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUM5RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxxRUFBcUUsQ0FBQztBQUcvRyxPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUMzRSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxtREFBbUQsQ0FBQztBQUV0RixNQUFNLHVCQUF1QixHQUFHLENBQUMsQ0FBQztBQUNsQyxNQUFNLHlCQUF5QixHQUFHLGFBQWEsQ0FBQztBQUVoRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7R0EwQkc7QUFtQkgsTUFBTSxPQUFPLHFCQUFzQixTQUFRLHlCQUF5QjtJQXNDbEUsWUFDVSxlQUF5QyxFQUNqRCxlQUFrQyxFQUMxQixRQUFtQixFQUMzQixFQUFjO1FBRWQsS0FBSyxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBTGYsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBRXpDLGFBQVEsR0FBUixRQUFRLENBQVc7UUEzQjdCLFlBQU8sR0FBWSxLQUFLLENBQUM7UUFNUixjQUFTLEdBQUcsSUFBSSxNQUFNLENB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TSxFQUFFLElBQUksRUFBRTsyQkFDdEMsU0FBUyxTQUFDLGNBQWMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTs2QkFDNUQsU0FBUyxTQUFDLGdCQUFnQixFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO3NCQUM5RCxTQUFTLFNBQUMsS0FBSyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO29CQUduRCxLQUFLLFNBQUMsU0FBUzttQkFHZixLQUFLLFNBQUMsUUFBUTtzQkFzQ2QsWUFBWSxTQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsQ0FBQzt3QkFxQmhDLFlBQVksU0FBQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBBZnRlclZpZXdJbml0LFxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBmb3J3YXJkUmVmLFxuICBIb3N0TGlzdGVuZXIsXG4gIElucHV0LFxuICBPbkRlc3Ryb3ksXG4gIFJlbmRlcmVyMixcbiAgVmlld0NoaWxkXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgTkdfVkFMSURBVE9SUywgTkdfVkFMVUVfQUNDRVNTT1IgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XG5cbmltcG9ydCB7IGZvcm1hdFllYXIsIGlzTW9iaWxlLCBzZXRZZWFyRnJvbTBUbzEwMCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL3V0aWwnO1xuaW1wb3J0IHsgUG9Db250cm9sUG9zaXRpb25TZXJ2aWNlIH0gZnJvbSAnLi8uLi8uLi8uLi9zZXJ2aWNlcy9wby1jb250cm9sLXBvc2l0aW9uL3BvLWNvbnRyb2wtcG9zaXRpb24uc2VydmljZSc7XG5cbmltcG9ydCB7IFBvQ2FsZW5kYXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi9wby1jYWxlbmRhci9wby1jYWxlbmRhci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUG9EYXRlcGlja2VyQmFzZUNvbXBvbmVudCB9IGZyb20gJy4vcG8tZGF0ZXBpY2tlci1iYXNlLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBQb0xhbmd1YWdlU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3BvLWxhbmd1YWdlL3BvLWxhbmd1YWdlLnNlcnZpY2UnO1xuXG5jb25zdCBwb0NhbGVuZGFyQ29udGVudE9mZnNldCA9IDg7XG5jb25zdCBwb0NhbGVuZGFyUG9zaXRpb25EZWZhdWx0ID0gJ2JvdHRvbS1sZWZ0JztcblxuLyoqXG4gKiBAZG9jc0V4dGVuZHMgUG9EYXRlcGlja2VyQmFzZUNvbXBvbmVudFxuICpcbiAqIEBleGFtcGxlXG4gKlxuICogPGV4YW1wbGUgbmFtZT1cInBvLWRhdGVwaWNrZXItYmFzaWNcIiB0aXRsZT1cIlBPIERhdGVwaWNrZXIgQmFzaWNcIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMvc2FtcGxlLXBvLWRhdGVwaWNrZXItYmFzaWMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy9zYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy5jb21wb25lbnQudHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy9zYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy5jb21wb25lbnQucG8udHNcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy9zYW1wbGUtcG8tZGF0ZXBpY2tlci1iYXNpYy5jb21wb25lbnQuZTJlLXNwZWMudHNcIj4gPC9maWxlPlxuICogPC9leGFtcGxlPlxuICpcbiAqIDxleGFtcGxlIG5hbWU9XCJwby1kYXRlcGlja2VyLWxhYnNcIiB0aXRsZT1cIlBPIERhdGVwaWNrZXIgTGFic1wiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1sYWJzL3NhbXBsZS1wby1kYXRlcGlja2VyLWxhYnMuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1sYWJzL3NhbXBsZS1wby1kYXRlcGlja2VyLWxhYnMuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZGF0ZXBpY2tlci1haXJmYXJlXCIgdGl0bGU9XCJQTyBEYXRlcGlja2VyIC0gQWlyZmFyZVwiPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlL3NhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUuY29tcG9uZW50Lmh0bWxcIj4gPC9maWxlPlxuICogIDxmaWxlIG5hbWU9XCJzYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlL3NhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUuY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqXG4gKiA8ZXhhbXBsZSBuYW1lPVwicG8tZGF0ZXBpY2tlci1haXJmYXJlLXJlYWN0aXZlLWZvcm1cIiB0aXRsZT1cIlBPIERhdGVwaWNrZXIgLSBBaXJmYXJlIFJlYWN0aXZlIEZvcm1cIj5cbiAqICA8ZmlsZSBuYW1lPVwic2FtcGxlLXBvLWRhdGVwaWNrZXItYWlyZmFyZS1yZWFjdGl2ZS1mb3JtL3NhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUtcmVhY3RpdmUtZm9ybS5jb21wb25lbnQuaHRtbFwiPiA8L2ZpbGU+XG4gKiAgPGZpbGUgbmFtZT1cInNhbXBsZS1wby1kYXRlcGlja2VyLWFpcmZhcmUtcmVhY3RpdmUtZm9ybS9zYW1wbGUtcG8tZGF0ZXBpY2tlci1haXJmYXJlLXJlYWN0aXZlLWZvcm0uY29tcG9uZW50LnRzXCI+IDwvZmlsZT5cbiAqIDwvZXhhbXBsZT5cbiAqL1xuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAncG8tZGF0ZXBpY2tlcicsXG4gIHRlbXBsYXRlVXJsOiAnLi9wby1kYXRlcGlja2VyLmNvbXBvbmVudC5odG1sJyxcbiAgcHJvdmlkZXJzOiBbXG4gICAge1xuICAgICAgcHJvdmlkZTogTkdfVkFMVUVfQUNDRVNTT1IsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0RhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IE5HX1ZBTElEQVRPUlMsXG4gICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBQb0RhdGVwaWNrZXJDb21wb25lbnQpLFxuICAgICAgbXVsdGk6IHRydWVcbiAgICB9LFxuICAgIFBvQ29udHJvbFBvc2l0aW9uU2VydmljZVxuICBdLFxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaFxufSlcbmV4cG9ydCBjbGFzcyBQb0RhdGVwaWNrZXJDb21wb25lbnQgZXh0ZW5kcyBQb0RhdGVwaWNrZXJCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgQFZpZXdDaGlsZCgnY2FsZW5kYXInLCB7IHN0YXRpYzogdHJ1ZSB9KSBjYWxlbmRhcjogUG9DYWxlbmRhckNvbXBvbmVudDtcbiAgQFZpZXdDaGlsZCgnZGlhbG9nUGlja2VyJywgeyByZWFkOiBFbGVtZW50UmVmLCBzdGF0aWM6IHRydWUgfSkgZGlhbG9nUGlja2VyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdpY29uRGF0ZXBpY2tlcicsIHsgcmVhZDogRWxlbWVudFJlZiwgc3RhdGljOiB0cnVlIH0pIGljb25EYXRlcGlja2VyOiBFbGVtZW50UmVmO1xuICBAVmlld0NoaWxkKCdpbnAnLCB7IHJlYWQ6IEVsZW1lbnRSZWYsIHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsOiBFbGVtZW50UmVmO1xuXG4gIC8qKiBSw7N0dWxvIGRvIGNhbXBvLiAqL1xuICBASW5wdXQoJ3AtbGFiZWwnKSBsYWJlbD86IHN0cmluZztcblxuICAvKiogVGV4dG8gZGUgYXBvaW8gZG8gY2FtcG8uICovXG4gIEBJbnB1dCgncC1oZWxwJykgaGVscD86IHN0cmluZztcblxuICBlbDogRWxlbWVudFJlZjtcbiAgaG91cjogc3RyaW5nO1xuICB2aXNpYmxlOiBib29sZWFuID0gZmFsc2U7XG5cbiAgZXZlbnRMaXN0ZW5lckZ1bmN0aW9uOiAoKSA9PiB2b2lkO1xuICBldmVudFJlc2l6ZUxpc3RlbmVyOiAoKSA9PiB2b2lkO1xuXG4gIHByaXZhdGUgY2xpY2tMaXN0ZW5lcjtcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRlUmVnZXggPSBuZXcgUmVnRXhwKFxuICAgICdeKD86WzAtOV0pXFxcXGR7MX0oPzpbMC05XSlcXFxcZHsxfS0nICsgJyg/OjBbMS05XXwxWzAtMl0pLScgKyAnKD86MFsxLTldfFsxMl1cXFxcZHwzWzAxXSkkJ1xuICApO1xuICBwcml2YXRlIHJlYWRvbmx5IGlzb1JlZ2V4ID0gbmV3IFJlZ0V4cChcbiAgICAnXig/OlswLTldKVxcXFxkezF9KD86WzAtOV0pXFxcXGR7MX0tJyArXG4gICAgICAnKD86MFsxLTldfDFbMC0yXSktJyArXG4gICAgICAnKD86MFsxLTldfFsxMl1cXFxcZHwzWzAxXSknICtcbiAgICAgICdUKD86WzAxXVxcXFxkfDJbMC0zXSk6WzAtNV1cXFxcZDpbMC01XVxcXFxkKD86WnwtMFsxLTldfC0xXFxcXGR8LTJbMC0zXXwnICtcbiAgICAgICctMDA6Pyg/OjBbMS05XXxbMC01XVxcXFxkKXxcXFxcK1swMV1cXFxcZHxcXFxcKzJbMC0zXSknICtcbiAgICAgICcoPzp8Oj9bMC01XVxcXFxkKSQnXG4gICk7XG4gIHByaXZhdGUgdGltZW91dENoYW5nZTogYW55O1xuICBwcml2YXRlIHZhbHVlQmVmb3JlQ2hhbmdlOiBzdHJpbmc7XG5cbiAgZ2V0IGF1dG9jb21wbGV0ZSgpIHtcbiAgICByZXR1cm4gdGhpcy5ub0F1dG9jb21wbGV0ZSA/ICdvZmYnIDogJ29uJztcbiAgfVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgY29udHJvbFBvc2l0aW9uOiBQb0NvbnRyb2xQb3NpdGlvblNlcnZpY2UsXG4gICAgbGFuZ3VhZ2VTZXJ2aWNlOiBQb0xhbmd1YWdlU2VydmljZSxcbiAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjIsXG4gICAgZWw6IEVsZW1lbnRSZWZcbiAgKSB7XG4gICAgc3VwZXIobGFuZ3VhZ2VTZXJ2aWNlKTtcbiAgICB0aGlzLmVsID0gZWw7XG4gIH1cblxuICBASG9zdExpc3RlbmVyKCdrZXl1cCcsIFsnJGV2ZW50J10pXG4gIG9uS2V5dXAoJGV2ZW50OiBhbnkpIHtcbiAgICBpZiAodGhpcy5yZWFkb25seSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMub2JqTWFzay5rZXl1cCgkZXZlbnQpO1xuICAgIC8vIENvbnRyb2xhIGEgYXR1YWxpemHDp8OjbyBkbyBtb2RlbCwgdmVyaWZpY2FuZG8gc2UgYSBkYXRhIMOpIHZhbGlkYVxuICAgIGlmICh0aGlzLm9iak1hc2sudmFsdWVUb01vZGVsIHx8IHRoaXMub2JqTWFzay52YWx1ZVRvTW9kZWwgPT09ICcnKSB7XG4gICAgICBpZiAodGhpcy5vYmpNYXNrLnZhbHVlVG9Nb2RlbC5sZW5ndGggPj0gMTApIHtcbiAgICAgICAgdGhpcy5jb250cm9sTW9kZWwodGhpcy5nZXREYXRlRnJvbVN0cmluZyh0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSkpO1xuICAgICAgICB0aGlzLmRhdGUgPSB0aGlzLmdldERhdGVGcm9tU3RyaW5nKHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgICAgdGhpcy5jb250cm9sTW9kZWwodGhpcy5kYXRlKTtcbiAgICAgIH1cbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5kYXRlID0gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuXG4gIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24nLCBbJyRldmVudCddKVxuICBvbktleWRvd24oJGV2ZW50PzogYW55KSB7XG4gICAgaWYgKHRoaXMucmVhZG9ubHkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9iak1hc2sua2V5ZG93bigkZXZlbnQpO1xuICB9XG5cbiAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgIHRoaXMuc2V0RGlhbG9nUGlja2VyU3R5bGVEaXNwbGF5KCdub25lJyk7XG4gICAgaWYgKHRoaXMuYXV0b0ZvY3VzKSB7XG4gICAgICB0aGlzLmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5yZW1vdmVMaXN0ZW5lcnMoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBGdW7Dp8OjbyBxdWUgYXRyaWJ1aSBmb2NvIGFvIGNvbXBvbmVudGUuXG4gICAqXG4gICAqIFBhcmEgdXRpbGl6w6EtbGEgw6kgbmVjZXNzw6FyaW8gdGVyIGEgaW5zdMOibmNpYSBkbyBjb21wb25lbnRlIG5vIERPTSwgcG9kZW5kbyBzZXIgdXRpbGl6YWRvIG8gVmlld0NoaWxkIGRhIHNlZ3VpbnRlIGZvcm1hOlxuICAgKlxuICAgKiBgYGBcbiAgICogaW1wb3J0IHsgUG9EYXRlcGlja2VyQ29tcG9uZW50IH0gZnJvbSAnQHBvLXVpL25nLWNvbXBvbmVudHMnO1xuICAgKlxuICAgKiAuLi5cbiAgICpcbiAgICogQFZpZXdDaGlsZChQb0RhdGVwaWNrZXJDb21wb25lbnQsIHsgc3RhdGljOiB0cnVlIH0pIGRhdGVwaWNrZXI6IFBvRGF0ZXBpY2tlckNvbXBvbmVudDtcbiAgICpcbiAgICogZm9jdXNEYXRlcGlja2VyKCkge1xuICAgKiAgIHRoaXMuZGF0ZXBpY2tlci5mb2N1cygpO1xuICAgKiB9XG4gICAqIGBgYFxuICAgKi9cbiAgZm9jdXMoKTogdm9pZCB7XG4gICAgaWYgKCF0aGlzLmRpc2FibGVkKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIHRvZ2dsZVBpY2tlcigpIHtcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLnJlYWRvbmx5KSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgaWYgKCF0aGlzLnZpc2libGUpIHtcbiAgICAgIHRoaXMuc2V0Q2FsZW5kYXJQb3NpdGlvbigpO1xuICAgICAgdGhpcy5pbml0aWFsaXplTGlzdGVuZXJzKCk7XG4gICAgICB0aGlzLnZpc2libGUgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlO1xuICAgICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XG4gICAgfVxuICB9XG5cbiAgZGF0ZVNlbGVjdGVkKCkge1xuICAgIGlmICghdGhpcy52ZXJpZnlNb2JpbGUoKSkge1xuICAgICAgdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKHRoaXMuZGF0ZSk7XG4gICAgdGhpcy5jb250cm9sTW9kZWwodGhpcy5kYXRlKTtcbiAgICB0aGlzLmNvbnRyb2xDaGFuZ2VFbWl0dGVyKCk7XG4gICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XG4gIH1cblxuICAvLyBFc2NvbmRlIFBpY2tlciBxdWFuZG8gZm9yIGNsaWNhZG8gZm9yYVxuICB3YXNDbGlja2VkT25QaWNrZXIoZXZlbnQ6IGFueSk6IHZvaWQge1xuICAgIGlmICghdGhpcy5kaWFsb2dQaWNrZXIgfHwgIXRoaXMuaWNvbkRhdGVwaWNrZXIpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICAoIXRoaXMuZGlhbG9nUGlja2VyLm5hdGl2ZUVsZW1lbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0KSB8fCB0aGlzLmhhc092ZXJsYXlDbGFzcyhldmVudC50YXJnZXQpKSAmJlxuICAgICAgIXRoaXMuaWNvbkRhdGVwaWNrZXIubmF0aXZlRWxlbWVudC5jb250YWlucyhldmVudC50YXJnZXQpICYmXG4gICAgICAhdGhpcy5oYXNBdHRyQ2FsZW5kYXIoZXZlbnQudGFyZ2V0KVxuICAgICkge1xuICAgICAgdGhpcy5jbG9zZUNhbGVuZGFyKCk7XG4gICAgfVxuICB9XG5cbiAgaGFzSW52YWxpZENsYXNzKCkge1xuICAgIHJldHVybiAoXG4gICAgICB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2xhc3NMaXN0LmNvbnRhaW5zKCduZy1pbnZhbGlkJykgJiZcbiAgICAgIHRoaXMuZWwubmF0aXZlRWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ25nLWRpcnR5JykgJiZcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlICE9PSAnJ1xuICAgICk7XG4gIH1cblxuICBnZXRFcnJvclBhdHRlcm4oKSB7XG4gICAgcmV0dXJuIHRoaXMuZXJyb3JQYXR0ZXJuICE9PSAnJyAmJiB0aGlzLmhhc0ludmFsaWRDbGFzcygpID8gdGhpcy5lcnJvclBhdHRlcm4gOiAnJztcbiAgfVxuXG4gIGNsZWFyKCkge1xuICAgIHRoaXMudmFsdWVCZWZvcmVDaGFuZ2UgPSB0aGlzLmZvcm1hdFRvRGF0ZSh0aGlzLmRhdGUpO1xuICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICB0aGlzLmNvbnRyb2xNb2RlbCh0aGlzLmRhdGUpO1xuXG4gICAgdGhpcy5jb250cm9sQ2hhbmdlRW1pdHRlcigpO1xuICB9XG5cbiAgZXZlbnRPbkJsdXIoJGV2ZW50OiBhbnkpIHtcbiAgICB0aGlzLm9uVG91Y2hlZE1vZGVsPy4oKTtcbiAgICBjb25zdCBkYXRlID0gdGhpcy5pbnB1dEVsLm5hdGl2ZUVsZW1lbnQudmFsdWU7XG4gICAgY29uc3QgbmV3RGF0ZSA9IGRhdGUgPyB0aGlzLmdldERhdGVGcm9tU3RyaW5nKGRhdGUpIDogdW5kZWZpbmVkO1xuICAgIHRoaXMub2JqTWFzay5ibHVyKCRldmVudCk7XG4gICAgdGhpcy5vbmJsdXIuZW1pdCgpO1xuXG4gICAgaWYgKHRoaXMub2JqTWFzay52YWx1ZVRvTW9kZWwpIHtcbiAgICAgIGlmICh0aGlzLm9iak1hc2sudmFsdWVUb01vZGVsLmxlbmd0aCA+PSAxMCkge1xuICAgICAgICB0aGlzLmNvbnRyb2xNb2RlbChuZXdEYXRlKTtcbiAgICAgICAgdGhpcy5kYXRlID0gbmV3RGF0ZTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuZGF0ZSA9IG51bGw7XG4gICAgICAgIHRoaXMuY29udHJvbE1vZGVsKHRoaXMuZGF0ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuY2FsbE9uQ2hhbmdlKHRoaXMuZGF0ZSk7XG4gICAgfVxuXG4gICAgdGhpcy5jb250cm9sQ2hhbmdlRW1pdHRlcigpO1xuICB9XG5cbiAgZXZlbnRPbkNsaWNrKCRldmVudCkge1xuICAgIGlmICh0aGlzLnZlcmlmeU1vYmlsZSgpKSB7XG4gICAgICAkZXZlbnQudGFyZ2V0LmJsdXIoKTtcblxuICAgICAgLy8gYWJyZSBvIGNhbGVuZGFyIHF1YW5kbyBjbGljYXIgbm8gaW5wdXQgc29tZW50ZSBubyBtb2JpbGVcbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gdGhpcy50b2dnbGVQaWNrZXIoKSwgMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIEF0dWFsaXphIGEgcG9zacOnw6NvIGRvIGN1cnNvciBhbyBjbGljYXJcbiAgICAgIHRoaXMub2JqTWFzay5jbGljaygkZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIGZvcm1hdFRvRGF0ZSh2YWx1ZTogRGF0ZSkge1xuICAgIGlmICghdmFsdWUpIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuXG4gICAgbGV0IGRhdGVGb3JtYXR0ZWQgPSB0aGlzLmZvcm1hdDtcblxuICAgIGRhdGVGb3JtYXR0ZWQgPSBkYXRlRm9ybWF0dGVkLnJlcGxhY2UoJ2RkJywgKCcwJyArIHZhbHVlLmdldERhdGUoKSkuc2xpY2UoLTIpKTtcbiAgICBkYXRlRm9ybWF0dGVkID0gZGF0ZUZvcm1hdHRlZC5yZXBsYWNlKCdtbScsICgnMCcgKyAodmFsdWUuZ2V0TW9udGgoKSArIDEpKS5zbGljZSgtMikpO1xuICAgIGRhdGVGb3JtYXR0ZWQgPSBkYXRlRm9ybWF0dGVkLnJlcGxhY2UoJ3l5eXknLCBmb3JtYXRZZWFyKHZhbHVlLmdldEZ1bGxZZWFyKCkpKTtcblxuICAgIHJldHVybiBkYXRlRm9ybWF0dGVkO1xuICB9XG5cbiAgcmVmcmVzaFZhbHVlKHZhbHVlOiBEYXRlKSB7XG4gICAgaWYgKHZhbHVlKSB7XG4gICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKHZhbHVlKTtcbiAgICB9XG4gIH1cblxuICAvLyBGdW7Dp8OjbyBpbXBsZW1lbnRhZGEgZG8gQ29udHJvbFZhbHVlQWNjZXNzb3JcbiAgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XG4gICAgaWYgKHRoaXMuaW5wdXRFbCAmJiB2YWx1ZSkge1xuICAgICAgaWYgKHZhbHVlIGluc3RhbmNlb2YgRGF0ZSkge1xuICAgICAgICBjb25zdCBkYXRlU3RyaW5nID0gdmFsdWUudG9TdHJpbmcoKTtcbiAgICAgICAgdGhpcy5ob3VyID1cbiAgICAgICAgICAnVCcgKyBkYXRlU3RyaW5nLnN1YnN0cmluZygxNiwgMjQpICsgZGF0ZVN0cmluZy5zdWJzdHJpbmcoMjgsIDMxKSArICc6JyArIGRhdGVTdHJpbmcuc3Vic3RyaW5nKDMxLCAzMyk7XG4gICAgICAgIHRoaXMuZGF0ZSA9IHZhbHVlO1xuICAgICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKHZhbHVlKTtcbiAgICAgIH0gZWxzZSBpZiAodGhpcy5pc1ZhbGlkRGF0ZUlzbyh2YWx1ZSkgfHwgdGhpcy5pc1ZhbGlkRXh0ZW5kZWRJc28odmFsdWUpKSB7XG4gICAgICAgIGlmICh0aGlzLmlzVmFsaWRFeHRlbmRlZElzbyh2YWx1ZSkpIHtcbiAgICAgICAgICB0aGlzLmhvdXIgPSB2YWx1ZS5zdWJzdHJpbmcoMTAsIDI1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmlzb0Zvcm1hdCA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgdGhpcy5pc0V4dGVuZGVkSVNPID0gdGhpcy5pc1ZhbGlkRXh0ZW5kZWRJc28odmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZGF5ID0gcGFyc2VJbnQodmFsdWUuc3Vic3RyaW5nKDgsIDEwKSwgMTApO1xuICAgICAgICBjb25zdCBtb250aCA9IHBhcnNlSW50KHZhbHVlLnN1YnN0cmluZyg1LCA3KSwgMTApIC0gMTtcbiAgICAgICAgY29uc3QgeWVhciA9IHBhcnNlSW50KHZhbHVlLnN1YnN0cmluZygwLCA0KSwgMTApO1xuXG4gICAgICAgIGNvbnN0IGRhdGVUZW1wID0gbmV3IERhdGUoeWVhciwgbW9udGgsIGRheSk7XG5cbiAgICAgICAgc2V0WWVhckZyb20wVG8xMDAoZGF0ZVRlbXAsIHllYXIpO1xuXG4gICAgICAgIHRoaXMuZGF0ZSA9IGRhdGVUZW1wO1xuICAgICAgICB0aGlzLmlucHV0RWwubmF0aXZlRWxlbWVudC52YWx1ZSA9IHRoaXMuZm9ybWF0VG9EYXRlKGRhdGVUZW1wKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICAgIHRoaXMuZGF0ZSA9IHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIHRoaXMuY29udHJvbE1vZGVsKHRoaXMuZGF0ZSk7XG4gICAgfSBlbHNlIGlmICh0aGlzLmlucHV0RWwpIHtcbiAgICAgIHRoaXMuaW5wdXRFbC5uYXRpdmVFbGVtZW50LnZhbHVlID0gJyc7XG4gICAgICB0aGlzLmRhdGUgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLmNhbGxPbkNoYW5nZSh0aGlzLmRhdGUsIGZhbHNlKTtcbiAgICB9XG5cbiAgICB0aGlzLnZhbHVlQmVmb3JlQ2hhbmdlID0gdGhpcy5mb3JtYXRUb0RhdGUodGhpcy5kYXRlKTtcbiAgfVxuXG4gIGlzVmFsaWREYXRlSXNvKHZhbHVlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gdGhpcy5kYXRlUmVnZXgudGVzdCh2YWx1ZSk7XG4gIH1cblxuICBpc1ZhbGlkRXh0ZW5kZWRJc28odmFsdWUpIHtcbiAgICByZXR1cm4gdGhpcy5pc29SZWdleC50ZXN0KHZhbHVlKTtcbiAgfVxuXG4gIGhhc092ZXJsYXlDbGFzcyhlbGVtZW50OiBhbnkpIHtcbiAgICByZXR1cm4gZWxlbWVudC5jbGFzc0xpc3QuY29udGFpbnMoJ3BvLWRhdGVwaWNrZXItY2FsZW5kYXItb3ZlcmxheScpO1xuICB9XG5cbiAgLyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9cbiAgdmVyaWZ5TW9iaWxlKCkge1xuICAgIHJldHVybiBpc01vYmlsZSgpO1xuICB9XG5cbiAgcHJpdmF0ZSBjbG9zZUNhbGVuZGFyKCkge1xuICAgIHRoaXMudmlzaWJsZSA9IGZhbHNlO1xuICAgIHRoaXMucmVtb3ZlTGlzdGVuZXJzKCk7XG4gICAgdGhpcy5zZXREaWFsb2dQaWNrZXJTdHlsZURpc3BsYXkoJ25vbmUnKTtcbiAgfVxuXG4gIHByaXZhdGUgY29udHJvbENoYW5nZUVtaXR0ZXIoKSB7XG4gICAgY29uc3QgZGF0ZU1vZGVsRm9ybWF0dGVkID0gdGhpcy5mb3JtYXRUb0RhdGUodGhpcy5kYXRlKTtcblxuICAgIGlmIChkYXRlTW9kZWxGb3JtYXR0ZWQgIT09IHRoaXMudmFsdWVCZWZvcmVDaGFuZ2UpIHtcbiAgICAgIHRoaXMudmFsdWVCZWZvcmVDaGFuZ2UgPSBkYXRlTW9kZWxGb3JtYXR0ZWQ7XG5cbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnRpbWVvdXRDaGFuZ2UpO1xuICAgICAgdGhpcy50aW1lb3V0Q2hhbmdlID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIHRoaXMub25jaGFuZ2UuZW1pdChkYXRlTW9kZWxGb3JtYXR0ZWQpO1xuICAgICAgfSwgMjAwKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGhhc0F0dHJDYWxlbmRhcihlbGVtZW50OiBhbnkpIHtcbiAgICBjb25zdCBhdHRyQ2FsZW5kYXIgPSAnYXR0ci1jYWxlbmRhcic7XG5cbiAgICByZXR1cm4gKFxuICAgICAgKGVsZW1lbnQgJiYgZWxlbWVudC5oYXNBdHRyaWJ1dGUoYXR0ckNhbGVuZGFyKSkgfHxcbiAgICAgIChlbGVtZW50LnBhcmVudEVsZW1lbnQgJiYgZWxlbWVudC5wYXJlbnRFbGVtZW50Lmhhc0F0dHJpYnV0ZShhdHRyQ2FsZW5kYXIpKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGluaXRpYWxpemVMaXN0ZW5lcnMoKSB7XG4gICAgdGhpcy5jbGlja0xpc3RlbmVyID0gdGhpcy5yZW5kZXJlci5saXN0ZW4oJ2RvY3VtZW50JywgJ2NsaWNrJywgKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICB0aGlzLndhc0NsaWNrZWRPblBpY2tlcihldmVudCk7XG4gICAgfSk7XG5cbiAgICB0aGlzLmV2ZW50UmVzaXplTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbignd2luZG93JywgJ3Jlc2l6ZScsICgpID0+IHtcbiAgICAgIHRoaXMuY2xvc2VDYWxlbmRhcigpO1xuICAgIH0pO1xuXG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIHRoaXMub25TY3JvbGwsIHRydWUpO1xuICB9XG5cbiAgcHJpdmF0ZSBvblNjcm9sbCA9ICgpOiB2b2lkID0+IHtcbiAgICB0aGlzLmNvbnRyb2xQb3NpdGlvbi5hZGp1c3RQb3NpdGlvbihwb0NhbGVuZGFyUG9zaXRpb25EZWZhdWx0KTtcbiAgfTtcblxuICBwcml2YXRlIHJlbW92ZUxpc3RlbmVycygpIHtcbiAgICBpZiAodGhpcy5jbGlja0xpc3RlbmVyKSB7XG4gICAgICB0aGlzLmNsaWNrTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5ldmVudFJlc2l6ZUxpc3RlbmVyKSB7XG4gICAgICB0aGlzLmV2ZW50UmVzaXplTGlzdGVuZXIoKTtcbiAgICB9XG5cbiAgICB3aW5kb3cucmVtb3ZlRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgdGhpcy5vblNjcm9sbCwgdHJ1ZSk7XG4gIH1cblxuICBwcml2YXRlIHNldERpYWxvZ1BpY2tlclN0eWxlRGlzcGxheSh2YWx1ZSkge1xuICAgIHRoaXMuZGlhbG9nUGlja2VyLm5hdGl2ZUVsZW1lbnQuc3R5bGUuZGlzcGxheSA9IHZhbHVlO1xuICB9XG5cbiAgcHJpdmF0ZSBzZXRDYWxlbmRhclBvc2l0aW9uKCkge1xuICAgIHRoaXMuc2V0RGlhbG9nUGlja2VyU3R5bGVEaXNwbGF5KCdibG9jaycpO1xuXG4gICAgdGhpcy5jb250cm9sUG9zaXRpb24uc2V0RWxlbWVudHMoXG4gICAgICB0aGlzLmRpYWxvZ1BpY2tlci5uYXRpdmVFbGVtZW50LFxuICAgICAgcG9DYWxlbmRhckNvbnRlbnRPZmZzZXQsXG4gICAgICB0aGlzLmlucHV0RWwsXG4gICAgICBbJ3RvcC1sZWZ0JywgJ3RvcC1yaWdodCcsICdib3R0b20tbGVmdCcsICdib3R0b20tcmlnaHQnXSxcbiAgICAgIGZhbHNlLFxuICAgICAgdHJ1ZVxuICAgICk7XG5cbiAgICB0aGlzLmNvbnRyb2xQb3NpdGlvbi5hZGp1c3RQb3NpdGlvbihwb0NhbGVuZGFyUG9zaXRpb25EZWZhdWx0KTtcbiAgfVxufVxuIl19
|