@energycap/components 0.41.1-ECAP-27592-angular-17.20241223-1643 → 0.41.1-ECAP-26841-date-input-features.20250106-0847
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/{esm2022 → esm2020}/energycap-components.mjs +4 -4
- package/esm2020/lib/components.module.mjs +423 -0
- package/esm2020/lib/controls/banner/banner.component.mjs +109 -0
- package/esm2020/lib/controls/button/button.component.mjs +106 -0
- package/esm2020/lib/controls/button/copy-button-base.directive.mjs +67 -0
- package/{esm2022 → esm2020}/lib/controls/button/copy-button.directive.mjs +28 -28
- package/esm2020/lib/controls/button/copy-table-button.directive.mjs +43 -0
- package/esm2020/lib/controls/calendar/calendar-item.component.mjs +91 -0
- package/esm2020/lib/controls/calendar/calendar.component.mjs +248 -0
- package/esm2020/lib/controls/calendar/calendar.types.mjs +2 -0
- package/esm2020/lib/controls/checkbox/checkbox.component.mjs +140 -0
- package/{esm2022 → esm2020}/lib/controls/collapsible-toggle/collapsible-toggle.component.mjs +38 -38
- package/esm2020/lib/controls/combobox/combobox.component.mjs +879 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.mjs +57 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.mjs +62 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.mjs +100 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.mjs +101 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.mjs +76 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.mjs +79 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.mjs +210 -0
- package/esm2020/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.mjs +81 -0
- package/esm2020/lib/controls/date-input/date-input.component.mjs +462 -0
- package/esm2020/lib/controls/date-input/date-input.types.mjs +44 -0
- package/esm2020/lib/controls/dropdown/dropdown.component.mjs +243 -0
- package/esm2020/lib/controls/file-upload/file-upload.component.mjs +261 -0
- package/esm2020/lib/controls/form-control/form-control.component.mjs +98 -0
- package/esm2020/lib/controls/form-control-base.mjs +151 -0
- package/esm2020/lib/controls/form-control-label/form-control-label.component.mjs +136 -0
- package/esm2020/lib/controls/form-group/form-group.component.mjs +261 -0
- package/{esm2022 → esm2020}/lib/controls/help-popover/help-popover.component.mjs +31 -31
- package/esm2020/lib/controls/item-picker/item-picker.component.mjs +329 -0
- package/{esm2022 → esm2020}/lib/controls/link-button/link-button.component.mjs +11 -11
- package/esm2020/lib/controls/menu/menu.component.mjs +485 -0
- package/{esm2022 → esm2020}/lib/controls/navigation/link-item.mjs +1 -1
- package/esm2020/lib/controls/navigation/nav-group.mjs +39 -0
- package/esm2020/lib/controls/navigation/nav-item-active.directive.mjs +92 -0
- package/{esm2022 → esm2020}/lib/controls/navigation/nav-item.mjs +1 -1
- package/esm2020/lib/controls/numericbox/numericbox.component.mjs +372 -0
- package/esm2020/lib/controls/popover/popover.component.mjs +117 -0
- package/{esm2022 → esm2020}/lib/controls/radio-button/radio-button-option.mjs +2 -2
- package/esm2020/lib/controls/radio-button/radio-button.component.mjs +82 -0
- package/esm2020/lib/controls/select/select.component.mjs +88 -0
- package/esm2020/lib/controls/tabs/tabs.component.mjs +47 -0
- package/esm2020/lib/controls/textbox/textbox.component.mjs +155 -0
- package/esm2020/lib/core/cache.service.mjs +105 -0
- package/esm2020/lib/core/custom-validators.mjs +29 -0
- package/esm2020/lib/core/date-time-helper.mjs +228 -0
- package/esm2020/lib/core/error.service.mjs +61 -0
- package/esm2020/lib/core/router-helper.service.mjs +111 -0
- package/esm2020/lib/core/scroll.service.mjs +89 -0
- package/{esm2022 → esm2020}/lib/core/telemetry-tracker.service.mjs +16 -16
- package/{esm2022 → esm2020}/lib/core/telemetry.service.mjs +38 -38
- package/esm2020/lib/core/validation-message.service.mjs +185 -0
- package/{esm2022 → esm2020}/lib/core/validation-patterns.mjs +30 -30
- package/esm2020/lib/core/window.service.mjs +186 -0
- package/esm2020/lib/display/app-bar/app-bar.component.mjs +46 -0
- package/esm2020/lib/display/avatar/avatar.component.mjs +67 -0
- package/esm2020/lib/display/avatar/avatar.service.mjs +64 -0
- package/esm2020/lib/display/confirm/confirm.component.mjs +168 -0
- package/{esm2022 → esm2020}/lib/display/dialog/dialog-content.mjs +1 -1
- package/esm2020/lib/display/dialog/dialog-group/dialog-group.component.mjs +63 -0
- package/{esm2022 → esm2020}/lib/display/dialog/dialog-types.mjs +76 -76
- package/esm2020/lib/display/dialog/dialog.component.mjs +281 -0
- package/{esm2022 → esm2020}/lib/display/dialog/dialog.service.mjs +71 -71
- package/{esm2022 → esm2020}/lib/display/help/help-types.mjs +1 -1
- package/esm2020/lib/display/hierarchy/hierarchy-base.mjs +111 -0
- package/{esm2022 → esm2020}/lib/display/hierarchy/hierarchy-mocks.spec.mjs +53 -53
- package/esm2020/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +61 -0
- package/esm2020/lib/display/item-display/item-display.component.mjs +81 -0
- package/esm2020/lib/display/json-display/json-display.component.mjs +47 -0
- package/esm2020/lib/display/resizable/resizable-base.mjs +120 -0
- package/{esm2022 → esm2020}/lib/display/resizable/resizable.component.mjs +52 -52
- package/{esm2022 → esm2020}/lib/display/spinner/spinner.component.mjs +12 -12
- package/esm2020/lib/display/splash/splash.component.mjs +42 -0
- package/{esm2022 → esm2020}/lib/display/splash/splash.service.mjs +35 -35
- package/{esm2022 → esm2020}/lib/display/table/resizable-column.component.mjs +20 -20
- package/esm2020/lib/display/table/resizable-table.directive.mjs +227 -0
- package/esm2020/lib/display/table/searchable-table.component.mjs +342 -0
- package/{esm2022 → esm2020}/lib/display/table/table-detail-row.component.mjs +19 -19
- package/esm2020/lib/display/table/table-locked-column.component.mjs +58 -0
- package/{esm2022 → esm2020}/lib/display/table/table-master-header-row.component.mjs +14 -14
- package/esm2020/lib/display/table/table-master-row.component.mjs +163 -0
- package/esm2020/lib/display/table/table-pagination.component.mjs +155 -0
- package/esm2020/lib/display/table/table-selectable-row.component.mjs +235 -0
- package/esm2020/lib/display/table/table.component.mjs +249 -0
- package/esm2020/lib/display/tags/tag.mjs +18 -0
- package/esm2020/lib/display/tags/tags.component.mjs +77 -0
- package/esm2020/lib/display/toast/toast/toast.component.mjs +77 -0
- package/{esm2022 → esm2020}/lib/display/toast/toast-types.mjs +7 -7
- package/{esm2022 → esm2020}/lib/display/toast/toast.service.mjs +35 -35
- package/esm2020/lib/display/toast/toaster/toaster.component.mjs +114 -0
- package/{esm2022 → esm2020}/lib/display/tooltip/tooltip.component.mjs +28 -28
- package/{esm2022 → esm2020}/lib/display/tooltip/tooltip.service.mjs +78 -78
- package/esm2020/lib/display/tooltip-directive/tooltip.directive.mjs +173 -0
- package/{esm2022 → esm2020}/lib/display/tour/tour-types.mjs +33 -33
- package/esm2020/lib/display/tour/tour.component.mjs +398 -0
- package/esm2020/lib/display/tour/tour.service.mjs +75 -0
- package/esm2020/lib/display/tree/tree.component.mjs +135 -0
- package/esm2020/lib/display/view-overlay/view-overlay.component.mjs +58 -0
- package/esm2020/lib/shared/directives/click-area-for/click-area-for.directive.mjs +32 -0
- package/esm2020/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +111 -0
- package/esm2020/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.mjs +100 -0
- package/esm2020/lib/shared/directives/popup/popup-container.directive.mjs +163 -0
- package/esm2020/lib/shared/display/pipes/date-display.pipe.mjs +50 -0
- package/esm2020/lib/shared/display/pipes/highlight-text.pipe.mjs +30 -0
- package/esm2020/lib/shared/display/pipes/relative-date.pipe.mjs +62 -0
- package/esm2020/lib/shared/display/pipes/row-count.pipe.mjs +48 -0
- package/esm2020/lib/shared/display/pipes/time-display.pipe.mjs +41 -0
- package/esm2020/lib/shared/display.mjs +6 -0
- package/esm2020/lib/shared/form-group.helper.mjs +67 -0
- package/esm2020/lib/shared/json-helper.mjs +19 -0
- package/esm2020/lib/shared/lodash-helper.mjs +51 -0
- package/esm2020/lib/shared/page/page-base/page-base.component.mjs +387 -0
- package/{esm2022 → esm2020}/lib/shared/page/page-statuses.mjs +22 -22
- package/{esm2022 → esm2020}/lib/shared/page/page-title/page-title.component.mjs +23 -23
- package/esm2020/lib/shared/page/page-view/page-view.component.mjs +147 -0
- package/{esm2022 → esm2020}/lib/shared/testing/copy-button-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2022 → esm2020}/lib/shared/testing/hierarchy-base-test-injector-factory.spec.mjs +16 -16
- package/{esm2022 → esm2020}/lib/shared/testing/page-base-component-test-helper.spec.mjs +37 -37
- package/esm2020/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +98 -0
- package/{esm2022 → esm2020}/lib/shared/testing/public-mocks.spec.mjs +148 -148
- package/{esm2022 → esm2020}/lib/shared/testing/spy-factory.spec.mjs +39 -39
- package/{esm2022 → esm2020}/lib/shared/testing/translation-mocks.spec.mjs +56 -56
- package/{esm2022 → esm2020}/lib/shared/user-preference.service.mjs +17 -17
- package/esm2020/lib/shared/wizard/wizard-base/wizard-base.component.mjs +246 -0
- package/{esm2022 → esm2020}/lib/shared/wizard/wizard-buttons/wizard-buttons.component.mjs +68 -68
- package/{esm2022 → esm2020}/lib/shared/wizard/wizard-progress/wizard-progress.component.mjs +18 -18
- package/esm2020/public-api.mjs +117 -0
- package/fesm2015/energycap-components.mjs +13370 -0
- package/fesm2015/energycap-components.mjs.map +1 -0
- package/{fesm2022 → fesm2020}/energycap-components.mjs +12971 -11819
- package/fesm2020/energycap-components.mjs.map +1 -0
- package/index.d.ts +5 -5
- package/lib/components.module.d.ts +92 -91
- package/lib/controls/banner/banner.component.d.ts +50 -50
- package/lib/controls/button/button.component.d.ts +78 -78
- package/lib/controls/button/copy-button-base.directive.d.ts +20 -20
- package/lib/controls/button/copy-button.directive.d.ts +14 -14
- package/lib/controls/button/copy-table-button.directive.d.ts +19 -19
- package/lib/controls/calendar/calendar-item.component.d.ts +22 -17
- package/lib/controls/calendar/calendar.component.d.ts +52 -54
- package/lib/controls/calendar/calendar.types.d.ts +11 -7
- package/lib/controls/checkbox/checkbox.component.d.ts +65 -65
- package/lib/controls/collapsible-toggle/collapsible-toggle.component.d.ts +25 -25
- package/lib/controls/combobox/combobox.component.d.ts +418 -418
- package/lib/controls/date-input/date-input-selection-strategies/date-input-selection-strategy-base.d.ts +42 -0
- package/lib/controls/date-input/date-input-selection-strategies/day-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/last-28-days-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/last-7-days-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/month-selection-strategy.d.ts +18 -0
- package/lib/controls/date-input/date-input-selection-strategies/quarter-selection-strategy.d.ts +18 -0
- package/lib/controls/date-input/date-input-selection-strategies/range-selection-strategy.d.ts +21 -0
- package/lib/controls/date-input/date-input-selection-strategies/year-selection-strategy.d.ts +20 -0
- package/lib/controls/date-input/date-input.component.d.ts +115 -80
- package/lib/controls/date-input/date-input.types.d.ts +62 -0
- package/lib/controls/dropdown/dropdown.component.d.ts +161 -161
- package/lib/controls/file-upload/file-upload.component.d.ts +124 -124
- package/lib/controls/form-control/form-control.component.d.ts +28 -30
- package/lib/controls/form-control-base.d.ts +110 -110
- package/lib/controls/form-control-label/form-control-label.component.d.ts +73 -73
- package/lib/controls/form-group/form-group.component.d.ts +105 -105
- package/lib/controls/help-popover/help-popover.component.d.ts +11 -11
- package/lib/controls/item-picker/item-picker.component.d.ts +164 -164
- package/lib/controls/link-button/link-button.component.d.ts +5 -5
- package/lib/controls/menu/menu.component.d.ts +255 -255
- package/lib/controls/navigation/link-item.d.ts +32 -32
- package/lib/controls/navigation/nav-group.d.ts +18 -18
- package/lib/controls/navigation/nav-item-active.directive.d.ts +42 -42
- package/lib/controls/navigation/nav-item.d.ts +31 -31
- package/lib/controls/numericbox/numericbox.component.d.ts +148 -148
- package/lib/controls/popover/popover.component.d.ts +51 -51
- package/lib/controls/radio-button/radio-button-option.d.ts +19 -19
- package/lib/controls/radio-button/radio-button.component.d.ts +53 -53
- package/lib/controls/select/select.component.d.ts +44 -44
- package/lib/controls/tabs/tabs.component.d.ts +30 -30
- package/lib/controls/textbox/textbox.component.d.ts +107 -107
- package/lib/core/cache.service.d.ts +33 -33
- package/lib/core/custom-validators.d.ts +20 -20
- package/lib/core/date-time-helper.d.ts +101 -101
- package/lib/core/error.service.d.ts +20 -20
- package/lib/core/router-helper.service.d.ts +48 -48
- package/lib/core/scroll.service.d.ts +36 -36
- package/lib/core/telemetry-tracker.service.d.ts +13 -13
- package/lib/core/telemetry.service.d.ts +31 -31
- package/lib/core/validation-message.service.d.ts +26 -26
- package/lib/core/validation-patterns.d.ts +22 -22
- package/lib/core/window.service.d.ts +116 -116
- package/lib/display/app-bar/app-bar.component.d.ts +20 -20
- package/lib/display/avatar/avatar.component.d.ts +35 -35
- package/lib/display/avatar/avatar.service.d.ts +24 -24
- package/lib/display/confirm/confirm.component.d.ts +123 -123
- package/lib/display/dialog/dialog-content.d.ts +19 -19
- package/lib/display/dialog/dialog-group/dialog-group.component.d.ts +32 -32
- package/lib/display/dialog/dialog-types.d.ts +130 -130
- package/lib/display/dialog/dialog.component.d.ts +120 -120
- package/lib/display/dialog/dialog.service.d.ts +48 -48
- package/lib/display/help/help-types.d.ts +33 -33
- package/lib/display/hierarchy/hierarchy-base.d.ts +97 -97
- package/lib/display/hierarchy/hierarchy-mocks.spec.d.ts +53 -53
- package/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.d.ts +34 -34
- package/lib/display/item-display/item-display.component.d.ts +43 -43
- package/lib/display/json-display/json-display.component.d.ts +16 -16
- package/lib/display/resizable/resizable-base.d.ts +67 -67
- package/lib/display/resizable/resizable.component.d.ts +31 -31
- package/lib/display/spinner/spinner.component.d.ts +5 -5
- package/lib/display/splash/splash.component.d.ts +16 -16
- package/lib/display/splash/splash.service.d.ts +22 -22
- package/lib/display/table/resizable-column.component.d.ts +10 -10
- package/lib/display/table/resizable-table.directive.d.ts +93 -93
- package/lib/display/table/searchable-table.component.d.ts +206 -206
- package/lib/display/table/table-detail-row.component.d.ts +8 -8
- package/lib/display/table/table-locked-column.component.d.ts +20 -20
- package/lib/display/table/table-master-header-row.component.d.ts +9 -9
- package/lib/display/table/table-master-row.component.d.ts +113 -113
- package/lib/display/table/table-pagination.component.d.ts +91 -91
- package/lib/display/table/table-selectable-row.component.d.ts +102 -102
- package/lib/display/table/table.component.d.ts +121 -121
- package/lib/display/tags/tag.d.ts +18 -18
- package/lib/display/tags/tags.component.d.ts +48 -48
- package/lib/display/toast/toast/toast.component.d.ts +23 -23
- package/lib/display/toast/toast-types.d.ts +24 -24
- package/lib/display/toast/toast.service.d.ts +20 -20
- package/lib/display/toast/toaster/toaster.component.d.ts +35 -35
- package/lib/display/tooltip/tooltip.component.d.ts +70 -70
- package/lib/display/tooltip/tooltip.service.d.ts +16 -16
- package/lib/display/tooltip-directive/tooltip.directive.d.ts +44 -44
- package/lib/display/tour/tour-types.d.ts +70 -70
- package/lib/display/tour/tour.component.d.ts +147 -147
- package/lib/display/tour/tour.service.d.ts +38 -38
- package/lib/display/tree/tree.component.d.ts +75 -75
- package/lib/display/view-overlay/view-overlay.component.d.ts +38 -38
- package/lib/shared/directives/click-area-for/click-area-for.directive.d.ts +14 -14
- package/lib/shared/directives/if-viewport-width/if-viewport-width.directive.d.ts +60 -60
- package/lib/shared/directives/keyboard-nav-container/keyboard-nav-container.directive.d.ts +23 -0
- package/lib/shared/directives/popup/popup-container.directive.d.ts +101 -101
- package/lib/shared/display/pipes/date-display.pipe.d.ts +21 -21
- package/lib/shared/display/pipes/highlight-text.pipe.d.ts +9 -9
- package/lib/shared/display/pipes/relative-date.pipe.d.ts +36 -36
- package/lib/shared/display/pipes/row-count.pipe.d.ts +23 -23
- package/lib/shared/display/pipes/time-display.pipe.d.ts +18 -18
- package/lib/shared/display.d.ts +42 -42
- package/lib/shared/form-group.helper.d.ts +31 -31
- package/lib/shared/json-helper.d.ts +7 -7
- package/lib/shared/lodash-helper.d.ts +18 -18
- package/lib/shared/page/page-base/page-base.component.d.ts +259 -259
- package/lib/shared/page/page-statuses.d.ts +13 -13
- package/lib/shared/page/page-title/page-title.component.d.ts +9 -9
- package/lib/shared/page/page-view/page-view.component.d.ts +102 -102
- package/lib/shared/testing/copy-button-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/hierarchy-base-test-injector-factory.spec.d.ts +4 -4
- package/lib/shared/testing/page-base-component-test-helper.spec.d.ts +30 -30
- package/lib/shared/testing/page-base-component-test-injector-factory.spec.d.ts +28 -28
- package/lib/shared/testing/public-mocks.spec.d.ts +90 -90
- package/lib/shared/testing/spy-factory.spec.d.ts +27 -27
- package/lib/shared/testing/translation-mocks.spec.d.ts +30 -30
- package/lib/shared/user-preference.service.d.ts +13 -13
- package/lib/shared/wizard/wizard-base/wizard-base.component.d.ts +134 -134
- package/lib/shared/wizard/wizard-buttons/wizard-buttons.component.d.ts +27 -27
- package/lib/shared/wizard/wizard-progress/wizard-progress.component.d.ts +10 -10
- package/package.json +18 -12
- package/public-api.d.ts +113 -111
- package/schematics/rxjs-7-upgrade/index.d.ts +3 -3
- package/schematics/rxjs-7-upgrade/index.js +67 -67
- package/schematics/rxjs-7-upgrade/index.js.map +1 -1
- package/schematics/rxjs-7-upgrade/schema.d.ts +4 -4
- package/schematics/rxjs-7-upgrade/schema.js +2 -2
- package/schematics/utilities/typescript.d.ts +7 -7
- package/schematics/utilities/typescript.js +41 -41
- package/schematics/utilities/workspace.d.ts +8 -8
- package/schematics/utilities/workspace.js +71 -71
- package/schematics/utilities/workspace.js.map +1 -1
- package/src/assets/locales/en_US.json +9 -1
- package/esm2022/lib/components.module.mjs +0 -418
- package/esm2022/lib/controls/banner/banner.component.mjs +0 -109
- package/esm2022/lib/controls/button/button.component.mjs +0 -106
- package/esm2022/lib/controls/button/copy-button-base.directive.mjs +0 -67
- package/esm2022/lib/controls/button/copy-table-button.directive.mjs +0 -43
- package/esm2022/lib/controls/calendar/calendar-item.component.mjs +0 -59
- package/esm2022/lib/controls/calendar/calendar.component.mjs +0 -200
- package/esm2022/lib/controls/calendar/calendar.types.mjs +0 -4
- package/esm2022/lib/controls/checkbox/checkbox.component.mjs +0 -140
- package/esm2022/lib/controls/combobox/combobox.component.mjs +0 -879
- package/esm2022/lib/controls/date-input/date-input.component.mjs +0 -256
- package/esm2022/lib/controls/dropdown/dropdown.component.mjs +0 -243
- package/esm2022/lib/controls/file-upload/file-upload.component.mjs +0 -261
- package/esm2022/lib/controls/form-control/form-control.component.mjs +0 -104
- package/esm2022/lib/controls/form-control-base.mjs +0 -151
- package/esm2022/lib/controls/form-control-label/form-control-label.component.mjs +0 -136
- package/esm2022/lib/controls/form-group/form-group.component.mjs +0 -261
- package/esm2022/lib/controls/item-picker/item-picker.component.mjs +0 -329
- package/esm2022/lib/controls/menu/menu.component.mjs +0 -485
- package/esm2022/lib/controls/navigation/nav-group.mjs +0 -39
- package/esm2022/lib/controls/navigation/nav-item-active.directive.mjs +0 -92
- package/esm2022/lib/controls/numericbox/numericbox.component.mjs +0 -372
- package/esm2022/lib/controls/popover/popover.component.mjs +0 -117
- package/esm2022/lib/controls/radio-button/radio-button.component.mjs +0 -82
- package/esm2022/lib/controls/select/select.component.mjs +0 -88
- package/esm2022/lib/controls/tabs/tabs.component.mjs +0 -47
- package/esm2022/lib/controls/textbox/textbox.component.mjs +0 -155
- package/esm2022/lib/core/cache.service.mjs +0 -105
- package/esm2022/lib/core/custom-validators.mjs +0 -29
- package/esm2022/lib/core/date-time-helper.mjs +0 -220
- package/esm2022/lib/core/error.service.mjs +0 -61
- package/esm2022/lib/core/router-helper.service.mjs +0 -111
- package/esm2022/lib/core/scroll.service.mjs +0 -89
- package/esm2022/lib/core/validation-message.service.mjs +0 -185
- package/esm2022/lib/core/window.service.mjs +0 -186
- package/esm2022/lib/display/app-bar/app-bar.component.mjs +0 -46
- package/esm2022/lib/display/avatar/avatar.component.mjs +0 -67
- package/esm2022/lib/display/avatar/avatar.service.mjs +0 -64
- package/esm2022/lib/display/confirm/confirm.component.mjs +0 -168
- package/esm2022/lib/display/dialog/dialog-group/dialog-group.component.mjs +0 -63
- package/esm2022/lib/display/dialog/dialog.component.mjs +0 -281
- package/esm2022/lib/display/hierarchy/hierarchy-base.mjs +0 -111
- package/esm2022/lib/display/hierarchy/hierarchy-tree/hierarchy-tree.component.mjs +0 -61
- package/esm2022/lib/display/item-display/item-display.component.mjs +0 -81
- package/esm2022/lib/display/json-display/json-display.component.mjs +0 -47
- package/esm2022/lib/display/resizable/resizable-base.mjs +0 -120
- package/esm2022/lib/display/splash/splash.component.mjs +0 -42
- package/esm2022/lib/display/table/resizable-table.directive.mjs +0 -227
- package/esm2022/lib/display/table/searchable-table.component.mjs +0 -342
- package/esm2022/lib/display/table/table-locked-column.component.mjs +0 -58
- package/esm2022/lib/display/table/table-master-row.component.mjs +0 -163
- package/esm2022/lib/display/table/table-pagination.component.mjs +0 -155
- package/esm2022/lib/display/table/table-selectable-row.component.mjs +0 -235
- package/esm2022/lib/display/table/table.component.mjs +0 -249
- package/esm2022/lib/display/tags/tag.mjs +0 -18
- package/esm2022/lib/display/tags/tags.component.mjs +0 -77
- package/esm2022/lib/display/toast/toast/toast.component.mjs +0 -77
- package/esm2022/lib/display/toast/toaster/toaster.component.mjs +0 -114
- package/esm2022/lib/display/tooltip-directive/tooltip.directive.mjs +0 -173
- package/esm2022/lib/display/tour/tour.component.mjs +0 -398
- package/esm2022/lib/display/tour/tour.service.mjs +0 -75
- package/esm2022/lib/display/tree/tree.component.mjs +0 -135
- package/esm2022/lib/display/view-overlay/view-overlay.component.mjs +0 -58
- package/esm2022/lib/shared/directives/click-area-for/click-area-for.directive.mjs +0 -32
- package/esm2022/lib/shared/directives/if-viewport-width/if-viewport-width.directive.mjs +0 -111
- package/esm2022/lib/shared/directives/popup/popup-container.directive.mjs +0 -166
- package/esm2022/lib/shared/display/pipes/date-display.pipe.mjs +0 -50
- package/esm2022/lib/shared/display/pipes/highlight-text.pipe.mjs +0 -30
- package/esm2022/lib/shared/display/pipes/relative-date.pipe.mjs +0 -62
- package/esm2022/lib/shared/display/pipes/row-count.pipe.mjs +0 -48
- package/esm2022/lib/shared/display/pipes/time-display.pipe.mjs +0 -41
- package/esm2022/lib/shared/display.mjs +0 -6
- package/esm2022/lib/shared/form-group.helper.mjs +0 -67
- package/esm2022/lib/shared/json-helper.mjs +0 -19
- package/esm2022/lib/shared/lodash-helper.mjs +0 -52
- package/esm2022/lib/shared/page/page-base/page-base.component.mjs +0 -387
- package/esm2022/lib/shared/page/page-view/page-view.component.mjs +0 -147
- package/esm2022/lib/shared/testing/page-base-component-test-injector-factory.spec.mjs +0 -98
- package/esm2022/lib/shared/wizard/wizard-base/wizard-base.component.mjs +0 -246
- package/esm2022/public-api.mjs +0 -115
- package/fesm2022/energycap-components.mjs.map +0 -1
@@ -1,18 +0,0 @@
|
|
1
|
-
/** Tag contains a label and type. Type is default by default */
|
2
|
-
export class Tag {
|
3
|
-
constructor(label, type, classList, icon, isDismissable, tooltip, url, target) {
|
4
|
-
this.target = '_self';
|
5
|
-
this.label = label;
|
6
|
-
this.type = type || 'info';
|
7
|
-
this.icon = icon;
|
8
|
-
this.isDismissable = isDismissable ?? false;
|
9
|
-
this.tooltip = tooltip;
|
10
|
-
this.url = url;
|
11
|
-
this.target = target || '_self';
|
12
|
-
if (classList) {
|
13
|
-
this.classList = classList;
|
14
|
-
}
|
15
|
-
}
|
16
|
-
}
|
17
|
-
;
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsZ0VBQWdFO0FBQ2hFLE1BQU0sT0FBTyxHQUFHO0lBbUJkLFlBQVksS0FBYSxFQUFFLElBQWMsRUFBRSxTQUFrQixFQUFFLElBQWEsRUFBRSxhQUF1QixFQUFFLE9BQWdCLEVBQUUsR0FBWSxFQUFFLE1BQW1CO1FBRm5KLFdBQU0sR0FBZ0IsT0FBTyxDQUFDO1FBR25DLElBQUksQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQ25CLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxJQUFJLE1BQU0sQ0FBQztRQUMzQixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztRQUNqQixJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsSUFBSSxLQUFLLENBQUM7UUFDNUMsSUFBSSxDQUFDLE9BQU8sR0FBRyxPQUFPLENBQUM7UUFDdkIsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7UUFDZixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sSUFBSSxPQUFPLENBQUM7UUFFaEMsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLElBQUksQ0FBQyxTQUFTLEdBQUcsU0FBUyxDQUFDO1FBQzdCLENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqIFRhZyB0eXBlIHVzZWQgdG8gc3R5bGUgdGhlIHRhZyAqL1xyXG5leHBvcnQgdHlwZSBUYWdUeXBlID0gXCJpbmZvXCIgfCBcInN1Y2Nlc3NcIiB8IFwid2FybmluZ1wiIHwgXCJkYW5nZXJcIiB8IFwiYWNjZW50XCIgfCBcImNoYXJnZWJhY2tcIiB8IFwiYWNjcnVhbFwiIHwgXCJpbnZlcnRlZFwiIHwgXCJzeXN0ZW1cIjtcclxuXHJcbi8qKiBMaW5rIHRhcmdldCBvcHRpb25zLCBzaGFyZWQgYW1vbmdzdCB0YWcsIG1lbnUgYW5kIGl0ZW0gZGlzcGxheSAqL1xyXG5leHBvcnQgdHlwZSBMaW5rVGFyZ2V0ID0gJ19zZWxmJyB8ICdfYmxhbmsnIHwgJ19wYXJlbnQnIHwgJ190b3AnO1xyXG5cclxuLyoqIFRhZyBjb250YWlucyBhIGxhYmVsIGFuZCB0eXBlLiBUeXBlIGlzIGRlZmF1bHQgYnkgZGVmYXVsdCAqL1xyXG5leHBvcnQgY2xhc3MgVGFnIHtcclxuICBwdWJsaWMgbGFiZWw6IHN0cmluZztcclxuXHJcbiAgcHVibGljIHR5cGU6IFRhZ1R5cGU7XHJcblxyXG4gIHB1YmxpYyBpY29uPzogc3RyaW5nO1xyXG5cclxuICBwdWJsaWMgaXNEaXNtaXNzYWJsZT86IGJvb2xlYW47XHJcblxyXG4gIC8qKiBDU1MgY2xhc3NlcyB0byBhcHBseSB0byB0YWcgZm9yIGN1c3RvbSBzdHlsaW5nICovXHJcbiAgcHVibGljIGNsYXNzTGlzdD86IHN0cmluZztcclxuXHJcbiAgcHVibGljIHRvb2x0aXA/OiBzdHJpbmc7XHJcblxyXG4gIC8qKiBXaGVuIHNldCBhIGh5cGVybGluayB3aWxsIGJlIHNob3duIGxpbmtpbmcgdG8gdGhlIHZhbHVlIHNldCAqL1xyXG4gIHB1YmxpYyB1cmw/OiBzdHJpbmc7XHJcblxyXG4gIHB1YmxpYyB0YXJnZXQ/OiBMaW5rVGFyZ2V0ID0gJ19zZWxmJztcclxuXHJcbiAgY29uc3RydWN0b3IobGFiZWw6IHN0cmluZywgdHlwZT86IFRhZ1R5cGUsIGNsYXNzTGlzdD86IHN0cmluZywgaWNvbj86IHN0cmluZywgaXNEaXNtaXNzYWJsZT86IGJvb2xlYW4sIHRvb2x0aXA/OiBzdHJpbmcsIHVybD86IHN0cmluZywgdGFyZ2V0PzogTGlua1RhcmdldCApIHtcclxuICAgIHRoaXMubGFiZWwgPSBsYWJlbDtcclxuICAgIHRoaXMudHlwZSA9IHR5cGUgfHwgJ2luZm8nO1xyXG4gICAgdGhpcy5pY29uID0gaWNvbjtcclxuICAgIHRoaXMuaXNEaXNtaXNzYWJsZSA9IGlzRGlzbWlzc2FibGUgPz8gZmFsc2U7XHJcbiAgICB0aGlzLnRvb2x0aXAgPSB0b29sdGlwO1xyXG4gICAgdGhpcy51cmwgPSB1cmw7XHJcbiAgICB0aGlzLnRhcmdldCA9IHRhcmdldCB8fCAnX3NlbGYnO1xyXG5cclxuICAgIGlmIChjbGFzc0xpc3QpIHtcclxuICAgICAgdGhpcy5jbGFzc0xpc3QgPSBjbGFzc0xpc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG59OyJdfQ==
|
@@ -1,77 +0,0 @@
|
|
1
|
-
import { Component, Input, Output, EventEmitter } from '@angular/core';
|
2
|
-
import * as i0 from "@angular/core";
|
3
|
-
import * as i1 from "@angular/common";
|
4
|
-
import * as i2 from "@ngx-translate/core";
|
5
|
-
export class TagsComponent {
|
6
|
-
constructor() {
|
7
|
-
/**The ID of this set of tags */
|
8
|
-
this.id = '';
|
9
|
-
/**
|
10
|
-
* Determines whether the tags will wrap or not
|
11
|
-
*
|
12
|
-
* @type {boolean}
|
13
|
-
* @memberof TagsComponent
|
14
|
-
*/
|
15
|
-
this.wrap = true;
|
16
|
-
/**
|
17
|
-
* Displays the tags in condensed mode
|
18
|
-
*/
|
19
|
-
this.isCondensed = false;
|
20
|
-
/**
|
21
|
-
* Emits the tag item when the tag's close button is clicked
|
22
|
-
*/
|
23
|
-
this.tagClosed = new EventEmitter();
|
24
|
-
/**
|
25
|
-
* Tags to be displayed
|
26
|
-
*
|
27
|
-
* @type {Tag[]}
|
28
|
-
* @memberof TagsComponent
|
29
|
-
*/
|
30
|
-
this.tagsArray = [];
|
31
|
-
}
|
32
|
-
/**
|
33
|
-
* Angular onChanges lifecycle hook
|
34
|
-
* @see {@link https://angular.io/guide/lifecycle-hooks | Life-cycle hooks}
|
35
|
-
*
|
36
|
-
* @param {SimpleChanges} changes
|
37
|
-
* @memberof TagsComponent
|
38
|
-
*/
|
39
|
-
ngOnChanges(changes) {
|
40
|
-
if (changes.tags) {
|
41
|
-
if (this.tags) {
|
42
|
-
// If only given a single item, put it in an array so it works in the template
|
43
|
-
if (Array.isArray(this.tags)) {
|
44
|
-
this.tagsArray = this.tags;
|
45
|
-
}
|
46
|
-
else {
|
47
|
-
this.tagsArray = [this.tags];
|
48
|
-
}
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
// reset array if tags becomes undefined
|
52
|
-
this.tagsArray = [];
|
53
|
-
}
|
54
|
-
}
|
55
|
-
}
|
56
|
-
closeTag(tag) {
|
57
|
-
this.tagsArray = this.tagsArray.filter(t => t !== tag);
|
58
|
-
this.tagClosed.emit(tag);
|
59
|
-
}
|
60
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TagsComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); }
|
61
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TagsComponent, selector: "ec-tags", inputs: { id: "id", tags: "tags", wrap: "wrap", isCondensed: "isCondensed" }, outputs: { tagClosed: "tagClosed" }, usesOnChanges: true, ngImport: i0, template: "<ul class=\"tags\"\r\n [class.is-wrapped]=\"wrap\">\r\n <li *ngFor=\"let tag of tagsArray; index as i\"\r\n id=\"{{id}}_tag_{{i}}\"\r\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\r\n [ngClass]=\"{'text-caption-1': !isCondensed, 'text-caption-2': isCondensed, 'is-condensed': isCondensed, 'pr-0': tag.isDismissable, 'is-link': tag.url}\"\r\n title=\"{{tag.tooltip | translate}}\">\r\n <i *ngIf=\"tag.icon\"\r\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\r\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\r\n\r\n <a *ngIf=\"tag.url\"\r\n id=\"{{id}}_tag_{{i}}_link\"\r\n class=\"font-weight-bold\"\r\n href=\"{{tag.url}}\"\r\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\r\n\r\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\r\n *ngIf=\"tag.isDismissable\"\r\n (click)=\"closeTag(tag)\">\r\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\r\n </button>\r\n </li>\r\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:var(--ec-color-gray-1);border:2px solid var(--ec-color-gray-4);display:inline-flex;align-items:center;border-radius:calc(var(--ec-border-radius, .25rem) * 3);height:1.5rem;line-height:1.25rem;padding:0 .4375rem;vertical-align:top}.tag>.ec-icon:first-child{margin-right:.1875rem}.tag .ec-icon{display:flex;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;width:auto;height:auto;min-width:1em;justify-content:center}.tag.is-inverted{background-color:var(--ec-background-color);border-color:var(--ec-background-color)}.tag.is-info{background-color:var(--ec-color-cobalt-1);border-color:var(--ec-color-info)}.tag.is-info>.ec-icon:first-child{color:var(--ec-color-info)}.tag.is-success{background-color:var(--ec-color-green-1);border-color:var(--ec-color-success)}.tag.is-success>.ec-icon:first-child{color:var(--ec-color-success)}.tag.is-warning{background-color:var(--ec-color-yellow-1);border-color:var(--ec-color-caution)}.tag.is-warning>.ec-icon:first-child{color:var(--ec-color-caution)}.tag.is-danger{background-color:var(--ec-color-red-1);border-color:var(--ec-color-danger)}.tag.is-danger>.ec-icon:first-child{color:var(--ec-color-danger)}.tag.is-accent{background-color:var(--ec-color-purple-1);border-color:var(--ec-color-accent)}.tag.is-accent>.ec-icon:first-child{color:var(--ec-color-accent)}.tag.is-chargeback{background-color:var(--ec-color-orange-1);border-color:var(--ec-color-orange-7)}.tag.is-chargeback>.ec-icon:first-child{color:var(--ec-color-orange-7)}.tag.is-accrual{background-color:var(--ec-color-aqua-1);border-color:var(--ec-color-aqua-5)}.tag.is-accrual>.ec-icon:first-child{color:var(--ec-color-aqua-5)}.tag.is-system{background-color:var(--ec-color-gray-1);border-color:var(--ec-color-gray-4)}.tag.is-system>.ec-icon:first-child{color:var(--ec-color-gray-4)}button{background-color:transparent;border:0;display:flex;align-items:center;padding:0 .25rem;height:100%;cursor:pointer;position:relative}button:hover,button:focus{outline:none}button:hover:before,button:focus:before{display:block;content:\"\";position:absolute;inset:.0625rem .125rem;background-color:#1a1a231a;border-radius:.125rem}.is-condensed{border-radius:var(--ec-border-radius);border-width:1px;padding:0 .25rem;height:1.125rem;line-height:1.125rem;min-width:1.125rem;justify-content:center}.is-condensed>.ec-icon:first-child{margin-right:.125rem}.is-link a:after{opacity:1;margin-left:.1875rem}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] }); }
|
62
|
-
}
|
63
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TagsComponent, decorators: [{
|
64
|
-
type: Component,
|
65
|
-
args: [{ selector: 'ec-tags', template: "<ul class=\"tags\"\r\n [class.is-wrapped]=\"wrap\">\r\n <li *ngFor=\"let tag of tagsArray; index as i\"\r\n id=\"{{id}}_tag_{{i}}\"\r\n class=\"tag is-{{tag.type}} {{tag.classList}} mr-1\"\r\n [ngClass]=\"{'text-caption-1': !isCondensed, 'text-caption-2': isCondensed, 'is-condensed': isCondensed, 'pr-0': tag.isDismissable, 'is-link': tag.url}\"\r\n title=\"{{tag.tooltip | translate}}\">\r\n <i *ngIf=\"tag.icon\"\r\n class=\"ec-icon {{tag.icon}} ec-icon-sm\"></i>\r\n <span *ngIf=\"!tag.url\">{{tag.label | translate}}</span>\r\n\r\n <a *ngIf=\"tag.url\"\r\n id=\"{{id}}_tag_{{i}}_link\"\r\n class=\"font-weight-bold\"\r\n href=\"{{tag.url}}\"\r\n target=\"{{tag.target}}\">{{tag.label | translate}}</a>\r\n\r\n <button id=\"{{id}}_tag_{{i}}_dismissButton\"\r\n *ngIf=\"tag.isDismissable\"\r\n (click)=\"closeTag(tag)\">\r\n <i class=\"ec-icon ec-icon-sm icon-cancel\"></i>\r\n </button>\r\n </li>\r\n</ul>", styles: ["@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}:host{display:block}.tags{padding:0;margin:0;list-style:none;display:flex}.tags.is-wrapped{flex-wrap:wrap;margin-top:.25rem}.tags.is-wrapped>.tag{margin-bottom:.25rem}.tag{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;background-color:var(--ec-color-gray-1);border:2px solid var(--ec-color-gray-4);display:inline-flex;align-items:center;border-radius:calc(var(--ec-border-radius, .25rem) * 3);height:1.5rem;line-height:1.25rem;padding:0 .4375rem;vertical-align:top}.tag>.ec-icon:first-child{margin-right:.1875rem}.tag .ec-icon{display:flex;-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;width:auto;height:auto;min-width:1em;justify-content:center}.tag.is-inverted{background-color:var(--ec-background-color);border-color:var(--ec-background-color)}.tag.is-info{background-color:var(--ec-color-cobalt-1);border-color:var(--ec-color-info)}.tag.is-info>.ec-icon:first-child{color:var(--ec-color-info)}.tag.is-success{background-color:var(--ec-color-green-1);border-color:var(--ec-color-success)}.tag.is-success>.ec-icon:first-child{color:var(--ec-color-success)}.tag.is-warning{background-color:var(--ec-color-yellow-1);border-color:var(--ec-color-caution)}.tag.is-warning>.ec-icon:first-child{color:var(--ec-color-caution)}.tag.is-danger{background-color:var(--ec-color-red-1);border-color:var(--ec-color-danger)}.tag.is-danger>.ec-icon:first-child{color:var(--ec-color-danger)}.tag.is-accent{background-color:var(--ec-color-purple-1);border-color:var(--ec-color-accent)}.tag.is-accent>.ec-icon:first-child{color:var(--ec-color-accent)}.tag.is-chargeback{background-color:var(--ec-color-orange-1);border-color:var(--ec-color-orange-7)}.tag.is-chargeback>.ec-icon:first-child{color:var(--ec-color-orange-7)}.tag.is-accrual{background-color:var(--ec-color-aqua-1);border-color:var(--ec-color-aqua-5)}.tag.is-accrual>.ec-icon:first-child{color:var(--ec-color-aqua-5)}.tag.is-system{background-color:var(--ec-color-gray-1);border-color:var(--ec-color-gray-4)}.tag.is-system>.ec-icon:first-child{color:var(--ec-color-gray-4)}button{background-color:transparent;border:0;display:flex;align-items:center;padding:0 .25rem;height:100%;cursor:pointer;position:relative}button:hover,button:focus{outline:none}button:hover:before,button:focus:before{display:block;content:\"\";position:absolute;inset:.0625rem .125rem;background-color:#1a1a231a;border-radius:.125rem}.is-condensed{border-radius:var(--ec-border-radius);border-width:1px;padding:0 .25rem;height:1.125rem;line-height:1.125rem;min-width:1.125rem;justify-content:center}.is-condensed>.ec-icon:first-child{margin-right:.125rem}.is-link a:after{opacity:1;margin-left:.1875rem}\n"] }]
|
66
|
-
}], ctorParameters: () => [], propDecorators: { id: [{
|
67
|
-
type: Input
|
68
|
-
}], tags: [{
|
69
|
-
type: Input
|
70
|
-
}], wrap: [{
|
71
|
-
type: Input
|
72
|
-
}], isCondensed: [{
|
73
|
-
type: Input
|
74
|
-
}], tagClosed: [{
|
75
|
-
type: Output
|
76
|
-
}] } });
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFncy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90YWdzL3RhZ3MuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdGFncy90YWdzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWEsS0FBSyxFQUFpQixNQUFNLEVBQUUsWUFBWSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7O0FBUWpHLE1BQU0sT0FBTyxhQUFhO0lBdUN4QjtRQXJDQSxnQ0FBZ0M7UUFDaEIsT0FBRSxHQUFXLEVBQUUsQ0FBQztRQVVoQzs7Ozs7V0FLRztRQUNhLFNBQUksR0FBWSxJQUFJLENBQUM7UUFFckM7O1dBRUc7UUFDYSxnQkFBVyxHQUFZLEtBQUssQ0FBQztRQUU3Qzs7V0FFRztRQUNjLGNBQVMsR0FBc0IsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUV4RTs7Ozs7V0FLRztRQUNJLGNBQVMsR0FBVSxFQUFFLENBQUM7SUFFYixDQUFDO0lBRWpCOzs7Ozs7T0FNRztJQUNILFdBQVcsQ0FBQyxPQUFzQjtRQUNoQyxJQUFJLE9BQU8sQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUNqQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztnQkFDZCw4RUFBOEU7Z0JBQzlFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQztvQkFDN0IsSUFBSSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO2dCQUM3QixDQUFDO3FCQUFNLENBQUM7b0JBQ04sSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDL0IsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTix3Q0FBd0M7Z0JBQ3hDLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLENBQUM7UUFDSCxDQUFDO0lBQ0gsQ0FBQztJQUVNLFFBQVEsQ0FBQyxHQUFRO1FBQ3RCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7UUFDdkQsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDM0IsQ0FBQzsrR0FuRVUsYUFBYTttR0FBYixhQUFhLHVMQ1IxQixpaENBdUJLOzs0RkRmUSxhQUFhO2tCQUx6QixTQUFTOytCQUNFLFNBQVM7d0RBT0gsRUFBRTtzQkFBakIsS0FBSztnQkFRVSxJQUFJO3NCQUFuQixLQUFLO2dCQVFVLElBQUk7c0JBQW5CLEtBQUs7Z0JBS1UsV0FBVztzQkFBMUIsS0FBSztnQkFLVyxTQUFTO3NCQUF6QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIElucHV0LCBTaW1wbGVDaGFuZ2VzLCBPdXRwdXQsIEV2ZW50RW1pdHRlciB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBUYWcgfSBmcm9tICcuL3RhZyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRhZ3MnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90YWdzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90YWdzLmNvbXBvbmVudC5zY3NzJ11cclxufSlcclxuZXhwb3J0IGNsYXNzIFRhZ3NDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMge1xyXG5cclxuICAvKipUaGUgSUQgb2YgdGhpcyBzZXQgb2YgdGFncyAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyBpZDogc3RyaW5nID0gJyc7XHJcblxyXG4gIC8qKlxyXG4gICAqIE9uZSBvciBtb3JlIHRhZ3NcclxuICAgKiBcclxuICAgKiBAdHlwZSB7KFRhZyB8IFRhZ1tdKX1cclxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHB1YmxpYyB0YWdzPzogVGFnIHwgVGFnW107XHJcblxyXG4gIC8qKlxyXG4gICAqIERldGVybWluZXMgd2hldGhlciB0aGUgdGFncyB3aWxsIHdyYXAgb3Igbm90XHJcbiAgICogXHJcbiAgICogQHR5cGUge2Jvb2xlYW59XHJcbiAgICogQG1lbWJlcm9mIFRhZ3NDb21wb25lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBwdWJsaWMgd3JhcDogYm9vbGVhbiA9IHRydWU7XHJcblxyXG4gIC8qKlxyXG4gICAqIERpc3BsYXlzIHRoZSB0YWdzIGluIGNvbmRlbnNlZCBtb2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgcHVibGljIGlzQ29uZGVuc2VkOiBib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8qKlxyXG4gICAqIEVtaXRzIHRoZSB0YWcgaXRlbSB3aGVuIHRoZSB0YWcncyBjbG9zZSBidXR0b24gaXMgY2xpY2tlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBwdWJsaWMgdGFnQ2xvc2VkOiBFdmVudEVtaXR0ZXI8VGFnPiA9IG5ldyBFdmVudEVtaXR0ZXI8VGFnPigpO1xyXG5cclxuICAvKipcclxuICAgKiBUYWdzIHRvIGJlIGRpc3BsYXllZFxyXG4gICAqIFxyXG4gICAqIEB0eXBlIHtUYWdbXX1cclxuICAgKiBAbWVtYmVyb2YgVGFnc0NvbXBvbmVudFxyXG4gICAqL1xyXG4gIHB1YmxpYyB0YWdzQXJyYXk6IFRhZ1tdID0gW107XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICAqIEFuZ3VsYXIgb25DaGFuZ2VzIGxpZmVjeWNsZSBob29rXHJcbiAgICogQHNlZSB7QGxpbmsgaHR0cHM6Ly9hbmd1bGFyLmlvL2d1aWRlL2xpZmVjeWNsZS1ob29rcyB8IExpZmUtY3ljbGUgaG9va3N9XHJcbiAgICogXHJcbiAgICogQHBhcmFtIHtTaW1wbGVDaGFuZ2VzfSBjaGFuZ2VzIFxyXG4gICAqIEBtZW1iZXJvZiBUYWdzQ29tcG9uZW50XHJcbiAgICovXHJcbiAgbmdPbkNoYW5nZXMoY2hhbmdlczogU2ltcGxlQ2hhbmdlcykge1xyXG4gICAgaWYgKGNoYW5nZXMudGFncykge1xyXG4gICAgICBpZiAodGhpcy50YWdzKSB7XHJcbiAgICAgICAgLy8gSWYgb25seSBnaXZlbiBhIHNpbmdsZSBpdGVtLCBwdXQgaXQgaW4gYW4gYXJyYXkgc28gaXQgd29ya3MgaW4gdGhlIHRlbXBsYXRlXHJcbiAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGhpcy50YWdzKSkge1xyXG4gICAgICAgICAgdGhpcy50YWdzQXJyYXkgPSB0aGlzLnRhZ3M7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudGFnc0FycmF5ID0gW3RoaXMudGFnc107XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHJlc2V0IGFycmF5IGlmIHRhZ3MgYmVjb21lcyB1bmRlZmluZWRcclxuICAgICAgICB0aGlzLnRhZ3NBcnJheSA9IFtdO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgY2xvc2VUYWcodGFnOiBUYWcpIHtcclxuICAgIHRoaXMudGFnc0FycmF5ID0gdGhpcy50YWdzQXJyYXkuZmlsdGVyKHQgPT4gdCAhPT0gdGFnKTtcclxuICAgIHRoaXMudGFnQ2xvc2VkLmVtaXQodGFnKTtcclxuICB9XHJcbn1cclxuIiwiPHVsIGNsYXNzPVwidGFnc1wiXHJcbiAgICBbY2xhc3MuaXMtd3JhcHBlZF09XCJ3cmFwXCI+XHJcbiAgIDxsaSAqbmdGb3I9XCJsZXQgdGFnIG9mIHRhZ3NBcnJheTsgaW5kZXggYXMgaVwiXHJcbiAgICAgICBpZD1cInt7aWR9fV90YWdfe3tpfX1cIlxyXG4gICAgICAgY2xhc3M9XCJ0YWcgaXMte3t0YWcudHlwZX19IHt7dGFnLmNsYXNzTGlzdH19IG1yLTFcIlxyXG4gICAgICAgW25nQ2xhc3NdPVwieyd0ZXh0LWNhcHRpb24tMSc6ICFpc0NvbmRlbnNlZCwgJ3RleHQtY2FwdGlvbi0yJzogaXNDb25kZW5zZWQsICdpcy1jb25kZW5zZWQnOiBpc0NvbmRlbnNlZCwgJ3ByLTAnOiB0YWcuaXNEaXNtaXNzYWJsZSwgJ2lzLWxpbmsnOiB0YWcudXJsfVwiXHJcbiAgICAgICB0aXRsZT1cInt7dGFnLnRvb2x0aXAgfCB0cmFuc2xhdGV9fVwiPlxyXG4gICAgICA8aSAqbmdJZj1cInRhZy5pY29uXCJcclxuICAgICAgICAgY2xhc3M9XCJlYy1pY29uIHt7dGFnLmljb259fSBlYy1pY29uLXNtXCI+PC9pPlxyXG4gICAgICA8c3BhbiAqbmdJZj1cIiF0YWcudXJsXCI+e3t0YWcubGFiZWwgfCB0cmFuc2xhdGV9fTwvc3Bhbj5cclxuXHJcbiAgICAgIDxhICpuZ0lmPVwidGFnLnVybFwiXHJcbiAgICAgICAgIGlkPVwie3tpZH19X3RhZ197e2l9fV9saW5rXCJcclxuICAgICAgICAgY2xhc3M9XCJmb250LXdlaWdodC1ib2xkXCJcclxuICAgICAgICAgaHJlZj1cInt7dGFnLnVybH19XCJcclxuICAgICAgICAgdGFyZ2V0PVwie3t0YWcudGFyZ2V0fX1cIj57e3RhZy5sYWJlbCB8IHRyYW5zbGF0ZX19PC9hPlxyXG5cclxuICAgICAgPGJ1dHRvbiBpZD1cInt7aWR9fV90YWdfe3tpfX1fZGlzbWlzc0J1dHRvblwiXHJcbiAgICAgICAgICAgICAgKm5nSWY9XCJ0YWcuaXNEaXNtaXNzYWJsZVwiXHJcbiAgICAgICAgICAgICAgKGNsaWNrKT1cImNsb3NlVGFnKHRhZylcIj5cclxuICAgICAgICAgPGkgY2xhc3M9XCJlYy1pY29uIGVjLWljb24tc20gaWNvbi1jYW5jZWxcIj48L2k+XHJcbiAgICAgIDwvYnV0dG9uPlxyXG4gICA8L2xpPlxyXG48L3VsPiJdfQ==
|
@@ -1,77 +0,0 @@
|
|
1
|
-
import { Component, EventEmitter, HostBinding, Input, Output } from '@angular/core';
|
2
|
-
import { race, Subject, timer } from 'rxjs';
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../toast.service";
|
6
|
-
import * as i2 from "@angular/common";
|
7
|
-
import * as i3 from "../../../controls/banner/banner.component";
|
8
|
-
import * as i4 from "../../../controls/link-button/link-button.component";
|
9
|
-
import * as i5 from "@ngx-translate/core";
|
10
|
-
export class ToastComponent {
|
11
|
-
constructor(toastService) {
|
12
|
-
this.toastService = toastService;
|
13
|
-
this.open = false;
|
14
|
-
this.TOAST_ANIMATION_DURATION = 250;
|
15
|
-
this.closed = new EventEmitter();
|
16
|
-
this.TIMED_TOAST_DURATION = 4000;
|
17
|
-
this.destroyed = new Subject();
|
18
|
-
}
|
19
|
-
ngOnInit() {
|
20
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
21
|
-
if (event.action == 'remove' && event.toast === this.toastItem) {
|
22
|
-
this.close(event);
|
23
|
-
}
|
24
|
-
});
|
25
|
-
}
|
26
|
-
ngOnChanges(changes) {
|
27
|
-
if (changes.toastItem && this.toastItem) {
|
28
|
-
this.id = this.toastItem.id;
|
29
|
-
this.open = true;
|
30
|
-
if (!this.toastItem.dismissible) {
|
31
|
-
this.closeAfterTimer();
|
32
|
-
}
|
33
|
-
}
|
34
|
-
}
|
35
|
-
ngOnDestroy() {
|
36
|
-
this.destroyed.next();
|
37
|
-
this.destroyed.complete();
|
38
|
-
}
|
39
|
-
closeClicked() {
|
40
|
-
if (this.toastItem) {
|
41
|
-
this.toastService.dismissToast(this.toastItem, 'user');
|
42
|
-
}
|
43
|
-
}
|
44
|
-
close(event) {
|
45
|
-
this.open = false;
|
46
|
-
timer(this.TOAST_ANIMATION_DURATION).subscribe(() => {
|
47
|
-
this.closed.emit(event);
|
48
|
-
});
|
49
|
-
}
|
50
|
-
closeAfterTimer() {
|
51
|
-
timer(this.TIMED_TOAST_DURATION).pipe(takeUntil(race(this.closed, this.destroyed))).subscribe(() => {
|
52
|
-
if (this.toastItem) {
|
53
|
-
this.toastService.dismissToast(this.toastItem, 'auto');
|
54
|
-
}
|
55
|
-
});
|
56
|
-
}
|
57
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastComponent, deps: [{ token: i1.ToastService }], target: i0.ɵɵFactoryTarget.Component }); }
|
58
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToastComponent, selector: "ec-toast", inputs: { toastItem: "toastItem" }, outputs: { closed: "closed" }, host: { properties: { "attr.id": "this.id", "class.is-open": "this.open", "style.--toast-animation-duration.ms": "this.TOAST_ANIMATION_DURATION" } }, usesOnChanges: true, ngImport: i0, template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\r\n [type]=\"toastItem?.type\"\r\n bannerStyle=\"toast\"\r\n [customIcon]=\"toastItem?.icon\"\r\n [showCloseBtn]=\"toastItem?.dismissible\"\r\n [autoHideOnClose]=\"false\"\r\n (closed)=\"closeClicked()\">\r\n <div class=\"d-flex\">\r\n <div id=\"{{toastItem?.id}}_message\"\r\n [innerHTML]=\"toastItem?.message | translate\"></div>\r\n <button id=\"{{toastItem?.id}}_action\"\r\n ecLinkButton\r\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\r\n class=\"font-weight-bold ml-2\"\r\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\r\n </div>\r\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"], dependencies: [{ kind: "directive", type: i2.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i3.BannerComponent, selector: "ec-banner", inputs: ["hidden", "id", "type", "bannerStyle", "title", "text", "list", "showCloseBtn", "autoHideOnClose", "customIcon", "rememberClosed"], outputs: ["closed"] }, { kind: "component", type: i4.LinkButtonComponent, selector: "button[ecLinkButton]" }, { kind: "pipe", type: i5.TranslatePipe, name: "translate" }] }); }
|
59
|
-
}
|
60
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToastComponent, decorators: [{
|
61
|
-
type: Component,
|
62
|
-
args: [{ selector: 'ec-toast', template: "<ec-banner id=\"{{toastItem?.id}}_banner\"\r\n [type]=\"toastItem?.type\"\r\n bannerStyle=\"toast\"\r\n [customIcon]=\"toastItem?.icon\"\r\n [showCloseBtn]=\"toastItem?.dismissible\"\r\n [autoHideOnClose]=\"false\"\r\n (closed)=\"closeClicked()\">\r\n <div class=\"d-flex\">\r\n <div id=\"{{toastItem?.id}}_message\"\r\n [innerHTML]=\"toastItem?.message | translate\"></div>\r\n <button id=\"{{toastItem?.id}}_action\"\r\n ecLinkButton\r\n *ngIf=\"toastItem?.action && toastItem?.actionLabel\"\r\n class=\"font-weight-bold ml-2\"\r\n (click)=\"toastItem!.action!()\">{{toastItem?.actionLabel | translate}}</button>\r\n </div>\r\n</ec-banner>", styles: [":host{display:block;position:fixed;bottom:0;left:50%;transform:translate(-50%,150%);transition:transform var(--toast-animation-duration, .25s);transition-timing-function:ease-in;z-index:var(--ec-z-index-toast)}:host.is-open{transform:translate(-50%,calc(-1 * var(--toast-bottom, 0rem) - 1.5rem));transition-timing-function:cubic-bezier(.18,.89,.32,1.28)}\n"] }]
|
63
|
-
}], ctorParameters: () => [{ type: i1.ToastService }], propDecorators: { toastItem: [{
|
64
|
-
type: Input
|
65
|
-
}], id: [{
|
66
|
-
type: HostBinding,
|
67
|
-
args: ['attr.id']
|
68
|
-
}], open: [{
|
69
|
-
type: HostBinding,
|
70
|
-
args: ['class.is-open']
|
71
|
-
}], TOAST_ANIMATION_DURATION: [{
|
72
|
-
type: HostBinding,
|
73
|
-
args: ['style.--toast-animation-duration.ms']
|
74
|
-
}], closed: [{
|
75
|
-
type: Output
|
76
|
-
}] } });
|
77
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3QuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3QvdG9hc3QuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBZ0MsTUFBTSxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNqSSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDNUMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7Ozs7O0FBUzNDLE1BQU0sT0FBTyxjQUFjO0lBYXpCLFlBQW9CLFlBQTBCO1FBQTFCLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBUlQsU0FBSSxHQUFZLEtBQUssQ0FBQztRQUNBLDZCQUF3QixHQUFHLEdBQUcsQ0FBQztRQUV6RSxXQUFNLEdBQUcsSUFBSSxZQUFZLEVBQWMsQ0FBQztRQUV4Qyx5QkFBb0IsR0FBVyxJQUFJLENBQUM7UUFDN0MsY0FBUyxHQUFHLElBQUksT0FBTyxFQUFRLENBQUM7SUFFVSxDQUFDO0lBRW5ELFFBQVE7UUFDTixJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUN6RSxJQUFJLEtBQUssQ0FBQyxNQUFNLElBQUksUUFBUSxJQUFJLEtBQUssQ0FBQyxLQUFLLEtBQUssSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUMvRCxJQUFJLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ3BCLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxXQUFXLENBQUMsT0FBc0I7UUFDaEMsSUFBSSxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUFDO1lBQzVCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1lBRWpCLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDekIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUM1QixDQUFDO0lBRU0sWUFBWTtRQUNqQixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNuQixJQUFJLENBQUMsWUFBWSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1FBQ3pELENBQUM7SUFDSCxDQUFDO0lBRU8sS0FBSyxDQUFDLEtBQWlCO1FBQzdCLElBQUksQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLEtBQUssQ0FBQyxJQUFJLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO1lBQ2xELElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzFCLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLGVBQWU7UUFDckIsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLElBQUksQ0FDbkMsU0FBUyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUM3QyxDQUFDLFNBQVMsQ0FBQyxHQUFHLEVBQUU7WUFDZixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztnQkFDbkIsSUFBSSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLFNBQVMsRUFBRSxNQUFNLENBQUMsQ0FBQztZQUN6RCxDQUFDO1FBQ0gsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDOytHQTVEVSxjQUFjO21HQUFkLGNBQWMsOFJDWDNCLDJ2QkFnQlk7OzRGRExDLGNBQWM7a0JBTDFCLFNBQVM7K0JBQ0UsVUFBVTtpRkFNSixTQUFTO3NCQUF4QixLQUFLO2dCQUV5QixFQUFFO3NCQUFoQyxXQUFXO3VCQUFDLFNBQVM7Z0JBQ2UsSUFBSTtzQkFBeEMsV0FBVzt1QkFBQyxlQUFlO2dCQUMrQix3QkFBd0I7c0JBQWxGLFdBQVc7dUJBQUMscUNBQXFDO2dCQUVqQyxNQUFNO3NCQUF0QixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFdmVudEVtaXR0ZXIsIEhvc3RCaW5kaW5nLCBJbnB1dCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3ksIE9uSW5pdCwgT3V0cHV0LCBTaW1wbGVDaGFuZ2VzIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IHJhY2UsIFN1YmplY3QsIHRpbWVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IHRha2VVbnRpbCB9IGZyb20gJ3J4anMvb3BlcmF0b3JzJztcclxuaW1wb3J0IHsgVG9hc3RFdmVudCwgVG9hc3RJdGVtIH0gZnJvbSAnLi4vdG9hc3QtdHlwZXMnO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi90b2FzdC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnZWMtdG9hc3QnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vdG9hc3QuY29tcG9uZW50LnNjc3MnXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RDb21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95IHtcclxuICBcclxuICBASW5wdXQoKSBwdWJsaWMgdG9hc3RJdGVtPzogVG9hc3RJdGVtO1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ2F0dHIuaWQnKSBwdWJsaWMgaWQ/OiBzdHJpbmc7XHJcbiAgQEhvc3RCaW5kaW5nKCdjbGFzcy5pcy1vcGVuJykgcHVibGljIG9wZW46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLi0tdG9hc3QtYW5pbWF0aW9uLWR1cmF0aW9uLm1zJykgcHVibGljIFRPQVNUX0FOSU1BVElPTl9EVVJBVElPTiA9IDI1MDtcclxuXHJcbiAgQE91dHB1dCgpIHB1YmxpYyBjbG9zZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFRvYXN0RXZlbnQ+KCk7XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgVElNRURfVE9BU1RfRFVSQVRJT046IG51bWJlciA9IDQwMDA7XHJcbiAgcHJpdmF0ZSBkZXN0cm95ZWQgPSBuZXcgU3ViamVjdDx2b2lkPigpO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHRvYXN0U2VydmljZTogVG9hc3RTZXJ2aWNlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRvYXN0U2VydmljZS5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQpKS5zdWJzY3JpYmUoZXZlbnQgPT4ge1xyXG4gICAgICBpZiAoZXZlbnQuYWN0aW9uID09ICdyZW1vdmUnICYmIGV2ZW50LnRvYXN0ID09PSB0aGlzLnRvYXN0SXRlbSkge1xyXG4gICAgICAgIHRoaXMuY2xvc2UoZXZlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcclxuICAgIGlmIChjaGFuZ2VzLnRvYXN0SXRlbSAmJiB0aGlzLnRvYXN0SXRlbSkge1xyXG4gICAgICB0aGlzLmlkID0gdGhpcy50b2FzdEl0ZW0uaWQ7XHJcbiAgICAgIHRoaXMub3BlbiA9IHRydWU7XHJcblxyXG4gICAgICBpZiAoIXRoaXMudG9hc3RJdGVtLmRpc21pc3NpYmxlKSB7XHJcbiAgICAgICAgdGhpcy5jbG9zZUFmdGVyVGltZXIoKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIGNsb3NlQ2xpY2tlZCgpIHtcclxuICAgIGlmICh0aGlzLnRvYXN0SXRlbSkge1xyXG4gICAgICB0aGlzLnRvYXN0U2VydmljZS5kaXNtaXNzVG9hc3QodGhpcy50b2FzdEl0ZW0sICd1c2VyJyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNsb3NlKGV2ZW50OiBUb2FzdEV2ZW50KSB7XHJcbiAgICB0aGlzLm9wZW4gPSBmYWxzZTtcclxuICAgIHRpbWVyKHRoaXMuVE9BU1RfQU5JTUFUSU9OX0RVUkFUSU9OKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLmNsb3NlZC5lbWl0KGV2ZW50KTtcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjbG9zZUFmdGVyVGltZXIoKSB7XHJcbiAgICB0aW1lcih0aGlzLlRJTUVEX1RPQVNUX0RVUkFUSU9OKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWwocmFjZSh0aGlzLmNsb3NlZCwgdGhpcy5kZXN0cm95ZWQpKVxyXG4gICAgKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICBpZiAodGhpcy50b2FzdEl0ZW0pIHtcclxuICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5kaXNtaXNzVG9hc3QodGhpcy50b2FzdEl0ZW0sICdhdXRvJyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxufVxyXG4iLCI8ZWMtYmFubmVyIGlkPVwie3t0b2FzdEl0ZW0/LmlkfX1fYmFubmVyXCJcclxuICAgICAgICAgICBbdHlwZV09XCJ0b2FzdEl0ZW0/LnR5cGVcIlxyXG4gICAgICAgICAgIGJhbm5lclN0eWxlPVwidG9hc3RcIlxyXG4gICAgICAgICAgIFtjdXN0b21JY29uXT1cInRvYXN0SXRlbT8uaWNvblwiXHJcbiAgICAgICAgICAgW3Nob3dDbG9zZUJ0bl09XCJ0b2FzdEl0ZW0/LmRpc21pc3NpYmxlXCJcclxuICAgICAgICAgICBbYXV0b0hpZGVPbkNsb3NlXT1cImZhbHNlXCJcclxuICAgICAgICAgICAoY2xvc2VkKT1cImNsb3NlQ2xpY2tlZCgpXCI+XHJcbiAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgPGRpdiBpZD1cInt7dG9hc3RJdGVtPy5pZH19X21lc3NhZ2VcIlxyXG4gICAgICAgICBbaW5uZXJIVE1MXT1cInRvYXN0SXRlbT8ubWVzc2FnZSB8IHRyYW5zbGF0ZVwiPjwvZGl2PlxyXG4gICAgPGJ1dHRvbiBpZD1cInt7dG9hc3RJdGVtPy5pZH19X2FjdGlvblwiXHJcbiAgICAgICAgICAgIGVjTGlua0J1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInRvYXN0SXRlbT8uYWN0aW9uICYmIHRvYXN0SXRlbT8uYWN0aW9uTGFiZWxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImZvbnQtd2VpZ2h0LWJvbGQgbWwtMlwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJ0b2FzdEl0ZW0hLmFjdGlvbiEoKVwiPnt7dG9hc3RJdGVtPy5hY3Rpb25MYWJlbCB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgPC9kaXY+XHJcbjwvZWMtYmFubmVyPiJdfQ==
|
@@ -1,114 +0,0 @@
|
|
1
|
-
import { Component, ElementRef, ViewChild } from '@angular/core';
|
2
|
-
import { Subject } from 'rxjs';
|
3
|
-
import { takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "../toast.service";
|
6
|
-
import * as i2 from "../../../core/telemetry.service";
|
7
|
-
import * as i3 from "../toast/toast.component";
|
8
|
-
export class ToasterComponent {
|
9
|
-
constructor(toastService, telemetryService) {
|
10
|
-
this.toastService = toastService;
|
11
|
-
this.telemetryService = telemetryService;
|
12
|
-
this.dismissibleToastBottom = 0;
|
13
|
-
this.pendingToasts = [];
|
14
|
-
this.destroyed = new Subject();
|
15
|
-
}
|
16
|
-
ngOnInit() {
|
17
|
-
this.toastService.events.pipe(takeUntil(this.destroyed)).subscribe(event => {
|
18
|
-
if (event.action == 'add') {
|
19
|
-
this.addToast(event.toast);
|
20
|
-
this.updateDismissibleToastBottom();
|
21
|
-
this.trackEvent(event);
|
22
|
-
}
|
23
|
-
else if (event.action == 'remove' && event.toast !== this.currentDismissibleToast && event.toast !== this.currentTimedToast) {
|
24
|
-
this.removePendingToast(event.toast);
|
25
|
-
this.trackEvent(event);
|
26
|
-
}
|
27
|
-
});
|
28
|
-
}
|
29
|
-
ngOnDestroy() {
|
30
|
-
this.destroyed.next();
|
31
|
-
this.destroyed.complete();
|
32
|
-
}
|
33
|
-
updateVisibleToast(event) {
|
34
|
-
if (event.toast.dismissible) {
|
35
|
-
this.currentDismissibleToast = this.getNextToast(true);
|
36
|
-
}
|
37
|
-
else {
|
38
|
-
this.currentTimedToast = this.getNextToast(false);
|
39
|
-
}
|
40
|
-
this.updateDismissibleToastBottom();
|
41
|
-
this.trackEvent(event);
|
42
|
-
}
|
43
|
-
addToast(toast) {
|
44
|
-
if ((toast.dismissible && this.currentDismissibleToast) || (!toast.dismissible && this.currentTimedToast)) {
|
45
|
-
this.addPendingToast(toast);
|
46
|
-
}
|
47
|
-
else if (toast.dismissible) {
|
48
|
-
this.currentDismissibleToast = toast;
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
this.currentTimedToast = toast;
|
52
|
-
}
|
53
|
-
}
|
54
|
-
/** Returns the next pending toast of the specified type and removes it from the list of pending toasts. */
|
55
|
-
getNextToast(dismissible) {
|
56
|
-
const toast = this.pendingToasts.find(t => t.dismissible === dismissible);
|
57
|
-
if (toast) {
|
58
|
-
this.removePendingToast(toast);
|
59
|
-
}
|
60
|
-
return toast;
|
61
|
-
}
|
62
|
-
/** Add a toast to the list of pending toasts */
|
63
|
-
addPendingToast(toast) {
|
64
|
-
this.pendingToasts.push(toast);
|
65
|
-
}
|
66
|
-
/** Removes the specified toast from the list of pending toasts */
|
67
|
-
removePendingToast(toast) {
|
68
|
-
const index = this.pendingToasts.indexOf(toast);
|
69
|
-
if (index > -1) {
|
70
|
-
this.pendingToasts.splice(index, 1);
|
71
|
-
}
|
72
|
-
}
|
73
|
-
/**
|
74
|
-
* If the timed toast is present, sets the bottom height of the dismissible toast to
|
75
|
-
* the current height of the timed toast plus .5rem for spacing.
|
76
|
-
* Returns 0 if there isn't a visible timed toast.
|
77
|
-
*/
|
78
|
-
updateDismissibleToastBottom() {
|
79
|
-
if (this.currentTimedToast && this.timedToastEl) {
|
80
|
-
this.dismissibleToastBottom = (this.timedToastEl.nativeElement.offsetHeight + 8) / 16;
|
81
|
-
}
|
82
|
-
else {
|
83
|
-
this.dismissibleToastBottom = 0;
|
84
|
-
}
|
85
|
-
}
|
86
|
-
trackEvent(event) {
|
87
|
-
const dismissible = this.pendingToasts.filter(t => t.dismissible);
|
88
|
-
const transient = this.pendingToasts.filter(t => !t.dismissible);
|
89
|
-
this.telemetryService.trackEvent(`${event.action} toast`, {
|
90
|
-
action: event.action,
|
91
|
-
source: event.source,
|
92
|
-
hasDismissiblePending: dismissible.length > 0 ? 'yes' : 'no',
|
93
|
-
dismissiblePendingLength: `${dismissible.length}`,
|
94
|
-
hasTransientPending: transient.length > 0 ? 'yes' : 'no',
|
95
|
-
transientPendingLength: `${transient.length}`,
|
96
|
-
toastId: event.toast.id ?? '',
|
97
|
-
toastType: event.toast.type,
|
98
|
-
toastMessage: event.toast.message,
|
99
|
-
toastDismissible: `${event.toast.dismissible}`,
|
100
|
-
toastIcon: event.toast.icon ?? '',
|
101
|
-
toastAction: event.toast.actionLabel ?? '',
|
102
|
-
});
|
103
|
-
}
|
104
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToasterComponent, deps: [{ token: i1.ToastService }, { token: i2.TelemetryService }], target: i0.ɵɵFactoryTarget.Component }); }
|
105
|
-
static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ToasterComponent, selector: "ec-toaster", viewQueries: [{ propertyName: "timedToastEl", first: true, predicate: ["timedToast"], descendants: true, read: ElementRef }], ngImport: i0, template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\r\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>\r\n\r\n<ec-toast #timedToast\r\n [toastItem]=\"currentTimedToast\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>", dependencies: [{ kind: "component", type: i3.ToastComponent, selector: "ec-toast", inputs: ["toastItem"], outputs: ["closed"] }] }); }
|
106
|
-
}
|
107
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ToasterComponent, decorators: [{
|
108
|
-
type: Component,
|
109
|
-
args: [{ selector: 'ec-toaster', template: "<ec-toast [toastItem]=\"currentDismissibleToast\"\r\n [style.--toast-bottom.rem]=\"dismissibleToastBottom\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>\r\n\r\n<ec-toast #timedToast\r\n [toastItem]=\"currentTimedToast\"\r\n (closed)=\"updateVisibleToast($event)\">\r\n</ec-toast>" }]
|
110
|
-
}], ctorParameters: () => [{ type: i1.ToastService }, { type: i2.TelemetryService }], propDecorators: { timedToastEl: [{
|
111
|
-
type: ViewChild,
|
112
|
-
args: ['timedToast', { static: false, read: ElementRef }]
|
113
|
-
}] } });
|
114
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9hc3Rlci5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b2FzdC90b2FzdGVyL3RvYXN0ZXIuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29tcG9uZW50cy9zcmMvbGliL2Rpc3BsYXkvdG9hc3QvdG9hc3Rlci90b2FzdGVyLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsVUFBVSxFQUFxQixTQUFTLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEYsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMvQixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7O0FBUzNDLE1BQU0sT0FBTyxnQkFBZ0I7SUFVM0IsWUFDVSxZQUEwQixFQUMxQixnQkFBa0M7UUFEbEMsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQVJyQywyQkFBc0IsR0FBVyxDQUFDLENBQUM7UUFHbEMsa0JBQWEsR0FBZ0IsRUFBRSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO0lBS3BDLENBQUM7SUFFTCxRQUFRO1FBQ04sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDekUsSUFBSSxLQUFLLENBQUMsTUFBTSxJQUFJLEtBQUssRUFBRSxDQUFDO2dCQUMxQixJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDM0IsSUFBSSxDQUFDLDRCQUE0QixFQUFFLENBQUM7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OUMsU0FBUyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsSUFBSSxJQUFJLEVBQUU7WUFDakMsV0FBVyxFQUFFLEtBQUssQ0FBQyxLQUFLLENBQUMsV0FBVyxJQUFJLEVBQUU7U0FDM0MsQ0FBQyxDQUFDO0lBQ0wsQ0FBQzsrR0EzR1UsZ0JBQWdCO21HQUFoQixnQkFBZ0IseUlBS3FCLFVBQVUsNkJDaEI1RCw0VUFRVzs7NEZER0UsZ0JBQWdCO2tCQUo1QixTQUFTOytCQUNFLFlBQVk7Z0hBUXdDLFlBQVk7c0JBQXpFLFNBQVM7dUJBQUMsWUFBWSxFQUFFLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBFbGVtZW50UmVmLCBPbkRlc3Ryb3ksIE9uSW5pdCwgVmlld0NoaWxkIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUZWxlbWV0cnlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vY29yZS90ZWxlbWV0cnkuc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0RXZlbnQsIFRvYXN0SXRlbSB9IGZyb20gJy4uL3RvYXN0LXR5cGVzJztcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vdG9hc3Quc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2VjLXRvYXN0ZXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90b2FzdGVyLmNvbXBvbmVudC5odG1sJ1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVG9hc3RlckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25EZXN0cm95IHtcclxuXHJcbiAgcHVibGljIGN1cnJlbnRUaW1lZFRvYXN0PzogVG9hc3RJdGVtO1xyXG4gIHB1YmxpYyBjdXJyZW50RGlzbWlzc2libGVUb2FzdD86IFRvYXN0SXRlbTtcclxuICBwdWJsaWMgZGlzbWlzc2libGVUb2FzdEJvdHRvbTogbnVtYmVyID0gMDtcclxuICBAVmlld0NoaWxkKCd0aW1lZFRvYXN0JywgeyBzdGF0aWM6IGZhbHNlLCByZWFkOiBFbGVtZW50UmVmIH0pIHRpbWVkVG9hc3RFbD86IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG4gIFxyXG4gIHByaXZhdGUgcGVuZGluZ1RvYXN0czogVG9hc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIGRlc3Ryb3llZCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgdGVsZW1ldHJ5U2VydmljZTogVGVsZW1ldHJ5U2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy50b2FzdFNlcnZpY2UuZXZlbnRzLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveWVkKSkuc3Vic2NyaWJlKGV2ZW50ID0+IHtcclxuICAgICAgaWYgKGV2ZW50LmFjdGlvbiA9PSAnYWRkJykge1xyXG4gICAgICAgIHRoaXMuYWRkVG9hc3QoZXZlbnQudG9hc3QpO1xyXG4gICAgICAgIHRoaXMudXBkYXRlRGlzbWlzc2libGVUb2FzdEJvdHRvbSgpO1xyXG4gICAgICAgIHRoaXMudHJhY2tFdmVudChldmVudCk7XHJcbiAgICAgIH0gZWxzZSBpZiAoZXZlbnQuYWN0aW9uID09ICdyZW1vdmUnICYmIGV2ZW50LnRvYXN0ICE9PSB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0ICYmIGV2ZW50LnRvYXN0ICE9PSB0aGlzLmN1cnJlbnRUaW1lZFRvYXN0KSB7XHJcbiAgICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QoZXZlbnQudG9hc3QpO1xyXG4gICAgICAgIHRoaXMudHJhY2tFdmVudChldmVudCk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5uZXh0KCk7XHJcbiAgICB0aGlzLmRlc3Ryb3llZC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuXHJcbiAgcHVibGljIHVwZGF0ZVZpc2libGVUb2FzdChldmVudDogVG9hc3RFdmVudCkge1xyXG4gICAgaWYgKGV2ZW50LnRvYXN0LmRpc21pc3NpYmxlKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QgPSB0aGlzLmdldE5leHRUb2FzdCh0cnVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY3VycmVudFRpbWVkVG9hc3QgPSB0aGlzLmdldE5leHRUb2FzdChmYWxzZSk7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy51cGRhdGVEaXNtaXNzaWJsZVRvYXN0Qm90dG9tKCk7XHJcbiAgICB0aGlzLnRyYWNrRXZlbnQoZXZlbnQpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb2FzdCh0b2FzdDogVG9hc3RJdGVtKSB7XHJcbiAgICBpZiAoKHRvYXN0LmRpc21pc3NpYmxlICYmIHRoaXMuY3VycmVudERpc21pc3NpYmxlVG9hc3QpIHx8ICghdG9hc3QuZGlzbWlzc2libGUgJiYgdGhpcy5jdXJyZW50VGltZWRUb2FzdCkpIHtcclxuICAgICAgdGhpcy5hZGRQZW5kaW5nVG9hc3QodG9hc3QpO1xyXG4gICAgfSBlbHNlIGlmICh0b2FzdC5kaXNtaXNzaWJsZSkge1xyXG4gICAgICB0aGlzLmN1cnJlbnREaXNtaXNzaWJsZVRvYXN0ID0gdG9hc3Q7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmN1cnJlbnRUaW1lZFRvYXN0ID0gdG9hc3Q7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiogUmV0dXJucyB0aGUgbmV4dCBwZW5kaW5nIHRvYXN0IG9mIHRoZSBzcGVjaWZpZWQgdHlwZSBhbmQgcmVtb3ZlcyBpdCBmcm9tIHRoZSBsaXN0IG9mIHBlbmRpbmcgdG9hc3RzLiAqL1xyXG4gIHByaXZhdGUgZ2V0TmV4dFRvYXN0KGRpc21pc3NpYmxlOiBib29sZWFuKTogVG9hc3RJdGVtIHwgdW5kZWZpbmVkIHtcclxuICAgIGNvbnN0IHRvYXN0ID0gdGhpcy5wZW5kaW5nVG9hc3RzLmZpbmQodCA9PiB0LmRpc21pc3NpYmxlID09PSBkaXNtaXNzaWJsZSk7XHJcbiAgICBpZiAodG9hc3QpIHtcclxuICAgICAgdGhpcy5yZW1vdmVQZW5kaW5nVG9hc3QodG9hc3QpO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRvYXN0O1xyXG4gIH1cclxuXHJcbiAgLyoqIEFkZCBhIHRvYXN0IHRvIHRoZSBsaXN0IG9mIHBlbmRpbmcgdG9hc3RzICovXHJcbiAgcHJpdmF0ZSBhZGRQZW5kaW5nVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xyXG4gICAgdGhpcy5wZW5kaW5nVG9hc3RzLnB1c2godG9hc3QpO1xyXG4gIH1cclxuXHJcbiAgLyoqIFJlbW92ZXMgdGhlIHNwZWNpZmllZCB0b2FzdCBmcm9tIHRoZSBsaXN0IG9mIHBlbmRpbmcgdG9hc3RzICovXHJcbiAgcHJpdmF0ZSByZW1vdmVQZW5kaW5nVG9hc3QodG9hc3Q6IFRvYXN0SXRlbSkge1xyXG4gICAgY29uc3QgaW5kZXggPSB0aGlzLnBlbmRpbmdUb2FzdHMuaW5kZXhPZih0b2FzdCk7XHJcbiAgICBpZiAoaW5kZXggPiAtMSkge1xyXG4gICAgICB0aGlzLnBlbmRpbmdUb2FzdHMuc3BsaWNlKGluZGV4LCAxKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8qKiBcclxuICAgKiBJZiB0aGUgdGltZWQgdG9hc3QgaXMgcHJlc2VudCwgc2V0cyB0aGUgYm90dG9tIGhlaWdodCBvZiB0aGUgZGlzbWlzc2libGUgdG9hc3QgdG9cclxuICAgKiB0aGUgY3VycmVudCBoZWlnaHQgb2YgdGhlIHRpbWVkIHRvYXN0IHBsdXMgLjVyZW0gZm9yIHNwYWNpbmcuXHJcbiAgICogUmV0dXJucyAwIGlmIHRoZXJlIGlzbid0IGEgdmlzaWJsZSB0aW1lZCB0b2FzdC5cclxuICAgKi9cclxuICBwcml2YXRlIHVwZGF0ZURpc21pc3NpYmxlVG9hc3RCb3R0b20oKSB7XHJcbiAgICBpZiAodGhpcy5jdXJyZW50VGltZWRUb2FzdCAmJiB0aGlzLnRpbWVkVG9hc3RFbCkge1xyXG4gICAgICB0aGlzLmRpc21pc3NpYmxlVG9hc3RCb3R0b20gPSAodGhpcy50aW1lZFRvYXN0RWwubmF0aXZlRWxlbWVudC5vZmZzZXRIZWlnaHQgKyA4KSAvIDE2O1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5kaXNtaXNzaWJsZVRvYXN0Qm90dG9tID0gMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgdHJhY2tFdmVudChldmVudDogVG9hc3RFdmVudCkge1xyXG4gICAgY29uc3QgZGlzbWlzc2libGUgPSB0aGlzLnBlbmRpbmdUb2FzdHMuZmlsdGVyKHQgPT4gdC5kaXNtaXNzaWJsZSk7XHJcbiAgICBjb25zdCB0cmFuc2llbnQgPSB0aGlzLnBlbmRpbmdUb2FzdHMuZmlsdGVyKHQgPT4gIXQuZGlzbWlzc2libGUpO1xyXG5cclxuICAgIHRoaXMudGVsZW1ldHJ5U2VydmljZS50cmFja0V2ZW50KGAke2V2ZW50LmFjdGlvbn0gdG9hc3RgLCB7XHJcbiAgICAgIGFjdGlvbjogZXZlbnQuYWN0aW9uLFxyXG4gICAgICBzb3VyY2U6IGV2ZW50LnNvdXJjZSxcclxuICAgICAgaGFzRGlzbWlzc2libGVQZW5kaW5nOiBkaXNtaXNzaWJsZS5sZW5ndGggPiAwID8gJ3llcycgOiAnbm8nLFxyXG4gICAgICBkaXNtaXNzaWJsZVBlbmRpbmdMZW5ndGg6IGAke2Rpc21pc3NpYmxlLmxlbmd0aH1gLFxyXG4gICAgICBoYXNUcmFuc2llbnRQZW5kaW5nOiB0cmFuc2llbnQubGVuZ3RoID4gMCA/ICd5ZXMnIDogJ25vJyxcclxuICAgICAgdHJhbnNpZW50UGVuZGluZ0xlbmd0aDogYCR7dHJhbnNpZW50Lmxlbmd0aH1gLFxyXG4gICAgICB0b2FzdElkOiBldmVudC50b2FzdC5pZCA/PyAnJyxcclxuICAgICAgdG9hc3RUeXBlOiBldmVudC50b2FzdC50eXBlLFxyXG4gICAgICB0b2FzdE1lc3NhZ2U6IGV2ZW50LnRvYXN0Lm1lc3NhZ2UsXHJcbiAgICAgIHRvYXN0RGlzbWlzc2libGU6IGAke2V2ZW50LnRvYXN0LmRpc21pc3NpYmxlfWAsXHJcbiAgICAgIHRvYXN0SWNvbjogZXZlbnQudG9hc3QuaWNvbiA/PyAnJyxcclxuICAgICAgdG9hc3RBY3Rpb246IGV2ZW50LnRvYXN0LmFjdGlvbkxhYmVsID8/ICcnLFxyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcbiIsIjxlYy10b2FzdCBbdG9hc3RJdGVtXT1cImN1cnJlbnREaXNtaXNzaWJsZVRvYXN0XCJcclxuICAgICAgICAgIFtzdHlsZS4tLXRvYXN0LWJvdHRvbS5yZW1dPVwiZGlzbWlzc2libGVUb2FzdEJvdHRvbVwiXHJcbiAgICAgICAgICAoY2xvc2VkKT1cInVwZGF0ZVZpc2libGVUb2FzdCgkZXZlbnQpXCI+XHJcbjwvZWMtdG9hc3Q+XHJcblxyXG48ZWMtdG9hc3QgI3RpbWVkVG9hc3RcclxuICAgICAgICAgIFt0b2FzdEl0ZW1dPVwiY3VycmVudFRpbWVkVG9hc3RcIlxyXG4gICAgICAgICAgKGNsb3NlZCk9XCJ1cGRhdGVWaXNpYmxlVG9hc3QoJGV2ZW50KVwiPlxyXG48L2VjLXRvYXN0PiJdfQ==
|
@@ -1,173 +0,0 @@
|
|
1
|
-
import { Directive, HostListener, Input } from '@angular/core';
|
2
|
-
import { of, Subject } from 'rxjs';
|
3
|
-
import { delay, switchMap, takeUntil } from 'rxjs/operators';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "./../tooltip/tooltip.service";
|
6
|
-
export class TooltipDirective {
|
7
|
-
constructor(tooltipService, element, renderer2) {
|
8
|
-
this.tooltipService = tooltipService;
|
9
|
-
this.element = element;
|
10
|
-
this.renderer2 = renderer2;
|
11
|
-
//TooltipConfig: receives all the tooltip options to overwrite the
|
12
|
-
//default configuration of the tooltip
|
13
|
-
this.tooltipConfig = undefined;
|
14
|
-
//TooltipText: receives plain text to display in the default tooltip
|
15
|
-
this.tooltipText = undefined;
|
16
|
-
//TooltipCustomContent: receives a template reference to display
|
17
|
-
//into the tooltip content
|
18
|
-
this.tooltipCustomContent = undefined;
|
19
|
-
//This Input will remain as Input because tooltipPosition is not part
|
20
|
-
//of TooltipOptions type of object
|
21
|
-
this.tooltipPosition = "top-center";
|
22
|
-
//************************************************************//
|
23
|
-
//Events related
|
24
|
-
this.mouseOver = new Subject();
|
25
|
-
this.interrupt = new Subject();
|
26
|
-
this.hideCompleted = new Subject();
|
27
|
-
//Object with the tooltip options builded with the Input parameters
|
28
|
-
//and use it in tooltipService - show()
|
29
|
-
this.tooltipOptions = {};
|
30
|
-
/**Set when we show a tooltip, to allow us to unsubscribe to mouse move when hide fires.
|
31
|
-
* if we never showed the tooltip this will remain null and we won't have an event to unsubscribe to
|
32
|
-
*/
|
33
|
-
this.mouseMoveUnsubscribe = null;
|
34
|
-
}
|
35
|
-
ngOnInit() {
|
36
|
-
//checkInputsValue(): if there is an error it will prevent to execute
|
37
|
-
//any code related with the tooltip setup
|
38
|
-
if (this.checkInputsValue()) {
|
39
|
-
//Create the object with the tooltip options provided as @Inputs
|
40
|
-
this.createTooltipOptions();
|
41
|
-
//MouseOver flow: start the process of showing the tooltip
|
42
|
-
//until the mouse leaves the anchor element with this.interrupt
|
43
|
-
this.mouseOver
|
44
|
-
.pipe(switchMap(v => of(v).pipe(delay(300), //delays the time previous of showing the tooltip
|
45
|
-
takeUntil(this.interrupt))))
|
46
|
-
.subscribe(() => this.show()); //Calls the function responsable of using the tooltipService
|
47
|
-
//Mouse leave flow: start the process of removing the tooltip when the mouse is away of the anchor element
|
48
|
-
this.interrupt.pipe(switchMap(v => of(v).pipe(delay(50), takeUntil(this.hideCompleted)))).subscribe(() => this.hide()); //hide the tooltip and triggers the completed cycle flag this.hideCompleted
|
49
|
-
}
|
50
|
-
else {
|
51
|
-
console.error('There are too many parameters or none parameter to config the tooltip options');
|
52
|
-
}
|
53
|
-
}
|
54
|
-
/**Detects where the mouse is to trigger the leave/hide process
|
55
|
-
* This is a backstop protection against us missing the mouseleave event and leaving a hanging chad.
|
56
|
-
* On some browsers, and on some actions (especially scroll) the mouseLeave seems to never fire */
|
57
|
-
onMouseMove(event) {
|
58
|
-
let callCallback = false;
|
59
|
-
if (this.contentRect) {
|
60
|
-
callCallback = this.tooltipService.onMove(event, this.contentRect);
|
61
|
-
if (callCallback) {
|
62
|
-
//trigger on hide process
|
63
|
-
this.interrupt.next();
|
64
|
-
//reset the contentRec for a new tooltip
|
65
|
-
this.contentRect = undefined;
|
66
|
-
}
|
67
|
-
}
|
68
|
-
}
|
69
|
-
//Trigger the process to show the tooltip
|
70
|
-
onMouseOver() {
|
71
|
-
this.mouseOver.next();
|
72
|
-
}
|
73
|
-
//Trigger the process to hide and later the process
|
74
|
-
//to mark as complete the cycle of show and hide the tooltip
|
75
|
-
onLeave() {
|
76
|
-
this.interrupt.next();
|
77
|
-
}
|
78
|
-
checkInputsValue() {
|
79
|
-
let parametersWithValue = 0;
|
80
|
-
if (this.tooltipText) {
|
81
|
-
parametersWithValue = parametersWithValue + 1;
|
82
|
-
}
|
83
|
-
if (this.tooltipCustomContent) {
|
84
|
-
parametersWithValue = parametersWithValue + 1;
|
85
|
-
}
|
86
|
-
if (this.tooltipConfig) {
|
87
|
-
parametersWithValue = parametersWithValue + 1;
|
88
|
-
}
|
89
|
-
if (parametersWithValue === 1) {
|
90
|
-
return true;
|
91
|
-
}
|
92
|
-
else {
|
93
|
-
return false;
|
94
|
-
}
|
95
|
-
}
|
96
|
-
/**
|
97
|
-
* createTooltipOptions
|
98
|
-
* will only be executed after manageError() verifies
|
99
|
-
* if the parameters are not overlapping each other
|
100
|
-
* and it will build the tooltipOptions object
|
101
|
-
*/
|
102
|
-
createTooltipOptions() {
|
103
|
-
this.tooltipOptions = {
|
104
|
-
id: `tooltip_${this.tooltipConfig?.id ? this.tooltipConfig?.id : ''}`,
|
105
|
-
text: this.tooltipConfig?.text || this.tooltipText,
|
106
|
-
title: this.tooltipConfig?.title,
|
107
|
-
subtitle: this.tooltipConfig?.subtitle,
|
108
|
-
customContent: this.tooltipConfig?.customContent || this.tooltipCustomContent,
|
109
|
-
dismissible: this.tooltipConfig?.dismissible || false,
|
110
|
-
maxWidth: this.tooltipConfig?.maxWidth,
|
111
|
-
width: this.tooltipConfig?.width,
|
112
|
-
backgroundColor: this.tooltipConfig?.backgroundColor,
|
113
|
-
};
|
114
|
-
}
|
115
|
-
show() {
|
116
|
-
//Reference to the element where to tooltip is attached
|
117
|
-
const element = this.element.nativeElement;
|
118
|
-
//contentRect will be assing only after showing a tooltip/popover and it will be
|
119
|
-
//reset after hide the same tooltip/popover
|
120
|
-
this.contentRect = this.element.nativeElement.getBoundingClientRect();
|
121
|
-
//tooltipPosition is never undefined, default value = "top-center"
|
122
|
-
if (!this.tooltip) {
|
123
|
-
this.tooltip = this.tooltipService.show(element, this.tooltipPosition, this.tooltipOptions);
|
124
|
-
this.mouseMoveUnsubscribe = this.renderer2.listen(document, 'mousemove', this.onMouseMove.bind(this));
|
125
|
-
}
|
126
|
-
}
|
127
|
-
hide() {
|
128
|
-
//There is a timing issue between the show - hide with
|
129
|
-
//liner tooltip elements, so the below line
|
130
|
-
//makes sure the app doesn't break
|
131
|
-
if (this.tooltip) {
|
132
|
-
//Call the hide() from the tooltip component
|
133
|
-
this.tooltip.hide();
|
134
|
-
this.tooltip = undefined;
|
135
|
-
if (this.mouseMoveUnsubscribe) {
|
136
|
-
this.mouseMoveUnsubscribe();
|
137
|
-
}
|
138
|
-
}
|
139
|
-
//Interrupt the flow of mouseover with a delay and triggers the
|
140
|
-
//flow to hide the tooltip with a delay
|
141
|
-
this.interrupt.next();
|
142
|
-
//Work as a flag to indicate the flow of show and hide has been completed
|
143
|
-
this.hideCompleted.next();
|
144
|
-
}
|
145
|
-
//When the element where the tooltip is attached disappears
|
146
|
-
//the tooltip should be destroy as well
|
147
|
-
ngOnDestroy() {
|
148
|
-
this.interrupt.next();
|
149
|
-
}
|
150
|
-
static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, deps: [{ token: i1.TooltipService }, { token: i0.ElementRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Directive }); }
|
151
|
-
static { this.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "17.3.12", type: TooltipDirective, selector: "[ecTooltip]", inputs: { tooltipConfig: "tooltipConfig", tooltipText: "tooltipText", tooltipCustomContent: "tooltipCustomContent", tooltipPosition: "tooltipPosition" }, host: { listeners: { "mouseover": "onMouseOver()", "mouseleave": "onLeave()" } }, ngImport: i0 }); }
|
152
|
-
}
|
153
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TooltipDirective, decorators: [{
|
154
|
-
type: Directive,
|
155
|
-
args: [{
|
156
|
-
selector: '[ecTooltip]'
|
157
|
-
}]
|
158
|
-
}], ctorParameters: () => [{ type: i1.TooltipService }, { type: i0.ElementRef }, { type: i0.Renderer2 }], propDecorators: { tooltipConfig: [{
|
159
|
-
type: Input
|
160
|
-
}], tooltipText: [{
|
161
|
-
type: Input
|
162
|
-
}], tooltipCustomContent: [{
|
163
|
-
type: Input
|
164
|
-
}], tooltipPosition: [{
|
165
|
-
type: Input
|
166
|
-
}], onMouseOver: [{
|
167
|
-
type: HostListener,
|
168
|
-
args: ['mouseover']
|
169
|
-
}], onLeave: [{
|
170
|
-
type: HostListener,
|
171
|
-
args: ['mouseleave']
|
172
|
-
}] } });
|
173
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidG9vbHRpcC5kaXJlY3RpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21wb25lbnRzL3NyYy9saWIvZGlzcGxheS90b29sdGlwLWRpcmVjdGl2ZS90b29sdGlwLmRpcmVjdGl2ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFjLFlBQVksRUFBRSxLQUFLLEVBQWtDLE1BQU0sZUFBZSxDQUFDO0FBQzNHLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQ25DLE9BQU8sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLGdCQUFnQixDQUFDOzs7QUFRN0QsTUFBTSxPQUFPLGdCQUFnQjtJQTJDM0IsWUFDVSxjQUE4QixFQUM5QixPQUFtQixFQUNuQixTQUFvQjtRQUZwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsWUFBTyxHQUFQLE9BQU8sQ0FBWTtRQUNuQixjQUFTLEdBQVQsU0FBUyxDQUFXO1FBNUM5QixrRUFBa0U7UUFDbEUsc0NBQXNDO1FBQ3RCLGtCQUFhLEdBQW9CLFNBQVMsQ0FBQTtRQUUxRCxvRUFBb0U7UUFDcEQsZ0JBQVcsR0FBWSxTQUFTLENBQUM7UUFFakQsZ0VBQWdFO1FBQ2hFLDBCQUEwQjtRQUNWLHlCQUFvQixHQUFzQixTQUFTLENBQUM7UUFHcEUscUVBQXFFO1FBQ3JFLGtDQUFrQztRQUNsQixvQkFBZSxHQUFvQixZQUFZLENBQUM7UUFJaEUsZ0VBQWdFO1FBRWhFLGdCQUFnQjtRQUNSLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGNBQVMsR0FBRyxJQUFJLE9BQU8sRUFBUSxDQUFDO1FBQ2hDLGtCQUFhLEdBQUcsSUFBSSxPQUFPLEVBQVEsQ0FBQztRQVE1QyxtRUFBbUU7UUFDbkUsdUNBQXVDO1FBQy9CLG1CQUFjLEdBQW1CLEVBQUUsQ0FB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bkluaXQsIFJlbmRlcmVyMiwgVGVtcGxhdGVSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgb2YsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgZGVsYXksIHN3aXRjaE1hcCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBUb29sdGlwQ29tcG9uZW50LCBUb29sdGlwT3B0aW9ucywgVG9vbHRpcFBvc2l0aW9uIH0gZnJvbSAnLi8uLi90b29sdGlwL3Rvb2x0aXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgVG9vbHRpcFNlcnZpY2UgfSBmcm9tICcuLy4uL3Rvb2x0aXAvdG9vbHRpcC5zZXJ2aWNlJztcclxuXHJcbkBEaXJlY3RpdmUoe1xyXG4gIHNlbGVjdG9yOiAnW2VjVG9vbHRpcF0nXHJcbn0pXHJcblxyXG5leHBvcnQgY2xhc3MgVG9vbHRpcERpcmVjdGl2ZSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIC8vVG9vbHRpcENvbmZpZzogcmVjZWl2ZXMgYWxsIHRoZSB0b29sdGlwIG9wdGlvbnMgdG8gb3ZlcndyaXRlIHRoZVxyXG4gIC8vZGVmYXVsdCBjb25maWd1cmF0aW9uIG9mIHRoZSB0b29sdGlwXHJcbiAgQElucHV0KCkgcHVibGljIHRvb2x0aXBDb25maWc/OiBUb29sdGlwT3B0aW9ucyA9IHVuZGVmaW5lZFxyXG5cclxuICAvL1Rvb2x0aXBUZXh0OiByZWNlaXZlcyBwbGFpbiB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIGRlZmF1bHQgdG9vbHRpcFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwVGV4dD86IHN0cmluZyA9IHVuZGVmaW5lZDsgXHJcblxyXG4gIC8vVG9vbHRpcEN1c3RvbUNvbnRlbnQ6IHJlY2VpdmVzIGEgdGVtcGxhdGUgcmVmZXJlbmNlIHRvIGRpc3BsYXlcclxuICAvL2ludG8gdGhlIHRvb2x0aXAgY29udGVudFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwQ3VzdG9tQ29udGVudD86IFRlbXBsYXRlUmVmPGFueT4gPSB1bmRlZmluZWQ7XHJcbiAgXHJcbiAgXHJcbiAgLy9UaGlzIElucHV0IHdpbGwgcmVtYWluIGFzIElucHV0IGJlY2F1c2UgdG9vbHRpcFBvc2l0aW9uIGlzIG5vdCBwYXJ0XHJcbiAgLy9vZiBUb29sdGlwT3B0aW9ucyB0eXBlIG9mIG9iamVjdFxyXG4gIEBJbnB1dCgpIHB1YmxpYyB0b29sdGlwUG9zaXRpb246IFRvb2x0aXBQb3NpdGlvbiA9IFwidG9wLWNlbnRlclwiO1xyXG5cclxuXHJcblxyXG4gIC8vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqLy9cclxuXHJcbiAgLy9FdmVudHMgcmVsYXRlZFxyXG4gIHByaXZhdGUgbW91c2VPdmVyID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGludGVycnVwdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcbiAgcHJpdmF0ZSBoaWRlQ29tcGxldGVkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuICBwcml2YXRlIGNvbnRlbnRSZWN0OiBET01SZWN0IHwgdW5kZWZpbmVkO1xyXG5cclxuICAvLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8vXHJcblxyXG4gIC8vUmVmZXJlbmNlIHRvIFRvb2x0aXBDb21wb25lbnQsIHdpbGwgYmUgZGVmaW5lZCBiZWxvdyBpbiB0aGlzLnNob3coKVxyXG4gIHByaXZhdGUgdG9vbHRpcD86IFRvb2x0aXBDb21wb25lbnQ7XHJcblxyXG4gIC8vT2JqZWN0IHdpdGggdGhlIHRvb2x0aXAgb3B0aW9ucyBidWlsZGVkIHdpdGggdGhlIElucHV0IHBhcmFtZXRlcnNcclxuICAvL2FuZCB1c2UgaXQgaW4gdG9vbHRpcFNlcnZpY2UgLSBzaG93KClcclxuICBwcml2YXRlIHRvb2x0aXBPcHRpb25zPzpUb29sdGlwT3B0aW9ucyA9IHt9XHJcbiAgXHJcblxyXG4gIC8qKlNldCB3aGVuIHdlIHNob3cgYSB0b29sdGlwLCB0byBhbGxvdyB1cyB0byB1bnN1YnNjcmliZSB0byBtb3VzZSBtb3ZlIHdoZW4gaGlkZSBmaXJlcy5cclxuICAgKiBpZiB3ZSBuZXZlciBzaG93ZWQgdGhlIHRvb2x0aXAgdGhpcyB3aWxsIHJlbWFpbiBudWxsIGFuZCB3ZSB3b24ndCBoYXZlIGFuIGV2ZW50IHRvIHVuc3Vic2NyaWJlIHRvXHJcbiAgICovXHJcbiAgcHJpdmF0ZSBtb3VzZU1vdmVVbnN1YnNjcmliZTogKCgpPT4gdm9pZCkgfCBudWxsID0gbnVsbDtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHRvb2x0aXBTZXJ2aWNlOiBUb29sdGlwU2VydmljZSxcclxuICAgIHByaXZhdGUgZWxlbWVudDogRWxlbWVudFJlZiwgXHJcbiAgICBwcml2YXRlIHJlbmRlcmVyMjogUmVuZGVyZXIyXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIC8vY2hlY2tJbnB1dHNWYWx1ZSgpOiBpZiB0aGVyZSBpcyBhbiBlcnJvciBpdCB3aWxsIHByZXZlbnQgdG8gZXhlY3V0ZVxyXG4gICAgLy9hbnkgY29kZSByZWxhdGVkIHdpdGggdGhlIHRvb2x0aXAgc2V0dXBcclxuICAgIGlmKHRoaXMuY2hlY2tJbnB1dHNWYWx1ZSgpKSB7XHJcbiAgICAgIC8vQ3JlYXRlIHRoZSBvYmplY3Qgd2l0aCB0aGUgdG9vbHRpcCBvcHRpb25zIHByb3ZpZGVkIGFzIEBJbnB1dHNcclxuICAgICAgdGhpcy5jcmVhdGVUb29sdGlwT3B0aW9ucygpO1xyXG5cclxuICAgICAgLy9Nb3VzZU92ZXIgZmxvdzogc3RhcnQgdGhlIHByb2Nlc3Mgb2Ygc2hvd2luZyB0aGUgdG9vbHRpcFxyXG4gICAgICAvL3VudGlsIHRoZSBtb3VzZSBsZWF2ZXMgdGhlIGFuY2hvciBlbGVtZW50IHdpdGggdGhpcy5pbnRlcnJ1cHRcclxuICAgICAgdGhpcy5tb3VzZU92ZXJcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgc3dpdGNoTWFwKHYgPT5cclxuICAgICAgICAgIG9mKHYpLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5KDMwMCksIC8vZGVsYXlzIHRoZSB0aW1lIHByZXZpb3VzIG9mIHNob3dpbmcgdGhlIHRvb2x0aXBcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaW50ZXJydXB0KVxyXG4gICAgICAgICAgKVxyXG4gICAgICAgIClcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHRoaXMuc2hvdygpKTsgLy9DYWxscyB0aGUgZnVuY3Rpb24gcmVzcG9uc2FibGUgb2YgdXNpbmcgdGhlIHRvb2x0aXBTZXJ2aWNlXHJcbiAgXHJcbiAgICAgIC8vTW91c2UgbGVhdmUgZmxvdzogc3RhcnQgdGhlIHByb2Nlc3Mgb2YgcmVtb3ZpbmcgdGhlIHRvb2x0aXAgd2hlbiB0aGUgbW91c2UgaXMgYXdheSBvZiB0aGUgYW5jaG9yIGVsZW1lbnRcclxuICAgICAgdGhpcy5pbnRlcnJ1cHQucGlwZShcclxuICAgICAgICBzd2l0Y2hNYXAodiA9PiBcclxuICAgICAgICAgIG9mKHYpLnBpcGUoXHJcbiAgICAgICAgICAgIGRlbGF5KDUwKSxcclxuICAgICAgICAgICAgdGFrZVVudGlsKHRoaXMuaGlkZUNvbXBsZXRlZClcclxuICAgICAgICAgICkpXHJcbiAgICAgICkuc3Vic2NyaWJlKCgpID0+IHRoaXMuaGlkZSgpKTsgLy9oaWRlIHRoZSB0b29sdGlwIGFuZCB0cmlnZ2VycyB0aGUgY29tcGxldGVkIGN5Y2xlIGZsYWcgdGhpcy5oaWRlQ29tcGxldGVkXHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb25zb2xlLmVycm9yKCdUaGVyZSBhcmUgdG9vIG1hbnkgcGFyYW1ldGVycyBvciBub25lIHBhcmFtZXRlciB0byBjb25maWcgdGhlIHRvb2x0aXAgb3B0aW9ucycpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLyoqRGV0ZWN0cyB3aGVyZSB0aGUgbW91c2UgaXMgdG8gdHJpZ2dlciB0aGUgbGVhdmUvaGlkZSBwcm9jZXNzXHJcbiAgICogVGhpcyBpcyBhIGJhY2tzdG9wIHByb3RlY3Rpb24gYWdhaW5zdCB1cyBtaXNzaW5nIHRoZSBtb3VzZWxlYXZlIGV2ZW50IGFuZCBsZWF2aW5nIGEgaGFuZ2luZyBjaGFkLlxyXG4gICAqIE9uIHNvbWUgYnJvd3NlcnMsIGFuZCBvbiBzb21lIGFjdGlvbnMgKGVzcGVjaWFsbHkgc2Nyb2xsKSB0aGUgbW91c2VMZWF2ZSBzZWVtcyB0byBuZXZlciBmaXJlICovXHJcbiAgcHVibGljIG9uTW91c2VNb3ZlKGV2ZW50Ok1vdXNlRXZlbnQpIHtcclxuICAgIGxldCBjYWxsQ2FsbGJhY2sgPSBmYWxzZTtcclxuICAgIGlmKHRoaXMuY29udGVudFJlY3QpIHtcclxuICAgICAgY2FsbENhbGxiYWNrID0gdGhpcy50b29sdGlwU2VydmljZS5vbk1vdmUoZXZlbnQsIHRoaXMuY29udGVudFJlY3QhKTtcclxuICAgICAgaWYoY2FsbENhbGxiYWNrKSB7XHJcbiAgICAgICAgLy90cmlnZ2VyIG9uIGhpZGUgcHJvY2Vzc1xyXG4gICAgICAgIHRoaXMuaW50ZXJydXB0Lm5leHQoKTsgXHJcbiAgICAgICAgLy9yZXNldCB0aGUgY29udGVudFJlYyBmb3IgYSBuZXcgdG9vbHRpcFxyXG4gICAgICAgIHRoaXMuY29udGVudFJlY3QgPSB1bmRlZmluZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBzaG93IHRoZSB0b29sdGlwXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VvdmVyJylcclxuICBwdWJsaWMgb25Nb3VzZU92ZXIoKSB7XHJcbiAgICB0aGlzLm1vdXNlT3Zlci5uZXh0KCk7XHJcbiAgfVxyXG4gIFxyXG4gIC8vVHJpZ2dlciB0aGUgcHJvY2VzcyB0byBoaWRlIGFuZCBsYXRlciB0aGUgcHJvY2Vzc1xyXG4gIC8vdG8gbWFyayBhcyBjb21wbGV0ZSB0aGUgY3ljbGUgb2Ygc2hvdyBhbmQgaGlkZSB0aGUgdG9vbHRpcFxyXG4gIEBIb3N0TGlzdGVuZXIoJ21vdXNlbGVhdmUnKVxyXG4gIHB1YmxpYyBvbkxlYXZlKCkge1xyXG4gICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjaGVja0lucHV0c1ZhbHVlKCk6Ym9vbGVhbiB7XHJcbiAgICBsZXQgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IDA7XHJcbiAgICBpZih0aGlzLnRvb2x0aXBUZXh0KSB7XHJcbiAgICAgIHBhcmFtZXRlcnNXaXRoVmFsdWUgPSBwYXJhbWV0ZXJzV2l0aFZhbHVlICsgMVxyXG4gICAgfSBcclxuICAgIGlmKHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQpIHtcclxuICAgICAgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IHBhcmFtZXRlcnNXaXRoVmFsdWUgKyAxXHJcbiAgICB9XHJcbiAgICBpZih0aGlzLnRvb2x0aXBDb25maWcpIHtcclxuICAgICAgcGFyYW1ldGVyc1dpdGhWYWx1ZSA9IHBhcmFtZXRlcnNXaXRoVmFsdWUgKyAxXHJcbiAgICB9XHJcbiAgICBpZihwYXJhbWV0ZXJzV2l0aFZhbHVlID09PSAxKSB7XHJcbiAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuICAvKipcclxuICAgKiBjcmVhdGVUb29sdGlwT3B0aW9uc1xyXG4gICAqIHdpbGwgb25seSBiZSBleGVjdXRlZCBhZnRlciBtYW5hZ2VFcnJvcigpIHZlcmlmaWVzIFxyXG4gICAqIGlmIHRoZSBwYXJhbWV0ZXJzIGFyZSBub3Qgb3ZlcmxhcHBpbmcgZWFjaCBvdGhlclxyXG4gICAqIGFuZCBpdCB3aWxsIGJ1aWxkIHRoZSB0b29sdGlwT3B0aW9ucyBvYmplY3RcclxuICAgKi9cclxuICBwcml2YXRlIGNyZWF0ZVRvb2x0aXBPcHRpb25zKCk6IHZvaWQge1xyXG4gICAgdGhpcy50b29sdGlwT3B0aW9ucyA9IHtcclxuICAgICAgaWQ6IGB0b29sdGlwXyR7dGhpcy50b29sdGlwQ29uZmlnPy5pZD8gdGhpcy50b29sdGlwQ29uZmlnPy5pZDogJyd9YCxcclxuICAgICAgdGV4dDogdGhpcy50b29sdGlwQ29uZmlnPy50ZXh0IHx8IHRoaXMudG9vbHRpcFRleHQsXHJcbiAgICAgIHRpdGxlOiB0aGlzLnRvb2x0aXBDb25maWc/LnRpdGxlLFxyXG4gICAgICBzdWJ0aXRsZTogdGhpcy50b29sdGlwQ29uZmlnPy5zdWJ0aXRsZSxcclxuICAgICAgY3VzdG9tQ29udGVudDogdGhpcy50b29sdGlwQ29uZmlnPy5jdXN0b21Db250ZW50IHx8IHRoaXMudG9vbHRpcEN1c3RvbUNvbnRlbnQsXHJcbiAgICAgIGRpc21pc3NpYmxlOiB0aGlzLnRvb2x0aXBDb25maWc/LmRpc21pc3NpYmxlIHx8IGZhbHNlLFxyXG4gICAgICBtYXhXaWR0aDogdGhpcy50b29sdGlwQ29uZmlnPy5tYXhXaWR0aCxcclxuICAgICAgd2lkdGg6IHRoaXMudG9vbHRpcENvbmZpZz8ud2lkdGgsXHJcbiAgICAgIGJhY2tncm91bmRDb2xvcjogdGhpcy50b29sdGlwQ29uZmlnPy5iYWNrZ3JvdW5kQ29sb3IsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcblxyXG4gIHByaXZhdGUgc2hvdygpOnZvaWQge1xyXG4gICAgLy9SZWZlcmVuY2UgdG8gdGhlIGVsZW1lbnQgd2hlcmUgdG8gdG9vbHRpcCBpcyBhdHRhY2hlZFxyXG4gICAgY29uc3QgZWxlbWVudCA9IHRoaXMuZWxlbWVudC5uYXRpdmVFbGVtZW50O1xyXG4gICAgLy9jb250ZW50UmVjdCB3aWxsIGJlIGFzc2luZyBvbmx5IGFmdGVyIHNob3dpbmcgYSB0b29sdGlwL3BvcG92ZXIgYW5kIGl0IHdpbGwgYmVcclxuICAgIC8vcmVzZXQgYWZ0ZXIgaGlkZSB0aGUgc2FtZSB0b29sdGlwL3BvcG92ZXJcclxuICAgIHRoaXMuY29udGVudFJlY3QgPSB0aGlzLmVsZW1lbnQubmF0aXZlRWxlbWVudC5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIC8vdG9vbHRpcFBvc2l0aW9uIGlzIG5ldmVyIHVuZGVmaW5lZCwgZGVmYXVsdCB2YWx1ZSA9IFwidG9wLWNlbnRlclwiXHJcbiAgICBpZighdGhpcy50b29sdGlwKSB7XHJcbiAgICAgIHRoaXMudG9vbHRpcCA9IHRoaXMudG9vbHRpcFNlcnZpY2Uuc2hvdyhlbGVtZW50IGFzIEhUTUxFbGVtZW50LCB0aGlzLnRvb2x0aXBQb3NpdGlvbiwgdGhpcy50b29sdGlwT3B0aW9ucyk7XHJcbiAgICAgIHRoaXMubW91c2VNb3ZlVW5zdWJzY3JpYmUgPSB0aGlzLnJlbmRlcmVyMi5saXN0ZW4oZG9jdW1lbnQsICdtb3VzZW1vdmUnLCB0aGlzLm9uTW91c2VNb3ZlLmJpbmQodGhpcykpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBoaWRlKCk6dm9pZCB7XHJcbiAgICAvL1RoZXJlIGlzIGEgdGltaW5nIGlzc3VlIGJldHdlZW4gdGhlIHNob3cgLSBoaWRlIHdpdGggXHJcbiAgICAvL2xpbmVyIHRvb2x0aXAgZWxlbWVudHMsIHNvIHRoZSBiZWxvdyBsaW5lXHJcbiAgICAvL21ha2VzIHN1cmUgdGhlIGFwcCBkb2Vzbid0IGJyZWFrXHJcbiAgICBpZih0aGlzLnRvb2x0aXApIHtcclxuICAgICAgLy9DYWxsIHRoZSBoaWRlKCkgZnJvbSB0aGUgdG9vbHRpcCBjb21wb25lbnRcclxuICAgICAgdGhpcy50b29sdGlwLmhpZGUoKTtcclxuICAgICAgdGhpcy50b29sdGlwID0gdW5kZWZpbmVkO1xyXG4gICAgICBcclxuICAgICAgaWYodGhpcy5tb3VzZU1vdmVVbnN1YnNjcmliZSl7XHJcbiAgICAgICAgdGhpcy5tb3VzZU1vdmVVbnN1YnNjcmliZSgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLy9JbnRlcnJ1cHQgdGhlIGZsb3cgb2YgbW91c2VvdmVyIHdpdGggYSBkZWxheSBhbmQgdHJpZ2dlcnMgdGhlIFxyXG4gICAgLy9mbG93IHRvIGhpZGUgdGhlIHRvb2x0aXAgd2l0aCBhIGRlbGF5IFxyXG4gICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gICAgLy9Xb3JrIGFzIGEgZmxhZyB0byBpbmRpY2F0ZSB0aGUgZmxvdyBvZiBzaG93IGFuZCBoaWRlIGhhcyBiZWVuIGNvbXBsZXRlZFxyXG4gICAgdGhpcy5oaWRlQ29tcGxldGVkLm5leHQoKTtcclxuICB9XHJcblxyXG4gIC8vV2hlbiB0aGUgZWxlbWVudCB3aGVyZSB0aGUgdG9vbHRpcCBpcyBhdHRhY2hlZCBkaXNhcHBlYXJzXHJcbiAgLy90aGUgdG9vbHRpcCBzaG91bGQgYmUgZGVzdHJveSBhcyB3ZWxsICBcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgdGhpcy5pbnRlcnJ1cHQubmV4dCgpO1xyXG4gIH1cclxuXHJcbn1cclxuIl19
|