@ng-nest/ui 12.0.6 → 12.0.11
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/auto-complete/auto-complete-portal.component.d.ts +3 -3
- package/auto-complete/auto-complete.component.d.ts +5 -1
- package/auto-complete/auto-complete.property.d.ts +6 -1
- package/back-top/back-top.component.d.ts +1 -2
- package/base-form/base-form.component.d.ts +1 -1
- package/base-form/base-form.property.d.ts +22 -2
- package/bundles/ng-nest-ui-affix.umd.js +25 -21
- package/bundles/ng-nest-ui-affix.umd.js.map +1 -1
- package/bundles/ng-nest-ui-alert.umd.js +25 -21
- package/bundles/ng-nest-ui-alert.umd.js.map +1 -1
- package/bundles/ng-nest-ui-anchor.umd.js +26 -22
- package/bundles/ng-nest-ui-anchor.umd.js.map +1 -1
- package/bundles/ng-nest-ui-api.umd.js +12 -14
- package/bundles/ng-nest-ui-api.umd.js.map +1 -1
- package/bundles/ng-nest-ui-auto-complete.umd.js +52 -29
- package/bundles/ng-nest-ui-auto-complete.umd.js.map +1 -1
- package/bundles/ng-nest-ui-avatar.umd.js +25 -21
- package/bundles/ng-nest-ui-avatar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-back-top.umd.js +27 -23
- package/bundles/ng-nest-ui-back-top.umd.js.map +1 -1
- package/bundles/ng-nest-ui-badge.umd.js +27 -22
- package/bundles/ng-nest-ui-badge.umd.js.map +1 -1
- package/bundles/ng-nest-ui-base-form.umd.js +50 -22
- package/bundles/ng-nest-ui-base-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-border.umd.js +12 -14
- package/bundles/ng-nest-ui-border.umd.js.map +1 -1
- package/bundles/ng-nest-ui-button.umd.js +36 -29
- package/bundles/ng-nest-ui-button.umd.js.map +1 -1
- package/bundles/ng-nest-ui-calendar.umd.js +29 -24
- package/bundles/ng-nest-ui-calendar.umd.js.map +1 -1
- package/bundles/ng-nest-ui-card.umd.js +25 -21
- package/bundles/ng-nest-ui-card.umd.js.map +1 -1
- package/bundles/ng-nest-ui-carousel.umd.js +44 -39
- package/bundles/ng-nest-ui-carousel.umd.js.map +1 -1
- package/bundles/ng-nest-ui-cascade.umd.js +94 -36
- package/bundles/ng-nest-ui-cascade.umd.js.map +1 -1
- package/bundles/ng-nest-ui-checkbox.umd.js +28 -23
- package/bundles/ng-nest-ui-checkbox.umd.js.map +1 -1
- package/bundles/ng-nest-ui-collapse.umd.js +31 -27
- package/bundles/ng-nest-ui-collapse.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color-picker.umd.js +79 -44
- package/bundles/ng-nest-ui-color-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-color.umd.js +26 -22
- package/bundles/ng-nest-ui-color.umd.js.map +1 -1
- package/bundles/ng-nest-ui-comment.umd.js +34 -29
- package/bundles/ng-nest-ui-comment.umd.js.map +1 -1
- package/bundles/ng-nest-ui-container.umd.js +46 -42
- package/bundles/ng-nest-ui-container.umd.js.map +1 -1
- package/bundles/ng-nest-ui-core.umd.js +136 -35
- package/bundles/ng-nest-ui-core.umd.js.map +1 -1
- package/bundles/ng-nest-ui-crumb.umd.js +28 -23
- package/bundles/ng-nest-ui-crumb.umd.js.map +1 -1
- package/bundles/ng-nest-ui-date-picker.umd.js +387 -246
- package/bundles/ng-nest-ui-date-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-description.umd.js +35 -32
- package/bundles/ng-nest-ui-description.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dialog.umd.js +27 -22
- package/bundles/ng-nest-ui-dialog.umd.js.map +1 -1
- package/bundles/ng-nest-ui-doc.umd.js +12 -14
- package/bundles/ng-nest-ui-doc.umd.js.map +1 -1
- package/bundles/ng-nest-ui-drawer.umd.js +27 -22
- package/bundles/ng-nest-ui-drawer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-dropdown.umd.js +32 -27
- package/bundles/ng-nest-ui-dropdown.umd.js.map +1 -1
- package/bundles/ng-nest-ui-empty.umd.js +25 -21
- package/bundles/ng-nest-ui-empty.umd.js.map +1 -1
- package/bundles/ng-nest-ui-examples.umd.js +12 -14
- package/bundles/ng-nest-ui-examples.umd.js.map +1 -1
- package/bundles/ng-nest-ui-find.umd.js +45 -27
- package/bundles/ng-nest-ui-find.umd.js.map +1 -1
- package/bundles/ng-nest-ui-form.umd.js +36 -36
- package/bundles/ng-nest-ui-form.umd.js.map +1 -1
- package/bundles/ng-nest-ui-highlight.umd.js +27 -22
- package/bundles/ng-nest-ui-highlight.umd.js.map +1 -1
- package/bundles/ng-nest-ui-i18n.umd.js +537 -138
- package/bundles/ng-nest-ui-i18n.umd.js.map +1 -1
- package/bundles/ng-nest-ui-icon.umd.js +34 -29
- package/bundles/ng-nest-ui-icon.umd.js.map +1 -1
- package/bundles/ng-nest-ui-inner.umd.js +26 -22
- package/bundles/ng-nest-ui-inner.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input-number.umd.js +44 -24
- package/bundles/ng-nest-ui-input-number.umd.js.map +1 -1
- package/bundles/ng-nest-ui-input.umd.js +65 -32
- package/bundles/ng-nest-ui-input.umd.js.map +1 -1
- package/bundles/ng-nest-ui-layout.umd.js +31 -27
- package/bundles/ng-nest-ui-layout.umd.js.map +1 -1
- package/bundles/ng-nest-ui-link.umd.js +25 -21
- package/bundles/ng-nest-ui-link.umd.js.map +1 -1
- package/bundles/ng-nest-ui-list.umd.js +35 -30
- package/bundles/ng-nest-ui-list.umd.js.map +1 -1
- package/bundles/ng-nest-ui-loading.umd.js +27 -22
- package/bundles/ng-nest-ui-loading.umd.js.map +1 -1
- package/bundles/ng-nest-ui-menu.umd.js +37 -33
- package/bundles/ng-nest-ui-menu.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message-box.umd.js +53 -47
- package/bundles/ng-nest-ui-message-box.umd.js.map +1 -1
- package/bundles/ng-nest-ui-message.umd.js +26 -22
- package/bundles/ng-nest-ui-message.umd.js.map +1 -1
- package/bundles/ng-nest-ui-notification.umd.js +26 -22
- package/bundles/ng-nest-ui-notification.umd.js.map +1 -1
- package/bundles/ng-nest-ui-outlet.umd.js +22 -18
- package/bundles/ng-nest-ui-outlet.umd.js.map +1 -1
- package/bundles/ng-nest-ui-page-header.umd.js +25 -21
- package/bundles/ng-nest-ui-page-header.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pagination.umd.js +115 -26
- package/bundles/ng-nest-ui-pagination.umd.js.map +1 -1
- package/bundles/ng-nest-ui-pattern.umd.js +12 -14
- package/bundles/ng-nest-ui-pattern.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popconfirm.umd.js +25 -21
- package/bundles/ng-nest-ui-popconfirm.umd.js.map +1 -1
- package/bundles/ng-nest-ui-popover.umd.js +31 -26
- package/bundles/ng-nest-ui-popover.umd.js.map +1 -1
- package/bundles/ng-nest-ui-portal.umd.js +22 -18
- package/bundles/ng-nest-ui-portal.umd.js.map +1 -1
- package/bundles/ng-nest-ui-progress.umd.js +28 -23
- package/bundles/ng-nest-ui-progress.umd.js.map +1 -1
- package/bundles/ng-nest-ui-radio.umd.js +28 -23
- package/bundles/ng-nest-ui-radio.umd.js.map +1 -1
- package/bundles/ng-nest-ui-rate.umd.js +30 -26
- package/bundles/ng-nest-ui-rate.umd.js.map +1 -1
- package/bundles/ng-nest-ui-result.umd.js +25 -21
- package/bundles/ng-nest-ui-result.umd.js.map +1 -1
- package/bundles/ng-nest-ui-ripple.umd.js +25 -21
- package/bundles/ng-nest-ui-ripple.umd.js.map +1 -1
- package/bundles/ng-nest-ui-select.umd.js +53 -34
- package/bundles/ng-nest-ui-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-skeleton.umd.js +27 -22
- package/bundles/ng-nest-ui-skeleton.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider-select.umd.js +25 -21
- package/bundles/ng-nest-ui-slider-select.umd.js.map +1 -1
- package/bundles/ng-nest-ui-slider.umd.js +32 -29
- package/bundles/ng-nest-ui-slider.umd.js.map +1 -1
- package/bundles/ng-nest-ui-statistic.umd.js +37 -31
- package/bundles/ng-nest-ui-statistic.umd.js.map +1 -1
- package/bundles/ng-nest-ui-steps.umd.js +35 -27
- package/bundles/ng-nest-ui-steps.umd.js.map +1 -1
- package/bundles/ng-nest-ui-switch.umd.js +25 -21
- package/bundles/ng-nest-ui-switch.umd.js.map +1 -1
- package/bundles/ng-nest-ui-table.umd.js +58 -51
- package/bundles/ng-nest-ui-table.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tabs.umd.js +39 -34
- package/bundles/ng-nest-ui-tabs.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tag.umd.js +36 -21
- package/bundles/ng-nest-ui-tag.umd.js.map +1 -1
- package/bundles/ng-nest-ui-text-retract.umd.js +27 -22
- package/bundles/ng-nest-ui-text-retract.umd.js.map +1 -1
- package/bundles/ng-nest-ui-textarea.umd.js +27 -32
- package/bundles/ng-nest-ui-textarea.umd.js.map +1 -1
- package/bundles/ng-nest-ui-theme.umd.js +26 -22
- package/bundles/ng-nest-ui-theme.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-ago.umd.js +12 -14
- package/bundles/ng-nest-ui-time-ago.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-picker.umd.js +87 -46
- package/bundles/ng-nest-ui-time-picker.umd.js.map +1 -1
- package/bundles/ng-nest-ui-time-range.umd.js +22 -18
- package/bundles/ng-nest-ui-time-range.umd.js.map +1 -1
- package/bundles/ng-nest-ui-timeline.umd.js +28 -23
- package/bundles/ng-nest-ui-timeline.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tooltip.umd.js +31 -26
- package/bundles/ng-nest-ui-tooltip.umd.js.map +1 -1
- package/bundles/ng-nest-ui-transfer.umd.js +28 -23
- package/bundles/ng-nest-ui-transfer.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree-file.umd.js +25 -21
- package/bundles/ng-nest-ui-tree-file.umd.js.map +1 -1
- package/bundles/ng-nest-ui-tree.umd.js +39 -34
- package/bundles/ng-nest-ui-tree.umd.js.map +1 -1
- package/bundles/ng-nest-ui-typography.umd.js +25 -21
- package/bundles/ng-nest-ui-typography.umd.js.map +1 -1
- package/bundles/ng-nest-ui-upload.umd.js +32 -27
- package/bundles/ng-nest-ui-upload.umd.js.map +1 -1
- package/bundles/ng-nest-ui.umd.js +83 -243
- package/bundles/ng-nest-ui.umd.js.map +1 -1
- package/button/buttons.component.d.ts +1 -1
- package/calendar/calendar.component.d.ts +2 -2
- package/carousel/carousel-panel.component.d.ts +2 -3
- package/carousel/carousel.component.d.ts +1 -1
- package/cascade/cascade-portal.component.d.ts +13 -7
- package/cascade/cascade.component.d.ts +7 -1
- package/cascade/cascade.property.d.ts +33 -3
- package/checkbox/checkbox.component.d.ts +1 -1
- package/color/color.component.d.ts +2 -2
- package/color-picker/color-picker-portal.component.d.ts +3 -3
- package/color-picker/color-picker.component.d.ts +10 -4
- package/color-picker/color-picker.property.d.ts +12 -2
- package/comment/comment.component.d.ts +1 -1
- package/core/config/config.d.ts +25 -0
- package/core/functions/clone-deep.d.ts +1 -0
- package/core/functions/drop.d.ts +1 -0
- package/core/functions/flex.d.ts +1 -1
- package/core/functions/has-in.d.ts +1 -0
- package/core/functions/order-by.d.ts +1 -0
- package/core/functions/public-api.d.ts +5 -0
- package/core/functions/remove.d.ts +1 -0
- package/core/services/reuse-strategy.service.d.ts +1 -1
- package/crumb/crumb.component.d.ts +1 -1
- package/date-picker/date-picker-portal.component.d.ts +4 -11
- package/date-picker/date-picker.component.d.ts +3 -4
- package/date-picker/date-picker.property.d.ts +55 -30
- package/date-picker/date-range-portal.component.d.ts +10 -6
- package/date-picker/date-range.component.d.ts +15 -11
- package/date-picker/picker-date.component.d.ts +13 -4
- package/date-picker/picker-month.component.d.ts +6 -3
- package/date-picker/picker-year.component.d.ts +4 -2
- package/description/description.component.d.ts +2 -4
- package/dropdown/dropdown-portal.component.d.ts +1 -3
- package/dropdown/dropdown.component.d.ts +2 -2
- package/esm2015/affix/affix.component.js +3 -3
- package/esm2015/affix/affix.module.js +4 -4
- package/esm2015/affix/affix.property.js +3 -3
- package/esm2015/alert/alert.component.js +4 -4
- package/esm2015/alert/alert.module.js +4 -4
- package/esm2015/alert/alert.property.js +3 -3
- package/esm2015/anchor/anchor.component.js +5 -5
- package/esm2015/anchor/anchor.module.js +4 -4
- package/esm2015/anchor/anchor.property.js +4 -4
- package/esm2015/api/api.component.js +3 -3
- package/esm2015/api/api.module.js +4 -4
- package/esm2015/auto-complete/auto-complete-portal.component.js +6 -6
- package/esm2015/auto-complete/auto-complete.component.js +20 -7
- package/esm2015/auto-complete/auto-complete.module.js +4 -4
- package/esm2015/auto-complete/auto-complete.property.js +10 -4
- package/esm2015/avatar/avatar.component.js +3 -3
- package/esm2015/avatar/avatar.module.js +4 -4
- package/esm2015/avatar/avatar.property.js +3 -3
- package/esm2015/back-top/back-top.component.js +6 -6
- package/esm2015/back-top/back-top.module.js +4 -4
- package/esm2015/back-top/back-top.property.js +3 -3
- package/esm2015/badge/badge.component.js +6 -5
- package/esm2015/badge/badge.module.js +4 -4
- package/esm2015/badge/badge.property.js +3 -3
- package/esm2015/base-form/base-form.component.js +5 -5
- package/esm2015/base-form/base-form.module.js +4 -4
- package/esm2015/base-form/base-form.property.js +29 -5
- package/esm2015/border/border.component.js +3 -3
- package/esm2015/border/border.module.js +4 -4
- package/esm2015/button/button.component.js +10 -7
- package/esm2015/button/button.module.js +4 -4
- package/esm2015/button/button.property.js +6 -6
- package/esm2015/button/buttons.component.js +4 -4
- package/esm2015/calendar/calendar.component.js +8 -7
- package/esm2015/calendar/calendar.module.js +4 -4
- package/esm2015/calendar/calendar.property.js +3 -3
- package/esm2015/card/card.component.js +3 -3
- package/esm2015/card/card.module.js +4 -4
- package/esm2015/card/card.property.js +3 -3
- package/esm2015/carousel/carousel-panel.component.js +15 -14
- package/esm2015/carousel/carousel.component.js +7 -6
- package/esm2015/carousel/carousel.module.js +4 -4
- package/esm2015/carousel/carousel.property.js +6 -6
- package/esm2015/cascade/cascade-portal.component.js +23 -11
- package/esm2015/cascade/cascade.component.js +25 -9
- package/esm2015/cascade/cascade.module.js +4 -4
- package/esm2015/cascade/cascade.property.js +28 -5
- package/esm2015/checkbox/checkbox.component.js +7 -6
- package/esm2015/checkbox/checkbox.module.js +4 -4
- package/esm2015/checkbox/checkbox.property.js +4 -4
- package/esm2015/collapse/collapse-panel.component.js +4 -4
- package/esm2015/collapse/collapse.component.js +3 -3
- package/esm2015/collapse/collapse.module.js +4 -4
- package/esm2015/collapse/collapse.property.js +6 -6
- package/esm2015/color/color.component.js +5 -5
- package/esm2015/color/color.module.js +4 -4
- package/esm2015/color/color.property.js +3 -3
- package/esm2015/color-picker/color-picker-portal.component.js +5 -5
- package/esm2015/color-picker/color-picker.component.js +33 -14
- package/esm2015/color-picker/color-picker.module.js +4 -4
- package/esm2015/color-picker/color-picker.property.js +16 -5
- package/esm2015/comment/comment-reply.component.js +3 -3
- package/esm2015/comment/comment.component.js +7 -6
- package/esm2015/comment/comment.module.js +4 -4
- package/esm2015/comment/comment.property.js +6 -6
- package/esm2015/container/aside.component.js +3 -3
- package/esm2015/container/container.component.js +5 -5
- package/esm2015/container/container.module.js +4 -4
- package/esm2015/container/container.property.js +12 -12
- package/esm2015/container/footer.component.js +3 -3
- package/esm2015/container/header.component.js +3 -3
- package/esm2015/container/main.component.js +3 -3
- package/esm2015/core/animation/fade.js +1 -1
- package/esm2015/core/config/config.js +1 -1
- package/esm2015/core/config/config.service.js +3 -3
- package/esm2015/core/functions/clone-deep.js +12 -0
- package/esm2015/core/functions/drop.js +8 -0
- package/esm2015/core/functions/flex.js +18 -7
- package/esm2015/core/functions/has-in.js +4 -0
- package/esm2015/core/functions/order-by.js +31 -0
- package/esm2015/core/functions/public-api.js +6 -1
- package/esm2015/core/functions/remove.js +15 -0
- package/esm2015/core/services/http.service.js +5 -5
- package/esm2015/core/services/preloading-strategy.service.js +5 -5
- package/esm2015/core/services/reuse-strategy.service.js +2 -2
- package/esm2015/core/services/storage.service.js +3 -3
- package/esm2015/core/theme/theme.service.js +3 -3
- package/esm2015/crumb/crumb.component.js +7 -6
- package/esm2015/crumb/crumb.module.js +4 -4
- package/esm2015/crumb/crumb.property.js +3 -3
- package/esm2015/date-picker/date-picker-portal.component.js +11 -43
- package/esm2015/date-picker/date-picker.component.js +13 -14
- package/esm2015/date-picker/date-picker.module.js +4 -4
- package/esm2015/date-picker/date-picker.property.js +102 -38
- package/esm2015/date-picker/date-range-portal.component.js +41 -20
- package/esm2015/date-picker/date-range.component.js +66 -47
- package/esm2015/date-picker/picker-date.component.js +50 -15
- package/esm2015/date-picker/picker-month.component.js +25 -9
- package/esm2015/date-picker/picker-year.component.js +21 -9
- package/esm2015/description/description-item.component.js +4 -4
- package/esm2015/description/description.component.js +8 -9
- package/esm2015/description/description.module.js +4 -4
- package/esm2015/description/description.property.js +6 -6
- package/esm2015/dialog/dialog.component.js +6 -5
- package/esm2015/dialog/dialog.module.js +4 -4
- package/esm2015/dialog/dialog.property.js +4 -4
- package/esm2015/doc/doc.component.js +3 -3
- package/esm2015/doc/doc.module.js +4 -4
- package/esm2015/drawer/drawer.component.js +6 -5
- package/esm2015/drawer/drawer.module.js +4 -4
- package/esm2015/drawer/drawer.property.js +3 -3
- package/esm2015/dropdown/dropdown-portal.component.js +5 -5
- package/esm2015/dropdown/dropdown.component.js +7 -6
- package/esm2015/dropdown/dropdown.module.js +4 -4
- package/esm2015/dropdown/dropdown.property.js +3 -3
- package/esm2015/empty/empty.component.js +3 -3
- package/esm2015/empty/empty.module.js +4 -4
- package/esm2015/empty/empty.property.js +3 -3
- package/esm2015/examples/examples.component.js +3 -3
- package/esm2015/examples/examples.module.js +4 -4
- package/esm2015/find/find.component.js +13 -10
- package/esm2015/find/find.module.js +4 -4
- package/esm2015/find/find.property.js +16 -5
- package/esm2015/form/control.component.js +4 -4
- package/esm2015/form/form.component.js +9 -8
- package/esm2015/form/form.module.js +4 -4
- package/esm2015/form/form.property.js +8 -13
- package/esm2015/highlight/highlight.component.js +6 -5
- package/esm2015/highlight/highlight.module.js +4 -4
- package/esm2015/highlight/highlight.property.js +4 -4
- package/esm2015/i18n/i18n.directive.js +6 -5
- package/esm2015/i18n/i18n.module.js +4 -4
- package/esm2015/i18n/i18n.pipe.js +3 -3
- package/esm2015/i18n/i18n.service.js +3 -3
- package/esm2015/i18n/languages/ar_EG.js +11 -3
- package/esm2015/i18n/languages/bg_BG.js +11 -3
- package/esm2015/i18n/languages/ca_ES.js +11 -3
- package/esm2015/i18n/languages/cs_CZ.js +11 -3
- package/esm2015/i18n/languages/da_DK.js +11 -3
- package/esm2015/i18n/languages/de_DE.js +11 -3
- package/esm2015/i18n/languages/el_GR.js +11 -3
- package/esm2015/i18n/languages/en_GB.js +11 -3
- package/esm2015/i18n/languages/en_US.js +7 -2
- package/esm2015/i18n/languages/es_ES.js +11 -3
- package/esm2015/i18n/languages/et_EE.js +11 -3
- package/esm2015/i18n/languages/fa_IR.js +11 -3
- package/esm2015/i18n/languages/fi_FI.js +11 -3
- package/esm2015/i18n/languages/fr_BE.js +10 -2
- package/esm2015/i18n/languages/fr_FR.js +11 -3
- package/esm2015/i18n/languages/he_IL.js +11 -3
- package/esm2015/i18n/languages/hi_IN.js +11 -3
- package/esm2015/i18n/languages/hr_HR.js +11 -3
- package/esm2015/i18n/languages/hu_HU.js +11 -3
- package/esm2015/i18n/languages/hy_AM.js +11 -3
- package/esm2015/i18n/languages/id_ID.js +11 -3
- package/esm2015/i18n/languages/is_IS.js +11 -3
- package/esm2015/i18n/languages/it_IT.js +11 -3
- package/esm2015/i18n/languages/ja_JP.js +11 -3
- package/esm2015/i18n/languages/ka_GE.js +11 -3
- package/esm2015/i18n/languages/kn_IN.js +11 -3
- package/esm2015/i18n/languages/ko_KR.js +11 -3
- package/esm2015/i18n/languages/ku_IQ.js +11 -3
- package/esm2015/i18n/languages/lv_LV.js +11 -3
- package/esm2015/i18n/languages/mn_MN.js +11 -3
- package/esm2015/i18n/languages/ms_MY.js +11 -3
- package/esm2015/i18n/languages/nb_NO.js +11 -3
- package/esm2015/i18n/languages/ne_NP.js +11 -3
- package/esm2015/i18n/languages/nl_BE.js +11 -3
- package/esm2015/i18n/languages/nl_NL.js +11 -3
- package/esm2015/i18n/languages/pl_PL.js +11 -3
- package/esm2015/i18n/languages/pt_BR.js +11 -3
- package/esm2015/i18n/languages/pt_PT.js +11 -3
- package/esm2015/i18n/languages/ro_RO.js +11 -3
- package/esm2015/i18n/languages/ru_RU.js +11 -3
- package/esm2015/i18n/languages/sk_SK.js +11 -3
- package/esm2015/i18n/languages/sl_SI.js +11 -3
- package/esm2015/i18n/languages/sr_RS.js +11 -3
- package/esm2015/i18n/languages/sv_SE.js +11 -3
- package/esm2015/i18n/languages/ta_IN.js +11 -3
- package/esm2015/i18n/languages/th_TH.js +29 -21
- package/esm2015/i18n/languages/tr_TR.js +11 -3
- package/esm2015/i18n/languages/uk_UA.js +11 -3
- package/esm2015/i18n/languages/vi_VN.js +11 -3
- package/esm2015/i18n/languages/zh_CN.js +6 -2
- package/esm2015/i18n/languages/zh_TW.js +10 -3
- package/esm2015/icon/icon.component.js +7 -6
- package/esm2015/icon/icon.module.js +4 -4
- package/esm2015/icon/icon.property.js +3 -3
- package/esm2015/icon/icon.service.js +6 -6
- package/esm2015/inner/inner.component.js +5 -5
- package/esm2015/inner/inner.module.js +4 -4
- package/esm2015/inner/inner.property.js +3 -3
- package/esm2015/input/input-group.component.js +4 -6
- package/esm2015/input/input.component.js +20 -7
- package/esm2015/input/input.module.js +4 -4
- package/esm2015/input/input.property.js +14 -7
- package/esm2015/input-number/input-number.component.js +9 -5
- package/esm2015/input-number/input-number.module.js +7 -6
- package/esm2015/input-number/input-number.property.js +17 -5
- package/esm2015/layout/col.component.js +3 -3
- package/esm2015/layout/layout.module.js +4 -4
- package/esm2015/layout/layout.property.js +6 -6
- package/esm2015/layout/row.component.js +3 -3
- package/esm2015/link/link.component.js +3 -3
- package/esm2015/link/link.module.js +4 -4
- package/esm2015/link/link.property.js +3 -3
- package/esm2015/list/list-option.component.js +3 -3
- package/esm2015/list/list.component.js +8 -7
- package/esm2015/list/list.module.js +4 -4
- package/esm2015/list/list.property.js +7 -7
- package/esm2015/loading/loading.component.js +6 -5
- package/esm2015/loading/loading.module.js +4 -4
- package/esm2015/loading/loading.property.js +3 -3
- package/esm2015/menu/menu-node.component.js +4 -4
- package/esm2015/menu/menu.component.js +10 -10
- package/esm2015/menu/menu.module.js +4 -4
- package/esm2015/menu/menu.property.js +6 -6
- package/esm2015/message/message.component.js +5 -5
- package/esm2015/message/message.module.js +4 -4
- package/esm2015/message/message.service.js +3 -3
- package/esm2015/message-box/message-box.component.js +20 -24
- package/esm2015/message-box/message-box.module.js +4 -4
- package/esm2015/message-box/message-box.service.js +10 -8
- package/esm2015/notification/notification.component.js +5 -5
- package/esm2015/notification/notification.module.js +4 -4
- package/esm2015/notification/notification.property.js +1 -1
- package/esm2015/notification/notification.service.js +3 -3
- package/esm2015/outlet/outlet.directive.js +3 -3
- package/esm2015/outlet/outlet.module.js +4 -4
- package/esm2015/page-header/page-header.component.js +3 -3
- package/esm2015/page-header/page-header.module.js +4 -4
- package/esm2015/page-header/page-header.property.js +3 -3
- package/esm2015/pagination/pagination.component.js +45 -7
- package/esm2015/pagination/pagination.module.js +10 -6
- package/esm2015/pagination/pagination.property.js +52 -4
- package/esm2015/pattern/pattern.component.js +3 -3
- package/esm2015/pattern/pattern.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.component.js +3 -3
- package/esm2015/popconfirm/popconfirm.module.js +4 -4
- package/esm2015/popconfirm/popconfirm.property.js +3 -3
- package/esm2015/popover/popover-portal.component.js +4 -4
- package/esm2015/popover/popover.directive.js +7 -6
- package/esm2015/popover/popover.module.js +4 -4
- package/esm2015/popover/popover.property.js +3 -3
- package/esm2015/portal/portal.module.js +4 -4
- package/esm2015/portal/portal.service.js +3 -3
- package/esm2015/progress/progress.component.js +7 -6
- package/esm2015/progress/progress.module.js +4 -4
- package/esm2015/progress/progress.property.js +3 -3
- package/esm2015/radio/radio.component.js +7 -6
- package/esm2015/radio/radio.module.js +4 -4
- package/esm2015/radio/radio.property.js +4 -4
- package/esm2015/rate/rate.component.js +9 -9
- package/esm2015/rate/rate.module.js +4 -4
- package/esm2015/rate/rate.property.js +3 -3
- package/esm2015/result/result.component.js +3 -3
- package/esm2015/result/result.module.js +4 -4
- package/esm2015/result/result.property.js +3 -3
- package/esm2015/ripple/ripple.directive.js +4 -4
- package/esm2015/ripple/ripple.module.js +4 -4
- package/esm2015/ripple/ripple.property.js +4 -4
- package/esm2015/select/select-portal.component.js +6 -6
- package/esm2015/select/select.component.js +15 -11
- package/esm2015/select/select.module.js +4 -4
- package/esm2015/select/select.property.js +15 -4
- package/esm2015/skeleton/skeleton.component.js +6 -5
- package/esm2015/skeleton/skeleton.module.js +4 -4
- package/esm2015/skeleton/skeleton.property.js +3 -3
- package/esm2015/slider/slider.component.js +11 -12
- package/esm2015/slider/slider.module.js +4 -4
- package/esm2015/slider/slider.property.js +3 -3
- package/esm2015/slider-select/slider-select.component.js +3 -3
- package/esm2015/slider-select/slider-select.module.js +4 -4
- package/esm2015/slider-select/slider-select.property.js +3 -3
- package/esm2015/statistic/countdown.component.js +8 -7
- package/esm2015/statistic/statistic.component.js +6 -5
- package/esm2015/statistic/statistic.module.js +4 -4
- package/esm2015/statistic/statistic.property.js +6 -6
- package/esm2015/steps/steps.component.js +9 -7
- package/esm2015/steps/steps.module.js +7 -6
- package/esm2015/steps/steps.property.js +6 -4
- package/esm2015/switch/switch.component.js +3 -3
- package/esm2015/switch/switch.module.js +4 -4
- package/esm2015/switch/switch.property.js +3 -3
- package/esm2015/table/drag.directive.js +5 -5
- package/esm2015/table/table-body.component.js +7 -6
- package/esm2015/table/table-foot.component.js +4 -4
- package/esm2015/table/table-head.component.js +7 -6
- package/esm2015/table/table.component.js +9 -8
- package/esm2015/table/table.module.js +4 -4
- package/esm2015/table/table.property.js +13 -13
- package/esm2015/tabs/tab-content.component.js +3 -3
- package/esm2015/tabs/tab.component.js +4 -4
- package/esm2015/tabs/tabs.component.js +9 -8
- package/esm2015/tabs/tabs.module.js +4 -4
- package/esm2015/tabs/tabs.property.js +6 -6
- package/esm2015/tag/tag.component.js +10 -5
- package/esm2015/tag/tag.module.js +4 -4
- package/esm2015/tag/tag.property.js +10 -4
- package/esm2015/text-retract/text-retract.component.js +6 -5
- package/esm2015/text-retract/text-retract.module.js +4 -4
- package/esm2015/text-retract/text-retract.property.js +3 -3
- package/esm2015/textarea/textarea.component.js +6 -5
- package/esm2015/textarea/textarea.module.js +4 -4
- package/esm2015/textarea/textarea.property.js +4 -14
- package/esm2015/theme/theme.component.js +5 -5
- package/esm2015/theme/theme.module.js +4 -4
- package/esm2015/theme/theme.property.js +4 -4
- package/esm2015/time-ago/time-ago.module.js +4 -4
- package/esm2015/time-ago/time-ago.pipe.js +3 -3
- package/esm2015/time-picker/time-picker-frame.component.js +22 -12
- package/esm2015/time-picker/time-picker-portal.component.js +5 -5
- package/esm2015/time-picker/time-picker.component.js +31 -15
- package/esm2015/time-picker/time-picker.module.js +4 -4
- package/esm2015/time-picker/time-picker.property.js +16 -5
- package/esm2015/time-range/time-range.module.js +4 -4
- package/esm2015/time-range/time-range.pipe.js +3 -3
- package/esm2015/timeline/timeline.component.js +7 -6
- package/esm2015/timeline/timeline.module.js +4 -4
- package/esm2015/timeline/timeline.property.js +3 -3
- package/esm2015/tooltip/tooltip-portal.component.js +4 -4
- package/esm2015/tooltip/tooltip.directive.js +7 -6
- package/esm2015/tooltip/tooltip.module.js +4 -4
- package/esm2015/tooltip/tooltip.property.js +4 -4
- package/esm2015/transfer/transfer.component.js +7 -6
- package/esm2015/transfer/transfer.module.js +4 -4
- package/esm2015/transfer/transfer.property.js +3 -3
- package/esm2015/tree/tree-node.component.js +5 -5
- package/esm2015/tree/tree.component.js +11 -10
- package/esm2015/tree/tree.module.js +4 -4
- package/esm2015/tree/tree.property.js +7 -7
- package/esm2015/tree-file/tree-file.component.js +3 -3
- package/esm2015/tree-file/tree-file.module.js +4 -4
- package/esm2015/tree-file/tree-file.property.js +3 -3
- package/esm2015/typography/typography.component.js +3 -3
- package/esm2015/typography/typography.module.js +4 -4
- package/esm2015/typography/typography.property.js +3 -3
- package/esm2015/upload/upload-portal.component.js +5 -5
- package/esm2015/upload/upload.component.js +7 -6
- package/esm2015/upload/upload.module.js +4 -4
- package/esm2015/upload/upload.property.js +3 -3
- package/fesm2015/ng-nest-ui-affix.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js +10 -10
- package/fesm2015/ng-nest-ui-alert.js.map +1 -1
- package/fesm2015/ng-nest-ui-anchor.js +11 -11
- package/fesm2015/ng-nest-ui-anchor.js.map +1 -1
- package/fesm2015/ng-nest-ui-api.js +7 -7
- package/fesm2015/ng-nest-ui-auto-complete.js +37 -18
- package/fesm2015/ng-nest-ui-auto-complete.js.map +1 -1
- package/fesm2015/ng-nest-ui-avatar.js +10 -10
- package/fesm2015/ng-nest-ui-back-top.js +12 -12
- package/fesm2015/ng-nest-ui-back-top.js.map +1 -1
- package/fesm2015/ng-nest-ui-badge.js +12 -11
- package/fesm2015/ng-nest-ui-badge.js.map +1 -1
- package/fesm2015/ng-nest-ui-base-form.js +36 -12
- package/fesm2015/ng-nest-ui-base-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-border.js +7 -7
- package/fesm2015/ng-nest-ui-button.js +22 -19
- package/fesm2015/ng-nest-ui-button.js.map +1 -1
- package/fesm2015/ng-nest-ui-calendar.js +14 -13
- package/fesm2015/ng-nest-ui-calendar.js.map +1 -1
- package/fesm2015/ng-nest-ui-card.js +10 -10
- package/fesm2015/ng-nest-ui-carousel.js +28 -27
- package/fesm2015/ng-nest-ui-carousel.js.map +1 -1
- package/fesm2015/ng-nest-ui-cascade.js +80 -28
- package/fesm2015/ng-nest-ui-cascade.js.map +1 -1
- package/fesm2015/ng-nest-ui-checkbox.js +13 -12
- package/fesm2015/ng-nest-ui-checkbox.js.map +1 -1
- package/fesm2015/ng-nest-ui-collapse.js +16 -16
- package/fesm2015/ng-nest-ui-collapse.js.map +1 -1
- package/fesm2015/ng-nest-ui-color-picker.js +55 -24
- package/fesm2015/ng-nest-ui-color-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-color.js +11 -11
- package/fesm2015/ng-nest-ui-color.js.map +1 -1
- package/fesm2015/ng-nest-ui-comment.js +19 -18
- package/fesm2015/ng-nest-ui-comment.js.map +1 -1
- package/fesm2015/ng-nest-ui-container.js +32 -32
- package/fesm2015/ng-nest-ui-container.js.map +1 -1
- package/fesm2015/ng-nest-ui-core.js +106 -25
- package/fesm2015/ng-nest-ui-core.js.map +1 -1
- package/fesm2015/ng-nest-ui-crumb.js +13 -12
- package/fesm2015/ng-nest-ui-crumb.js.map +1 -1
- package/fesm2015/ng-nest-ui-date-picker.js +325 -190
- package/fesm2015/ng-nest-ui-date-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-description.js +21 -22
- package/fesm2015/ng-nest-ui-description.js.map +1 -1
- package/fesm2015/ng-nest-ui-dialog.js +12 -11
- package/fesm2015/ng-nest-ui-dialog.js.map +1 -1
- package/fesm2015/ng-nest-ui-doc.js +7 -7
- package/fesm2015/ng-nest-ui-drawer.js +12 -11
- package/fesm2015/ng-nest-ui-drawer.js.map +1 -1
- package/fesm2015/ng-nest-ui-dropdown.js +17 -16
- package/fesm2015/ng-nest-ui-dropdown.js.map +1 -1
- package/fesm2015/ng-nest-ui-empty.js +10 -10
- package/fesm2015/ng-nest-ui-examples.js +7 -7
- package/fesm2015/ng-nest-ui-find.js +31 -17
- package/fesm2015/ng-nest-ui-find.js.map +1 -1
- package/fesm2015/ng-nest-ui-form.js +22 -26
- package/fesm2015/ng-nest-ui-form.js.map +1 -1
- package/fesm2015/ng-nest-ui-highlight.js +12 -11
- package/fesm2015/ng-nest-ui-highlight.js.map +1 -1
- package/fesm2015/ng-nest-ui-i18n.js +532 -131
- package/fesm2015/ng-nest-ui-i18n.js.map +1 -1
- package/fesm2015/ng-nest-ui-icon.js +18 -18
- package/fesm2015/ng-nest-ui-icon.js.map +1 -1
- package/fesm2015/ng-nest-ui-inner.js +11 -11
- package/fesm2015/ng-nest-ui-inner.js.map +1 -1
- package/fesm2015/ng-nest-ui-input-number.js +31 -14
- package/fesm2015/ng-nest-ui-input-number.js.map +1 -1
- package/fesm2015/ng-nest-ui-input.js +39 -21
- package/fesm2015/ng-nest-ui-input.js.map +1 -1
- package/fesm2015/ng-nest-ui-layout.js +16 -16
- package/fesm2015/ng-nest-ui-link.js +10 -10
- package/fesm2015/ng-nest-ui-list.js +20 -19
- package/fesm2015/ng-nest-ui-list.js.map +1 -1
- package/fesm2015/ng-nest-ui-loading.js +12 -11
- package/fesm2015/ng-nest-ui-loading.js.map +1 -1
- package/fesm2015/ng-nest-ui-menu.js +22 -22
- package/fesm2015/ng-nest-ui-menu.js.map +1 -1
- package/fesm2015/ng-nest-ui-message-box.js +32 -34
- package/fesm2015/ng-nest-ui-message-box.js.map +1 -1
- package/fesm2015/ng-nest-ui-message.js +11 -11
- package/fesm2015/ng-nest-ui-message.js.map +1 -1
- package/fesm2015/ng-nest-ui-notification.js +11 -11
- package/fesm2015/ng-nest-ui-notification.js.map +1 -1
- package/fesm2015/ng-nest-ui-outlet.js +7 -7
- package/fesm2015/ng-nest-ui-page-header.js +10 -10
- package/fesm2015/ng-nest-ui-pagination.js +104 -14
- package/fesm2015/ng-nest-ui-pagination.js.map +1 -1
- package/fesm2015/ng-nest-ui-pattern.js +7 -7
- package/fesm2015/ng-nest-ui-popconfirm.js +10 -10
- package/fesm2015/ng-nest-ui-popover.js +16 -15
- package/fesm2015/ng-nest-ui-popover.js.map +1 -1
- package/fesm2015/ng-nest-ui-portal.js +7 -7
- package/fesm2015/ng-nest-ui-progress.js +13 -12
- package/fesm2015/ng-nest-ui-progress.js.map +1 -1
- package/fesm2015/ng-nest-ui-radio.js +13 -12
- package/fesm2015/ng-nest-ui-radio.js.map +1 -1
- package/fesm2015/ng-nest-ui-rate.js +15 -15
- package/fesm2015/ng-nest-ui-rate.js.map +1 -1
- package/fesm2015/ng-nest-ui-result.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js +10 -10
- package/fesm2015/ng-nest-ui-ripple.js.map +1 -1
- package/fesm2015/ng-nest-ui-select.js +37 -22
- package/fesm2015/ng-nest-ui-select.js.map +1 -1
- package/fesm2015/ng-nest-ui-skeleton.js +12 -11
- package/fesm2015/ng-nest-ui-skeleton.js.map +1 -1
- package/fesm2015/ng-nest-ui-slider-select.js +10 -10
- package/fesm2015/ng-nest-ui-slider.js +17 -18
- package/fesm2015/ng-nest-ui-slider.js.map +1 -1
- package/fesm2015/ng-nest-ui-statistic.js +22 -20
- package/fesm2015/ng-nest-ui-statistic.js.map +1 -1
- package/fesm2015/ng-nest-ui-steps.js +19 -14
- package/fesm2015/ng-nest-ui-steps.js.map +1 -1
- package/fesm2015/ng-nest-ui-switch.js +10 -10
- package/fesm2015/ng-nest-ui-table.js +43 -40
- package/fesm2015/ng-nest-ui-table.js.map +1 -1
- package/fesm2015/ng-nest-ui-tabs.js +24 -23
- package/fesm2015/ng-nest-ui-tabs.js.map +1 -1
- package/fesm2015/ng-nest-ui-tag.js +22 -11
- package/fesm2015/ng-nest-ui-tag.js.map +1 -1
- package/fesm2015/ng-nest-ui-text-retract.js +12 -11
- package/fesm2015/ng-nest-ui-text-retract.js.map +1 -1
- package/fesm2015/ng-nest-ui-textarea.js +12 -21
- package/fesm2015/ng-nest-ui-textarea.js.map +1 -1
- package/fesm2015/ng-nest-ui-theme.js +11 -11
- package/fesm2015/ng-nest-ui-theme.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-ago.js +7 -7
- package/fesm2015/ng-nest-ui-time-picker.js +73 -36
- package/fesm2015/ng-nest-ui-time-picker.js.map +1 -1
- package/fesm2015/ng-nest-ui-time-range.js +7 -7
- package/fesm2015/ng-nest-ui-timeline.js +13 -12
- package/fesm2015/ng-nest-ui-timeline.js.map +1 -1
- package/fesm2015/ng-nest-ui-tooltip.js +16 -15
- package/fesm2015/ng-nest-ui-tooltip.js.map +1 -1
- package/fesm2015/ng-nest-ui-transfer.js +13 -12
- package/fesm2015/ng-nest-ui-transfer.js.map +1 -1
- package/fesm2015/ng-nest-ui-tree-file.js +10 -10
- package/fesm2015/ng-nest-ui-tree.js +24 -23
- package/fesm2015/ng-nest-ui-tree.js.map +1 -1
- package/fesm2015/ng-nest-ui-typography.js +10 -10
- package/fesm2015/ng-nest-ui-upload.js +17 -16
- package/fesm2015/ng-nest-ui-upload.js.map +1 -1
- package/find/find.component.d.ts +1 -1
- package/find/find.property.d.ts +22 -2
- package/form/control.component.d.ts +1 -1
- package/form/form.component.d.ts +1 -1
- package/form/form.property.d.ts +6 -6
- package/i18n/languages/ar_EG.d.ts +8 -0
- package/i18n/languages/bg_BG.d.ts +8 -0
- package/i18n/languages/ca_ES.d.ts +8 -0
- package/i18n/languages/cs_CZ.d.ts +8 -0
- package/i18n/languages/da_DK.d.ts +8 -0
- package/i18n/languages/de_DE.d.ts +8 -0
- package/i18n/languages/el_GR.d.ts +8 -0
- package/i18n/languages/en_GB.d.ts +8 -0
- package/i18n/languages/en_US.d.ts +5 -0
- package/i18n/languages/es_ES.d.ts +8 -0
- package/i18n/languages/et_EE.d.ts +8 -0
- package/i18n/languages/fa_IR.d.ts +8 -0
- package/i18n/languages/fi_FI.d.ts +8 -0
- package/i18n/languages/fr_BE.d.ts +8 -0
- package/i18n/languages/fr_FR.d.ts +8 -0
- package/i18n/languages/he_IL.d.ts +8 -0
- package/i18n/languages/hi_IN.d.ts +8 -0
- package/i18n/languages/hr_HR.d.ts +8 -0
- package/i18n/languages/hu_HU.d.ts +8 -0
- package/i18n/languages/hy_AM.d.ts +8 -0
- package/i18n/languages/id_ID.d.ts +8 -0
- package/i18n/languages/is_IS.d.ts +8 -0
- package/i18n/languages/it_IT.d.ts +8 -0
- package/i18n/languages/ja_JP.d.ts +8 -0
- package/i18n/languages/ka_GE.d.ts +8 -0
- package/i18n/languages/kn_IN.d.ts +8 -0
- package/i18n/languages/ko_KR.d.ts +8 -0
- package/i18n/languages/ku_IQ.d.ts +8 -0
- package/i18n/languages/lv_LV.d.ts +8 -0
- package/i18n/languages/mn_MN.d.ts +8 -0
- package/i18n/languages/ms_MY.d.ts +8 -0
- package/i18n/languages/nb_NO.d.ts +8 -0
- package/i18n/languages/ne_NP.d.ts +8 -0
- package/i18n/languages/nl_BE.d.ts +8 -0
- package/i18n/languages/nl_NL.d.ts +8 -0
- package/i18n/languages/pl_PL.d.ts +8 -0
- package/i18n/languages/pt_BR.d.ts +8 -0
- package/i18n/languages/pt_PT.d.ts +8 -0
- package/i18n/languages/ro_RO.d.ts +8 -0
- package/i18n/languages/ru_RU.d.ts +8 -0
- package/i18n/languages/sk_SK.d.ts +8 -0
- package/i18n/languages/sl_SI.d.ts +8 -0
- package/i18n/languages/sr_RS.d.ts +8 -0
- package/i18n/languages/sv_SE.d.ts +8 -0
- package/i18n/languages/ta_IN.d.ts +8 -0
- package/i18n/languages/th_TH.d.ts +8 -0
- package/i18n/languages/tr_TR.d.ts +8 -0
- package/i18n/languages/uk_UA.d.ts +8 -0
- package/i18n/languages/vi_VN.d.ts +8 -0
- package/i18n/languages/zh_CN.d.ts +4 -0
- package/i18n/languages/zh_TW.d.ts +7 -0
- package/inner/inner.component.d.ts +1 -1
- package/input/input-group.component.d.ts +2 -4
- package/input/input.component.d.ts +3 -1
- package/input/input.property.d.ts +13 -1
- package/input-number/input-number.component.d.ts +3 -0
- package/input-number/input-number.module.d.ts +4 -3
- package/input-number/input-number.property.d.ts +12 -2
- package/list/list.component.d.ts +2 -2
- package/menu/menu.component.d.ts +1 -1
- package/message/message.component.d.ts +1 -1
- package/message-box/message-box.component.d.ts +2 -1
- package/notification/notification.component.d.ts +1 -1
- package/package.json +1 -1
- package/pagination/pagination.component.d.ts +5 -1
- package/pagination/pagination.module.d.ts +7 -3
- package/pagination/pagination.property.d.ts +49 -3
- package/radio/radio.component.d.ts +1 -1
- package/rate/rate.component.d.ts +5 -5
- package/select/select-portal.component.d.ts +3 -3
- package/select/select.component.d.ts +1 -1
- package/select/select.property.d.ts +12 -2
- package/slider/slider.component.d.ts +1 -1
- package/steps/steps.component.d.ts +1 -1
- package/steps/steps.module.d.ts +2 -1
- package/steps/steps.property.d.ts +7 -2
- package/table/table-body.component.d.ts +1 -1
- package/table/table-head.component.d.ts +1 -1
- package/table/table.component.d.ts +1 -1
- package/table/table.property.d.ts +10 -0
- package/tag/tag.component.d.ts +2 -1
- package/tag/tag.property.d.ts +6 -1
- package/textarea/textarea.property.d.ts +1 -6
- package/theme/theme.component.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +4 -0
- package/time-picker/time-picker-portal.component.d.ts +3 -3
- package/time-picker/time-picker.component.d.ts +5 -3
- package/time-picker/time-picker.property.d.ts +12 -2
- package/timeline/timeline.component.d.ts +1 -1
- package/transfer/transfer.component.d.ts +1 -1
- package/tree/tree-node.component.d.ts +1 -1
- package/tree/tree.component.d.ts +1 -1
- package/upload/upload.component.d.ts +3 -3
|
@@ -2,7 +2,7 @@ import { XPortalConnectedPosition } from '@ng-nest/ui/portal';
|
|
|
2
2
|
import { Subject } from 'rxjs';
|
|
3
3
|
import { Component, ViewEncapsulation, ChangeDetectionStrategy, ViewChild } from '@angular/core';
|
|
4
4
|
import { XDateRangePrefix, XDateRangeProperty } from './date-picker.property';
|
|
5
|
-
import { XIsEmpty, XIsDate, XIsNumber, XIsChange, XClearClass, XIsString } from '@ng-nest/ui/core';
|
|
5
|
+
import { XIsEmpty, XIsDate, XIsNumber, XIsChange, XClearClass, XIsString, XIsUndefined } from '@ng-nest/ui/core';
|
|
6
6
|
import { DatePipe } from '@angular/common';
|
|
7
7
|
import { takeUntil } from 'rxjs/operators';
|
|
8
8
|
import { XValueAccessor } from '@ng-nest/ui/base-form';
|
|
@@ -14,12 +14,12 @@ import * as i3 from "@angular/common";
|
|
|
14
14
|
import * as i4 from "@angular/cdk/overlay";
|
|
15
15
|
import * as i5 from "@ng-nest/ui/input";
|
|
16
16
|
import * as i6 from "@ng-nest/ui/icon";
|
|
17
|
+
import * as i7 from "@angular/forms";
|
|
17
18
|
export class XDateRangeComponent extends XDateRangeProperty {
|
|
18
|
-
constructor(renderer, configService,
|
|
19
|
+
constructor(renderer, configService, cdr, portalService, viewContainerRef, datePipe, overlay) {
|
|
19
20
|
super();
|
|
20
21
|
this.renderer = renderer;
|
|
21
22
|
this.configService = configService;
|
|
22
|
-
this.elementRef = elementRef;
|
|
23
23
|
this.cdr = cdr;
|
|
24
24
|
this.portalService = portalService;
|
|
25
25
|
this.viewContainerRef = viewContainerRef;
|
|
@@ -27,11 +27,10 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
27
27
|
this.overlay = overlay;
|
|
28
28
|
this.modelType = 'date';
|
|
29
29
|
this.isInput = false;
|
|
30
|
-
this.isFocus = false;
|
|
31
30
|
this.enter = false;
|
|
32
31
|
this.inputClearable = false;
|
|
33
32
|
this.animating = false;
|
|
34
|
-
this.displayValue =
|
|
33
|
+
this.displayValue = [];
|
|
35
34
|
this.icon = 'fto-calendar';
|
|
36
35
|
this.maxNodes = 6;
|
|
37
36
|
this.protalTobottom = true;
|
|
@@ -39,27 +38,32 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
39
38
|
this.dataChange = new Subject();
|
|
40
39
|
this.positionChange = new Subject();
|
|
41
40
|
this.closeSubject = new Subject();
|
|
41
|
+
this.startDisplay = '';
|
|
42
|
+
this.endDisplay = '';
|
|
43
|
+
this.startActive = false;
|
|
44
|
+
this.endActive = false;
|
|
42
45
|
this._unSubject = new Subject();
|
|
43
46
|
}
|
|
44
47
|
get getRequired() {
|
|
45
48
|
return this.required && XIsEmpty(this.value);
|
|
46
49
|
}
|
|
47
50
|
writeValue(value) {
|
|
48
|
-
if (
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
51
|
+
if (XIsUndefined(value))
|
|
52
|
+
value = [];
|
|
53
|
+
if (value.length > 0) {
|
|
54
|
+
if (XIsDate(value[0])) {
|
|
55
|
+
this.modelType = 'date';
|
|
56
|
+
this.numberValue = value.getTime();
|
|
57
|
+
}
|
|
58
|
+
else if (XIsNumber(value[0])) {
|
|
59
|
+
this.modelType = 'number';
|
|
60
|
+
this.numberValue = value;
|
|
61
|
+
}
|
|
62
|
+
else if (XIsString(value[0])) {
|
|
63
|
+
this.modelType = 'string';
|
|
64
|
+
const valueTime = value.map((x) => new Date(x).getTime());
|
|
65
|
+
this.numberValue = !isNaN(valueTime[0]) ? valueTime : [];
|
|
66
|
+
}
|
|
63
67
|
}
|
|
64
68
|
this.value = value;
|
|
65
69
|
this.setDisplayValue(this.numberValue);
|
|
@@ -76,7 +80,8 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
76
80
|
this.setPortal();
|
|
77
81
|
}
|
|
78
82
|
ngOnChanges(changes) {
|
|
79
|
-
|
|
83
|
+
const { type } = changes;
|
|
84
|
+
if (XIsChange(type)) {
|
|
80
85
|
this.setFormat();
|
|
81
86
|
this.setDisplayValue(this.numberValue);
|
|
82
87
|
}
|
|
@@ -86,7 +91,7 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
86
91
|
this._unSubject.unsubscribe();
|
|
87
92
|
}
|
|
88
93
|
setSubject() {
|
|
89
|
-
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe((
|
|
94
|
+
this.closeSubject.pipe(takeUntil(this._unSubject)).subscribe(() => {
|
|
90
95
|
this.closePortal();
|
|
91
96
|
});
|
|
92
97
|
}
|
|
@@ -133,9 +138,9 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
133
138
|
}
|
|
134
139
|
}
|
|
135
140
|
clearEmit() {
|
|
136
|
-
this.value =
|
|
137
|
-
this.numberValue =
|
|
138
|
-
this.displayValue =
|
|
141
|
+
this.value = [];
|
|
142
|
+
this.numberValue = [];
|
|
143
|
+
this.displayValue = [];
|
|
139
144
|
this.mleave();
|
|
140
145
|
this.valueChange.next(this.numberValue);
|
|
141
146
|
this.modelChange();
|
|
@@ -147,9 +152,9 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
147
152
|
}
|
|
148
153
|
getValue() {
|
|
149
154
|
return this.modelType === 'date'
|
|
150
|
-
? new Date(
|
|
155
|
+
? this.numberValue.map((x) => new Date(x))
|
|
151
156
|
: this.modelType === 'string'
|
|
152
|
-
? this.datePipe.transform(
|
|
157
|
+
? this.numberValue.map((x) => this.datePipe.transform(x, this.format))
|
|
153
158
|
: this.numberValue;
|
|
154
159
|
}
|
|
155
160
|
portalAttached() {
|
|
@@ -160,6 +165,7 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
160
165
|
var _a, _b;
|
|
161
166
|
if (this.portalAttached()) {
|
|
162
167
|
(_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.detach();
|
|
168
|
+
this.active = false;
|
|
163
169
|
this.cdr.detectChanges();
|
|
164
170
|
return true;
|
|
165
171
|
}
|
|
@@ -169,10 +175,14 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
169
175
|
var _a, _b;
|
|
170
176
|
(_b = (_a = this.portal) === null || _a === void 0 ? void 0 : _a.overlayRef) === null || _b === void 0 ? void 0 : _b.dispose();
|
|
171
177
|
}
|
|
172
|
-
showPortal() {
|
|
178
|
+
showPortal($event, type) {
|
|
173
179
|
var _a;
|
|
180
|
+
$event.stopPropagation();
|
|
174
181
|
if (this.disabled || this.animating)
|
|
175
182
|
return;
|
|
183
|
+
this.active = true;
|
|
184
|
+
this.startActive = type === 'start';
|
|
185
|
+
this.endActive = type === 'end';
|
|
176
186
|
const config = {
|
|
177
187
|
backdropClass: '',
|
|
178
188
|
positionStrategy: this.setPlacement(),
|
|
@@ -211,15 +221,25 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
211
221
|
positionChange: this.positionChange,
|
|
212
222
|
closePortal: () => this.closeSubject.next(),
|
|
213
223
|
destroyPortal: () => this.destroyPortal(),
|
|
214
|
-
nodeEmit: (
|
|
224
|
+
nodeEmit: (dates, sure = true) => this.onNodeClick(dates, sure),
|
|
225
|
+
startNodeEmit: (node) => this.startNodeClick(node),
|
|
226
|
+
endNodeEmit: (node) => this.endNodeClick(node),
|
|
215
227
|
animating: (ing) => (this.animating = ing)
|
|
216
228
|
});
|
|
217
229
|
componentRef.changeDetectorRef.detectChanges();
|
|
218
230
|
}
|
|
219
|
-
|
|
231
|
+
startNodeClick(node) {
|
|
232
|
+
this.startDisplay = this.datePipe.transform(node, this.format);
|
|
233
|
+
this.cdr.detectChanges();
|
|
234
|
+
}
|
|
235
|
+
endNodeClick(node) {
|
|
236
|
+
this.endDisplay = this.datePipe.transform(node, this.format);
|
|
237
|
+
this.cdr.detectChanges();
|
|
238
|
+
}
|
|
239
|
+
onNodeClick(dates, sure = true) {
|
|
220
240
|
this.isInput = false;
|
|
221
241
|
if (sure) {
|
|
222
|
-
this.numberValue =
|
|
242
|
+
this.numberValue = dates.map((x) => x.getTime());
|
|
223
243
|
this.value = this.getValue();
|
|
224
244
|
this.setDisplayValue(this.numberValue);
|
|
225
245
|
this.closeSubject.next();
|
|
@@ -227,7 +247,7 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
227
247
|
this.nodeEmit.emit(this.numberValue);
|
|
228
248
|
}
|
|
229
249
|
else {
|
|
230
|
-
this.setDisplayValue(
|
|
250
|
+
this.setDisplayValue(dates.map((x) => x.getTime()));
|
|
231
251
|
this.cdr.markForCheck();
|
|
232
252
|
}
|
|
233
253
|
}
|
|
@@ -235,16 +255,15 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
235
255
|
this.isInput = true;
|
|
236
256
|
}
|
|
237
257
|
setDisplayValue(dateNumber) {
|
|
238
|
-
if (this.isInput && isNaN(this.
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
}
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
}
|
|
258
|
+
// if (this.isInput && isNaN(this.startDisplay) && !isNaN(Date.parse(this.displayValue))) {
|
|
259
|
+
// this.displayValue = this.datePipe.transform(this.displayValue, this.format);
|
|
260
|
+
// this.numberValue = new Date(this.displayValue).getTime();
|
|
261
|
+
// this.value = this.getValue();
|
|
262
|
+
// this.modelChange();
|
|
263
|
+
// this.isInput = false;
|
|
264
|
+
// } else {
|
|
265
|
+
this.displayValue = dateNumber.map((x) => this.datePipe.transform(x, this.format));
|
|
266
|
+
// }
|
|
248
267
|
}
|
|
249
268
|
setPlacement() {
|
|
250
269
|
return this.portalService.setPlacement({
|
|
@@ -266,9 +285,9 @@ export class XDateRangeComponent extends XDateRangeProperty {
|
|
|
266
285
|
this.cdr.detectChanges();
|
|
267
286
|
}
|
|
268
287
|
}
|
|
269
|
-
/** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
270
|
-
/** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
271
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
288
|
+
/** @nocollapse */ XDateRangeComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeComponent, deps: [{ token: i0.Renderer2 }, { token: i1.XConfigService }, { token: i0.ChangeDetectorRef }, { token: i2.XPortalService }, { token: i0.ViewContainerRef }, { token: i3.DatePipe }, { token: i4.Overlay }], target: i0.ɵɵFactoryTarget.Component });
|
|
289
|
+
/** @nocollapse */ XDateRangeComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XDateRangeComponent, selector: "x-date-range", providers: [XValueAccessor(XDateRangeComponent), DatePipe], viewQueries: [{ propertyName: "dateRange", first: true, predicate: ["dateRange"], descendants: true, static: true }, { propertyName: "inputGroup", first: true, predicate: ["inputGroup"], descendants: true, static: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div #dateRange class=\"x-date-range\" [class.x-date-range-active]=\"active\">\r\n <div class=\"x-date-range-row\">\r\n <x-input-group #inputGroup class=\"x-date-range-group\" bordered=\"false\" (click)=\"showPortal($event)\">\r\n <x-input\r\n #inputStartCom\r\n type=\"text\"\r\n placeholder=\"\u5F00\u59CB\u65E5\u671F\"\r\n [(active)]=\"startActive\"\r\n (click)=\"showPortal($event, 'start')\"\r\n [(ngModel)]=\"startDisplay\"\r\n ></x-input>\r\n <x-icon type=\"fto-arrow-right\"></x-icon>\r\n <x-input\r\n #inputEndCom\r\n type=\"text\"\r\n placeholder=\"\u7ED3\u675F\u65E5\u671F\"\r\n [(active)]=\"endActive\"\r\n (click)=\"showPortal($event, 'end')\"\r\n [(ngModel)]=\"endDisplay\"\r\n ></x-input>\r\n <x-icon [type]=\"icon\"></x-icon>\r\n </x-input-group>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-date-range{display:inline-block}.x-date-range{margin:0;padding:0;width:100%}.x-date-range-row{flex:1;display:flex;align-items:center}.x-date-range-group{display:inline-flex;flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);box-shadow:var(--x-box-shadow) transparent;transition:all var(--x-animation-duration-slow)}.x-date-range-group .x-input-group{display:flex;align-items:center}.x-date-range-group .x-input-group>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2;padding:.4rem}.x-date-range-group .x-input-group>x-input{width:6rem}.x-date-range-group .x-input-group>x-input input{padding-left:0!important;padding-right:0!important;margin-left:.4rem;margin-right:.4rem}.x-date-range-group .x-input-group>x-input.x-input-active input{background-color:gray}.x-date-range-group:hover{border-color:var(--x-primary-300)}.x-date-range-active .x-date-range-group{border-color:var(--x-primary)}\n"], components: [{ type: i5.XInputGroupComponent, selector: "x-input-group" }, { type: i5.XInputComponent, selector: "x-input" }, { type: i6.XIconComponent, selector: "x-icon" }], directives: [{ type: i7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { type: i7.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
290
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XDateRangeComponent, decorators: [{
|
|
272
291
|
type: Component,
|
|
273
292
|
args: [{
|
|
274
293
|
selector: `${XDateRangePrefix}`,
|
|
@@ -278,11 +297,11 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.3", ngImpor
|
|
|
278
297
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
279
298
|
providers: [XValueAccessor(XDateRangeComponent), DatePipe]
|
|
280
299
|
}]
|
|
281
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.
|
|
300
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.XConfigService }, { type: i0.ChangeDetectorRef }, { type: i2.XPortalService }, { type: i0.ViewContainerRef }, { type: i3.DatePipe }, { type: i4.Overlay }]; }, propDecorators: { dateRange: [{
|
|
282
301
|
type: ViewChild,
|
|
283
302
|
args: ['dateRange', { static: true }]
|
|
284
303
|
}], inputGroup: [{
|
|
285
304
|
type: ViewChild,
|
|
286
305
|
args: ['inputGroup', { static: true }]
|
|
287
306
|
}] } });
|
|
288
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWdFLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDNUksT0FBTyxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBVyxXQUFXLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBRTVILE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7OztBQVUxRSxNQUFNLE9BQU8sbUJBQW9CLFNBQVEsa0JBQWtCO0lBaUR6RCxZQUNTLFFBQW1CLEVBQ25CLGFBQTZCLEVBQzVCLFVBQXNCLEVBQ3RCLEdBQXNCLEVBQ3RCLGFBQTZCLEVBQzdCLGdCQUFrQyxFQUNsQyxRQUFrQixFQUNsQixPQUFnQjtRQUV4QixLQUFLLEVBQUUsQ0FBQztRQVRELGFBQVEs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Q0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtvQkFDL0MsU0FBUyxFQUFFLENBQUMsY0FBYyxxQkFBcUIsRUFBRSxRQUFRLENBQUM7aUJBQzNEOytSQUUyQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWERhdGVQaWNrZXJQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcGlja2VyLXBvcnRhbC5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBYUG9ydGFsU2VydmljZSwgWFBvcnRhbE92ZXJsYXlSZWYsIFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL3BvcnRhbCc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25Jbml0LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBFbGVtZW50UmVmLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBWaWV3Q29udGFpbmVyUmVmLFxyXG4gIFZpZXdDaGlsZCxcclxuICBTaW1wbGVDaGFuZ2VzXHJcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhEYXRlUGlja2VyUHJlZml4LCBYRGF0ZVBpY2tlclByb3BlcnR5LCBYRGF0ZVBpY2tlck1vZGVsVHlwZSwgWERhdGVSYW5nZVByZWZpeCwgWERhdGVSYW5nZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYSXNEYXRlLCBYSXNOdW1iZXIsIFhJc0NoYW5nZSwgWENvcm5lciwgWENsZWFyQ2xhc3MsIFhJc1N0cmluZywgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWElucHV0Q29tcG9uZW50LCBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERhdGVSYW5nZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYRGF0ZVJhbmdlQ29tcG9uZW50KSwgRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgWERhdGVSYW5nZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVSYW5nZScsIHsgc3RhdGljOiB0cnVlIH0pIGRhdGVSYW5nZSE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRHcm91cCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0R3JvdXAhOiBYSW5wdXRHcm91cENvbXBvbmVudDtcclxuXHJcbiAgbW9kZWxUeXBlOiBYRGF0ZVBpY2tlck1vZGVsVHlwZSA9ICdkYXRlJztcclxuICBudW1iZXJWYWx1ZSE6IG51bWJlciB8IHN0cmluZztcclxuICBpc0lucHV0ID0gZmFsc2U7XHJcbiAgaXNGb2N1cyA9IGZhbHNlO1xyXG5cclxuICBnZXQgZ2V0UmVxdWlyZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5yZXF1aXJlZCAmJiBYSXNFbXB0eSh0aGlzLnZhbHVlKTtcclxuICB9XHJcblxyXG4gIHdyaXRlVmFsdWUodmFsdWU6IGFueSkge1xyXG4gICAgaWYgKFhJc0RhdGUodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gJ2RhdGUnO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWUuZ2V0VGltZSgpO1xyXG4gICAgfSBlbHNlIGlmIChYSXNOdW1iZXIodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubW9kZWxUeXBlID0gJ251bWJlcic7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSB2YWx1ZTtcclxuICAgIH0gZWxzZSBpZiAoWElzU3RyaW5nKHZhbHVlKSkge1xyXG4gICAgICB0aGlzLm1vZGVsVHlwZSA9ICdzdHJpbmcnO1xyXG4gICAgICBjb25zdCB2YWx1ZVRpbWUgPSBuZXcgRGF0ZSh2YWx1ZSkuZ2V0VGltZSgpO1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gIWlzTmFOKHZhbHVlVGltZSkgPyB2YWx1ZVRpbWUgOiAnJztcclxuICAgIH0gZWxzZSBpZiAoWElzRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSAnJztcclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnB1dENsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogYW55ID0gJyc7XHJcbiAgcG9ydGFsITogWFBvcnRhbE92ZXJsYXlSZWY8WERhdGVSYW5nZVBvcnRhbENvbXBvbmVudD47XHJcbiAgaWNvbjogc3RyaW5nID0gJ2Z0by1jYWxlbmRhcic7XHJcbiAgYm94ITogRE9NUmVjdDtcclxuICBwcm90YWxIZWlnaHQhOiBudW1iZXI7XHJcbiAgbWF4Tm9kZXM6IG51bWJlciA9IDY7XHJcbiAgcHJvdGFsVG9ib3R0b206IGJvb2xlYW4gPSB0cnVlO1xyXG4gIHZhbHVlQ2hhbmdlOiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIGRhdGFDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgcG9zaXRpb25DaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgY2xvc2VTdWJqZWN0OiBTdWJqZWN0PGFueT4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGVsZW1lbnRSZWY6IEVsZW1lbnRSZWYsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLmRhdGVSYW5nZS5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBpZiAoWElzQ2hhbmdlKGNoYW5nZXMudHlwZSkpIHtcclxuICAgICAgdGhpcy5zZXRGb3JtYXQoKTtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuX3VuU3ViamVjdC5uZXh0KCk7XHJcbiAgICB0aGlzLl91blN1YmplY3QudW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIHNldFN1YmplY3QoKSB7XHJcbiAgICB0aGlzLmNsb3NlU3ViamVjdC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKS5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0nO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLWhvdXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLW1pbnV0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMubnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlucHV0Q2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRW1pdCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSAnJztcclxuICAgIHRoaXMubnVtYmVyVmFsdWUgPSAnJztcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gJyc7XHJcbiAgICB0aGlzLm1sZWF2ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbW9kZWxDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0VmFsdWUoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsVHlwZSA9PT0gJ2RhdGUnXHJcbiAgICAgID8gbmV3IERhdGUodGhpcy5udW1iZXJWYWx1ZSlcclxuICAgICAgOiB0aGlzLm1vZGVsVHlwZSA9PT0gJ3N0cmluZydcclxuICAgICAgPyB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh0aGlzLm51bWJlclZhbHVlLCB0aGlzLmZvcm1hdClcclxuICAgICAgOiB0aGlzLm51bWJlclZhbHVlO1xyXG4gIH1cclxuXHJcbiAgcG9ydGFsQXR0YWNoZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/Lmhhc0F0dGFjaGVkKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZVBvcnRhbCgpIHtcclxuICAgIGlmICh0aGlzLnBvcnRhbEF0dGFjaGVkKCkpIHtcclxuICAgICAgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LmRldGFjaCgpO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZGVzdHJveVBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kaXNwb3NlKCk7XHJcbiAgfVxyXG5cclxuICBzaG93UG9ydGFsKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQgfHwgdGhpcy5hbmltYXRpbmcpIHJldHVybjtcclxuICAgIGNvbnN0IGNvbmZpZzogT3ZlcmxheUNvbmZpZyA9IHtcclxuICAgICAgYmFja2Ryb3BDbGFzczogJycsXHJcbiAgICAgIHBvc2l0aW9uU3RyYXRlZ3k6IHRoaXMuc2V0UGxhY2VtZW50KCksXHJcbiAgICAgIHNjcm9sbFN0cmF0ZWd5OiB0aGlzLm92ZXJsYXkuc2Nyb2xsU3RyYXRlZ2llcy5yZXBvc2l0aW9uKClcclxuICAgIH07XHJcbiAgICB0aGlzLnNldFBvc2l0aW9uKGNvbmZpZyk7XHJcbiAgICB0aGlzLnBvcnRhbCA9IHRoaXMucG9ydGFsU2VydmljZS5hdHRhY2goe1xyXG4gICAgICBjb250ZW50OiBYRGF0ZVJhbmdlUG9ydGFsQ29tcG9uZW50LFxyXG4gICAgICB2aWV3Q29udGFpbmVyUmVmOiB0aGlzLnZpZXdDb250YWluZXJSZWYsXHJcbiAgICAgIG92ZXJsYXlDb25maWc6IGNvbmZpZ1xyXG4gICAgfSk7XHJcbiAgICB0aGlzLnBvcnRhbC5vdmVybGF5UmVmXHJcbiAgICAgID8ub3V0c2lkZVBvaW50ZXJFdmVudHMoKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUodGhpcy5udW1iZXJWYWx1ZSk7XHJcbiAgICAgICAgdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpO1xyXG4gICAgICB9KTtcclxuICAgIHRoaXMuc2V0SW5zdGFuY2UoKTtcclxuICB9XHJcblxyXG4gIHNldFBvc2l0aW9uKGNvbmZpZzogT3ZlcmxheUNvbmZpZykge1xyXG4gICAgbGV0IHBvc2l0aW9uID0gY29uZmlnLnBvc2l0aW9uU3RyYXRlZ3kgYXMgRmxleGlibGVDb25uZWN0ZWRQb3NpdGlvblN0cmF0ZWd5O1xyXG4gICAgcG9zaXRpb24ucG9zaXRpb25DaGFuZ2VzLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgocG9zOiBDb25uZWN0ZWRPdmVybGF5UG9zaXRpb25DaGFuZ2UpID0+IHtcclxuICAgICAgY29uc3QgcGxhY2UgPSBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24uZ2V0KHBvcy5jb25uZWN0aW9uUGFpcikgYXMgWENvcm5lcjtcclxuICAgICAgcGxhY2UgIT09IHRoaXMucGxhY2VtZW50ICYmIHRoaXMucG9zaXRpb25DaGFuZ2UubmV4dChwbGFjZSk7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldEluc3RhbmNlKCkge1xyXG4gICAgbGV0IGNvbXBvbmVudFJlZiA9IHRoaXMucG9ydGFsPy5jb21wb25lbnRSZWY7XHJcbiAgICBpZiAoIWNvbXBvbmVudFJlZikgcmV0dXJuO1xyXG4gICAgT2JqZWN0LmFzc2lnbihjb21wb25lbnRSZWYuaW5zdGFuY2UsIHtcclxuICAgICAgdHlwZTogdGhpcy50eXBlLFxyXG4gICAgICB2YWx1ZTogdGhpcy5udW1iZXJWYWx1ZSxcclxuICAgICAgcGxhY2VtZW50OiB0aGlzLnBsYWNlbWVudCxcclxuICAgICAgcHJlc2V0OiB0aGlzLnByZXNldCxcclxuICAgICAgdmFsdWVDaGFuZ2U6IHRoaXMudmFsdWVDaGFuZ2UsXHJcbiAgICAgIHBvc2l0aW9uQ2hhbmdlOiB0aGlzLnBvc2l0aW9uQ2hhbmdlLFxyXG4gICAgICBjbG9zZVBvcnRhbDogKCkgPT4gdGhpcy5jbG9zZVN1YmplY3QubmV4dCgpLFxyXG4gICAgICBkZXN0cm95UG9ydGFsOiAoKSA9PiB0aGlzLmRlc3Ryb3lQb3J0YWwoKSxcclxuICAgICAgbm9kZUVtaXQ6IChub2RlOiBEYXRlLCBzdXJlID0gdHJ1ZSkgPT4gdGhpcy5vbk5vZGVDbGljayhub2RlLCBzdXJlKSxcclxuICAgICAgYW5pbWF0aW5nOiAoaW5nOiBib29sZWFuKSA9PiAodGhpcy5hbmltYXRpbmcgPSBpbmcpXHJcbiAgICB9KTtcclxuICAgIGNvbXBvbmVudFJlZi5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhkYXRlOiBEYXRlLCBzdXJlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICBpZiAoc3VyZSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gZGF0ZS5nZXRUaW1lKCk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgICAgdGhpcy5ub2RlRW1pdC5lbWl0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoZGF0ZS5nZXRUaW1lKCkpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheVZhbHVlKGRhdGVOdW1iZXI6IG51bWJlciB8IHN0cmluZykge1xyXG4gICAgaWYgKHRoaXMuaXNJbnB1dCAmJiBpc05hTih0aGlzLmRpc3BsYXlWYWx1ZSkgJiYgIWlzTmFOKERhdGUucGFyc2UodGhpcy5kaXNwbGF5VmFsdWUpKSkge1xyXG4gICAgICB0aGlzLmRpc3BsYXlWYWx1ZSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKHRoaXMuZGlzcGxheVZhbHVlLCB0aGlzLmZvcm1hdCk7XHJcbiAgICAgIHRoaXMubnVtYmVyVmFsdWUgPSBuZXcgRGF0ZSh0aGlzLmRpc3BsYXlWYWx1ZSkuZ2V0VGltZSgpO1xyXG4gICAgICB0aGlzLnZhbHVlID0gdGhpcy5nZXRWYWx1ZSgpO1xyXG4gICAgICB0aGlzLm1vZGVsQ2hhbmdlKCk7XHJcbiAgICAgIHRoaXMuaXNJbnB1dCA9IGZhbHNlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNwbGF5VmFsdWUgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlTnVtYmVyLCB0aGlzLmZvcm1hdCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRQbGFjZW1lbnQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5wb3J0YWxTZXJ2aWNlLnNldFBsYWNlbWVudCh7XHJcbiAgICAgIGVsZW1lbnRSZWY6IHRoaXMuaW5wdXRHcm91cC5lbGVtZW50UmVmLFxyXG4gICAgICBwbGFjZW1lbnQ6IFt0aGlzLnBsYWNlbWVudCBhcyBYQ29ybmVyLCAnYm90dG9tLXN0YXJ0JywgJ2JvdHRvbS1lbmQnLCAndG9wLXN0YXJ0JywgJ3RvcC1lbmQnXSxcclxuICAgICAgdHJhbnNmb3JtT3JpZ2luT246ICd4LWRhdGUtcmFuZ2UtcG9ydGFsJ1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbEF0dGFjaGVkKCkgJiYgdGhpcy5wb3J0YWw/Lm92ZXJsYXlSZWY/LnVwZGF0ZVBvc2l0aW9uU3RyYXRlZ3kodGhpcy5zZXRQbGFjZW1lbnQoKSk7XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICNkYXRlUmFuZ2UgY2xhc3M9XCJ4LWRhdGUtcmFuZ2VcIiBbY2xhc3MueC1kYXRlLXJhbmdlLWZvY3VzXT1cImlzRm9jdXNcIj5cclxuICA8ZGl2IGNsYXNzPVwieC1kYXRlLXJhbmdlLXJvd1wiPlxyXG4gICAgPHgtaW5wdXQtZ3JvdXAgI2lucHV0R3JvdXAgY2xhc3M9XCJ4LWRhdGUtcmFuZ2UtZ3JvdXBcIiBib3JkZXJlZD1cImZhbHNlXCIgKGNsaWNrKT1cInNob3dQb3J0YWwoKVwiPlxyXG4gICAgICA8eC1pbnB1dCAjaW5wdXRTdGFydENvbSB0eXBlPVwidGV4dFwiIHBsYWNlaG9sZGVyPVwi5byA5aeL5pel5pyfXCIgKHhGb2N1cyk9XCJpc0ZvY3VzID0gdHJ1ZVwiICh4Qmx1cik9XCJpc0ZvY3VzID0gZmFsc2VcIj48L3gtaW5wdXQ+XHJcbiAgICAgIDx4LWljb24gdHlwZT1cImZ0by1hcnJvdy1yaWdodFwiPjwveC1pY29uPlxyXG4gICAgICA8eC1pbnB1dCAjaW5wdXRFbmRDb20gdHlwZT1cInRleHRcIiBwbGFjZWhvbGRlcj1cIue7k+adn+aXpeacn1wiICh4Rm9jdXMpPVwiaXNGb2N1cyA9IHRydWVcIiAoeEJsdXIpPVwiaXNGb2N1cyA9IGZhbHNlXCI+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIFt0eXBlXT1cImljb25cIj48L3gtaWNvbj5cclxuICAgIDwveC1pbnB1dC1ncm91cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
307
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1yYW5nZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9saWIvbmctbmVzdC91aS9kYXRlLXBpY2tlci9kYXRlLXJhbmdlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL2RhdGUtcGlja2VyL2RhdGUtcmFuZ2UuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQyx3QkFBd0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2pHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBTXZCLFNBQVMsRUFFVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQXdCLGdCQUFnQixFQUFFLGtCQUFrQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDcEcsT0FBTyxFQUNMLFFBQVEsRUFDUixPQUFPLEVBQ1AsU0FBUyxFQUNULFNBQVMsRUFFVCxXQUFXLEVBQ1gsU0FBUyxFQUVULFlBQVksRUFFYixNQUFNLGtCQUFrQixDQUFDO0FBRTFCLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUUzQyxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDM0MsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLCtCQUErQixDQUFDOzs7Ozs7Ozs7QUFVMUUsTUFBTSxPQUFPLG1CQUFvQixTQUFRLGtCQUFrQjtJQXFEekQsWUFDUyxRQUFtQixFQUNuQixhQUE2QixFQUM1QixHQUFzQixFQUN0QixhQUE2QixFQUM3QixnQkFBa0MsRUFDbEMsUUFBa0IsRUFDbEIsT0FBZ0I7UUFFeEIsS0FBSyxFQUFFLENBQUM7UUFSRCxhQUFRLEdB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aUJBQzNEO3NRQUUyQyxTQUFTO3NCQUFsRCxTQUFTO3VCQUFDLFdBQVcsRUFBRSxFQUFFLE1BQU0sRUFBRSxJQUFJLEVBQUU7Z0JBQ0csVUFBVTtzQkFBcEQsU0FBUzt1QkFBQyxZQUFZLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgWFBvcnRhbFNlcnZpY2UsIFhQb3J0YWxPdmVybGF5UmVmLCBYUG9ydGFsQ29ubmVjdGVkUG9zaXRpb24gfSBmcm9tICdAbmctbmVzdC91aS9wb3J0YWwnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uSW5pdCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgRWxlbWVudFJlZixcclxuICBPbkNoYW5nZXMsXHJcbiAgVmlld0NvbnRhaW5lclJlZixcclxuICBWaWV3Q2hpbGQsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlck1vZGVsVHlwZSwgWERhdGVSYW5nZVByZWZpeCwgWERhdGVSYW5nZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7XHJcbiAgWElzRW1wdHksXHJcbiAgWElzRGF0ZSxcclxuICBYSXNOdW1iZXIsXHJcbiAgWElzQ2hhbmdlLFxyXG4gIFhDb3JuZXIsXHJcbiAgWENsZWFyQ2xhc3MsXHJcbiAgWElzU3RyaW5nLFxyXG4gIFhDb25maWdTZXJ2aWNlLFxyXG4gIFhJc1VuZGVmaW5lZCxcclxuICBYQm9vbGVhblxyXG59IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2lucHV0JztcclxuaW1wb3J0IHsgRGF0ZVBpcGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBPdmVybGF5LCBPdmVybGF5Q29uZmlnLCBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3ksIENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYVmFsdWVBY2Nlc3NvciB9IGZyb20gJ0BuZy1uZXN0L3VpL2Jhc2UtZm9ybSc7XHJcbmltcG9ydCB7IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQgfSBmcm9tICcuL2RhdGUtcmFuZ2UtcG9ydGFsLmNvbXBvbmVudCc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogYCR7WERhdGVSYW5nZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9kYXRlLXJhbmdlLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcclxuICBjaGFuZ2VEZXRlY3Rpb246IENoYW5nZURldGVjdGlvblN0cmF0ZWd5Lk9uUHVzaCxcclxuICBwcm92aWRlcnM6IFtYVmFsdWVBY2Nlc3NvcihYRGF0ZVJhbmdlQ29tcG9uZW50KSwgRGF0ZVBpcGVdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYRGF0ZVJhbmdlQ29tcG9uZW50IGV4dGVuZHMgWERhdGVSYW5nZVByb3BlcnR5IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMge1xyXG4gIEBWaWV3Q2hpbGQoJ2RhdGVSYW5nZScsIHsgc3RhdGljOiB0cnVlIH0pIGRhdGVSYW5nZSE6IEVsZW1lbnRSZWY7XHJcbiAgQFZpZXdDaGlsZCgnaW5wdXRHcm91cCcsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0R3JvdXAhOiBYSW5wdXRHcm91cENvbXBvbmVudDtcclxuXHJcbiAgbW9kZWxUeXBlOiBYRGF0ZVBpY2tlck1vZGVsVHlwZSA9ICdkYXRlJztcclxuICBudW1iZXJWYWx1ZSE6IG51bWJlcltdO1xyXG4gIGlzSW5wdXQgPSBmYWxzZTtcclxuXHJcbiAgZ2V0IGdldFJlcXVpcmVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucmVxdWlyZWQgJiYgWElzRW1wdHkodGhpcy52YWx1ZSk7XHJcbiAgfVxyXG5cclxuICB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmIChYSXNVbmRlZmluZWQodmFsdWUpKSB2YWx1ZSA9IFtdO1xyXG4gICAgaWYgKHZhbHVlLmxlbmd0aCA+IDApIHtcclxuICAgICAgaWYgKFhJc0RhdGUodmFsdWVbMF0pKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnZGF0ZSc7XHJcbiAgICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9IHZhbHVlLmdldFRpbWUoKTtcclxuICAgICAgfSBlbHNlIGlmIChYSXNOdW1iZXIodmFsdWVbMF0pKSB7XHJcbiAgICAgICAgdGhpcy5tb2RlbFR5cGUgPSAnbnVtYmVyJztcclxuICAgICAgICB0aGlzLm51bWJlclZhbHVlID0gdmFsdWU7XHJcbiAgICAgIH0gZWxzZSBpZiAoWElzU3RyaW5nKHZhbHVlWzBdKSkge1xyXG4gICAgICAgIHRoaXMubW9kZWxUeXBlID0gJ3N0cmluZyc7XHJcbiAgICAgICAgY29uc3QgdmFsdWVUaW1lID0gdmFsdWUubWFwKCh4OiBzdHJpbmcpID0+IG5ldyBEYXRlKHgpLmdldFRpbWUoKSk7XHJcbiAgICAgICAgdGhpcy5udW1iZXJWYWx1ZSA9ICFpc05hTih2YWx1ZVRpbWVbMF0pID8gdmFsdWVUaW1lIDogW107XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW50ZXI6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBpbnB1dENsZWFyYWJsZTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFuaW1hdGluZyA9IGZhbHNlO1xyXG4gIGRpc3BsYXlWYWx1ZTogc3RyaW5nW10gPSBbXTtcclxuICBwb3J0YWwhOiBYUG9ydGFsT3ZlcmxheVJlZjxYRGF0ZVJhbmdlUG9ydGFsQ29tcG9uZW50PjtcclxuICBpY29uOiBzdHJpbmcgPSAnZnRvLWNhbGVuZGFyJztcclxuICBib3ghOiBET01SZWN0O1xyXG4gIHByb3RhbEhlaWdodCE6IG51bWJlcjtcclxuICBtYXhOb2RlczogbnVtYmVyID0gNjtcclxuICBwcm90YWxUb2JvdHRvbTogYm9vbGVhbiA9IHRydWU7XHJcbiAgdmFsdWVDaGFuZ2U6IFN1YmplY3Q8YW55PiA9IG5ldyBTdWJqZWN0KCk7XHJcbiAgZGF0YUNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBwb3NpdGlvbkNoYW5nZTogU3ViamVjdDxhbnk+ID0gbmV3IFN1YmplY3QoKTtcclxuICBjbG9zZVN1YmplY3Q6IFN1YmplY3Q8dm9pZD4gPSBuZXcgU3ViamVjdCgpO1xyXG4gIHN0YXJ0RGlzcGxheTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XHJcbiAgZW5kRGlzcGxheTogc3RyaW5nIHwgbnVtYmVyID0gJyc7XHJcbiAgc3RhcnRBY3RpdmU6IFhCb29sZWFuID0gZmFsc2U7XHJcbiAgZW5kQWN0aXZlOiBYQm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIHBvcnRhbFNlcnZpY2U6IFhQb3J0YWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB2aWV3Q29udGFpbmVyUmVmOiBWaWV3Q29udGFpbmVyUmVmLFxyXG4gICAgcHJpdmF0ZSBkYXRlUGlwZTogRGF0ZVBpcGUsXHJcbiAgICBwcml2YXRlIG92ZXJsYXk6IE92ZXJsYXlcclxuICApIHtcclxuICAgIHN1cGVyKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RmxleCh0aGlzLmRhdGVSYW5nZS5uYXRpdmVFbGVtZW50LCB0aGlzLnJlbmRlcmVyLCB0aGlzLmp1c3RpZnksIHRoaXMuYWxpZ24sIHRoaXMuZGlyZWN0aW9uKTtcclxuICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldFN1YmplY3QoKTtcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcclxuICAgIHRoaXMuc2V0UG9ydGFsKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IHR5cGUgfSA9IGNoYW5nZXM7XHJcbiAgICBpZiAoWElzQ2hhbmdlKHR5cGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0Rm9ybWF0KCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTdWJqZWN0KCkge1xyXG4gICAgdGhpcy5jbG9zZVN1YmplY3QucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5jbG9zZVBvcnRhbCgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZXRGb3JtYXQoKSB7XHJcbiAgICBpZiAodGhpcy5mb3JtYXQgIT09ICd5eXl5LU1NLWRkJykgcmV0dXJuO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ2RhdGUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICd5ZWFyJykge1xyXG4gICAgICB0aGlzLmZvcm1hdCA9ICd5eXl5JztcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSAnbW9udGgnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0nO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLXRpbWUnKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEg6bW06c3MnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLWhvdXInKSB7XHJcbiAgICAgIHRoaXMuZm9ybWF0ID0gJ3l5eXktTU0tZGQgSEgnO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09ICdkYXRlLW1pbnV0ZScpIHtcclxuICAgICAgdGhpcy5mb3JtYXQgPSAneXl5eS1NTS1kZCBISDptbSc7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBtZW50ZXIoKSB7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCkgcmV0dXJuO1xyXG4gICAgdGhpcy5lbnRlciA9IHRydWU7XHJcbiAgICBpZiAoIVhJc0VtcHR5KHRoaXMubnVtYmVyVmFsdWUpKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICcnO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gdHJ1ZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbWxlYXZlKCkge1xyXG4gICAgaWYgKHRoaXMuZGlzYWJsZWQpIHJldHVybjtcclxuICAgIHRoaXMuZW50ZXIgPSBmYWxzZTtcclxuICAgIGlmICh0aGlzLmlucHV0Q2xlYXJhYmxlKSB7XHJcbiAgICAgIHRoaXMuaWNvbiA9ICdmdG8tY2FsZW5kYXInO1xyXG4gICAgICB0aGlzLmlucHV0Q2xlYXJhYmxlID0gZmFsc2U7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNsZWFyRW1pdCgpIHtcclxuICAgIHRoaXMudmFsdWUgPSBbXTtcclxuICAgIHRoaXMubnVtYmVyVmFsdWUgPSBbXTtcclxuICAgIHRoaXMuZGlzcGxheVZhbHVlID0gW107XHJcbiAgICB0aGlzLm1sZWF2ZSgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZSgpO1xyXG4gIH1cclxuXHJcbiAgbW9kZWxDaGFuZ2UoKSB7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSkge1xyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHRoaXMuZ2V0VmFsdWUoKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBnZXRWYWx1ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLm1vZGVsVHlwZSA9PT0gJ2RhdGUnXHJcbiAgICAgID8gdGhpcy5udW1iZXJWYWx1ZS5tYXAoKHgpID0+IG5ldyBEYXRlKHgpKVxyXG4gICAgICA6IHRoaXMubW9kZWxUeXBlID09PSAnc3RyaW5nJ1xyXG4gICAgICA/IHRoaXMubnVtYmVyVmFsdWUubWFwKCh4KSA9PiB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybSh4LCB0aGlzLmZvcm1hdCkpXHJcbiAgICAgIDogdGhpcy5udW1iZXJWYWx1ZTtcclxuICB9XHJcblxyXG4gIHBvcnRhbEF0dGFjaGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5oYXNBdHRhY2hlZCgpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2VQb3J0YWwoKSB7XHJcbiAgICBpZiAodGhpcy5wb3J0YWxBdHRhY2hlZCgpKSB7XHJcbiAgICAgIHRoaXMucG9ydGFsPy5vdmVybGF5UmVmPy5kZXRhY2goKTtcclxuICAgICAgdGhpcy5hY3RpdmUgPSBmYWxzZTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH1cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGRlc3Ryb3lQb3J0YWwoKSB7XHJcbiAgICB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8uZGlzcG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgc2hvd1BvcnRhbCgkZXZlbnQ6IEV2ZW50LCB0eXBlPzogJ3N0YXJ0JyB8ICdlbmQnKSB7XHJcbiAgICAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodGhpcy5kaXNhYmxlZCB8fCB0aGlzLmFuaW1hdGluZykgcmV0dXJuO1xyXG4gICAgdGhpcy5hY3RpdmUgPSB0cnVlO1xyXG4gICAgdGhpcy5zdGFydEFjdGl2ZSA9IHR5cGUgPT09ICdzdGFydCc7XHJcbiAgICB0aGlzLmVuZEFjdGl2ZSA9IHR5cGUgPT09ICdlbmQnO1xyXG4gICAgY29uc3QgY29uZmlnOiBPdmVybGF5Q29uZmlnID0ge1xyXG4gICAgICBiYWNrZHJvcENsYXNzOiAnJyxcclxuICAgICAgcG9zaXRpb25TdHJhdGVneTogdGhpcy5zZXRQbGFjZW1lbnQoKSxcclxuICAgICAgc2Nyb2xsU3RyYXRlZ3k6IHRoaXMub3ZlcmxheS5zY3JvbGxTdHJhdGVnaWVzLnJlcG9zaXRpb24oKVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2V0UG9zaXRpb24oY29uZmlnKTtcclxuICAgIHRoaXMucG9ydGFsID0gdGhpcy5wb3J0YWxTZXJ2aWNlLmF0dGFjaCh7XHJcbiAgICAgIGNvbnRlbnQ6IFhEYXRlUmFuZ2VQb3J0YWxDb21wb25lbnQsXHJcbiAgICAgIHZpZXdDb250YWluZXJSZWY6IHRoaXMudmlld0NvbnRhaW5lclJlZixcclxuICAgICAgb3ZlcmxheUNvbmZpZzogY29uZmlnXHJcbiAgICB9KTtcclxuICAgIHRoaXMucG9ydGFsLm92ZXJsYXlSZWZcclxuICAgICAgPy5vdXRzaWRlUG9pbnRlckV2ZW50cygpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLl91blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLnNldERpc3BsYXlWYWx1ZSh0aGlzLm51bWJlclZhbHVlKTtcclxuICAgICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy5zZXRJbnN0YW5jZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0UG9zaXRpb24oY29uZmlnOiBPdmVybGF5Q29uZmlnKSB7XHJcbiAgICBsZXQgcG9zaXRpb24gPSBjb25maWcucG9zaXRpb25TdHJhdGVneSBhcyBGbGV4aWJsZUNvbm5lY3RlZFBvc2l0aW9uU3RyYXRlZ3k7XHJcbiAgICBwb3NpdGlvbi5wb3NpdGlvbkNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KSkuc3Vic2NyaWJlKChwb3M6IENvbm5lY3RlZE92ZXJsYXlQb3NpdGlvbkNoYW5nZSkgPT4ge1xyXG4gICAgICBjb25zdCBwbGFjZSA9IFhQb3J0YWxDb25uZWN0ZWRQb3NpdGlvbi5nZXQocG9zLmNvbm5lY3Rpb25QYWlyKSBhcyBYQ29ybmVyO1xyXG4gICAgICBwbGFjZSAhPT0gdGhpcy5wbGFjZW1lbnQgJiYgdGhpcy5wb3NpdGlvbkNoYW5nZS5uZXh0KHBsYWNlKTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5zdGFuY2UoKSB7XHJcbiAgICBsZXQgY29tcG9uZW50UmVmID0gdGhpcy5wb3J0YWw/LmNvbXBvbmVudFJlZjtcclxuICAgIGlmICghY29tcG9uZW50UmVmKSByZXR1cm47XHJcbiAgICBPYmplY3QuYXNzaWduKGNvbXBvbmVudFJlZi5pbnN0YW5jZSwge1xyXG4gICAgICB0eXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIHZhbHVlOiB0aGlzLm51bWJlclZhbHVlLFxyXG4gICAgICBwbGFjZW1lbnQ6IHRoaXMucGxhY2VtZW50LFxyXG4gICAgICBwcmVzZXQ6IHRoaXMucHJlc2V0LFxyXG4gICAgICB2YWx1ZUNoYW5nZTogdGhpcy52YWx1ZUNoYW5nZSxcclxuICAgICAgcG9zaXRpb25DaGFuZ2U6IHRoaXMucG9zaXRpb25DaGFuZ2UsXHJcbiAgICAgIGNsb3NlUG9ydGFsOiAoKSA9PiB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCksXHJcbiAgICAgIGRlc3Ryb3lQb3J0YWw6ICgpID0+IHRoaXMuZGVzdHJveVBvcnRhbCgpLFxyXG4gICAgICBub2RlRW1pdDogKGRhdGVzOiBEYXRlW10sIHN1cmUgPSB0cnVlKSA9PiB0aGlzLm9uTm9kZUNsaWNrKGRhdGVzLCBzdXJlKSxcclxuICAgICAgc3RhcnROb2RlRW1pdDogKG5vZGU6IERhdGUpID0+IHRoaXMuc3RhcnROb2RlQ2xpY2sobm9kZSksXHJcbiAgICAgIGVuZE5vZGVFbWl0OiAobm9kZTogRGF0ZSkgPT4gdGhpcy5lbmROb2RlQ2xpY2sobm9kZSksXHJcbiAgICAgIGFuaW1hdGluZzogKGluZzogYm9vbGVhbikgPT4gKHRoaXMuYW5pbWF0aW5nID0gaW5nKVxyXG4gICAgfSk7XHJcbiAgICBjb21wb25lbnRSZWYuY2hhbmdlRGV0ZWN0b3JSZWYuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc3RhcnROb2RlQ2xpY2sobm9kZTogRGF0ZSkge1xyXG4gICAgdGhpcy5zdGFydERpc3BsYXkgPSB0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShub2RlLCB0aGlzLmZvcm1hdCkgYXMgc3RyaW5nO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZW5kTm9kZUNsaWNrKG5vZGU6IERhdGUpIHtcclxuICAgIHRoaXMuZW5kRGlzcGxheSA9IHRoaXMuZGF0ZVBpcGUudHJhbnNmb3JtKG5vZGUsIHRoaXMuZm9ybWF0KSBhcyBzdHJpbmc7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBvbk5vZGVDbGljayhkYXRlczogRGF0ZVtdLCBzdXJlID0gdHJ1ZSkge1xyXG4gICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICBpZiAoc3VyZSkge1xyXG4gICAgICB0aGlzLm51bWJlclZhbHVlID0gZGF0ZXMubWFwKCh4KSA9PiB4LmdldFRpbWUoKSk7XHJcbiAgICAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAgIHRoaXMuc2V0RGlzcGxheVZhbHVlKHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgICB0aGlzLmNsb3NlU3ViamVjdC5uZXh0KCk7XHJcbiAgICAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgICAgdGhpcy5ub2RlRW1pdC5lbWl0KHRoaXMubnVtYmVyVmFsdWUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZXREaXNwbGF5VmFsdWUoZGF0ZXMubWFwKCh4KSA9PiB4LmdldFRpbWUoKSkpO1xyXG4gICAgICB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uSW5wdXQoKSB7XHJcbiAgICB0aGlzLmlzSW5wdXQgPSB0cnVlO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheVZhbHVlKGRhdGVOdW1iZXI6IG51bWJlcltdKSB7XHJcbiAgICAvLyBpZiAodGhpcy5pc0lucHV0ICYmIGlzTmFOKHRoaXMuc3RhcnREaXNwbGF5KSAmJiAhaXNOYU4oRGF0ZS5wYXJzZSh0aGlzLmRpc3BsYXlWYWx1ZSkpKSB7XHJcbiAgICAvLyAgIHRoaXMuZGlzcGxheVZhbHVlID0gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0odGhpcy5kaXNwbGF5VmFsdWUsIHRoaXMuZm9ybWF0KTtcclxuICAgIC8vICAgdGhpcy5udW1iZXJWYWx1ZSA9IG5ldyBEYXRlKHRoaXMuZGlzcGxheVZhbHVlKS5nZXRUaW1lKCk7XHJcbiAgICAvLyAgIHRoaXMudmFsdWUgPSB0aGlzLmdldFZhbHVlKCk7XHJcbiAgICAvLyAgIHRoaXMubW9kZWxDaGFuZ2UoKTtcclxuICAgIC8vICAgdGhpcy5pc0lucHV0ID0gZmFsc2U7XHJcbiAgICAvLyB9IGVsc2Uge1xyXG4gICAgdGhpcy5kaXNwbGF5VmFsdWUgPSBkYXRlTnVtYmVyLm1hcCgoeCkgPT4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0oeCwgdGhpcy5mb3JtYXQpKSBhcyBzdHJpbmdbXTtcclxuICAgIC8vIH1cclxuICB9XHJcblxyXG4gIHNldFBsYWNlbWVudCgpIHtcclxuICAgIHJldHVybiB0aGlzLnBvcnRhbFNlcnZpY2Uuc2V0UGxhY2VtZW50KHtcclxuICAgICAgZWxlbWVudFJlZjogdGhpcy5pbnB1dEdyb3VwLmVsZW1lbnRSZWYsXHJcbiAgICAgIHBsYWNlbWVudDogW3RoaXMucGxhY2VtZW50IGFzIFhDb3JuZXIsICdib3R0b20tc3RhcnQnLCAnYm90dG9tLWVuZCcsICd0b3Atc3RhcnQnLCAndG9wLWVuZCddLFxyXG4gICAgICB0cmFuc2Zvcm1PcmlnaW5PbjogJ3gtZGF0ZS1yYW5nZS1wb3J0YWwnXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHNldFBvcnRhbCgpIHtcclxuICAgIHRoaXMucG9ydGFsQXR0YWNoZWQoKSAmJiB0aGlzLnBvcnRhbD8ub3ZlcmxheVJlZj8udXBkYXRlUG9zaXRpb25TdHJhdGVneSh0aGlzLnNldFBsYWNlbWVudCgpKTtcclxuICB9XHJcblxyXG4gIHNldENsYXNzTWFwKCkge1xyXG4gICAgWENsZWFyQ2xhc3ModGhpcy5sYWJlbE1hcCk7XHJcbiAgICB0aGlzLmxhYmVsTWFwW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ259YF0gPSB0aGlzLmxhYmVsQWxpZ24gPyB0cnVlIDogZmFsc2U7XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5nT25Jbml0KCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI2RhdGVSYW5nZSBjbGFzcz1cIngtZGF0ZS1yYW5nZVwiIFtjbGFzcy54LWRhdGUtcmFuZ2UtYWN0aXZlXT1cImFjdGl2ZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LWRhdGUtcmFuZ2Utcm93XCI+XHJcbiAgICA8eC1pbnB1dC1ncm91cCAjaW5wdXRHcm91cCBjbGFzcz1cIngtZGF0ZS1yYW5nZS1ncm91cFwiIGJvcmRlcmVkPVwiZmFsc2VcIiAoY2xpY2spPVwic2hvd1BvcnRhbCgkZXZlbnQpXCI+XHJcbiAgICAgIDx4LWlucHV0XHJcbiAgICAgICAgI2lucHV0U3RhcnRDb21cclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLlvIDlp4vml6XmnJ9cIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJzdGFydEFjdGl2ZVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInNob3dQb3J0YWwoJGV2ZW50LCAnc3RhcnQnKVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJzdGFydERpc3BsYXlcIlxyXG4gICAgICA+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIHR5cGU9XCJmdG8tYXJyb3ctcmlnaHRcIj48L3gtaWNvbj5cclxuICAgICAgPHgtaW5wdXRcclxuICAgICAgICAjaW5wdXRFbmRDb21cclxuICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgcGxhY2Vob2xkZXI9XCLnu5PmnZ/ml6XmnJ9cIlxyXG4gICAgICAgIFsoYWN0aXZlKV09XCJlbmRBY3RpdmVcIlxyXG4gICAgICAgIChjbGljayk9XCJzaG93UG9ydGFsKCRldmVudCwgJ2VuZCcpXCJcclxuICAgICAgICBbKG5nTW9kZWwpXT1cImVuZERpc3BsYXlcIlxyXG4gICAgICA+PC94LWlucHV0PlxyXG4gICAgICA8eC1pY29uIFt0eXBlXT1cImljb25cIj48L3gtaWNvbj5cclxuICAgIDwveC1pbnB1dC1ncm91cD5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|
|
@@ -2,16 +2,19 @@ import { Component, ViewEncapsulation, ChangeDetectionStrategy } from '@angular/
|
|
|
2
2
|
import { chunk, XIsChange } from '@ng-nest/ui/core';
|
|
3
3
|
import { XPickerDatePrefix, XPickerDateProperty } from './date-picker.property';
|
|
4
4
|
import { Subject } from 'rxjs';
|
|
5
|
-
import { takeUntil } from 'rxjs/operators';
|
|
5
|
+
import { map, takeUntil } from 'rxjs/operators';
|
|
6
|
+
import { DatePipe, LowerCasePipe } from '@angular/common';
|
|
6
7
|
import * as i0 from "@angular/core";
|
|
7
|
-
import * as i1 from "@
|
|
8
|
-
import * as i2 from "@ng-nest/ui/
|
|
9
|
-
import * as i3 from "@ng-nest/ui/
|
|
10
|
-
import * as i4 from "@
|
|
8
|
+
import * as i1 from "@angular/common";
|
|
9
|
+
import * as i2 from "@ng-nest/ui/core";
|
|
10
|
+
import * as i3 from "@ng-nest/ui/i18n";
|
|
11
|
+
import * as i4 from "@ng-nest/ui/button";
|
|
11
12
|
export class XPickerDateComponent extends XPickerDateProperty {
|
|
12
|
-
constructor(renderer, cdr, configService, i18n) {
|
|
13
|
+
constructor(renderer, datePipe, lowerCasePipe, cdr, configService, i18n) {
|
|
13
14
|
super();
|
|
14
15
|
this.renderer = renderer;
|
|
16
|
+
this.datePipe = datePipe;
|
|
17
|
+
this.lowerCasePipe = lowerCasePipe;
|
|
15
18
|
this.cdr = cdr;
|
|
16
19
|
this.configService = configService;
|
|
17
20
|
this.i18n = i18n;
|
|
@@ -26,13 +29,20 @@ export class XPickerDateComponent extends XPickerDateProperty {
|
|
|
26
29
|
];
|
|
27
30
|
this.now = new Date();
|
|
28
31
|
this.dates = [];
|
|
32
|
+
this.locale = {};
|
|
29
33
|
this._unSubject = new Subject();
|
|
30
34
|
}
|
|
31
35
|
ngOnInit() {
|
|
32
|
-
this.i18n.localeChange
|
|
36
|
+
this.i18n.localeChange
|
|
37
|
+
.pipe(map((x) => x.datePicker), takeUntil(this._unSubject))
|
|
38
|
+
.subscribe((x) => {
|
|
39
|
+
this.locale = x;
|
|
40
|
+
this.cdr.markForCheck();
|
|
41
|
+
});
|
|
33
42
|
}
|
|
34
43
|
ngOnChanges(simples) {
|
|
35
|
-
|
|
44
|
+
const { display } = simples;
|
|
45
|
+
XIsChange(display) && this.init();
|
|
36
46
|
}
|
|
37
47
|
ngOnDestory() {
|
|
38
48
|
this._unSubject.next();
|
|
@@ -82,20 +92,45 @@ export class XPickerDateComponent extends XPickerDateProperty {
|
|
|
82
92
|
this.modelChange.emit(date);
|
|
83
93
|
this.cdr.markForCheck();
|
|
84
94
|
}
|
|
85
|
-
|
|
95
|
+
getLocaleMonth(date) {
|
|
96
|
+
return this.locale[this.lowerCasePipe.transform(this.datePipe.transform(date, 'LLLL'))];
|
|
97
|
+
}
|
|
98
|
+
setDisplay(date) {
|
|
99
|
+
this.display = new Date(date.getFullYear(), date.getMonth(), 1);
|
|
100
|
+
this.setDays(this.display);
|
|
101
|
+
}
|
|
102
|
+
nextMonth(num) {
|
|
103
|
+
let date = new Date(this.display);
|
|
104
|
+
date.setMonth(date.getMonth() + num);
|
|
105
|
+
this.setDisplay(date);
|
|
106
|
+
this.cdr.detectChanges();
|
|
107
|
+
}
|
|
108
|
+
nextYear(num) {
|
|
109
|
+
let date = new Date(this.display);
|
|
110
|
+
date.setFullYear(date.getFullYear() + num);
|
|
111
|
+
this.setDisplay(date);
|
|
112
|
+
this.cdr.detectChanges();
|
|
113
|
+
}
|
|
114
|
+
typeOnChange(type) {
|
|
115
|
+
this.type = type;
|
|
116
|
+
this.typeChange.emit(type);
|
|
117
|
+
this.cdr.detectChanges();
|
|
118
|
+
}
|
|
119
|
+
trackByNode(_index, item) {
|
|
86
120
|
return item;
|
|
87
121
|
}
|
|
88
122
|
}
|
|
89
|
-
/** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.
|
|
90
|
-
/** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.
|
|
91
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.
|
|
123
|
+
/** @nocollapse */ XPickerDateComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateComponent, deps: [{ token: i0.Renderer2 }, { token: i1.DatePipe }, { token: i1.LowerCasePipe }, { token: i0.ChangeDetectorRef }, { token: i2.XConfigService }, { token: i3.XI18nService }], target: i0.ɵɵFactoryTarget.Component });
|
|
124
|
+
/** @nocollapse */ XPickerDateComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.0.5", type: XPickerDateComponent, selector: "x-picker-date", providers: [DatePipe, LowerCasePipe], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div class=\"x-picker-date\" [class.x-date-picker-datetemp]=\"dateTemp\">\r\n <div class=\"x-picker-date-header\" *ngIf=\"showHeader\">\r\n <x-button icon=\"fto-chevrons-left\" size=\"small\" onlyIcon (click)=\"nextYear(-1)\"></x-button>\r\n <x-button icon=\"fto-chevron-left\" size=\"small\" onlyIcon (click)=\"nextMonth(-1)\"></x-button>\r\n <div class=\"x-picker-date-year-month\">\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('year')\">{{ display | date: 'yyyy' }}{{ locale.year }}</x-button>\r\n <x-button type=\"text\" size=\"small\" (click)=\"typeOnChange('month')\">{{ getLocaleMonth(display) }}</x-button>\r\n </div>\r\n <x-button icon=\"fto-chevron-right\" size=\"small\" onlyIcon (click)=\"nextMonth(1)\"></x-button>\r\n <x-button icon=\"fto-chevrons-right\" size=\"small\" onlyIcon (click)=\"nextYear(1)\"></x-button>\r\n </div>\r\n <div class=\"x-picker-date-body\">\r\n <table cellspacing=\"0\" cellpadding=\"0\">\r\n <thead>\r\n <tr>\r\n <th *ngFor=\"let title of titles; trackBy: trackByNode\">{{ title | xI18n }}</th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let weeks of dates\">\r\n <ng-container *ngFor=\"let week of weeks; trackBy: trackByNode\">\r\n <td\r\n [class.x-date-last-or-next]=\"(week | date: 'yyyyMM') !== (display | date: 'yyyyMM')\"\r\n [class.x-date-now]=\"(week | date: 'yyyyMMdd') === (now | date: 'yyyyMMdd')\"\r\n (click)=\"dateTemp && dateClick(week)\"\r\n >\r\n <x-button\r\n *ngIf=\"!dateTemp\"\r\n type=\"text\"\r\n size=\"mini\"\r\n title=\"{{ week | date: 'yyyy-MM-dd' }}\"\r\n [activated]=\"!rangePicker && (week | date: 'yyyyMMdd') === (model | date: 'yyyyMMdd')\"\r\n (click)=\"dateClick(week)\"\r\n >{{ week | date: 'd' }}</x-button\r\n >\r\n <ng-container *ngIf=\"dateTemp\">\r\n <ng-container *ngTemplateOutlet=\"dateTemp; context: { date$: week }\"></ng-container>\r\n </ng-container>\r\n </td>\r\n </ng-container>\r\n </tr>\r\n </tbody>\r\n </table>\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";.x-picker-date{margin:0;padding:0}.x-picker-date-header{display:flex;align-items:center;justify-content:space-between;padding:.5rem;border-bottom:var(--x-border-width) solid var(--x-border)}.x-picker-date-year-month{flex:1;text-align:center}.x-picker-date-body{padding:.5rem}.x-picker-date-body>table{width:100%;border-collapse:collapse;border-spacing:0}.x-picker-date-body>table th{font-weight:400;height:2rem;color:var(--x-text-400)}.x-picker-date-body>table td{padding:.25rem 0;text-align:center}.x-picker-date-body>table td x-button .x-button{width:1.625rem;height:1.5rem;margin:0 auto;border:.0625rem solid transparent}.x-picker-date-body>table td x-button .x-button:hover{background-color:var(--x-primary-900)}.x-picker-date-body>table td x-button .x-button-activated{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td x-button .x-button-activated:hover{color:var(--x-background-100);background-color:var(--x-primary)}.x-picker-date-body>table td.x-date-last-or-next x-button .x-button{color:var(--x-text-700)}.x-picker-date-body>table td.x-date-now x-button .x-button:not(.x-button-activated){color:var(--x-primary);background-color:transparent;border-color:var(--x-primary)}\n"], components: [{ type: i4.XButtonComponent, selector: "x-button" }], directives: [{ type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet"] }], pipes: { "date": i1.DatePipe, "xI18n": i3.XI18nPipe }, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
125
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.0.5", ngImport: i0, type: XPickerDateComponent, decorators: [{
|
|
92
126
|
type: Component,
|
|
93
127
|
args: [{
|
|
94
128
|
selector: `${XPickerDatePrefix}`,
|
|
95
129
|
templateUrl: './picker-date.component.html',
|
|
96
130
|
styleUrls: ['./picker-date.component.scss'],
|
|
97
131
|
encapsulation: ViewEncapsulation.None,
|
|
98
|
-
changeDetection: ChangeDetectionStrategy.OnPush
|
|
132
|
+
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
133
|
+
providers: [DatePipe, LowerCasePipe]
|
|
99
134
|
}]
|
|
100
|
-
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ChangeDetectorRef }, { type:
|
|
101
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ2hGLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFL0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7QUFTM0MsTUFBTSxPQUFPLG9CQUFxQixTQUFRLG1CQUFtQjtJQWMzRCxZQUFtQixRQUFtQixFQUFTLEdBQXNCLEVBQVMsYUFBNkIsRUFBUyxJQUFrQjtRQUNwSSxLQUFLLEVBQUUsQ0FBQztRQURTLGFBQVEsR0FBUixRQUFRLENBQVc7UUFBUyxRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUFTLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQUFTLFNBQUksR0FBSixJQUFJLENBQWM7UUFidEksV0FBTSxHQUFHO1lBQ1AsbUJBQW1CO1lBQ25CLG9CQUFvQjtZQUNwQixzQkFBc0I7WUFDdEIscUJBQXFCO1lBQ3JCLG1CQUFtQjtZQUNuQixxQkFBcUI7WUFDckIsbUJBQW1CO1NBQ3BCLENBQUM7UUFDRixRQUFHLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNqQixVQUFLLEdBQWEsRUFBRSxDQUFDO1FBQ2IsZUFB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O1lBQ3pCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztTQUM1RDtRQUVELElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFVO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxHQUFHLENBQUMsWUFBWSxFQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFhLEVBQUUsSUFBbUI7UUFDNUMsT0FBTyxJQUFJLENBQUM7SUFDZCxDQUFDOztvSUF0RlUsb0JBQW9CO3dIQUFwQixvQkFBb0IsaUdDdEJqQyx3M0NBaUNBOzJGRFhhLG9CQUFvQjtrQkFQaEMsU0FBUzttQkFBQztvQkFDVCxRQUFRLEVBQUUsR0FBRyxpQkFBaUIsRUFBRTtvQkFDaEMsV0FBVyxFQUFFLDhCQUE4QjtvQkFDM0MsU0FBUyxFQUFFLENBQUMsOEJBQThCLENBQUM7b0JBQzNDLGFBQWEsRUFBRSxpQkFBaUIsQ0FBQyxJQUFJO29CQUNyQyxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtpQkFDaEQiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBSZW5kZXJlcjIsXHJcbiAgT25DaGFuZ2VzLFxyXG4gIFNpbXBsZUNoYW5nZXNcclxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgY2h1bmssIFhJc0NoYW5nZSwgWENvbmZpZ1NlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgWFBpY2tlckRhdGVQcmVmaXgsIFhQaWNrZXJEYXRlUHJvcGVydHkgfSBmcm9tICcuL2RhdGUtcGlja2VyLnByb3BlcnR5JztcclxuaW1wb3J0IHsgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hQaWNrZXJEYXRlUHJlZml4fWAsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL3BpY2tlci1kYXRlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9waWNrZXItZGF0ZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhQaWNrZXJEYXRlQ29tcG9uZW50IGV4dGVuZHMgWFBpY2tlckRhdGVQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uQ2hhbmdlcyB7XHJcbiAgdGl0bGVzID0gW1xyXG4gICAgJ2RhdGVQaWNrZXIubW9uZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnR1ZXNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIud2VkbmVzZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnRodXJzZGF5JyxcclxuICAgICdkYXRlUGlja2VyLmZyaWRheScsXHJcbiAgICAnZGF0ZVBpY2tlci5zYXR1cmRheScsXHJcbiAgICAnZGF0ZVBpY2tlci5zdW5kYXknXHJcbiAgXTtcclxuICBub3cgPSBuZXcgRGF0ZSgpO1xyXG4gIGRhdGVzOiBEYXRlW11bXSA9IFtdO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLCBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlLCBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlLnBpcGUodGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdCkpLnN1YnNjcmliZSgoKSA9PiB0aGlzLmNkci5tYXJrRm9yQ2hlY2soKSk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhzaW1wbGVzOiBTaW1wbGVDaGFuZ2VzKSB7XHJcbiAgICBYSXNDaGFuZ2Uoc2ltcGxlcy5kaXNwbGF5KSAmJiB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0b3J5KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF5cyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5cyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgZGF0ZXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3QgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKTtcclxuICAgIGNvbnN0IGxhc3REYXRlID0gbGFzdC5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBmaXJzdERheSA9IGZpcnN0LmdldERheSgpO1xyXG4gICAgY29uc3QgbGFzdERheSA9IGxhc3QuZ2V0RGF5KCk7XHJcblxyXG4gICAgbGV0IGRheSA9IGZpcnN0RGF5O1xyXG4gICAgbGV0IGluZGV4ID0gMTtcclxuICAgIHdoaWxlIChkYXkgIT09IDEpIHtcclxuICAgICAgaW5kZXgtLTtcclxuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFtkYXRlLCAuLi5kYXRlc107XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5kZXggPSAxO1xyXG4gICAgZG8ge1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgbmV3IERhdGUoeWVhciwgbW9udGgsIGluZGV4KV07XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IHdoaWxlIChpbmRleCA8PSBsYXN0RGF0ZSk7XHJcblxyXG4gICAgaW5kZXggPSAwO1xyXG4gICAgZGF5ID0gbGFzdERheTtcclxuICAgIHdoaWxlIChkYXkgIT09IDAgfHwgZGF0ZXMubGVuZ3RoICE9PSA3ICogNikge1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgZGF0ZV07XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRlcyA9IGNodW5rKGRhdGVzLCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdChbZGF0ZXNbMF0sIGRhdGVzW2RhdGVzLmxlbmd0aCAtIDFdXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNsaWNrKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICB0cmFja0J5Tm9kZShpbmRleDogbnVtYmVyLCBpdGVtOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGVcIiBbY2xhc3MueC1kYXRlLXBpY2tlci1kYXRldGVtcF09XCJkYXRlVGVtcFwiPlxyXG4gIDx0YWJsZSBjbGFzcz1cIngtcGlja2VyLWRhdGUtdGFibGVcIiBjZWxsc3BhY2luZz1cIjBcIiBjZWxscGFkZGluZz1cIjBcIj5cclxuICAgIDx0aGVhZD5cclxuICAgICAgPHRyPlxyXG4gICAgICAgIDx0aCAqbmdGb3I9XCJsZXQgdGl0bGUgb2YgdGl0bGVzOyB0cmFja0J5OiB0cmFja0J5Tm9kZVwiPnt7IHRpdGxlIHwgeEkxOG4gfX08L3RoPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90aGVhZD5cclxuICAgIDx0Ym9keT5cclxuICAgICAgPHRyICpuZ0Zvcj1cImxldCB3ZWVrcyBvZiBkYXRlc1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdlZWsgb2Ygd2Vla3M7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCI+XHJcbiAgICAgICAgICA8dGRcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1sYXN0LW9yLW5leHRdPVwiKHdlZWsgfCBkYXRlOiAneXl5eU1NJykgIT09IChkaXNwbGF5IHwgZGF0ZTogJ3l5eXlNTScpXCJcclxuICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1ub3ddPVwiKHdlZWsgfCBkYXRlOiAneXl5eU1NZGQnKSA9PT0gKG5vdyB8IGRhdGU6ICd5eXl5TU1kZCcpXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVUZW1wICYmIGRhdGVDbGljayh3ZWVrKVwiXHJcbiAgICAgICAgICA+XHJcbiAgICAgICAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgICAgICAgICpuZ0lmPVwiIWRhdGVUZW1wXCJcclxuICAgICAgICAgICAgICB0eXBlPVwidGV4dFwiXHJcbiAgICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgICAgIHRpdGxlPVwie3sgd2VlayB8IGRhdGU6ICd5eXl5LU1NLWRkJyB9fVwiXHJcbiAgICAgICAgICAgICAgW2FjdGl2YXRlZF09XCIod2VlayB8IGRhdGU6ICd5eXl5TU1kZCcpID09PSAobW9kZWwgfCBkYXRlOiAneXl5eU1NZGQnKVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImRhdGVDbGljayh3ZWVrKVwiXHJcbiAgICAgICAgICAgICAgPnt7IHdlZWsgfCBkYXRlOiAnZCcgfX08L3gtYnV0dG9uXHJcbiAgICAgICAgICAgID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRhdGVUZW1wXCI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB3ZWVrIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8L3RkPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L3RyPlxyXG4gICAgPC90Ym9keT5cclxuICA8L3RhYmxlPlxyXG48L2Rpdj5cclxuIl19
|
|
135
|
+
}], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i1.DatePipe }, { type: i1.LowerCasePipe }, { type: i0.ChangeDetectorRef }, { type: i2.XConfigService }, { type: i3.XI18nService }]; } });
|
|
136
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGlja2VyLWRhdGUuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvZGF0ZS1waWNrZXIvcGlja2VyLWRhdGUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFDVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBS3hCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFrQixNQUFNLGtCQUFrQixDQUFDO0FBQ3BFLE9BQU8sRUFBbUIsaUJBQWlCLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNqRyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRS9CLE9BQU8sRUFBRSxHQUFHLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDaEQsT0FBTyxFQUFFLFFBQVEsRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7O0FBVTFELE1BQU0sT0FBTyxvQkFBcUIsU0FBUSxtQkFBbUI7SUFlM0QsWUFDUyxRQUFtQixFQUNuQixRQUFrQixFQUNsQixhQUE0QixFQUM1QixHQUFzQixFQUN0QixhQUE2QixFQUM3QixJQUFrQjtRQUV6QixLQUFLLEVBQUUsQ0FBQztRQVBELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsYUFBUSxHQUFSLFFBQVEsQ0FBVTtRQUNsQixrQkFBYSxHQUFiLGFBQWEsQ0FBZTtRQUM1QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtRQUN0QixrQkFBYSxHQUFiLGFBQWEsQ0FBZ0I7UUFDN0IsU0FBSSxHQUFKLElBQUksQ0FBYztRQXBCM0IsV0FBTSxHQUFHO1lBQ1AsbUJBQW1CO1lBQ25CLG9CQUFv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b0JBQW9CO2tCQVJoQyxTQUFTO21CQUFDO29CQUNULFFBQVEsRUFBRSxHQUFHLGlCQUFpQixFQUFFO29CQUNoQyxXQUFXLEVBQUUsOEJBQThCO29CQUMzQyxTQUFTLEVBQUUsQ0FBQyw4QkFBOEIsQ0FBQztvQkFDM0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7b0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO29CQUMvQyxTQUFTLEVBQUUsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDO2lCQUNyQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIFZpZXdFbmNhcHN1bGF0aW9uLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIFJlbmRlcmVyMixcclxuICBPbkNoYW5nZXMsXHJcbiAgU2ltcGxlQ2hhbmdlc1xyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBjaHVuaywgWElzQ2hhbmdlLCBYQ29uZmlnU2VydmljZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBYRGF0ZVBpY2tlclR5cGUsIFhQaWNrZXJEYXRlUHJlZml4LCBYUGlja2VyRGF0ZVByb3BlcnR5IH0gZnJvbSAnLi9kYXRlLXBpY2tlci5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWEkxOG5EYXRlUGlja2VyLCBYSTE4blNlcnZpY2UgfSBmcm9tICdAbmctbmVzdC91aS9pMThuJztcclxuaW1wb3J0IHsgbWFwLCB0YWtlVW50aWwgfSBmcm9tICdyeGpzL29wZXJhdG9ycyc7XHJcbmltcG9ydCB7IERhdGVQaXBlLCBMb3dlckNhc2VQaXBlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYUGlja2VyRGF0ZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9waWNrZXItZGF0ZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vcGlja2VyLWRhdGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW0RhdGVQaXBlLCBMb3dlckNhc2VQaXBlXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgWFBpY2tlckRhdGVDb21wb25lbnQgZXh0ZW5kcyBYUGlja2VyRGF0ZVByb3BlcnR5IGltcGxlbWVudHMgT25DaGFuZ2VzIHtcclxuICB0aXRsZXMgPSBbXHJcbiAgICAnZGF0ZVBpY2tlci5tb25kYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudHVlc2RheScsXHJcbiAgICAnZGF0ZVBpY2tlci53ZWRuZXNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIudGh1cnNkYXknLFxyXG4gICAgJ2RhdGVQaWNrZXIuZnJpZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnNhdHVyZGF5JyxcclxuICAgICdkYXRlUGlja2VyLnN1bmRheSdcclxuICBdO1xyXG4gIG5vdyA9IG5ldyBEYXRlKCk7XHJcbiAgZGF0ZXM6IERhdGVbXVtdID0gW107XHJcbiAgbG9jYWxlOiBYSTE4bkRhdGVQaWNrZXIgPSB7fTtcclxuICBwcml2YXRlIF91blN1YmplY3QgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyByZW5kZXJlcjogUmVuZGVyZXIyLFxyXG4gICAgcHVibGljIGRhdGVQaXBlOiBEYXRlUGlwZSxcclxuICAgIHB1YmxpYyBsb3dlckNhc2VQaXBlOiBMb3dlckNhc2VQaXBlLFxyXG4gICAgcHVibGljIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwdWJsaWMgY29uZmlnU2VydmljZTogWENvbmZpZ1NlcnZpY2UsXHJcbiAgICBwdWJsaWMgaTE4bjogWEkxOG5TZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLmkxOG4ubG9jYWxlQ2hhbmdlXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIG1hcCgoeCkgPT4geC5kYXRlUGlja2VyIGFzIFhJMThuRGF0ZVBpY2tlciksXHJcbiAgICAgICAgdGFrZVVudGlsKHRoaXMuX3VuU3ViamVjdClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCh4KSA9PiB7XHJcbiAgICAgICAgdGhpcy5sb2NhbGUgPSB4O1xyXG4gICAgICAgIHRoaXMuY2RyLm1hcmtGb3JDaGVjaygpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKHNpbXBsZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGNvbnN0IHsgZGlzcGxheSB9ID0gc2ltcGxlcztcclxuICAgIFhJc0NoYW5nZShkaXNwbGF5KSAmJiB0aGlzLmluaXQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0b3J5KCkge1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0Lm5leHQoKTtcclxuICAgIHRoaXMuX3VuU3ViamVjdC51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxuXHJcbiAgaW5pdCgpIHtcclxuICAgIHRoaXMuc2V0RGF5cyh0aGlzLmRpc3BsYXkpO1xyXG4gIH1cclxuXHJcbiAgc2V0RGF5cyhkYXRlOiBEYXRlKSB7XHJcbiAgICBsZXQgZGF0ZXM6IERhdGVbXSA9IFtdO1xyXG4gICAgY29uc3QgeWVhciA9IGRhdGUuZ2V0RnVsbFllYXIoKTtcclxuICAgIGNvbnN0IG1vbnRoID0gZGF0ZS5nZXRNb250aCgpO1xyXG4gICAgY29uc3QgZmlyc3QgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgMSk7XHJcbiAgICBjb25zdCBsYXN0ID0gbmV3IERhdGUoeWVhciwgbW9udGggKyAxLCAwKTtcclxuICAgIGNvbnN0IGxhc3REYXRlID0gbGFzdC5nZXREYXRlKCk7XHJcbiAgICBjb25zdCBmaXJzdERheSA9IGZpcnN0LmdldERheSgpO1xyXG4gICAgY29uc3QgbGFzdERheSA9IGxhc3QuZ2V0RGF5KCk7XHJcblxyXG4gICAgbGV0IGRheSA9IGZpcnN0RGF5O1xyXG4gICAgbGV0IGluZGV4ID0gMTtcclxuICAgIHdoaWxlIChkYXkgIT09IDEpIHtcclxuICAgICAgaW5kZXgtLTtcclxuICAgICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh5ZWFyLCBtb250aCwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFtkYXRlLCAuLi5kYXRlc107XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgaW5kZXggPSAxO1xyXG4gICAgZG8ge1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgbmV3IERhdGUoeWVhciwgbW9udGgsIGluZGV4KV07XHJcbiAgICAgIGluZGV4Kys7XHJcbiAgICB9IHdoaWxlIChpbmRleCA8PSBsYXN0RGF0ZSk7XHJcblxyXG4gICAgaW5kZXggPSAwO1xyXG4gICAgZGF5ID0gbGFzdERheTtcclxuICAgIHdoaWxlIChkYXkgIT09IDAgfHwgZGF0ZXMubGVuZ3RoICE9PSA3ICogNikge1xyXG4gICAgICBpbmRleCsrO1xyXG4gICAgICBsZXQgZGF0ZSA9IG5ldyBEYXRlKHllYXIsIG1vbnRoICsgMSwgaW5kZXgpO1xyXG4gICAgICBkYXRlcyA9IFsuLi5kYXRlcywgZGF0ZV07XHJcbiAgICAgIGRheSA9IGRhdGUuZ2V0RGF5KCk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5kYXRlcyA9IGNodW5rKGRhdGVzLCA3KTtcclxuXHJcbiAgICBpZiAodGhpcy5kYXRlcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgIHRoaXMucmFuZ2VDaGFuZ2UuZW1pdChbZGF0ZXNbMF0sIGRhdGVzW2RhdGVzLmxlbmd0aCAtIDFdXSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZGF0ZUNsaWNrKGRhdGU6IERhdGUpIHtcclxuICAgIHRoaXMubW9kZWwgPSBkYXRlO1xyXG4gICAgdGhpcy5tb2RlbENoYW5nZS5lbWl0KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIubWFya0ZvckNoZWNrKCk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2NhbGVNb250aChkYXRlOiBEYXRlKSB7XHJcbiAgICByZXR1cm4gKHRoaXMubG9jYWxlIGFzIGFueSlbdGhpcy5sb3dlckNhc2VQaXBlLnRyYW5zZm9ybSh0aGlzLmRhdGVQaXBlLnRyYW5zZm9ybShkYXRlLCAnTExMTCcpIGFzIHN0cmluZyldO1xyXG4gIH1cclxuXHJcbiAgc2V0RGlzcGxheShkYXRlOiBEYXRlKSB7XHJcbiAgICB0aGlzLmRpc3BsYXkgPSBuZXcgRGF0ZShkYXRlLmdldEZ1bGxZZWFyKCksIGRhdGUuZ2V0TW9udGgoKSwgMSk7XHJcbiAgICB0aGlzLnNldERheXModGhpcy5kaXNwbGF5KTtcclxuICB9XHJcblxyXG4gIG5leHRNb250aChudW06IG51bWJlcikge1xyXG4gICAgbGV0IGRhdGUgPSBuZXcgRGF0ZSh0aGlzLmRpc3BsYXkpO1xyXG4gICAgZGF0ZS5zZXRNb250aChkYXRlLmdldE1vbnRoKCkgKyBudW0pO1xyXG4gICAgdGhpcy5zZXREaXNwbGF5KGRhdGUpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmV4dFllYXIobnVtOiBudW1iZXIpIHtcclxuICAgIGxldCBkYXRlID0gbmV3IERhdGUodGhpcy5kaXNwbGF5KTtcclxuICAgIGRhdGUuc2V0RnVsbFllYXIoZGF0ZS5nZXRGdWxsWWVhcigpICsgbnVtKTtcclxuICAgIHRoaXMuc2V0RGlzcGxheShkYXRlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHR5cGVPbkNoYW5nZSh0eXBlOiBYRGF0ZVBpY2tlclR5cGUpIHtcclxuICAgIHRoaXMudHlwZSA9IHR5cGU7XHJcbiAgICB0aGlzLnR5cGVDaGFuZ2UuZW1pdCh0eXBlKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHRyYWNrQnlOb2RlKF9pbmRleDogbnVtYmVyLCBpdGVtOiBzdHJpbmcgfCBEYXRlKSB7XHJcbiAgICByZXR1cm4gaXRlbTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGVcIiBbY2xhc3MueC1kYXRlLXBpY2tlci1kYXRldGVtcF09XCJkYXRlVGVtcFwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXBpY2tlci1kYXRlLWhlYWRlclwiICpuZ0lmPVwic2hvd0hlYWRlclwiPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbnMtbGVmdFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigtMSlcIj48L3gtYnV0dG9uPlxyXG4gICAgPHgtYnV0dG9uIGljb249XCJmdG8tY2hldnJvbi1sZWZ0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgtMSlcIj48L3gtYnV0dG9uPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGUteWVhci1tb250aFwiPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCd5ZWFyJylcIj57eyBkaXNwbGF5IHwgZGF0ZTogJ3l5eXknIH19e3sgbG9jYWxlLnllYXIgfX08L3gtYnV0dG9uPlxyXG4gICAgICA8eC1idXR0b24gdHlwZT1cInRleHRcIiBzaXplPVwic21hbGxcIiAoY2xpY2spPVwidHlwZU9uQ2hhbmdlKCdtb250aCcpXCI+e3sgZ2V0TG9jYWxlTW9udGgoZGlzcGxheSkgfX08L3gtYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9uLXJpZ2h0XCIgc2l6ZT1cInNtYWxsXCIgb25seUljb24gKGNsaWNrKT1cIm5leHRNb250aCgxKVwiPjwveC1idXR0b24+XHJcbiAgICA8eC1idXR0b24gaWNvbj1cImZ0by1jaGV2cm9ucy1yaWdodFwiIHNpemU9XCJzbWFsbFwiIG9ubHlJY29uIChjbGljayk9XCJuZXh0WWVhcigxKVwiPjwveC1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cIngtcGlja2VyLWRhdGUtYm9keVwiPlxyXG4gICAgPHRhYmxlIGNlbGxzcGFjaW5nPVwiMFwiIGNlbGxwYWRkaW5nPVwiMFwiPlxyXG4gICAgICA8dGhlYWQ+XHJcbiAgICAgICAgPHRyPlxyXG4gICAgICAgICAgPHRoICpuZ0Zvcj1cImxldCB0aXRsZSBvZiB0aXRsZXM7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCI+e3sgdGl0bGUgfCB4STE4biB9fTwvdGg+XHJcbiAgICAgICAgPC90cj5cclxuICAgICAgPC90aGVhZD5cclxuICAgICAgPHRib2R5PlxyXG4gICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgd2Vla3Mgb2YgZGF0ZXNcIj5cclxuICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IHdlZWsgb2Ygd2Vla3M7IHRyYWNrQnk6IHRyYWNrQnlOb2RlXCI+XHJcbiAgICAgICAgICAgIDx0ZFxyXG4gICAgICAgICAgICAgIFtjbGFzcy54LWRhdGUtbGFzdC1vci1uZXh0XT1cIih3ZWVrIHwgZGF0ZTogJ3l5eXlNTScpICE9PSAoZGlzcGxheSB8IGRhdGU6ICd5eXl5TU0nKVwiXHJcbiAgICAgICAgICAgICAgW2NsYXNzLngtZGF0ZS1ub3ddPVwiKHdlZWsgfCBkYXRlOiAneXl5eU1NZGQnKSA9PT0gKG5vdyB8IGRhdGU6ICd5eXl5TU1kZCcpXCJcclxuICAgICAgICAgICAgICAoY2xpY2spPVwiZGF0ZVRlbXAgJiYgZGF0ZUNsaWNrKHdlZWspXCJcclxuICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDx4LWJ1dHRvblxyXG4gICAgICAgICAgICAgICAgKm5nSWY9XCIhZGF0ZVRlbXBcIlxyXG4gICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxyXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1pbmlcIlxyXG4gICAgICAgICAgICAgICAgdGl0bGU9XCJ7eyB3ZWVrIHwgZGF0ZTogJ3l5eXktTU0tZGQnIH19XCJcclxuICAgICAgICAgICAgICAgIFthY3RpdmF0ZWRdPVwiIXJhbmdlUGlja2VyICYmICh3ZWVrIHwgZGF0ZTogJ3l5eXlNTWRkJykgPT09IChtb2RlbCB8IGRhdGU6ICd5eXl5TU1kZCcpXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJkYXRlQ2xpY2sod2VlaylcIlxyXG4gICAgICAgICAgICAgICAgPnt7IHdlZWsgfCBkYXRlOiAnZCcgfX08L3gtYnV0dG9uXHJcbiAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJkYXRlVGVtcFwiPlxyXG4gICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImRhdGVUZW1wOyBjb250ZXh0OiB7IGRhdGUkOiB3ZWVrIH1cIj48L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvdHI+XHJcbiAgICAgIDwvdGJvZHk+XHJcbiAgICA8L3RhYmxlPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|