primeng 18.0.0 → 18.0.2-patch.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/accordion/accordion.d.ts +7 -7
- package/autocomplete/autocomplete.d.ts +21 -8
- package/badge/badge.d.ts +1 -3
- package/basecomponent/basecomponent.d.ts +2 -5
- package/blockui/blockui.d.ts +10 -5
- package/breadcrumb/breadcrumb.d.ts +9 -6
- package/button/button.d.ts +10 -4
- package/calendar/calendar.d.ts +29 -15
- package/card/card.d.ts +12 -5
- package/carousel/carousel.d.ts +10 -4
- package/cascadeselect/cascadeselect.d.ts +18 -8
- package/checkbox/checkbox.d.ts +8 -4
- package/chip/chip.d.ts +9 -7
- package/chips/chips.d.ts +237 -0
- package/chips/chips.interface.d.ts +66 -0
- package/chips/index.d.ts +5 -0
- package/chips/public_api.d.ts +2 -0
- package/chips/style/chipsstyle.d.ts +69 -0
- package/confirmdialog/confirmdialog.d.ts +14 -5
- package/confirmpopup/confirmpopup.d.ts +11 -5
- package/contextmenu/contextmenu.d.ts +10 -6
- package/datepicker/datepicker.d.ts +113 -33
- package/dialog/dialog.d.ts +15 -4
- package/divider/divider.d.ts +1 -1
- package/dock/dock.d.ts +7 -4
- package/drawer/drawer.d.ts +18 -10
- package/dropdown/dropdown.d.ts +4 -3
- package/dynamicdialog/dynamicdialog.d.ts +1 -0
- package/editor/editor.d.ts +7 -3
- package/esm2022/accordion/accordion.mjs +58 -43
- package/esm2022/autocomplete/autocomplete.mjs +153 -92
- package/esm2022/badge/badge.mjs +39 -32
- package/esm2022/basecomponent/basecomponent.mjs +3 -26
- package/esm2022/blockui/blockui.mjs +38 -18
- package/esm2022/breadcrumb/breadcrumb.mjs +50 -32
- package/esm2022/button/button.mjs +55 -28
- package/esm2022/calendar/calendar.mjs +207 -143
- package/esm2022/card/card.mjs +96 -46
- package/esm2022/carousel/carousel.mjs +74 -42
- package/esm2022/cascadeselect/cascadeselect.mjs +100 -62
- package/esm2022/checkbox/checkbox.mjs +32 -14
- package/esm2022/chip/chip.mjs +117 -96
- package/esm2022/chips/chips.interface.mjs +2 -0
- package/esm2022/chips/chips.mjs +827 -0
- package/esm2022/chips/primeng-chips.mjs +5 -0
- package/esm2022/chips/public_api.mjs +3 -0
- package/esm2022/chips/style/chipsstyle.mjs +175 -0
- package/esm2022/confirmdialog/confirmdialog.mjs +96 -57
- package/esm2022/confirmpopup/confirmpopup.mjs +57 -29
- package/esm2022/contextmenu/contextmenu.mjs +51 -20
- package/esm2022/datepicker/datepicker.mjs +198 -156
- package/esm2022/dialog/dialog.mjs +98 -52
- package/esm2022/divider/divider.mjs +2 -4
- package/esm2022/dock/dock.mjs +31 -13
- package/esm2022/drawer/drawer.mjs +112 -70
- package/esm2022/dropdown/dropdown.mjs +13 -5
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +13 -13
- package/esm2022/dynamicdialog/dynamicdialog.mjs +9 -5
- package/esm2022/editor/editor.mjs +27 -11
- package/esm2022/fieldset/fieldset.mjs +61 -33
- package/esm2022/fileupload/fileupload.mjs +139 -89
- package/esm2022/galleria/galleria.mjs +18 -9
- package/esm2022/image/image.mjs +113 -66
- package/esm2022/imagecompare/imagecompare.mjs +31 -11
- package/esm2022/inplace/inplace.mjs +49 -24
- package/esm2022/inputmask/inputmask.mjs +30 -14
- package/esm2022/inputmask/style/inputmaskstyle.mjs +2 -2
- package/esm2022/inputnumber/inputnumber.mjs +55 -47
- package/esm2022/inputotp/inputotp.mjs +30 -11
- package/esm2022/listbox/listbox.mjs +137 -78
- package/esm2022/megamenu/megamenu.mjs +105 -59
- package/esm2022/menu/menu.mjs +26 -26
- package/esm2022/menubar/menubar.mjs +70 -35
- package/esm2022/message/message.mjs +50 -26
- package/esm2022/messages/messages.mjs +13 -4
- package/esm2022/metergroup/metergroup.mjs +63 -31
- package/esm2022/multiselect/multiselect.mjs +247 -156
- package/esm2022/orderlist/orderlist.mjs +125 -70
- package/esm2022/organizationchart/organizationchart.mjs +30 -14
- package/esm2022/overlay/overlay.mjs +27 -7
- package/esm2022/overlaypanel/overlaypanel.mjs +33 -10
- package/esm2022/paginator/paginator.mjs +92 -60
- package/esm2022/panel/panel.mjs +160 -100
- package/esm2022/panelmenu/panelmenu.mjs +55 -32
- package/esm2022/password/password.mjs +88 -49
- package/esm2022/picklist/picklist.mjs +363 -259
- package/esm2022/popover/popover.mjs +29 -12
- package/esm2022/progressbar/progressbar.mjs +27 -9
- package/esm2022/rating/rating.mjs +46 -22
- package/esm2022/scroller/scroller.mjs +47 -37
- package/esm2022/scrollpanel/scrollpanel.mjs +28 -9
- package/esm2022/scrolltop/scrolltop.mjs +17 -10
- package/esm2022/select/select.mjs +198 -119
- package/esm2022/selectbutton/selectbutton.mjs +26 -11
- package/esm2022/sidebar/sidebar.mjs +82 -60
- package/esm2022/speeddial/speeddial.mjs +54 -29
- package/esm2022/splitbutton/splitbutton.mjs +41 -18
- package/esm2022/splitter/splitter.mjs +5 -5
- package/esm2022/stepper/stepper.mjs +27 -13
- package/esm2022/table/table.mjs +107 -96
- package/esm2022/tabmenu/tabmenu.mjs +54 -27
- package/esm2022/tabs/tablist.mjs +28 -20
- package/esm2022/tabview/tabview.mjs +106 -54
- package/esm2022/tag/tag.mjs +68 -44
- package/esm2022/tieredmenu/tieredmenu.mjs +44 -21
- package/esm2022/timeline/timeline.mjs +41 -17
- package/esm2022/toast/toast.mjs +31 -9
- package/esm2022/togglebutton/togglebutton.mjs +45 -30
- package/esm2022/toggleswitch/toggleswitch.mjs +28 -9
- package/esm2022/toolbar/toolbar.mjs +47 -21
- package/esm2022/tooltip/tooltip.mjs +35 -70
- package/esm2022/tree/tree.mjs +114 -97
- package/esm2022/treeselect/treeselect.mjs +156 -89
- package/esm2022/treetable/treetable.mjs +31 -12
- package/esm2022/usestyle/usestyle.mjs +2 -2
- package/fesm2022/primeng-accordion.mjs +59 -44
- package/fesm2022/primeng-accordion.mjs.map +1 -1
- package/fesm2022/primeng-animateonscroll.mjs +1 -1
- package/fesm2022/primeng-api.mjs +1 -1
- package/fesm2022/primeng-autocomplete.mjs +152 -91
- package/fesm2022/primeng-autocomplete.mjs.map +1 -1
- package/fesm2022/primeng-avatar.mjs +1 -1
- package/fesm2022/primeng-avatargroup.mjs +1 -1
- package/fesm2022/primeng-badge.mjs +40 -33
- package/fesm2022/primeng-badge.mjs.map +1 -1
- package/fesm2022/primeng-basecomponent.mjs +2 -25
- package/fesm2022/primeng-basecomponent.mjs.map +1 -1
- package/fesm2022/primeng-blockui.mjs +37 -17
- package/fesm2022/primeng-blockui.mjs.map +1 -1
- package/fesm2022/primeng-breadcrumb.mjs +49 -31
- package/fesm2022/primeng-breadcrumb.mjs.map +1 -1
- package/fesm2022/primeng-button.mjs +54 -27
- package/fesm2022/primeng-button.mjs.map +1 -1
- package/fesm2022/primeng-buttongroup.mjs +1 -1
- package/fesm2022/primeng-calendar.mjs +207 -143
- package/fesm2022/primeng-calendar.mjs.map +1 -1
- package/fesm2022/primeng-card.mjs +95 -45
- package/fesm2022/primeng-card.mjs.map +1 -1
- package/fesm2022/primeng-carousel.mjs +73 -41
- package/fesm2022/primeng-carousel.mjs.map +1 -1
- package/fesm2022/primeng-cascadeselect.mjs +99 -61
- package/fesm2022/primeng-cascadeselect.mjs.map +1 -1
- package/fesm2022/primeng-chart.mjs +1 -1
- package/fesm2022/primeng-checkbox.mjs +31 -13
- package/fesm2022/primeng-checkbox.mjs.map +1 -1
- package/fesm2022/primeng-chip.mjs +116 -95
- package/fesm2022/primeng-chip.mjs.map +1 -1
- package/fesm2022/primeng-chips.mjs +1006 -0
- package/fesm2022/primeng-chips.mjs.map +1 -0
- package/fesm2022/primeng-colorpicker.mjs +1 -1
- package/fesm2022/primeng-confirmdialog.mjs +95 -56
- package/fesm2022/primeng-confirmdialog.mjs.map +1 -1
- package/fesm2022/primeng-confirmpopup.mjs +57 -29
- package/fesm2022/primeng-confirmpopup.mjs.map +1 -1
- package/fesm2022/primeng-contextmenu.mjs +50 -19
- package/fesm2022/primeng-contextmenu.mjs.map +1 -1
- package/fesm2022/primeng-dataview.mjs +2 -2
- package/fesm2022/primeng-datepicker.mjs +198 -156
- package/fesm2022/primeng-datepicker.mjs.map +1 -1
- package/fesm2022/primeng-defer.mjs +1 -1
- package/fesm2022/primeng-dialog.mjs +97 -51
- package/fesm2022/primeng-dialog.mjs.map +1 -1
- package/fesm2022/primeng-divider.mjs +2 -4
- package/fesm2022/primeng-divider.mjs.map +1 -1
- package/fesm2022/primeng-dock.mjs +30 -12
- package/fesm2022/primeng-dock.mjs.map +1 -1
- package/fesm2022/primeng-dragdrop.mjs +1 -1
- package/fesm2022/primeng-drawer.mjs +111 -69
- package/fesm2022/primeng-drawer.mjs.map +1 -1
- package/fesm2022/primeng-dropdown.mjs +12 -4
- package/fesm2022/primeng-dropdown.mjs.map +1 -1
- package/fesm2022/primeng-dynamicdialog.mjs +21 -17
- package/fesm2022/primeng-dynamicdialog.mjs.map +1 -1
- package/fesm2022/primeng-editor.mjs +26 -10
- package/fesm2022/primeng-editor.mjs.map +1 -1
- package/fesm2022/primeng-fieldset.mjs +61 -33
- package/fesm2022/primeng-fieldset.mjs.map +1 -1
- package/fesm2022/primeng-fileupload.mjs +138 -88
- package/fesm2022/primeng-fileupload.mjs.map +1 -1
- package/fesm2022/primeng-floatlabel.mjs +1 -1
- package/fesm2022/primeng-fluid.mjs +1 -1
- package/fesm2022/primeng-galleria.mjs +17 -8
- package/fesm2022/primeng-galleria.mjs.map +1 -1
- package/fesm2022/primeng-iconfield.mjs +1 -1
- package/fesm2022/primeng-icons-baseicon.mjs +1 -1
- package/fesm2022/primeng-iftalabel.mjs +1 -1
- package/fesm2022/primeng-image.mjs +112 -65
- package/fesm2022/primeng-image.mjs.map +1 -1
- package/fesm2022/primeng-imagecompare.mjs +30 -10
- package/fesm2022/primeng-imagecompare.mjs.map +1 -1
- package/fesm2022/primeng-inplace.mjs +48 -23
- package/fesm2022/primeng-inplace.mjs.map +1 -1
- package/fesm2022/primeng-inputgroupaddon.mjs +1 -1
- package/fesm2022/primeng-inputicon.mjs +1 -1
- package/fesm2022/primeng-inputmask.mjs +30 -14
- package/fesm2022/primeng-inputmask.mjs.map +1 -1
- package/fesm2022/primeng-inputnumber.mjs +54 -46
- package/fesm2022/primeng-inputnumber.mjs.map +1 -1
- package/fesm2022/primeng-inputotp.mjs +29 -10
- package/fesm2022/primeng-inputotp.mjs.map +1 -1
- package/fesm2022/primeng-inputswitch.mjs +1 -1
- package/fesm2022/primeng-inputtext.mjs +1 -1
- package/fesm2022/primeng-inputtextarea.mjs +1 -1
- package/fesm2022/primeng-keyfilter.mjs +1 -1
- package/fesm2022/primeng-knob.mjs +1 -1
- package/fesm2022/primeng-listbox.mjs +136 -77
- package/fesm2022/primeng-listbox.mjs.map +1 -1
- package/fesm2022/primeng-megamenu.mjs +104 -58
- package/fesm2022/primeng-megamenu.mjs.map +1 -1
- package/fesm2022/primeng-menu.mjs +26 -26
- package/fesm2022/primeng-menu.mjs.map +1 -1
- package/fesm2022/primeng-menubar.mjs +69 -34
- package/fesm2022/primeng-menubar.mjs.map +1 -1
- package/fesm2022/primeng-message.mjs +49 -25
- package/fesm2022/primeng-message.mjs.map +1 -1
- package/fesm2022/primeng-messages.mjs +12 -3
- package/fesm2022/primeng-messages.mjs.map +1 -1
- package/fesm2022/primeng-metergroup.mjs +62 -30
- package/fesm2022/primeng-metergroup.mjs.map +1 -1
- package/fesm2022/primeng-multiselect.mjs +246 -155
- package/fesm2022/primeng-multiselect.mjs.map +1 -1
- package/fesm2022/primeng-orderlist.mjs +124 -69
- package/fesm2022/primeng-orderlist.mjs.map +1 -1
- package/fesm2022/primeng-organizationchart.mjs +30 -14
- package/fesm2022/primeng-organizationchart.mjs.map +1 -1
- package/fesm2022/primeng-overlay.mjs +26 -6
- package/fesm2022/primeng-overlay.mjs.map +1 -1
- package/fesm2022/primeng-overlaybadge.mjs +1 -1
- package/fesm2022/primeng-overlaypanel.mjs +33 -10
- package/fesm2022/primeng-overlaypanel.mjs.map +1 -1
- package/fesm2022/primeng-paginator.mjs +91 -59
- package/fesm2022/primeng-paginator.mjs.map +1 -1
- package/fesm2022/primeng-panel.mjs +160 -100
- package/fesm2022/primeng-panel.mjs.map +1 -1
- package/fesm2022/primeng-panelmenu.mjs +55 -32
- package/fesm2022/primeng-panelmenu.mjs.map +1 -1
- package/fesm2022/primeng-password.mjs +87 -48
- package/fesm2022/primeng-password.mjs.map +1 -1
- package/fesm2022/primeng-picklist.mjs +362 -258
- package/fesm2022/primeng-picklist.mjs.map +1 -1
- package/fesm2022/primeng-popover.mjs +29 -12
- package/fesm2022/primeng-popover.mjs.map +1 -1
- package/fesm2022/primeng-progressbar.mjs +26 -8
- package/fesm2022/primeng-progressbar.mjs.map +1 -1
- package/fesm2022/primeng-progressspinner.mjs +1 -1
- package/fesm2022/primeng-radiobutton.mjs +1 -1
- package/fesm2022/primeng-rating.mjs +45 -21
- package/fesm2022/primeng-rating.mjs.map +1 -1
- package/fesm2022/primeng-scroller.mjs +46 -36
- package/fesm2022/primeng-scroller.mjs.map +1 -1
- package/fesm2022/primeng-scrollpanel.mjs +27 -8
- package/fesm2022/primeng-scrollpanel.mjs.map +1 -1
- package/fesm2022/primeng-scrolltop.mjs +17 -10
- package/fesm2022/primeng-scrolltop.mjs.map +1 -1
- package/fesm2022/primeng-select.mjs +197 -118
- package/fesm2022/primeng-select.mjs.map +1 -1
- package/fesm2022/primeng-selectbutton.mjs +25 -10
- package/fesm2022/primeng-selectbutton.mjs.map +1 -1
- package/fesm2022/primeng-sidebar.mjs +81 -59
- package/fesm2022/primeng-sidebar.mjs.map +1 -1
- package/fesm2022/primeng-skeleton.mjs +1 -1
- package/fesm2022/primeng-slider.mjs +1 -1
- package/fesm2022/primeng-speeddial.mjs +53 -28
- package/fesm2022/primeng-speeddial.mjs.map +1 -1
- package/fesm2022/primeng-splitbutton.mjs +40 -17
- package/fesm2022/primeng-splitbutton.mjs.map +1 -1
- package/fesm2022/primeng-splitter.mjs +6 -6
- package/fesm2022/primeng-splitter.mjs.map +1 -1
- package/fesm2022/primeng-stepper.mjs +27 -13
- package/fesm2022/primeng-stepper.mjs.map +1 -1
- package/fesm2022/primeng-steps.mjs +1 -1
- package/fesm2022/primeng-styleclass.mjs +1 -1
- package/fesm2022/primeng-table.mjs +107 -96
- package/fesm2022/primeng-table.mjs.map +1 -1
- package/fesm2022/primeng-tabmenu.mjs +53 -26
- package/fesm2022/primeng-tabmenu.mjs.map +1 -1
- package/fesm2022/primeng-tabs.mjs +27 -19
- package/fesm2022/primeng-tabs.mjs.map +1 -1
- package/fesm2022/primeng-tabview.mjs +106 -54
- package/fesm2022/primeng-tabview.mjs.map +1 -1
- package/fesm2022/primeng-tag.mjs +67 -43
- package/fesm2022/primeng-tag.mjs.map +1 -1
- package/fesm2022/primeng-terminal.mjs +1 -1
- package/fesm2022/primeng-textarea.mjs +1 -1
- package/fesm2022/primeng-tieredmenu.mjs +43 -20
- package/fesm2022/primeng-tieredmenu.mjs.map +1 -1
- package/fesm2022/primeng-timeline.mjs +40 -16
- package/fesm2022/primeng-timeline.mjs.map +1 -1
- package/fesm2022/primeng-toast.mjs +31 -9
- package/fesm2022/primeng-toast.mjs.map +1 -1
- package/fesm2022/primeng-togglebutton.mjs +44 -29
- package/fesm2022/primeng-togglebutton.mjs.map +1 -1
- package/fesm2022/primeng-toggleswitch.mjs +27 -8
- package/fesm2022/primeng-toggleswitch.mjs.map +1 -1
- package/fesm2022/primeng-toolbar.mjs +46 -20
- package/fesm2022/primeng-toolbar.mjs.map +1 -1
- package/fesm2022/primeng-tooltip.mjs +35 -70
- package/fesm2022/primeng-tooltip.mjs.map +1 -1
- package/fesm2022/primeng-tree.mjs +114 -97
- package/fesm2022/primeng-tree.mjs.map +1 -1
- package/fesm2022/primeng-treeselect.mjs +155 -88
- package/fesm2022/primeng-treeselect.mjs.map +1 -1
- package/fesm2022/primeng-treetable.mjs +30 -11
- package/fesm2022/primeng-treetable.mjs.map +1 -1
- package/fesm2022/primeng-usestyle.mjs +1 -1
- package/fesm2022/primeng-usestyle.mjs.map +1 -1
- package/fieldset/fieldset.d.ts +12 -6
- package/fileupload/fileupload.d.ts +19 -8
- package/galleria/galleria.d.ts +3 -2
- package/image/image.d.ts +18 -7
- package/imagecompare/imagecompare.d.ts +7 -2
- package/inplace/inplace.d.ts +12 -6
- package/inputmask/inputmask.d.ts +8 -4
- package/inputnumber/inputnumber.d.ts +11 -6
- package/inputotp/inputotp.d.ts +7 -2
- package/listbox/listbox.d.ts +17 -4
- package/megamenu/megamenu.d.ts +16 -7
- package/menu/menu.d.ts +6 -6
- package/menubar/menubar.d.ts +13 -6
- package/message/message.d.ts +10 -4
- package/messages/messages.d.ts +4 -3
- package/metergroup/metergroup.d.ts +11 -3
- package/multiselect/multiselect.d.ts +36 -17
- package/orderlist/orderlist.d.ts +23 -11
- package/organizationchart/organizationchart.d.ts +6 -4
- package/overlay/overlay.d.ts +6 -3
- package/overlaypanel/overlaypanel.d.ts +6 -3
- package/package.json +171 -165
- package/paginator/paginator.d.ts +15 -8
- package/panel/panel.d.ts +14 -5
- package/panelmenu/panelmenu.d.ts +8 -4
- package/password/password.d.ts +15 -7
- package/picklist/picklist.d.ts +23 -3
- package/popover/popover.d.ts +8 -5
- package/progressbar/progressbar.d.ts +7 -3
- package/rating/rating.d.ts +11 -5
- package/scroller/scroller.d.ts +9 -4
- package/scrollpanel/scrollpanel.d.ts +7 -3
- package/scrolltop/scrolltop.d.ts +7 -4
- package/select/select.d.ts +31 -13
- package/selectbutton/selectbutton.d.ts +7 -3
- package/sidebar/sidebar.d.ts +9 -2
- package/speeddial/speeddial.d.ts +9 -4
- package/splitbutton/splitbutton.d.ts +9 -5
- package/splitter/splitter.d.ts +4 -4
- package/stepper/stepper.d.ts +8 -3
- package/table/table.d.ts +2 -2
- package/tabmenu/tabmenu.d.ts +12 -7
- package/tabs/tablist.d.ts +6 -2
- package/tabview/tabview.d.ts +16 -7
- package/tag/tag.d.ts +8 -9
- package/tieredmenu/tieredmenu.d.ts +10 -6
- package/timeline/timeline.d.ts +7 -2
- package/toast/toast.d.ts +7 -3
- package/togglebutton/togglebutton.d.ts +8 -3
- package/toggleswitch/toggleswitch.d.ts +6 -2
- package/toolbar/toolbar.d.ts +9 -4
- package/tooltip/tooltip.d.ts +2 -1
- package/tree/tree.d.ts +23 -10
- package/treeselect/treeselect.d.ts +26 -12
- package/treetable/treetable.d.ts +7 -5
package/esm2022/badge/badge.mjs
CHANGED
@@ -5,18 +5,6 @@ import { SharedModule } from 'primeng/api';
|
|
5
5
|
import { BaseComponent } from 'primeng/basecomponent';
|
6
6
|
import { BadgeStyle } from './style/badgestyle';
|
7
7
|
import * as i0 from "@angular/core";
|
8
|
-
import * as i1 from "@angular/common";
|
9
|
-
function Badge_Conditional_0_Template(rf, ctx) { if (rf & 1) {
|
10
|
-
i0.ɵɵelementStart(0, "span", 1);
|
11
|
-
i0.ɵɵtext(1);
|
12
|
-
i0.ɵɵelementEnd();
|
13
|
-
} if (rf & 2) {
|
14
|
-
const ctx_r0 = i0.ɵɵnextContext();
|
15
|
-
i0.ɵɵclassMap(ctx_r0.styleClass());
|
16
|
-
i0.ɵɵproperty("ngClass", ctx_r0.containerClass())("ngStyle", ctx_r0.style());
|
17
|
-
i0.ɵɵadvance();
|
18
|
-
i0.ɵɵtextInterpolate(ctx_r0.value());
|
19
|
-
} }
|
20
8
|
/**
|
21
9
|
* Badge Directive is directive usage of badge component.
|
22
10
|
* @group Components
|
@@ -282,37 +270,56 @@ export class Badge extends BaseComponent {
|
|
282
270
|
* @returns An object representing the CSS classes to be applied to the badge container.
|
283
271
|
*/
|
284
272
|
containerClass = computed(() => {
|
285
|
-
|
286
|
-
|
287
|
-
'p-badge-circle'
|
288
|
-
|
289
|
-
|
290
|
-
'p-badge-
|
291
|
-
|
292
|
-
|
293
|
-
|
273
|
+
let classes = 'p-badge p-component';
|
274
|
+
if (isNotEmpty(this.value()) && String(this.value()).length === 1) {
|
275
|
+
classes += ' p-badge-circle';
|
276
|
+
}
|
277
|
+
if (this.badgeSize() === 'large') {
|
278
|
+
classes += ' p-badge-lg';
|
279
|
+
}
|
280
|
+
else if (this.badgeSize() === 'xlarge') {
|
281
|
+
classes += ' p-badge-xl';
|
282
|
+
}
|
283
|
+
else if (this.badgeSize() === 'small') {
|
284
|
+
classes += ' p-badge-sm';
|
285
|
+
}
|
286
|
+
if (isEmpty(this.value())) {
|
287
|
+
classes += ' p-badge-dot';
|
288
|
+
}
|
289
|
+
if (this.styleClass()) {
|
290
|
+
classes += ` ${this.styleClass()}`;
|
291
|
+
}
|
292
|
+
if (this.severity()) {
|
293
|
+
classes += ` p-badge-${this.severity()}`;
|
294
|
+
}
|
295
|
+
return classes;
|
294
296
|
});
|
295
297
|
static ɵfac = /*@__PURE__*/ (() => { let ɵBadge_BaseFactory; return function Badge_Factory(__ngFactoryType__) { return (ɵBadge_BaseFactory || (ɵBadge_BaseFactory = i0.ɵɵgetInheritedFactory(Badge)))(__ngFactoryType__ || Badge); }; })();
|
296
|
-
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Badge, selectors: [["p-badge"]],
|
297
|
-
i0.ɵɵ
|
298
|
+
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Badge, selectors: [["p-badge"]], hostVars: 6, hostBindings: function Badge_HostBindings(rf, ctx) { if (rf & 2) {
|
299
|
+
i0.ɵɵstyleMap(ctx.style());
|
300
|
+
i0.ɵɵclassMap(ctx.containerClass());
|
301
|
+
i0.ɵɵstyleProp("display", ctx.badgeDisabled() && "none");
|
302
|
+
} }, inputs: { styleClass: [1, "styleClass"], style: [1, "style"], badgeSize: [1, "badgeSize"], size: [1, "size"], severity: [1, "severity"], value: [1, "value"], badgeDisabled: [1, "badgeDisabled"] }, standalone: true, features: [i0.ɵɵProvidersFeature([BadgeStyle]), i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], decls: 1, vars: 1, template: function Badge_Template(rf, ctx) { if (rf & 1) {
|
303
|
+
i0.ɵɵtext(0);
|
298
304
|
} if (rf & 2) {
|
299
|
-
i0.ɵɵ
|
300
|
-
} }, dependencies: [CommonModule,
|
305
|
+
i0.ɵɵtextInterpolate(ctx.value());
|
306
|
+
} }, dependencies: [CommonModule, SharedModule], encapsulation: 2, changeDetection: 0 });
|
301
307
|
}
|
302
308
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(Badge, [{
|
303
309
|
type: Component,
|
304
310
|
args: [{
|
305
311
|
selector: 'p-badge',
|
306
|
-
template: `
|
307
|
-
@if (!badgeDisabled()) {
|
308
|
-
<span [ngClass]="containerClass()" [class]="styleClass()" [ngStyle]="style()">{{ value() }}</span>
|
309
|
-
}
|
310
|
-
`,
|
312
|
+
template: `{{ value() }}`,
|
311
313
|
standalone: true,
|
312
314
|
imports: [CommonModule, SharedModule],
|
313
315
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
314
316
|
encapsulation: ViewEncapsulation.None,
|
315
|
-
providers: [BadgeStyle]
|
317
|
+
providers: [BadgeStyle],
|
318
|
+
host: {
|
319
|
+
'[class]': 'containerClass()',
|
320
|
+
'[style.display]': 'badgeDisabled() && "none"',
|
321
|
+
'[style]': 'style()'
|
322
|
+
}
|
316
323
|
}]
|
317
324
|
}], null, null); })();
|
318
325
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(Badge, { className: "Badge" }); })();
|
@@ -329,4 +336,4 @@ export class BadgeModule {
|
|
329
336
|
}]
|
330
337
|
}], null, null); })();
|
331
338
|
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(BadgeModule, { imports: [Badge, BadgeDirective, SharedModule], exports: [Badge, BadgeDirective, SharedModule] }); })();
|
332
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFkZ2UvYmFkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUE0QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0TSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7Ozs7SUErT3BDLCtCQUE4RTtJQUFBLFlBQWE7SUFBQSxpQkFBTzs7O0lBQS9ELGtDQUFzQjtJQUFDLEFBQXBELGlEQUE0QiwyQkFBMkM7SUFBQyxjQUFhO0lBQWIsb0NBQWE7O0FBN092Rzs7O0dBR0c7QUFNSCxNQUFNLE9BQU8sY0FBZSxTQUFRLGFBQWE7SUFDN0M7OztPQUdHO0lBQzRCLFFBQVEsQ0FBVTtJQUNqRDs7O09BR0c7SUFDYSxTQUFTLENBQWtEO0lBQzNFOzs7O09BSUc7SUFDSCxJQUFvQixJQUFJLENBQUMsS0FBc0Q7UUFDM0UsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDbkIsT0FBTyxDQUFDLEdBQUcsQ0FBQyw2RUFBNkUsQ0FBQyxDQUFDO0lBQy9GLENBQUM7SUFDRCxJQUFJLElBQUk7UUFDSixPQUFPLElBQUksQ0FBQyxLQUFLLENBQUM7SUFDdEIsQ0FB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QUszQixLQUFLO2NBYmpCLFNBQVM7ZUFBQztnQkFDUCxRQUFRLEVBQUUsU0FBUztnQkFDbkIsUUFBUSxFQUFFOzs7O0tBSVQ7Z0JBQ0QsVUFBVSxFQUFFLElBQUk7Z0JBQ2hCLE9BQU8sRUFBRSxDQUFDLFlBQVksRUFBRSxZQUFZLENBQUM7Z0JBQ3JDLGVBQWUsRUFBRSx1QkFBdUIsQ0FBQyxNQUFNO2dCQUMvQyxhQUFhLEVBQUUsaUJBQWlCLENBQUMsSUFBSTtnQkFDckMsU0FBUyxFQUFFLENBQUMsVUFBVSxDQUFDO2FBQzFCOztrRkFDWSxLQUFLO0FBNERsQixNQUFNLE9BQU8sV0FBVztxR0FBWCxXQUFXOzREQUFYLFdBQVc7Z0VBSFYsS0FBSyxFQUFrQixZQUFZLEVBQ1osWUFBWTs7aUZBRXBDLFdBQVc7Y0FKdkIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLEtBQUssRUFBRSxjQUFjLEVBQUUsWUFBWSxDQUFDO2dCQUM5QyxPQUFPLEVBQUUsQ0FBQyxLQUFLLEVBQUUsY0FBYyxFQUFFLFlBQVksQ0FBQzthQUNqRDs7d0ZBQ1ksV0FBVyxjQTVEWCxLQUFLLEVBN09MLGNBQWMsRUFzU1UsWUFBWSxhQXpEcEMsS0FBSyxFQTdPTCxjQUFjLEVBdVNVLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xuaW1wb3J0IHsgQWZ0ZXJWaWV3SW5pdCwgYm9vbGVhbkF0dHJpYnV0ZSwgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksIENvbXBvbmVudCwgY29tcHV0ZWQsIERpcmVjdGl2ZSwgaW5qZWN0LCBJbnB1dCwgaW5wdXQsIE5nTW9kdWxlLCBPbkNoYW5nZXMsIFNpbXBsZUNoYW5nZXMsIFZpZXdFbmNhcHN1bGF0aW9uIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBhZGRDbGFzcywgaGFzQ2xhc3MsIGlzRW1wdHksIGlzTm90RW1wdHksIHJlbW92ZUNsYXNzLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFNoYXJlZE1vZHVsZSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnQgfSBmcm9tICdwcmltZW5nL2Jhc2Vjb21wb25lbnQnO1xuaW1wb3J0IHsgQmFkZ2VTdHlsZSB9IGZyb20gJy4vc3R5bGUvYmFkZ2VzdHlsZSc7XG5cbi8qKlxuICogQmFkZ2UgRGlyZWN0aXZlIGlzIGRpcmVjdGl2ZSB1c2FnZSBvZiBiYWRnZSBjb21wb25lbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5ARGlyZWN0aXZlKHtcbiAgICBzZWxlY3RvcjogJ1twQmFkZ2VdJyxcbiAgICBwcm92aWRlcnM6IFtCYWRnZVN0eWxlXSxcbiAgICBzdGFuZGFsb25lOiB0cnVlXG59KVxuZXhwb3J0IGNsYXNzIEJhZGdlRGlyZWN0aXZlIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgQWZ0ZXJWaWV3SW5pdCB7XG4gICAgLyoqXG4gICAgICogV2hlbiBzcGVjaWZpZWQsIGRpc2FibGVzIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCdiYWRnZURpc2FibGVkJykgcHVibGljIGRpc2FibGVkOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGJhZGdlLCB2YWxpZCBvcHRpb25zIGFyZSBcImxhcmdlXCIgYW5kIFwieGxhcmdlXCIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIGJhZGdlU2l6ZTogJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgJ3NtYWxsJyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU2l6ZSBvZiB0aGUgYmFkZ2UsIHZhbGlkIG9wdGlvbnMgYXJlIFwibGFyZ2VcIiBhbmQgXCJ4bGFyZ2VcIi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKiBAZGVwcmVjYXRlZCB1c2UgYmFkZ2VTaXplIGluc3RlYWQuXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHNldCBzaXplKHZhbHVlOiAnbGFyZ2UnIHwgJ3hsYXJnZScgfCAnc21hbGwnIHwgbnVsbCB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9zaXplID0gdmFsdWU7XG4gICAgICAgIGNvbnNvbGUubG9nKCdzaXplIHByb3BlcnR5IGlzIGRlcHJlY2F0ZWQgYW5kIHdpbGwgcmVtb3ZlZCBpbiB2MTgsIHVzZSBiYWRnZVNpemUgaW5zdGVhZC4nKTtcbiAgICB9XG4gICAgZ2V0IHNpemUoKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9zaXplO1xuICAgIH1cbiAgICBfc2l6ZTogJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgJ3NtYWxsJyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU2V2ZXJpdHkgdHlwZSBvZiB0aGUgYmFkZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc2V2ZXJpdHk6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdkYW5nZXInIHwgJ2hlbHAnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnY29udHJhc3QnIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSB0byBkaXNwbGF5IGluc2lkZSB0aGUgYmFkZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHVibGljIHZhbHVlOiBzdHJpbmcgfCBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGJhZGdlU3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYmFkZ2VTdHlsZUNsYXNzOiBzdHJpbmc7XG5cbiAgICBwcml2YXRlIGlkITogc3RyaW5nO1xuXG4gICAgYmFkZ2VFbDogSFRNTEVsZW1lbnQ7XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoQmFkZ2VTdHlsZSk7XG5cbiAgICBwcml2YXRlIGdldCBhY3RpdmVFbGVtZW50KCk6IEhUTUxFbGVtZW50IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZWwubmF0aXZlRWxlbWVudC5ub2RlTmFtZS5pbmRleE9mKCctJykgIT0gLTEgPyB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuZmlyc3RDaGlsZCA6IHRoaXMuZWwubmF0aXZlRWxlbWVudDtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYW5VcGRhdGVCYWRnZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaWQgJiYgIXRoaXMuZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgcHVibGljIG5nT25DaGFuZ2VzKHsgdmFsdWUsIHNpemUsIHNldmVyaXR5LCBkaXNhYmxlZCwgYmFkZ2VTdHlsZSwgYmFkZ2VTdHlsZUNsYXNzIH06IFNpbXBsZUNoYW5nZXMpOiB2b2lkIHtcbiAgICAgICAgc3VwZXIubmdPbkNoYW5nZXMoeyB2YWx1ZSwgc2l6ZSwgc2V2ZXJpdHksIGRpc2FibGVkIH0pO1xuICAgICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHRoaXMudG9nZ2xlRGlzYWJsZVN0YXRlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMuY2FuVXBkYXRlQmFkZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzZXZlcml0eSkge1xuICAgICAgICAgICAgdGhpcy5zZXRTZXZlcml0eShzZXZlcml0eS5wcmV2aW91c1ZhbHVlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChzaXplKSB7XG4gICAgICAgICAgICB0aGlzLnNldFNpemVDbGFzc2VzKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0VmFsdWUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChiYWRnZVN0eWxlIHx8IGJhZGdlU3R5bGVDbGFzcykge1xuICAgICAgICAgICAgdGhpcy5hcHBseVN0eWxlcygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHVibGljIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5pZCA9IHV1aWQoJ3BuX2lkXycpICsgJ19iYWRnZSc7XG4gICAgICAgIHRoaXMucmVuZGVyQmFkZ2VDb250ZW50KCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRWYWx1ZShlbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmFkZ2UgPSBlbGVtZW50ID8/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG5cbiAgICAgICAgaWYgKCFiYWRnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMudmFsdWUgIT0gbnVsbCkge1xuICAgICAgICAgICAgaWYgKGhhc0NsYXNzKGJhZGdlLCAncC1iYWRnZS1kb3QnKSkge1xuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCAncC1iYWRnZS1kb3QnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMudmFsdWUgJiYgU3RyaW5nKHRoaXMudmFsdWUpLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgICAgIGFkZENsYXNzKGJhZGdlLCAncC1iYWRnZS1jaXJjbGUnKTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWNpcmNsZScpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgaWYgKCFoYXNDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtZG90JykpIHtcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtZG90Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCAncC1iYWRnZS1jaXJjbGUnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhZGdlLmlubmVySFRNTCA9ICcnO1xuICAgICAgICBjb25zdCBiYWRnZVZhbHVlID0gdGhpcy52YWx1ZSAhPSBudWxsID8gU3RyaW5nKHRoaXMudmFsdWUpIDogJyc7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoYmFkZ2UsIHRoaXMuZG9jdW1lbnQuY3JlYXRlVGV4dE5vZGUoYmFkZ2VWYWx1ZSkpO1xuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2l6ZUNsYXNzZXMoZWxlbWVudD86IEhUTUxFbGVtZW50KTogdm9pZCB7XG4gICAgICAgIGNvbnN0IGJhZGdlID0gZWxlbWVudCA/PyB0aGlzLmRvY3VtZW50LmdldEVsZW1lbnRCeUlkKHRoaXMuaWQpO1xuXG4gICAgICAgIGlmICghYmFkZ2UpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmJhZGdlU2l6ZSkge1xuICAgICAgICAgICAgaWYgKHRoaXMuYmFkZ2VTaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICAgICAgICAgICAgYWRkQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWxnJyk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLXhsJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmJhZGdlU2l6ZSA9PT0gJ3hsYXJnZScpIHtcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UteGwnKTtcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtbGcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLnNpemUgJiYgIXRoaXMuYmFkZ2VTaXplKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5zaXplID09PSAnbGFyZ2UnKSB7XG4gICAgICAgICAgICAgICAgYWRkQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWxnJyk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLXhsJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnNpemUgPT09ICd4bGFyZ2UnKSB7XG4gICAgICAgICAgICAgICAgYWRkQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLXhsJyk7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWxnJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtbGcnKTtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCAncC1iYWRnZS14bCcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSByZW5kZXJCYWRnZUNvbnRlbnQoKTogdm9pZCB7XG4gICAgICAgIGlmICh0aGlzLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGVsID0gdGhpcy5hY3RpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCBiYWRnZSA9IHRoaXMuZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc3BhbicpO1xuICAgICAgICBiYWRnZS5pZCA9IHRoaXMuaWQ7XG4gICAgICAgIGJhZGdlLmNsYXNzTmFtZSA9ICdwLWJhZGdlIHAtY29tcG9uZW50JztcblxuICAgICAgICB0aGlzLnNldFNldmVyaXR5KG51bGwsIGJhZGdlKTtcbiAgICAgICAgdGhpcy5zZXRTaXplQ2xhc3NlcyhiYWRnZSk7XG4gICAgICAgIHRoaXMuc2V0VmFsdWUoYmFkZ2UpO1xuICAgICAgICBhZGRDbGFzcyhlbCwgJ3Atb3ZlcmxheS1iYWRnZScpO1xuICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKGVsLCBiYWRnZSk7XG4gICAgICAgIHRoaXMuYmFkZ2VFbCA9IGJhZGdlO1xuICAgICAgICB0aGlzLmFwcGx5U3R5bGVzKCk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBhcHBseVN0eWxlcygpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuYmFkZ2VFbCAmJiB0aGlzLmJhZGdlU3R5bGUgJiYgdHlwZW9mIHRoaXMuYmFkZ2VTdHlsZSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2tleSwgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKHRoaXMuYmFkZ2VTdHlsZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnNldFN0eWxlKHRoaXMuYmFkZ2VFbCwga2V5LCB2YWx1ZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRoaXMuYmFkZ2VFbCAmJiB0aGlzLmJhZGdlU3R5bGVDbGFzcykge1xuICAgICAgICAgICAgdGhpcy5iYWRnZUVsLmNsYXNzTGlzdC5hZGQoLi4udGhpcy5iYWRnZVN0eWxlQ2xhc3Muc3BsaXQoJyAnKSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFNldmVyaXR5KG9sZFNldmVyaXR5PzogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2RhbmdlcicgfCBudWxsLCBlbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmFkZ2UgPSBlbGVtZW50ID8/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG5cbiAgICAgICAgaWYgKCFiYWRnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2V2ZXJpdHkpIHtcbiAgICAgICAgICAgIGFkZENsYXNzKGJhZGdlLCBgcC1iYWRnZS0ke3RoaXMuc2V2ZXJpdHl9YCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAob2xkU2V2ZXJpdHkpIHtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCBgcC1iYWRnZS0ke29sZFNldmVyaXR5fWApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSB0b2dnbGVEaXNhYmxlU3RhdGUoKTogdm9pZCB7XG4gICAgICAgIGlmICghdGhpcy5pZCkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIGNvbnN0IGJhZGdlID0gdGhpcy5hY3RpdmVFbGVtZW50Py5xdWVyeVNlbGVjdG9yKGAjJHt0aGlzLmlkfWApO1xuXG4gICAgICAgICAgICBpZiAoYmFkZ2UpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuYWN0aXZlRWxlbWVudCwgYmFkZ2UpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJCYWRnZUNvbnRlbnQoKTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8qKlxuICogQmFkZ2UgaXMgYSBzbWFsbCBzdGF0dXMgaW5kaWNhdG9yIGZvciBhbm90aGVyIGVsZW1lbnQuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtYmFkZ2UnLFxuICAgIHRlbXBsYXRlOiBgXG4gICAgICAgIEBpZiAoIWJhZGdlRGlzYWJsZWQoKSkge1xuICAgICAgICAgICAgPHNwYW4gW25nQ2xhc3NdPVwiY29udGFpbmVyQ2xhc3MoKVwiIFtjbGFzc109XCJzdHlsZUNsYXNzKClcIiBbbmdTdHlsZV09XCJzdHlsZSgpXCI+e3sgdmFsdWUoKSB9fTwvc3Bhbj5cbiAgICAgICAgfVxuICAgIGAsXG4gICAgc3RhbmRhbG9uZTogdHJ1ZSxcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBTaGFyZWRNb2R1bGVdLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbQmFkZ2VTdHlsZV1cbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2UgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBzdHlsZUNsYXNzID0gaW5wdXQ8c3RyaW5nPigpO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBzdHlsZSA9IGlucHV0PHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGw+KCk7XG4gICAgLyoqXG4gICAgICogU2l6ZSBvZiB0aGUgYmFkZ2UsIHZhbGlkIG9wdGlvbnMgYXJlIFwibGFyZ2VcIiBhbmQgXCJ4bGFyZ2VcIi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBiYWRnZVNpemUgPSBpbnB1dDwnc21hbGwnIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgbnVsbD4oKTtcbiAgICAvKipcbiAgICAgKiBTaXplIG9mIHRoZSBiYWRnZSwgdmFsaWQgb3B0aW9ucyBhcmUgXCJsYXJnZVwiIGFuZCBcInhsYXJnZVwiLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIHNpemUgPSBpbnB1dDwnc21hbGwnIHwgJ2xhcmdlJyB8ICd4bGFyZ2UnIHwgbnVsbD4oKTtcbiAgICAvKipcbiAgICAgKiBTZXZlcml0eSB0eXBlIG9mIHRoZSBiYWRnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBzZXZlcml0eSA9IGlucHV0PCdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuJyB8ICdkYW5nZXInIHwgJ2hlbHAnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnY29udHJhc3QnIHwgbnVsbD4oKTtcbiAgICAvKipcbiAgICAgKiBWYWx1ZSB0byBkaXNwbGF5IGluc2lkZSB0aGUgYmFkZ2UuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgdmFsdWUgPSBpbnB1dDxzdHJpbmcgfCBudW1iZXIgfCBudWxsPigpO1xuICAgIC8qKlxuICAgICAqIFdoZW4gc3BlY2lmaWVkLCBkaXNhYmxlcyB0aGUgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIGJhZGdlRGlzYWJsZWQgPSBpbnB1dDxib29sZWFuLCBib29sZWFuPihmYWxzZSwgeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSk7XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoQmFkZ2VTdHlsZSk7XG5cbiAgICAvKipcbiAgICAgKiBDb21wdXRlcyB0aGUgY29udGFpbmVyIGNsYXNzIGZvciB0aGUgYmFkZ2UgZWxlbWVudCBiYXNlZCBvbiBpdHMgcHJvcGVydGllcy5cbiAgICAgKiBAcmV0dXJucyBBbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSBDU1MgY2xhc3NlcyB0byBiZSBhcHBsaWVkIHRvIHRoZSBiYWRnZSBjb250YWluZXIuXG4gICAgICovXG4gICAgY29udGFpbmVyQ2xhc3MgPSBjb21wdXRlZDx7IFtrbGFzczogc3RyaW5nXTogYW55IH0+KCgpID0+IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICdwLWJhZGdlIHAtY29tcG9uZW50JzogdHJ1ZSxcbiAgICAgICAgICAgICdwLWJhZGdlLWNpcmNsZSc6IGlzTm90RW1wdHkodGhpcy52YWx1ZSgpKSAmJiBTdHJpbmcodGhpcy52YWx1ZSgpKS5sZW5ndGggPT09IDEsXG4gICAgICAgICAgICAncC1iYWRnZS1sZyc6IHRoaXMuYmFkZ2VTaXplKCkgPT09ICdsYXJnZScsXG4gICAgICAgICAgICAncC1iYWRnZS14bCc6IHRoaXMuYmFkZ2VTaXplKCkgPT09ICd4bGFyZ2UnLFxuICAgICAgICAgICAgJ3AtYmFkZ2Utc20nOiB0aGlzLmJhZGdlU2l6ZSgpID09PSAnc21hbGwnLFxuICAgICAgICAgICAgJ3AtYmFkZ2UtZG90JzogaXNFbXB0eSh0aGlzLnZhbHVlKCkpLFxuICAgICAgICAgICAgW2BwLWJhZGdlLSR7dGhpcy5zZXZlcml0eSgpfWBdOiB0aGlzLnNldmVyaXR5KClcbiAgICAgICAgfTtcbiAgICB9KTtcbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQmFkZ2UsIEJhZGdlRGlyZWN0aXZlLCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtCYWRnZSwgQmFkZ2VEaXJlY3RpdmUsIFNoYXJlZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VNb2R1bGUge31cbiJdfQ==
|
339
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFkZ2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvYmFkZ2UvYmFkZ2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUE0QixpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUN0TSxPQUFPLEVBQUUsUUFBUSxFQUFFLFFBQVEsRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRWhEOzs7R0FHRztBQU1ILE1BQU0sT0FBTyxjQUFlLFNBQVEsYUFBYTtJQUM3Qzs7O09BR0c7SUFDNEIsUUFBUSxDQUFVO0lBQ2pEOzs7T0FHRztJQUNhLFNBQVMsQ0FBa0Q7SUFDM0U7Ozs7T0FJRztJQUNILElBQW9CLElBQUksQ0FBQyxLQUFzRDtRQUMzRSxJQUFJLENBQUMsS0FBSyxHQUFHLEtBQUssQ0FBQztRQUNuQixPQUFPLENBQUMsR0FBRyxDQUFDLDZFQUE2RSxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUNELElBQUksSUFBSTtRQUNKLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQztJQUN0QixDQUFDO0lBQ0QsS0FBSyxDQUFrRDtJQUN2RDs7O09BR0c7SUFDTSxRQUFRLENBQTRHO0lBQzdIOzs7T0FHRztJQUNhLEtBQUssQ0FBa0I7SUFDdkM7OztPQUdHO0lBQ00sVUFBVSxD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RUE5T0wsY0FBYyxFQXlUVSxZQUFZLGFBM0VwQyxLQUFLLEVBOU9MLGNBQWMsRUEwVFUsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBjb21wdXRlZCwgRGlyZWN0aXZlLCBpbmplY3QsIElucHV0LCBpbnB1dCwgTmdNb2R1bGUsIE9uQ2hhbmdlcywgU2ltcGxlQ2hhbmdlcywgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZENsYXNzLCBoYXNDbGFzcywgaXNFbXB0eSwgaXNOb3RFbXB0eSwgcmVtb3ZlQ2xhc3MsIHV1aWQgfSBmcm9tICdAcHJpbWV1aXgvdXRpbHMnO1xuaW1wb3J0IHsgU2hhcmVkTW9kdWxlIH0gZnJvbSAncHJpbWVuZy9hcGknO1xuaW1wb3J0IHsgQmFzZUNvbXBvbmVudCB9IGZyb20gJ3ByaW1lbmcvYmFzZWNvbXBvbmVudCc7XG5pbXBvcnQgeyBCYWRnZVN0eWxlIH0gZnJvbSAnLi9zdHlsZS9iYWRnZXN0eWxlJztcblxuLyoqXG4gKiBCYWRnZSBEaXJlY3RpdmUgaXMgZGlyZWN0aXZlIHVzYWdlIG9mIGJhZGdlIGNvbXBvbmVudC5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBEaXJlY3RpdmUoe1xuICAgIHNlbGVjdG9yOiAnW3BCYWRnZV0nLFxuICAgIHByb3ZpZGVyczogW0JhZGdlU3R5bGVdLFxuICAgIHN0YW5kYWxvbmU6IHRydWVcbn0pXG5leHBvcnQgY2xhc3MgQmFkZ2VEaXJlY3RpdmUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgT25DaGFuZ2VzLCBBZnRlclZpZXdJbml0IHtcbiAgICAvKipcbiAgICAgKiBXaGVuIHNwZWNpZmllZCwgZGlzYWJsZXMgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoJ2JhZGdlRGlzYWJsZWQnKSBwdWJsaWMgZGlzYWJsZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogU2l6ZSBvZiB0aGUgYmFkZ2UsIHZhbGlkIG9wdGlvbnMgYXJlIFwibGFyZ2VcIiBhbmQgXCJ4bGFyZ2VcIi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgYmFkZ2VTaXplOiAnbGFyZ2UnIHwgJ3hsYXJnZScgfCAnc21hbGwnIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTaXplIG9mIHRoZSBiYWRnZSwgdmFsaWQgb3B0aW9ucyBhcmUgXCJsYXJnZVwiIGFuZCBcInhsYXJnZVwiLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZXByZWNhdGVkIHVzZSBiYWRnZVNpemUgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgc2V0IHNpemUodmFsdWU6ICdsYXJnZScgfCAneGxhcmdlJyB8ICdzbWFsbCcgfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX3NpemUgPSB2YWx1ZTtcbiAgICAgICAgY29uc29sZS5sb2coJ3NpemUgcHJvcGVydHkgaXMgZGVwcmVjYXRlZCBhbmQgd2lsbCByZW1vdmVkIGluIHYxOCwgdXNlIGJhZGdlU2l6ZSBpbnN0ZWFkLicpO1xuICAgIH1cbiAgICBnZXQgc2l6ZSgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3NpemU7XG4gICAgfVxuICAgIF9zaXplOiAnbGFyZ2UnIHwgJ3hsYXJnZScgfCAnc21hbGwnIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBTZXZlcml0eSB0eXBlIG9mIHRoZSBiYWRnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzZXZlcml0eTogJ3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2RhbmdlcicgfCAnaGVscCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdjb250cmFzdCcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFZhbHVlIHRvIGRpc3BsYXkgaW5zaWRlIHRoZSBiYWRnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBwdWJsaWMgdmFsdWU6IHN0cmluZyB8IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBJbmxpbmUgc3R5bGUgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgYmFkZ2VTdHlsZTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDbGFzcyBvZiB0aGUgZWxlbWVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBiYWRnZVN0eWxlQ2xhc3M6IHN0cmluZztcblxuICAgIHByaXZhdGUgaWQhOiBzdHJpbmc7XG5cbiAgICBiYWRnZUVsOiBIVE1MRWxlbWVudDtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChCYWRnZVN0eWxlKTtcblxuICAgIHByaXZhdGUgZ2V0IGFjdGl2ZUVsZW1lbnQoKTogSFRNTEVsZW1lbnQge1xuICAgICAgICByZXR1cm4gdGhpcy5lbC5uYXRpdmVFbGVtZW50Lm5vZGVOYW1lLmluZGV4T2YoJy0nKSAhPSAtMSA/IHRoaXMuZWwubmF0aXZlRWxlbWVudC5maXJzdENoaWxkIDogdGhpcy5lbC5uYXRpdmVFbGVtZW50O1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IGNhblVwZGF0ZUJhZGdlKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5pZCAmJiAhdGhpcy5kaXNhYmxlZDtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgc3VwZXIoKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgbmdPbkNoYW5nZXMoeyB2YWx1ZSwgc2l6ZSwgc2V2ZXJpdHksIGRpc2FibGVkLCBiYWRnZVN0eWxlLCBiYWRnZVN0eWxlQ2xhc3MgfTogU2ltcGxlQ2hhbmdlcyk6IHZvaWQge1xuICAgICAgICBzdXBlci5uZ09uQ2hhbmdlcyh7IHZhbHVlLCBzaXplLCBzZXZlcml0eSwgZGlzYWJsZWQgfSk7XG4gICAgICAgIGlmIChkaXNhYmxlZCkge1xuICAgICAgICAgICAgdGhpcy50b2dnbGVEaXNhYmxlU3RhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGhpcy5jYW5VcGRhdGVCYWRnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNldmVyaXR5KSB7XG4gICAgICAgICAgICB0aGlzLnNldFNldmVyaXR5KHNldmVyaXR5LnByZXZpb3VzVmFsdWUpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHNpemUpIHtcbiAgICAgICAgICAgIHRoaXMuc2V0U2l6ZUNsYXNzZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgdGhpcy5zZXRWYWx1ZSgpO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGJhZGdlU3R5bGUgfHwgYmFkZ2VTdHlsZUNsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmFwcGx5U3R5bGVzKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwdWJsaWMgbmdBZnRlclZpZXdJbml0KCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlkID0gdXVpZCgncG5faWRfJykgKyAnX2JhZGdlJztcbiAgICAgICAgdGhpcy5yZW5kZXJCYWRnZUNvbnRlbnQoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIHNldFZhbHVlKGVsZW1lbnQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBiYWRnZSA9IGVsZW1lbnQgPz8gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcblxuICAgICAgICBpZiAoIWJhZGdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy52YWx1ZSAhPSBudWxsKSB7XG4gICAgICAgICAgICBpZiAoaGFzQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWRvdCcpKSB7XG4gICAgICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWRvdCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy52YWx1ZSAmJiBTdHJpbmcodGhpcy52YWx1ZSkubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgICAgICAgYWRkQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWNpcmNsZScpO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtY2lyY2xlJyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAoIWhhc0NsYXNzKGJhZGdlLCAncC1iYWRnZS1kb3QnKSkge1xuICAgICAgICAgICAgICAgIGFkZENsYXNzKGJhZGdlLCAncC1iYWRnZS1kb3QnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLWNpcmNsZScpO1xuICAgICAgICB9XG5cbiAgICAgICAgYmFkZ2UuaW5uZXJIVE1MID0gJyc7XG4gICAgICAgIGNvbnN0IGJhZGdlVmFsdWUgPSB0aGlzLnZhbHVlICE9IG51bGwgPyBTdHJpbmcodGhpcy52YWx1ZSkgOiAnJztcbiAgICAgICAgdGhpcy5yZW5kZXJlci5hcHBlbmRDaGlsZChiYWRnZSwgdGhpcy5kb2N1bWVudC5jcmVhdGVUZXh0Tm9kZShiYWRnZVZhbHVlKSk7XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBzZXRTaXplQ2xhc3NlcyhlbGVtZW50PzogSFRNTEVsZW1lbnQpOiB2b2lkIHtcbiAgICAgICAgY29uc3QgYmFkZ2UgPSBlbGVtZW50ID8/IHRoaXMuZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQodGhpcy5pZCk7XG5cbiAgICAgICAgaWYgKCFiYWRnZSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuYmFkZ2VTaXplKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5iYWRnZVNpemUgPT09ICdsYXJnZScpIHtcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtbGcnKTtcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UteGwnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuYmFkZ2VTaXplID09PSAneGxhcmdlJykge1xuICAgICAgICAgICAgICAgIGFkZENsYXNzKGJhZGdlLCAncC1iYWRnZS14bCcpO1xuICAgICAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCAncC1iYWRnZS1sZycpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IGVsc2UgaWYgKHRoaXMuc2l6ZSAmJiAhdGhpcy5iYWRnZVNpemUpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLnNpemUgPT09ICdsYXJnZScpIHtcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtbGcnKTtcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UteGwnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuc2l6ZSA9PT0gJ3hsYXJnZScpIHtcbiAgICAgICAgICAgICAgICBhZGRDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UteGwnKTtcbiAgICAgICAgICAgICAgICByZW1vdmVDbGFzcyhiYWRnZSwgJ3AtYmFkZ2UtbGcnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJlbW92ZUNsYXNzKGJhZGdlLCAncC1iYWRnZS1sZycpO1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsICdwLWJhZGdlLXhsJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHJlbmRlckJhZGdlQ29udGVudCgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMuZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIHJldHVybiBudWxsO1xuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgZWwgPSB0aGlzLmFjdGl2ZUVsZW1lbnQ7XG4gICAgICAgIGNvbnN0IGJhZGdlID0gdGhpcy5kb2N1bWVudC5jcmVhdGVFbGVtZW50KCdzcGFuJyk7XG4gICAgICAgIGJhZGdlLmlkID0gdGhpcy5pZDtcbiAgICAgICAgYmFkZ2UuY2xhc3NOYW1lID0gJ3AtYmFkZ2UgcC1jb21wb25lbnQnO1xuXG4gICAgICAgIHRoaXMuc2V0U2V2ZXJpdHkobnVsbCwgYmFkZ2UpO1xuICAgICAgICB0aGlzLnNldFNpemVDbGFzc2VzKGJhZGdlKTtcbiAgICAgICAgdGhpcy5zZXRWYWx1ZShiYWRnZSk7XG4gICAgICAgIGFkZENsYXNzKGVsLCAncC1vdmVybGF5LWJhZGdlJyk7XG4gICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQoZWwsIGJhZGdlKTtcbiAgICAgICAgdGhpcy5iYWRnZUVsID0gYmFkZ2U7XG4gICAgICAgIHRoaXMuYXBwbHlTdHlsZXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGFwcGx5U3R5bGVzKCk6IHZvaWQge1xuICAgICAgICBpZiAodGhpcy5iYWRnZUVsICYmIHRoaXMuYmFkZ2VTdHlsZSAmJiB0eXBlb2YgdGhpcy5iYWRnZVN0eWxlID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgZm9yIChjb25zdCBba2V5LCB2YWx1ZV0gb2YgT2JqZWN0LmVudHJpZXModGhpcy5iYWRnZVN0eWxlKSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuc2V0U3R5bGUodGhpcy5iYWRnZUVsLCBrZXksIHZhbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpZiAodGhpcy5iYWRnZUVsICYmIHRoaXMuYmFkZ2VTdHlsZUNsYXNzKSB7XG4gICAgICAgICAgICB0aGlzLmJhZGdlRWwuY2xhc3NMaXN0LmFkZCguLi50aGlzLmJhZGdlU3R5bGVDbGFzcy5zcGxpdCgnICcpKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgc2V0U2V2ZXJpdHkob2xkU2V2ZXJpdHk/OiAnc3VjY2VzcycgfCAnaW5mbycgfCAnd2FybicgfCAnZGFuZ2VyJyB8IG51bGwsIGVsZW1lbnQ/OiBIVE1MRWxlbWVudCk6IHZvaWQge1xuICAgICAgICBjb25zdCBiYWRnZSA9IGVsZW1lbnQgPz8gdGhpcy5kb2N1bWVudC5nZXRFbGVtZW50QnlJZCh0aGlzLmlkKTtcblxuICAgICAgICBpZiAoIWJhZGdlKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5zZXZlcml0eSkge1xuICAgICAgICAgICAgYWRkQ2xhc3MoYmFkZ2UsIGBwLWJhZGdlLSR7dGhpcy5zZXZlcml0eX1gKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChvbGRTZXZlcml0eSkge1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3MoYmFkZ2UsIGBwLWJhZGdlLSR7b2xkU2V2ZXJpdHl9YCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwcml2YXRlIHRvZ2dsZURpc2FibGVTdGF0ZSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKCF0aGlzLmlkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5kaXNhYmxlZCkge1xuICAgICAgICAgICAgY29uc3QgYmFkZ2UgPSB0aGlzLmFjdGl2ZUVsZW1lbnQ/LnF1ZXJ5U2VsZWN0b3IoYCMke3RoaXMuaWR9YCk7XG5cbiAgICAgICAgICAgIGlmIChiYWRnZSkge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIucmVtb3ZlQ2hpbGQodGhpcy5hY3RpdmVFbGVtZW50LCBiYWRnZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLnJlbmRlckJhZGdlQ29udGVudCgpO1xuICAgICAgICB9XG4gICAgfVxufVxuLyoqXG4gKiBCYWRnZSBpcyBhIHNtYWxsIHN0YXR1cyBpbmRpY2F0b3IgZm9yIGFub3RoZXIgZWxlbWVudC5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAncC1iYWRnZScsXG4gICAgdGVtcGxhdGU6IGB7eyB2YWx1ZSgpIH19YCxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZV0sXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtCYWRnZVN0eWxlXSxcbiAgICBob3N0OiB7XG4gICAgICAgICdbY2xhc3NdJzogJ2NvbnRhaW5lckNsYXNzKCknLFxuICAgICAgICAnW3N0eWxlLmRpc3BsYXldJzogJ2JhZGdlRGlzYWJsZWQoKSAmJiBcIm5vbmVcIicsXG4gICAgICAgICdbc3R5bGVdJzogJ3N0eWxlKCknXG4gICAgfVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIHN0eWxlQ2xhc3MgPSBpbnB1dDxzdHJpbmc+KCk7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIHN0eWxlID0gaW5wdXQ8eyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbD4oKTtcbiAgICAvKipcbiAgICAgKiBTaXplIG9mIHRoZSBiYWRnZSwgdmFsaWQgb3B0aW9ucyBhcmUgXCJsYXJnZVwiIGFuZCBcInhsYXJnZVwiLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIGJhZGdlU2l6ZSA9IGlucHV0PCdzbWFsbCcgfCAnbGFyZ2UnIHwgJ3hsYXJnZScgfCBudWxsPigpO1xuICAgIC8qKlxuICAgICAqIFNpemUgb2YgdGhlIGJhZGdlLCB2YWxpZCBvcHRpb25zIGFyZSBcImxhcmdlXCIgYW5kIFwieGxhcmdlXCIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgc2l6ZSA9IGlucHV0PCdzbWFsbCcgfCAnbGFyZ2UnIHwgJ3hsYXJnZScgfCBudWxsPigpO1xuICAgIC8qKlxuICAgICAqIFNldmVyaXR5IHR5cGUgb2YgdGhlIGJhZGdlLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIHNldmVyaXR5ID0gaW5wdXQ8J3N1Y2Nlc3MnIHwgJ2luZm8nIHwgJ3dhcm4nIHwgJ2RhbmdlcicgfCAnaGVscCcgfCAncHJpbWFyeScgfCAnc2Vjb25kYXJ5JyB8ICdjb250cmFzdCcgfCBudWxsPigpO1xuICAgIC8qKlxuICAgICAqIFZhbHVlIHRvIGRpc3BsYXkgaW5zaWRlIHRoZSBiYWRnZS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICB2YWx1ZSA9IGlucHV0PHN0cmluZyB8IG51bWJlciB8IG51bGw+KCk7XG4gICAgLyoqXG4gICAgICogV2hlbiBzcGVjaWZpZWQsIGRpc2FibGVzIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgYmFkZ2VEaXNhYmxlZCA9IGlucHV0PGJvb2xlYW4sIGJvb2xlYW4+KGZhbHNlLCB7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KTtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChCYWRnZVN0eWxlKTtcblxuICAgIC8qKlxuICAgICAqIENvbXB1dGVzIHRoZSBjb250YWluZXIgY2xhc3MgZm9yIHRoZSBiYWRnZSBlbGVtZW50IGJhc2VkIG9uIGl0cyBwcm9wZXJ0aWVzLlxuICAgICAqIEByZXR1cm5zIEFuIG9iamVjdCByZXByZXNlbnRpbmcgdGhlIENTUyBjbGFzc2VzIHRvIGJlIGFwcGxpZWQgdG8gdGhlIGJhZGdlIGNvbnRhaW5lci5cbiAgICAgKi9cbiAgICBjb250YWluZXJDbGFzcyA9IGNvbXB1dGVkPHN0cmluZz4oKCkgPT4ge1xuICAgICAgICBsZXQgY2xhc3NlcyA9ICdwLWJhZGdlIHAtY29tcG9uZW50JztcblxuICAgICAgICBpZiAoaXNOb3RFbXB0eSh0aGlzLnZhbHVlKCkpICYmIFN0cmluZyh0aGlzLnZhbHVlKCkpLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgICAgY2xhc3NlcyArPSAnIHAtYmFkZ2UtY2lyY2xlJztcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmJhZGdlU2l6ZSgpID09PSAnbGFyZ2UnKSB7XG4gICAgICAgICAgICBjbGFzc2VzICs9ICcgcC1iYWRnZS1sZyc7XG4gICAgICAgIH0gZWxzZSBpZiAodGhpcy5iYWRnZVNpemUoKSA9PT0gJ3hsYXJnZScpIHtcbiAgICAgICAgICAgIGNsYXNzZXMgKz0gJyBwLWJhZGdlLXhsJztcbiAgICAgICAgfSBlbHNlIGlmICh0aGlzLmJhZGdlU2l6ZSgpID09PSAnc21hbGwnKSB7XG4gICAgICAgICAgICBjbGFzc2VzICs9ICcgcC1iYWRnZS1zbSc7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoaXNFbXB0eSh0aGlzLnZhbHVlKCkpKSB7XG4gICAgICAgICAgICBjbGFzc2VzICs9ICcgcC1iYWRnZS1kb3QnO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc3R5bGVDbGFzcygpKSB7XG4gICAgICAgICAgICBjbGFzc2VzICs9IGAgJHt0aGlzLnN0eWxlQ2xhc3MoKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKHRoaXMuc2V2ZXJpdHkoKSkge1xuICAgICAgICAgICAgY2xhc3NlcyArPSBgIHAtYmFkZ2UtJHt0aGlzLnNldmVyaXR5KCl9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjbGFzc2VzO1xuICAgIH0pO1xufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtCYWRnZSwgQmFkZ2VEaXJlY3RpdmUsIFNoYXJlZE1vZHVsZV0sXG4gICAgZXhwb3J0czogW0JhZGdlLCBCYWRnZURpcmVjdGl2ZSwgU2hhcmVkTW9kdWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCYWRnZU1vZHVsZSB7fVxuIl19
|
@@ -1,8 +1,7 @@
|
|
1
1
|
import { DOCUMENT, isPlatformServer } from '@angular/common';
|
2
|
-
import { ChangeDetectorRef,
|
2
|
+
import { ChangeDetectorRef, Directive, ElementRef, inject, Injector, Input, PLATFORM_ID, Renderer2 } from '@angular/core';
|
3
3
|
import { Theme, ThemeService } from '@primeuix/styled';
|
4
4
|
import { getKeyValue, uuid } from '@primeuix/utils';
|
5
|
-
import { PrimeTemplate } from 'primeng/api';
|
6
5
|
import { Base, BaseStyle } from 'primeng/base';
|
7
6
|
import { PrimeNG } from 'primeng/config';
|
8
7
|
import { BaseComponentStyle } from './style/basecomponentstyle';
|
@@ -49,20 +48,6 @@ export class BaseComponent {
|
|
49
48
|
this.rootEl?.setAttribute(this.attrSelector, '');
|
50
49
|
}
|
51
50
|
}
|
52
|
-
templates;
|
53
|
-
ngAfterContentInit() {
|
54
|
-
this.templates?.forEach((item) => {
|
55
|
-
const type = item.getType();
|
56
|
-
const template = `${type}Template`;
|
57
|
-
if (this.hasOwnProperty(template)) {
|
58
|
-
this[template] = item.template;
|
59
|
-
}
|
60
|
-
if (this.hasOwnProperty(`_${template}`)) {
|
61
|
-
this[`_${template}`] = item.template;
|
62
|
-
}
|
63
|
-
this[type] = item.template;
|
64
|
-
});
|
65
|
-
}
|
66
51
|
ngOnChanges(changes) {
|
67
52
|
if (this.document && !isPlatformServer(this.platformId)) {
|
68
53
|
const { dt } = changes;
|
@@ -164,20 +149,12 @@ export class BaseComponent {
|
|
164
149
|
return this['parentInstance'];
|
165
150
|
}
|
166
151
|
static ɵfac = function BaseComponent_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BaseComponent)(); };
|
167
|
-
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: BaseComponent,
|
168
|
-
i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
|
169
|
-
} if (rf & 2) {
|
170
|
-
let _t;
|
171
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
|
172
|
-
} }, inputs: { dt: "dt" }, standalone: true, features: [i0.ɵɵProvidersFeature([BaseComponentStyle, BaseStyle]), i0.ɵɵNgOnChangesFeature] });
|
152
|
+
static ɵdir = /*@__PURE__*/ i0.ɵɵdefineDirective({ type: BaseComponent, inputs: { dt: "dt" }, standalone: true, features: [i0.ɵɵProvidersFeature([BaseComponentStyle, BaseStyle]), i0.ɵɵNgOnChangesFeature] });
|
173
153
|
}
|
174
154
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BaseComponent, [{
|
175
155
|
type: Directive,
|
176
156
|
args: [{ standalone: true, providers: [BaseComponentStyle, BaseStyle] }]
|
177
157
|
}], null, { dt: [{
|
178
158
|
type: Input
|
179
|
-
}], templates: [{
|
180
|
-
type: ContentChildren,
|
181
|
-
args: [PrimeTemplate]
|
182
159
|
}] }); })();
|
183
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNlY29tcG9uZW50L2Jhc2Vjb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQWEsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNySyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUM1QyxPQUFPLEVBQUUsSUFBSSxFQUFFLFNBQVMsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUMvQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDekMsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNEJBQTRCLENBQUM7O0FBR2hFLE1BQU0sT0FBTyxhQUFhO0lBQ2YsUUFBUSxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxVQUFVLEdBQVEsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBRXRDLEVBQUUsR0FBZSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7SUFFM0IsUUFBUSxHQUFhLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUV0QyxFQUFFLEdBQXNCLE1BQU0sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO0lBRTNELFFBQVEsR0FBYyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUM7SUFFeEMsTUFBTSxHQUFZLE1BQU0sQ0FBQyxPQUFP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b20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAcHJpbWV1aXgvc3R5bGVkJztcbmltcG9ydCB7IGdldEtleVZhbHVlLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFByaW1lVGVtcGxhdGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlLCBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuaW1wb3J0IHsgUHJpbWVORyB9IGZyb20gJ3ByaW1lbmcvY29uZmlnJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnRTdHlsZSB9IGZyb20gJy4vc3R5bGUvYmFzZWNvbXBvbmVudHN0eWxlJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHByb3ZpZGVyczogW0Jhc2VDb21wb25lbnRTdHlsZSwgQmFzZVN0eWxlXSB9KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnQge1xuICAgIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgcHVibGljIHBsYXRmb3JtSWQ6IGFueSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIHB1YmxpYyBjb25maWc6IFByaW1lTkcgPSBpbmplY3QoUHJpbWVORyk7XG5cbiAgICBwdWJsaWMgYmFzZUNvbXBvbmVudFN0eWxlOiBCYXNlQ29tcG9uZW50U3R5bGUgPSBpbmplY3QoQmFzZUNvbXBvbmVudFN0eWxlKTtcblxuICAgIHB1YmxpYyBiYXNlU3R5bGU6IEJhc2VTdHlsZSA9IGluamVjdChCYXNlU3R5bGUpO1xuXG4gICAgcHVibGljIHNjb3BlZFN0eWxlRWw6IGFueTtcblxuICAgIHB1YmxpYyByb290RWw6IGFueTtcblxuICAgIEBJbnB1dCgpIGR0OiBPYmplY3QgfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgc3R5bGVPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4geyBub25jZTogdGhpcy5jb25maWc/LmNzcCgpLm5vbmNlIH07XG4gICAgfVxuXG4gICAgZ2V0IF9uYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLnJlcGxhY2UoL15fLywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXBvbmVudFN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpc1snX2NvbXBvbmVudFN0eWxlJ107XG4gICAgfVxuXG4gICAgYXR0clNlbGVjdG9yID0gdXVpZCgncGMnKTtcblxuICAgIF9nZXRIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2UgPyAodGhpc1snaG9zdE5hbWUnXSA/IChpbnN0YW5jZVsnbmFtZSddID09PSB0aGlzWydob3N0TmFtZSddID8gaW5zdGFuY2UgOiB0aGlzLl9nZXRIb3N0SW5zdGFuY2UoaW5zdGFuY2UucGFyZW50SW5zdGFuY2UpKSA6IGluc3RhbmNlLnBhcmVudEluc3RhbmNlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9nZXRPcHRpb25WYWx1ZShvcHRpb25zLCBrZXkgPSAnJywgcGFyYW1zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGdldEtleVZhbHVlKG9wdGlvbnMsIGtleSwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5yb290RWwgPSB0aGlzLmVsPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5yb290RWwpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdEVsPy5zZXRBdHRyaWJ1dGUodGhpcy5hdHRyU2VsZWN0b3IsICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBDb250ZW50Q2hpbGRyZW4oUHJpbWVUZW1wbGF0ZSkgdGVtcGxhdGVzOiBRdWVyeUxpc3Q8UHJpbWVUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMudGVtcGxhdGVzPy5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBjb25zdCB0eXBlID0gaXRlbS5nZXRUeXBlKCk7XG4gICAgICAgICAgICBjb25zdCB0ZW1wbGF0ZSA9IGAke3R5cGV9VGVtcGxhdGVgO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5oYXNPd25Qcm9wZXJ0eSh0ZW1wbGF0ZSkpIHtcbiAgICAgICAgICAgICAgICB0aGlzW3RlbXBsYXRlXSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmICh0aGlzLmhhc093blByb3BlcnR5KGBfJHt0ZW1wbGF0ZX1gKSkge1xuICAgICAgICAgICAgICAgIHRoaXNbYF8ke3RlbXBsYXRlfWBdID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpc1t0eXBlXSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQgJiYgIWlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgY29uc3QgeyBkdCB9ID0gY2hhbmdlcztcbiAgICAgICAgICAgIGlmIChkdCAmJiBkdC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2FkU2NvcGVkVGhlbWVTdHlsZXMoZHQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IHRoaXMuX2xvYWRTY29wZWRUaGVtZVN0eWxlcyhkdC5jdXJyZW50VmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl91bmxvYWRTY29wZWRUaGVtZVN0eWxlcygpO1xuICAgIH1cblxuICAgIF9sb2FkU3R5bGVzKCkge1xuICAgICAgICBjb25zdCBfbG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghQmFzZS5pc1N0eWxlTmFtZUxvYWRlZCgnYmFzZScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZENTUyh0aGlzLnN0eWxlT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgQmFzZS5zZXRMb2FkZWRTdHlsZU5hbWUoJ2Jhc2UnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fbG9hZFRoZW1lU3R5bGVzKCk7XG4gICAgICAgICAgICAvLyBAdG9kbyB1cGRhdGUgY29uZmlnLnRoZW1lKClcbiAgICAgICAgfTtcblxuICAgICAgICBfbG9hZCgpO1xuICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IF9sb2FkKCkpO1xuICAgIH1cblxuICAgIF9sb2FkQ29yZVN0eWxlcygpIHtcbiAgICAgICAgaWYgKCFCYXNlLmlzU3R5bGVOYW1lTG9hZGVkKCdiYXNlJykgJiYgdGhpcy5fbmFtZSkge1xuICAgICAgICAgICAgdGhpcy5iYXNlQ29tcG9uZW50U3R5bGUubG9hZENTUyh0aGlzLnN0eWxlT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFN0eWxlICYmIHRoaXMuY29tcG9uZW50U3R5bGU/LmxvYWRDU1ModGhpcy5zdHlsZU9wdGlvbnMpO1xuICAgICAgICAgICAgQmFzZS5zZXRMb2FkZWRTdHlsZU5hbWUodGhpcy5jb21wb25lbnRTdHlsZT8ubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbG9hZFRoZW1lU3R5bGVzKCkge1xuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgaWYgKCFUaGVtZS5pc1N0eWxlTmFtZUxvYWRlZCgnY29tbW9uJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcHJpbWl0aXZlLCBzZW1hbnRpYywgZ2xvYmFsLCBzdHlsZSB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0Q29tbW9uVGhlbWU/LigpIHx8IHt9O1xuXG4gICAgICAgICAgICB0aGlzLmJhc2VTdHlsZS5sb2FkKHByaW1pdGl2ZT8uY3NzLCB7IG5hbWU6ICdwcmltaXRpdmUtdmFyaWFibGVzJywgLi4udGhpcy5zdHlsZU9wdGlvbnMgfSk7XG4gICAgICAgICAgICB0aGlzLmJhc2VTdHlsZS5sb2FkKHNlbWFudGljPy5jc3MsIHsgbmFtZTogJ3NlbWFudGljLXZhcmlhYmxlcycsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0pO1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZChnbG9iYWw/LmNzcywgeyBuYW1lOiAnZ2xvYmFsLXZhcmlhYmxlcycsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0pO1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZFRoZW1lKHsgbmFtZTogJ2dsb2JhbC1zdHlsZScsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0sIHN0eWxlKTtcblxuICAgICAgICAgICAgVGhlbWUuc2V0TG9hZGVkU3R5bGVOYW1lKCdjb21tb24nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbXBvbmVudFxuICAgICAgICBpZiAoIVRoZW1lLmlzU3R5bGVOYW1lTG9hZGVkKHRoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWUpICYmIHRoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3NzLCBzdHlsZSB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0Q29tcG9uZW50VGhlbWU/LigpIHx8IHt9O1xuXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFN0eWxlPy5sb2FkKGNzcywgeyBuYW1lOiBgJHt0aGlzLmNvbXBvbmVudFN0eWxlPy5uYW1lfS12YXJpYWJsZXNgLCAuLi50aGlzLnN0eWxlT3B0aW9ucyB9KTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50U3R5bGU/LmxvYWRUaGVtZSh7IG5hbWU6IGAke3RoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWV9LXN0eWxlYCwgLi4udGhpcy5zdHlsZU9wdGlvbnMgfSwgc3R5bGUpO1xuXG4gICAgICAgICAgICBUaGVtZS5zZXRMb2FkZWRTdHlsZU5hbWUodGhpcy5jb21wb25lbnRTdHlsZT8ubmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYXllciBvcmRlclxuICAgICAgICBpZiAoIVRoZW1lLmlzU3R5bGVOYW1lTG9hZGVkKCdsYXllci1vcmRlcicpKSB7XG4gICAgICAgICAgICBjb25zdCBsYXllck9yZGVyID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0TGF5ZXJPcmRlclRoZW1lQ1NTPy4oKTtcblxuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZChsYXllck9yZGVyLCB7IG5hbWU6ICdsYXllci1vcmRlcicsIGZpcnN0OiB0cnVlLCAuLi50aGlzLnN0eWxlT3B0aW9ucyB9KTtcbiAgICAgICAgICAgIFRoZW1lLnNldExvYWRlZFN0eWxlTmFtZSgnbGF5ZXItb3JkZXInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmR0KSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkU2NvcGVkVGhlbWVTdHlsZXModGhpcy5kdCk7XG4gICAgICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IHRoaXMuX2xvYWRTY29wZWRUaGVtZVN0eWxlcyh0aGlzLmR0KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbG9hZFNjb3BlZFRoZW1lU3R5bGVzKHByZXNldCkge1xuICAgICAgICBjb25zdCB7IGNzcyB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0UHJlc2V0VGhlbWU/LihwcmVzZXQsIGBbJHt0aGlzLmF0dHJTZWxlY3Rvcn1dYCkgfHwge307XG4gICAgICAgIGNvbnN0IHNjb3BlZFN0eWxlID0gdGhpcy5jb21wb25lbnRTdHlsZT8ubG9hZChjc3MsIHtcbiAgICAgICAgICAgIG5hbWU6IGAke3RoaXMuYXR0clNlbGVjdG9yfS0ke3RoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWV9YCxcbiAgICAgICAgICAgIC4uLnRoaXMuc3R5bGVPcHRpb25zXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2NvcGVkU3R5bGVFbCA9IHNjb3BlZFN0eWxlPy5lbDtcbiAgICB9XG5cbiAgICBfdW5sb2FkU2NvcGVkVGhlbWVTdHlsZXMoKSB7XG4gICAgICAgIHRoaXMuc2NvcGVkU3R5bGVFbD8ucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgX3RoZW1lQ2hhbmdlTGlzdGVuZXIoY2FsbGJhY2sgPSAoKSA9PiB7fSkge1xuICAgICAgICBCYXNlLmNsZWFyTG9hZGVkU3R5bGVOYW1lcygpO1xuICAgICAgICBUaGVtZVNlcnZpY2Uub24oJ3RoZW1lOmNoYW5nZScsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBjeChhcmc6IHN0cmluZywgcmVzdD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmNvbXBvbmVudFN0eWxlPy5jbGFzc2VzPy5bYXJnXSA6IHRoaXMuY29tcG9uZW50U3R5bGU/LmNsYXNzZXM/LlthcmddO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGNsYXNzZXMoeyBpbnN0YW5jZTogdGhpcyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0eXBlb2YgY2xhc3NlcyA9PT0gJ3N0cmluZycgPyBjbGFzc2VzIDogYXJnO1xuICAgIH1cblxuICAgIHN4KGFyZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gdGhpcy5jb21wb25lbnRTdHlsZT8uaW5saW5lU3R5bGVzPy5bYXJnXTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHlsZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHlsZXMoeyBpbnN0YW5jZTogdGhpcyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygc3R5bGVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0eWxlcyB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3goa2V5ID0gJycsIHBhcmFtcyA9IHt9KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmNvbXBvbmVudFN0eWxlPy5jbGFzc2VzIDogdGhpcy5jb21wb25lbnRTdHlsZT8uY2xhc3NlcztcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvblZhbHVlKGNsYXNzZXMoeyBpbnN0YW5jZTogdGhpcy5fZ2V0SG9zdEluc3RhbmNlKHRoaXMpIH0pLCBrZXksIHsgLi4ucGFyYW1zIH0pO1xuICAgIC8vIH1cblxuICAgIGdldCBwYXJlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzWydwYXJlbnRJbnN0YW5jZSddO1xuICAgIH1cbn1cbiJdfQ==
|
160
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZWNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9iYXNlY29tcG9uZW50L2Jhc2Vjb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzdELE9BQU8sRUFBRSxpQkFBaUIsRUFBbUIsU0FBUyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxXQUFXLEVBQWEsU0FBUyxFQUFpQixNQUFNLGVBQWUsQ0FBQztBQUNySyxPQUFPLEVBQUUsS0FBSyxFQUFFLFlBQVksRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxXQUFXLEVBQUUsSUFBSSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFcEQsT0FBTyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDL0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDOztBQUdoRSxNQUFNLE9BQU8sYUFBYTtJQUNmLFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdEMsVUFBVSxHQUFRLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUV0QyxFQUFFLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBRTNCLFFBQVEsR0FBYSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7SUFFdEMsRUFBRSxHQUFzQixNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUUzRCxRQUFRLEdBQWMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRXhDLE1BQU0sR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7SUFFbEMsa0JBQWtCLEdBQXVCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FB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SUFFSixJQUFJLE1BQU07UUFDTixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2xDLENBQUM7dUdBekxRLGFBQWE7NkRBQWIsYUFBYSwyRUFEZ0IsQ0FBQyxrQkFBa0IsRUFBRSxTQUFTLENBQUM7O2lGQUM1RCxhQUFhO2NBRHpCLFNBQVM7ZUFBQyxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUMsa0JBQWtCLEVBQUUsU0FBUyxDQUFDLEVBQUU7Z0JBd0I5RCxFQUFFO2tCQUFWLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBET0NVTUVOVCwgaXNQbGF0Zm9ybVNlcnZlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29udGVudENoaWxkcmVuLCBEaXJlY3RpdmUsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5qZWN0b3IsIElucHV0LCBQTEFURk9STV9JRCwgUXVlcnlMaXN0LCBSZW5kZXJlcjIsIFNpbXBsZUNoYW5nZXMgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFRoZW1lLCBUaGVtZVNlcnZpY2UgfSBmcm9tICdAcHJpbWV1aXgvc3R5bGVkJztcbmltcG9ydCB7IGdldEtleVZhbHVlLCB1dWlkIH0gZnJvbSAnQHByaW1ldWl4L3V0aWxzJztcbmltcG9ydCB7IFByaW1lVGVtcGxhdGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlLCBCYXNlU3R5bGUgfSBmcm9tICdwcmltZW5nL2Jhc2UnO1xuaW1wb3J0IHsgUHJpbWVORyB9IGZyb20gJ3ByaW1lbmcvY29uZmlnJztcbmltcG9ydCB7IEJhc2VDb21wb25lbnRTdHlsZSB9IGZyb20gJy4vc3R5bGUvYmFzZWNvbXBvbmVudHN0eWxlJztcblxuQERpcmVjdGl2ZSh7IHN0YW5kYWxvbmU6IHRydWUsIHByb3ZpZGVyczogW0Jhc2VDb21wb25lbnRTdHlsZSwgQmFzZVN0eWxlXSB9KVxuZXhwb3J0IGNsYXNzIEJhc2VDb21wb25lbnQge1xuICAgIHB1YmxpYyBkb2N1bWVudDogRG9jdW1lbnQgPSBpbmplY3QoRE9DVU1FTlQpO1xuXG4gICAgcHVibGljIHBsYXRmb3JtSWQ6IGFueSA9IGluamVjdChQTEFURk9STV9JRCk7XG5cbiAgICBwdWJsaWMgZWw6IEVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XG5cbiAgICBwdWJsaWMgcmVhZG9ubHkgaW5qZWN0b3I6IEluamVjdG9yID0gaW5qZWN0KEluamVjdG9yKTtcblxuICAgIHB1YmxpYyByZWFkb25seSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xuXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIgPSBpbmplY3QoUmVuZGVyZXIyKTtcblxuICAgIHB1YmxpYyBjb25maWc6IFByaW1lTkcgPSBpbmplY3QoUHJpbWVORyk7XG5cbiAgICBwdWJsaWMgYmFzZUNvbXBvbmVudFN0eWxlOiBCYXNlQ29tcG9uZW50U3R5bGUgPSBpbmplY3QoQmFzZUNvbXBvbmVudFN0eWxlKTtcblxuICAgIHB1YmxpYyBiYXNlU3R5bGU6IEJhc2VTdHlsZSA9IGluamVjdChCYXNlU3R5bGUpO1xuXG4gICAgcHVibGljIHNjb3BlZFN0eWxlRWw6IGFueTtcblxuICAgIHB1YmxpYyByb290RWw6IGFueTtcblxuICAgIEBJbnB1dCgpIGR0OiBPYmplY3QgfCB1bmRlZmluZWQ7XG5cbiAgICBnZXQgc3R5bGVPcHRpb25zKCkge1xuICAgICAgICByZXR1cm4geyBub25jZTogdGhpcy5jb25maWc/LmNzcCgpLm5vbmNlIH07XG4gICAgfVxuXG4gICAgZ2V0IF9uYW1lKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lLnJlcGxhY2UoL15fLywgJycpLnRvTG93ZXJDYXNlKCk7XG4gICAgfVxuXG4gICAgZ2V0IGNvbXBvbmVudFN0eWxlKCkge1xuICAgICAgICByZXR1cm4gdGhpc1snX2NvbXBvbmVudFN0eWxlJ107XG4gICAgfVxuXG4gICAgYXR0clNlbGVjdG9yID0gdXVpZCgncGMnKTtcblxuICAgIF9nZXRIb3N0SW5zdGFuY2UoaW5zdGFuY2UpIHtcbiAgICAgICAgaWYgKGluc3RhbmNlKSB7XG4gICAgICAgICAgICByZXR1cm4gaW5zdGFuY2UgPyAodGhpc1snaG9zdE5hbWUnXSA/IChpbnN0YW5jZVsnbmFtZSddID09PSB0aGlzWydob3N0TmFtZSddID8gaW5zdGFuY2UgOiB0aGlzLl9nZXRIb3N0SW5zdGFuY2UoaW5zdGFuY2UucGFyZW50SW5zdGFuY2UpKSA6IGluc3RhbmNlLnBhcmVudEluc3RhbmNlKSA6IHVuZGVmaW5lZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9nZXRPcHRpb25WYWx1ZShvcHRpb25zLCBrZXkgPSAnJywgcGFyYW1zID0ge30pIHtcbiAgICAgICAgcmV0dXJuIGdldEtleVZhbHVlKG9wdGlvbnMsIGtleSwgcGFyYW1zKTtcbiAgICB9XG5cbiAgICBuZ09uSW5pdCgpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQpIHtcbiAgICAgICAgICAgIHRoaXMuX2xvYWRTdHlsZXMoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgdGhpcy5yb290RWwgPSB0aGlzLmVsPy5uYXRpdmVFbGVtZW50O1xuICAgICAgICBpZiAodGhpcy5yb290RWwpIHtcbiAgICAgICAgICAgIHRoaXMucm9vdEVsPy5zZXRBdHRyaWJ1dGUodGhpcy5hdHRyU2VsZWN0b3IsICcnKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25DaGFuZ2VzKGNoYW5nZXM6IFNpbXBsZUNoYW5nZXMpIHtcbiAgICAgICAgaWYgKHRoaXMuZG9jdW1lbnQgJiYgIWlzUGxhdGZvcm1TZXJ2ZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgY29uc3QgeyBkdCB9ID0gY2hhbmdlcztcbiAgICAgICAgICAgIGlmIChkdCAmJiBkdC5jdXJyZW50VmFsdWUpIHtcbiAgICAgICAgICAgICAgICB0aGlzLl9sb2FkU2NvcGVkVGhlbWVTdHlsZXMoZHQuY3VycmVudFZhbHVlKTtcbiAgICAgICAgICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IHRoaXMuX2xvYWRTY29wZWRUaGVtZVN0eWxlcyhkdC5jdXJyZW50VmFsdWUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIG5nT25EZXN0cm95KCkge1xuICAgICAgICB0aGlzLl91bmxvYWRTY29wZWRUaGVtZVN0eWxlcygpO1xuICAgIH1cblxuICAgIF9sb2FkU3R5bGVzKCkge1xuICAgICAgICBjb25zdCBfbG9hZCA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmICghQmFzZS5pc1N0eWxlTmFtZUxvYWRlZCgnYmFzZScpKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZENTUyh0aGlzLnN0eWxlT3B0aW9ucyk7XG4gICAgICAgICAgICAgICAgQmFzZS5zZXRMb2FkZWRTdHlsZU5hbWUoJ2Jhc2UnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGhpcy5fbG9hZFRoZW1lU3R5bGVzKCk7XG4gICAgICAgICAgICAvLyBAdG9kbyB1cGRhdGUgY29uZmlnLnRoZW1lKClcbiAgICAgICAgfTtcblxuICAgICAgICBfbG9hZCgpO1xuICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IF9sb2FkKCkpO1xuICAgIH1cblxuICAgIF9sb2FkQ29yZVN0eWxlcygpIHtcbiAgICAgICAgaWYgKCFCYXNlLmlzU3R5bGVOYW1lTG9hZGVkKCdiYXNlJykgJiYgdGhpcy5fbmFtZSkge1xuICAgICAgICAgICAgdGhpcy5iYXNlQ29tcG9uZW50U3R5bGUubG9hZENTUyh0aGlzLnN0eWxlT3B0aW9ucyk7XG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFN0eWxlICYmIHRoaXMuY29tcG9uZW50U3R5bGU/LmxvYWRDU1ModGhpcy5zdHlsZU9wdGlvbnMpO1xuICAgICAgICAgICAgQmFzZS5zZXRMb2FkZWRTdHlsZU5hbWUodGhpcy5jb21wb25lbnRTdHlsZT8ubmFtZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbG9hZFRoZW1lU3R5bGVzKCkge1xuICAgICAgICAvLyBjb21tb25cbiAgICAgICAgaWYgKCFUaGVtZS5pc1N0eWxlTmFtZUxvYWRlZCgnY29tbW9uJykpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgcHJpbWl0aXZlLCBzZW1hbnRpYywgZ2xvYmFsLCBzdHlsZSB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0Q29tbW9uVGhlbWU/LigpIHx8IHt9O1xuXG4gICAgICAgICAgICB0aGlzLmJhc2VTdHlsZS5sb2FkKHByaW1pdGl2ZT8uY3NzLCB7IG5hbWU6ICdwcmltaXRpdmUtdmFyaWFibGVzJywgLi4udGhpcy5zdHlsZU9wdGlvbnMgfSk7XG4gICAgICAgICAgICB0aGlzLmJhc2VTdHlsZS5sb2FkKHNlbWFudGljPy5jc3MsIHsgbmFtZTogJ3NlbWFudGljLXZhcmlhYmxlcycsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0pO1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZChnbG9iYWw/LmNzcywgeyBuYW1lOiAnZ2xvYmFsLXZhcmlhYmxlcycsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0pO1xuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZFRoZW1lKHsgbmFtZTogJ2dsb2JhbC1zdHlsZScsIC4uLnRoaXMuc3R5bGVPcHRpb25zIH0sIHN0eWxlKTtcblxuICAgICAgICAgICAgVGhlbWUuc2V0TG9hZGVkU3R5bGVOYW1lKCdjb21tb24nKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIGNvbXBvbmVudFxuICAgICAgICBpZiAoIVRoZW1lLmlzU3R5bGVOYW1lTG9hZGVkKHRoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWUpICYmIHRoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWUpIHtcbiAgICAgICAgICAgIGNvbnN0IHsgY3NzLCBzdHlsZSB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0Q29tcG9uZW50VGhlbWU/LigpIHx8IHt9O1xuXG4gICAgICAgICAgICB0aGlzLmNvbXBvbmVudFN0eWxlPy5sb2FkKGNzcywgeyBuYW1lOiBgJHt0aGlzLmNvbXBvbmVudFN0eWxlPy5uYW1lfS12YXJpYWJsZXNgLCAuLi50aGlzLnN0eWxlT3B0aW9ucyB9KTtcbiAgICAgICAgICAgIHRoaXMuY29tcG9uZW50U3R5bGU/LmxvYWRUaGVtZSh7IG5hbWU6IGAke3RoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWV9LXN0eWxlYCwgLi4udGhpcy5zdHlsZU9wdGlvbnMgfSwgc3R5bGUpO1xuXG4gICAgICAgICAgICBUaGVtZS5zZXRMb2FkZWRTdHlsZU5hbWUodGhpcy5jb21wb25lbnRTdHlsZT8ubmFtZSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBsYXllciBvcmRlclxuICAgICAgICBpZiAoIVRoZW1lLmlzU3R5bGVOYW1lTG9hZGVkKCdsYXllci1vcmRlcicpKSB7XG4gICAgICAgICAgICBjb25zdCBsYXllck9yZGVyID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0TGF5ZXJPcmRlclRoZW1lQ1NTPy4oKTtcblxuICAgICAgICAgICAgdGhpcy5iYXNlU3R5bGUubG9hZChsYXllck9yZGVyLCB7IG5hbWU6ICdsYXllci1vcmRlcicsIGZpcnN0OiB0cnVlLCAuLi50aGlzLnN0eWxlT3B0aW9ucyB9KTtcbiAgICAgICAgICAgIFRoZW1lLnNldExvYWRlZFN0eWxlTmFtZSgnbGF5ZXItb3JkZXInKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0aGlzLmR0KSB7XG4gICAgICAgICAgICB0aGlzLl9sb2FkU2NvcGVkVGhlbWVTdHlsZXModGhpcy5kdCk7XG4gICAgICAgICAgICB0aGlzLl90aGVtZUNoYW5nZUxpc3RlbmVyKCgpID0+IHRoaXMuX2xvYWRTY29wZWRUaGVtZVN0eWxlcyh0aGlzLmR0KSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBfbG9hZFNjb3BlZFRoZW1lU3R5bGVzKHByZXNldCkge1xuICAgICAgICBjb25zdCB7IGNzcyB9ID0gdGhpcy5jb21wb25lbnRTdHlsZT8uZ2V0UHJlc2V0VGhlbWU/LihwcmVzZXQsIGBbJHt0aGlzLmF0dHJTZWxlY3Rvcn1dYCkgfHwge307XG4gICAgICAgIGNvbnN0IHNjb3BlZFN0eWxlID0gdGhpcy5jb21wb25lbnRTdHlsZT8ubG9hZChjc3MsIHtcbiAgICAgICAgICAgIG5hbWU6IGAke3RoaXMuYXR0clNlbGVjdG9yfS0ke3RoaXMuY29tcG9uZW50U3R5bGU/Lm5hbWV9YCxcbiAgICAgICAgICAgIC4uLnRoaXMuc3R5bGVPcHRpb25zXG4gICAgICAgIH0pO1xuXG4gICAgICAgIHRoaXMuc2NvcGVkU3R5bGVFbCA9IHNjb3BlZFN0eWxlPy5lbDtcbiAgICB9XG5cbiAgICBfdW5sb2FkU2NvcGVkVGhlbWVTdHlsZXMoKSB7XG4gICAgICAgIHRoaXMuc2NvcGVkU3R5bGVFbD8ucmVtb3ZlKCk7XG4gICAgfVxuXG4gICAgX3RoZW1lQ2hhbmdlTGlzdGVuZXIoY2FsbGJhY2sgPSAoKSA9PiB7fSkge1xuICAgICAgICBCYXNlLmNsZWFyTG9hZGVkU3R5bGVOYW1lcygpO1xuICAgICAgICBUaGVtZVNlcnZpY2Uub24oJ3RoZW1lOmNoYW5nZScsIGNhbGxiYWNrKTtcbiAgICB9XG5cbiAgICBjeChhcmc6IHN0cmluZywgcmVzdD86IHN0cmluZyk6IHN0cmluZyB7XG4gICAgICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmNvbXBvbmVudFN0eWxlPy5jbGFzc2VzPy5bYXJnXSA6IHRoaXMuY29tcG9uZW50U3R5bGU/LmNsYXNzZXM/LlthcmddO1xuXG4gICAgICAgIGlmICh0eXBlb2YgY2xhc3NlcyA9PT0gJ2Z1bmN0aW9uJykge1xuICAgICAgICAgICAgcmV0dXJuIGNsYXNzZXMoeyBpbnN0YW5jZTogdGhpcyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0eXBlb2YgY2xhc3NlcyA9PT0gJ3N0cmluZycgPyBjbGFzc2VzIDogYXJnO1xuICAgIH1cblxuICAgIHN4KGFyZzogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAgICAgY29uc3Qgc3R5bGVzID0gdGhpcy5jb21wb25lbnRTdHlsZT8uaW5saW5lU3R5bGVzPy5bYXJnXTtcbiAgICAgICAgaWYgKHR5cGVvZiBzdHlsZXMgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgICAgICAgIHJldHVybiBzdHlsZXMoeyBpbnN0YW5jZTogdGhpcyB9KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh0eXBlb2Ygc3R5bGVzID09PSAnc3RyaW5nJykge1xuICAgICAgICAgICAgcmV0dXJuIHN0eWxlcztcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB7IC4uLnN0eWxlcyB9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3goa2V5ID0gJycsIHBhcmFtcyA9IHt9KSB7XG4gICAgLy8gICAgIGNvbnN0IGNsYXNzZXMgPSB0aGlzLnBhcmVudCA/IHRoaXMucGFyZW50LmNvbXBvbmVudFN0eWxlPy5jbGFzc2VzIDogdGhpcy5jb21wb25lbnRTdHlsZT8uY2xhc3NlcztcbiAgICAvLyAgICAgcmV0dXJuIHRoaXMuX2dldE9wdGlvblZhbHVlKGNsYXNzZXMoeyBpbnN0YW5jZTogdGhpcy5fZ2V0SG9zdEluc3RhbmNlKHRoaXMpIH0pLCBrZXksIHsgLi4ucGFyYW1zIH0pO1xuICAgIC8vIH1cblxuICAgIGdldCBwYXJlbnQoKSB7XG4gICAgICAgIHJldHVybiB0aGlzWydwYXJlbnRJbnN0YW5jZSddO1xuICAgIH1cbn1cbiJdfQ==
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { CommonModule, isPlatformBrowser } from '@angular/common';
|
2
|
-
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, inject, Input, NgModule, numberAttribute, ViewChild, ViewEncapsulation } from '@angular/core';
|
3
|
-
import {
|
4
|
-
import { SharedModule } from 'primeng/api';
|
2
|
+
import { booleanAttribute, ChangeDetectionStrategy, Component, ContentChild, ContentChildren, inject, Input, NgModule, numberAttribute, ViewChild, ViewEncapsulation } from '@angular/core';
|
3
|
+
import { blockBodyScroll, unblockBodyScroll } from '@primeuix/utils';
|
4
|
+
import { PrimeTemplate, SharedModule } from 'primeng/api';
|
5
5
|
import { BaseComponent } from 'primeng/basecomponent';
|
6
6
|
import { ZIndexUtils } from 'primeng/utils';
|
7
7
|
import { BlockUiStyle } from './style/blockuistyle';
|
@@ -62,7 +62,7 @@ export class BlockUI extends BaseComponent {
|
|
62
62
|
* template of the content
|
63
63
|
* @group Templates
|
64
64
|
*/
|
65
|
-
|
65
|
+
contentTemplate;
|
66
66
|
mask;
|
67
67
|
_blocked = false;
|
68
68
|
animationEndListener;
|
@@ -78,6 +78,20 @@ export class BlockUI extends BaseComponent {
|
|
78
78
|
throw 'Target of BlockUI must implement BlockableUI interface';
|
79
79
|
}
|
80
80
|
}
|
81
|
+
_contentTemplate;
|
82
|
+
templates;
|
83
|
+
ngAfterContentInit() {
|
84
|
+
this.templates.forEach((item) => {
|
85
|
+
switch (item.getType()) {
|
86
|
+
case 'content':
|
87
|
+
this.contentTemplate = item.template;
|
88
|
+
break;
|
89
|
+
default:
|
90
|
+
this.contentTemplate = item.template;
|
91
|
+
break;
|
92
|
+
}
|
93
|
+
});
|
94
|
+
}
|
81
95
|
block() {
|
82
96
|
if (isPlatformBrowser(this.platformId)) {
|
83
97
|
this._blocked = true;
|
@@ -100,14 +114,14 @@ export class BlockUI extends BaseComponent {
|
|
100
114
|
// this.animationEndListener = this.renderer.listen(this.mask.nativeElement, 'animationend', this.destroyModal.bind(this));
|
101
115
|
// TODO Add animation
|
102
116
|
this.destroyModal();
|
103
|
-
addClass(this.mask.nativeElement, 'p-overlay-mask-leave');
|
117
|
+
// addClass(this.mask.nativeElement, 'p-overlay-mask-leave');
|
104
118
|
}
|
105
119
|
}
|
106
120
|
destroyModal() {
|
107
121
|
this._blocked = false;
|
108
122
|
if (this.mask && isPlatformBrowser(this.platformId)) {
|
109
123
|
ZIndexUtils.clear(this.mask.nativeElement);
|
110
|
-
removeClass(this.mask.nativeElement, 'p-overlay-mask-leave');
|
124
|
+
// removeClass(this.mask.nativeElement, 'p-overlay-mask-leave');
|
111
125
|
this.renderer.removeChild(this.el.nativeElement, this.mask.nativeElement);
|
112
126
|
unblockBodyScroll();
|
113
127
|
}
|
@@ -127,16 +141,18 @@ export class BlockUI extends BaseComponent {
|
|
127
141
|
}
|
128
142
|
static ɵfac = function BlockUI_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BlockUI)(); };
|
129
143
|
static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: BlockUI, selectors: [["p-blockUI"], ["p-blockui"], ["p-block-ui"]], contentQueries: function BlockUI_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) {
|
130
|
-
i0.ɵɵcontentQuery(dirIndex, _c0,
|
144
|
+
i0.ɵɵcontentQuery(dirIndex, _c0, 4);
|
145
|
+
i0.ɵɵcontentQuery(dirIndex, PrimeTemplate, 4);
|
131
146
|
} if (rf & 2) {
|
132
147
|
let _t;
|
133
|
-
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.
|
148
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.contentTemplate = _t.first);
|
149
|
+
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.templates = _t);
|
134
150
|
} }, viewQuery: function BlockUI_Query(rf, ctx) { if (rf & 1) {
|
135
151
|
i0.ɵɵviewQuery(_c1, 5);
|
136
152
|
} if (rf & 2) {
|
137
153
|
let _t;
|
138
154
|
i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.mask = _t.first);
|
139
|
-
} }, inputs: { target: "target", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], styleClass: "styleClass", blocked: "blocked" }, standalone: true, features: [i0.ɵɵProvidersFeature([BlockUiStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c2, decls: 4, vars: 11, consts: [["mask", ""], [3, "ngClass", "ngStyle"], [4, "ngTemplateOutlet"]], template: function BlockUI_Template(rf, ctx) { if (rf & 1) {
|
155
|
+
} }, inputs: { target: "target", autoZIndex: [2, "autoZIndex", "autoZIndex", booleanAttribute], baseZIndex: [2, "baseZIndex", "baseZIndex", numberAttribute], styleClass: "styleClass", blocked: [2, "blocked", "blocked", booleanAttribute] }, standalone: true, features: [i0.ɵɵProvidersFeature([BlockUiStyle]), i0.ɵɵInputTransformsFeature, i0.ɵɵInheritDefinitionFeature, i0.ɵɵStandaloneFeature], ngContentSelectors: _c2, decls: 4, vars: 11, consts: [["mask", ""], [3, "ngClass", "ngStyle"], [4, "ngTemplateOutlet"]], template: function BlockUI_Template(rf, ctx) { if (rf & 1) {
|
140
156
|
i0.ɵɵprojectionDef();
|
141
157
|
i0.ɵɵelementStart(0, "div", 1, 0);
|
142
158
|
i0.ɵɵprojection(2);
|
@@ -147,7 +163,7 @@ export class BlockUI extends BaseComponent {
|
|
147
163
|
i0.ɵɵproperty("ngClass", i0.ɵɵpureFunction1(8, _c3, !ctx.target))("ngStyle", i0.ɵɵpureFunction0(10, _c4));
|
148
164
|
i0.ɵɵattribute("aria-busy", ctx.blocked)("data-pc-name", "blockui")("data-pc-section", "root");
|
149
165
|
i0.ɵɵadvance(3);
|
150
|
-
i0.ɵɵproperty("ngTemplateOutlet", ctx.
|
166
|
+
i0.ɵɵproperty("ngTemplateOutlet", ctx.contentTemplate || ctx._contentTemplate);
|
151
167
|
} }, dependencies: [CommonModule, i1.NgClass, i1.NgTemplateOutlet, i1.NgStyle, SharedModule], encapsulation: 2, changeDetection: 0 });
|
152
168
|
}
|
153
169
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BlockUI, [{
|
@@ -167,7 +183,7 @@ export class BlockUI extends BaseComponent {
|
|
167
183
|
[attr.data-pc-section]="'root'"
|
168
184
|
>
|
169
185
|
<ng-content></ng-content>
|
170
|
-
<ng-container *ngTemplateOutlet="
|
186
|
+
<ng-container *ngTemplateOutlet="contentTemplate || _contentTemplate"></ng-container>
|
171
187
|
</div>
|
172
188
|
`,
|
173
189
|
changeDetection: ChangeDetectionStrategy.OnPush,
|
@@ -185,26 +201,30 @@ export class BlockUI extends BaseComponent {
|
|
185
201
|
}], styleClass: [{
|
186
202
|
type: Input
|
187
203
|
}], blocked: [{
|
188
|
-
type: Input
|
189
|
-
|
204
|
+
type: Input,
|
205
|
+
args: [{ transform: booleanAttribute }]
|
206
|
+
}], contentTemplate: [{
|
190
207
|
type: ContentChild,
|
191
|
-
args: ['content']
|
208
|
+
args: ['content', { descendants: false }]
|
192
209
|
}], mask: [{
|
193
210
|
type: ViewChild,
|
194
211
|
args: ['mask']
|
212
|
+
}], templates: [{
|
213
|
+
type: ContentChildren,
|
214
|
+
args: [PrimeTemplate]
|
195
215
|
}] }); })();
|
196
216
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(BlockUI, { className: "BlockUI" }); })();
|
197
217
|
export class BlockUIModule {
|
198
218
|
static ɵfac = function BlockUIModule_Factory(__ngFactoryType__) { return new (__ngFactoryType__ || BlockUIModule)(); };
|
199
219
|
static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: BlockUIModule });
|
200
|
-
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [BlockUI, SharedModule] });
|
220
|
+
static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [BlockUI, SharedModule, SharedModule] });
|
201
221
|
}
|
202
222
|
(() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(BlockUIModule, [{
|
203
223
|
type: NgModule,
|
204
224
|
args: [{
|
205
|
-
imports: [BlockUI],
|
225
|
+
imports: [BlockUI, SharedModule],
|
206
226
|
exports: [BlockUI, SharedModule]
|
207
227
|
}]
|
208
228
|
}], null, null); })();
|
209
|
-
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(BlockUIModule, { imports: [BlockUI], exports: [BlockUI, SharedModule] }); })();
|
210
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2t1aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3VpL2Jsb2NrdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFBaUIsZ0JBQWdCLEVBQUUsdUJBQXVCLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBYyxNQUFNLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRSxlQUFlLEVBQTBCLFNBQVMsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM5TixPQUFPLEVBQUUsUUFBUSxFQUFFLGVBQWUsRUFBRSxXQUFXLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQzNDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUN0RCxPQUFPLEVBQUUsV0FBVyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzVDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQzs7Ozs7Ozs7O0lBcUJ4Qyx3QkFBeUQ7O0FBbkJyRTs7O0dBR0c7QUF1QkgsTUFBTSxPQUFPLE9BQVEsU0FBUSxhQUFhO0lBQ3RDOzs7T0FHRztJQUNNLE1BQU0sQ0FBTTtJQUNyQjs7O09BR0c7SUFDcUMsVUFBVSxHQUFZLElBQUksQ0FBQztJQUNuRTs7O09BR0c7SUFDb0MsVUFBVSxHQUFXLENBQUMsQ0FBQztJQUM5RDs7O09BR0c7SUFDTSxVQUFVLENBQXFCO0lBQ3hDOzs7T0FHRztJQUNILElBQWEsT0FBTztRQUNoQixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUM7SUFDekIsQ0FBQztJQUNELElBQUksT0FBTyxDQUFDLEdBQVk7UUFDcEIsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENB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Q3JDLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUM1QjtvQkFNWSxNQUFNO2tCQUFkLEtBQUs7WUFLa0MsVUFBVTtrQkFBakQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQUtDLFVBQVU7a0JBQWhELEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBSzVCLFVBQVU7a0JBQWxCLEtBQUs7WUFLTyxPQUFPO2tCQUFuQixLQUFLO1lBZW1CLE9BQU87a0JBQS9CLFlBQVk7bUJBQUMsU0FBUztZQUVKLElBQUk7a0JBQXRCLFNBQVM7bUJBQUMsTUFBTTs7a0ZBMUNSLE9BQU87QUF5SHBCLE1BQU0sT0FBTyxhQUFhO3VHQUFiLGFBQWE7NERBQWIsYUFBYTtnRUFIWixPQUFPLEVBQ0UsWUFBWTs7aUZBRXRCLGFBQWE7Y0FKekIsUUFBUTtlQUFDO2dCQUNOLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQztnQkFDbEIsT0FBTyxFQUFFLENBQUMsT0FBTyxFQUFFLFlBQVksQ0FBQzthQUNuQzs7d0ZBQ1ksYUFBYSxjQXpIYixPQUFPLGFBQVAsT0FBTyxFQXVIRyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBBZnRlclZpZXdJbml0LCBib29sZWFuQXR0cmlidXRlLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgQ29tcG9uZW50LCBDb250ZW50Q2hpbGQsIEVsZW1lbnRSZWYsIGluamVjdCwgSW5wdXQsIE5nTW9kdWxlLCBudW1iZXJBdHRyaWJ1dGUsIE9uRGVzdHJveSwgVGVtcGxhdGVSZWYsIFZpZXdDaGlsZCwgVmlld0VuY2Fwc3VsYXRpb24gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZENsYXNzLCBibG9ja0JvZHlTY3JvbGwsIHJlbW92ZUNsYXNzLCB1bmJsb2NrQm9keVNjcm9sbCB9IGZyb20gJ0BwcmltZXVpeC91dGlscyc7XG5pbXBvcnQgeyBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBCbG9ja1VpU3R5bGUgfSBmcm9tICcuL3N0eWxlL2Jsb2NrdWlzdHlsZSc7XG5cbi8qKlxuICogQmxvY2tVSSBjYW4gZWl0aGVyIGJsb2NrIG90aGVyIGNvbXBvbmVudHMgb3IgdGhlIHdob2xlIHBhZ2UuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtYmxvY2tVSSwgcC1ibG9ja3VpLCBwLWJsb2NrLXVpJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI21hc2tcbiAgICAgICAgICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtYnVzeV09XCJibG9ja2VkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtYmxvY2t1aS1tYXNrLWRvY3VtZW50JzogIXRhcmdldCwgJ3AtYmxvY2t1aSBwLWJsb2NrdWktbWFzayBwLW92ZXJsYXktbWFzayc6IHRydWUgfVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6ICdub25lJyB9XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtbmFtZV09XCInYmxvY2t1aSdcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50XCI+PC9uZy1jb250YWluZXI+XG4gICAgICAgIDwvZGl2PlxuICAgIGAsXG4gICAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2gsXG4gICAgZW5jYXBzdWxhdGlvbjogVmlld0VuY2Fwc3VsYXRpb24uTm9uZSxcbiAgICBwcm92aWRlcnM6IFtCbG9ja1VpU3R5bGVdXG59KVxuZXhwb3J0IGNsYXNzIEJsb2NrVUkgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IGltcGxlbWVudHMgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95IHtcbiAgICAvKipcbiAgICAgKiBOYW1lIG9mIHRoZSBsb2NhbCBuZy10ZW1wbGF0ZSB2YXJpYWJsZSByZWZlcnJpbmcgdG8gYW5vdGhlciBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdGFyZ2V0OiBhbnk7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0byBhdXRvbWF0aWNhbGx5IG1hbmFnZSBsYXllcmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgYXV0b1pJbmRleDogYm9vbGVhbiA9IHRydWU7XG4gICAgLyoqXG4gICAgICogQmFzZSB6SW5kZXggdmFsdWUgdG8gdXNlIGluIGxheWVyaW5nLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogbnVtYmVyQXR0cmlidXRlIH0pIGJhc2VaSW5kZXg6IG51bWJlciA9IDA7XG4gICAgLyoqXG4gICAgICogQ2xhc3Mgb2YgdGhlIGVsZW1lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEN1cnJlbnQgYmxvY2tlZCBzdGF0ZSBhcyBhIGJvb2xlYW4uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGJsb2NrZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLl9ibG9ja2VkO1xuICAgIH1cbiAgICBzZXQgYmxvY2tlZCh2YWw6IGJvb2xlYW4pIHtcbiAgICAgICAgaWYgKHRoaXMubWFzayAmJiB0aGlzLm1hc2submF0aXZlRWxlbWVudCkge1xuICAgICAgICAgICAgaWYgKHZhbCkgdGhpcy5ibG9jaygpO1xuICAgICAgICAgICAgZWxzZSB0aGlzLnVuYmxvY2soKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2Jsb2NrZWQgPSB2YWw7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLyoqXG4gICAgICogdGVtcGxhdGUgb2YgdGhlIGNvbnRlbnRcbiAgICAgKiBAZ3JvdXAgVGVtcGxhdGVzXG4gICAgICovXG4gICAgQENvbnRlbnRDaGlsZCgnY29udGVudCcpIGNvbnRlbnQ6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAVmlld0NoaWxkKCdtYXNrJykgbWFzazogRWxlbWVudFJlZiB8IHVuZGVmaW5lZDtcblxuICAgIF9ibG9ja2VkOiBib29sZWFuID0gZmFsc2U7XG5cbiAgICBhbmltYXRpb25FbmRMaXN0ZW5lcjogVm9pZEZ1bmN0aW9uIHwgbnVsbCB8IHVuZGVmaW5lZDtcblxuICAgIF9jb21wb25lbnRTdHlsZSA9IGluamVjdChCbG9ja1VpU3R5bGUpO1xuXG4gICAgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIHN1cGVyKCk7XG4gICAgfVxuXG4gICAgbmdBZnRlclZpZXdJbml0KCkge1xuICAgICAgICBzdXBlci5uZ0FmdGVyVmlld0luaXQoKTtcbiAgICAgICAgaWYgKHRoaXMuX2Jsb2NrZWQpIHRoaXMuYmxvY2soKTtcblxuICAgICAgICBpZiAodGhpcy50YXJnZXQgJiYgIXRoaXMudGFyZ2V0LmdldEJsb2NrYWJsZUVsZW1lbnQpIHtcbiAgICAgICAgICAgIHRocm93ICdUYXJnZXQgb2YgQmxvY2tVSSBtdXN0IGltcGxlbWVudCBCbG9ja2FibGVVSSBpbnRlcmZhY2UnO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2soKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICB0aGlzLl9ibG9ja2VkID0gdHJ1ZTtcbiAgICAgICAgICAgICh0aGlzLm1hc2sgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5zdHlsZS5kaXNwbGF5ID0gJ2ZsZXgnO1xuXG4gICAgICAgICAgICBpZiAodGhpcy50YXJnZXQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldC5nZXRCbG9ja2FibGVFbGVtZW50KCkuYXBwZW5kQ2hpbGQoKHRoaXMubWFzayBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICB0aGlzLnRhcmdldC5nZXRCbG9ja2FibGVFbGVtZW50KCkuc3R5bGUucG9zaXRpb24gPSAncmVsYXRpdmUnO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbmRlcmVyLmFwcGVuZENoaWxkKHRoaXMuZG9jdW1lbnQuYm9keSwgKHRoaXMubWFzayBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgICAgICBibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKHRoaXMuYXV0b1pJbmRleCkge1xuICAgICAgICAgICAgICAgIFpJbmRleFV0aWxzLnNldCgnbW9kYWwnLCAodGhpcy5tYXNrIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQsIHRoaXMuYmFzZVpJbmRleCArIHRoaXMuY29uZmlnLnpJbmRleC5tb2RhbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bmJsb2NrKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSAmJiB0aGlzLm1hc2sgJiYgIXRoaXMuYW5pbWF0aW9uRW5kTGlzdGVuZXIpIHtcbiAgICAgICAgICAgIC8vIHRoaXMuYW5pbWF0aW9uRW5kTGlzdGVuZXIgPSB0aGlzLnJlbmRlcmVyLmxpc3Rlbih0aGlzLm1hc2submF0aXZlRWxlbWVudCwgJ2FuaW1hdGlvbmVuZCcsIHRoaXMuZGVzdHJveU1vZGFsLmJpbmQodGhpcykpO1xuICAgICAgICAgICAgLy8gVE9ETyBBZGQgYW5pbWF0aW9uXG4gICAgICAgICAgICB0aGlzLmRlc3Ryb3lNb2RhbCgpO1xuICAgICAgICAgICAgYWRkQ2xhc3ModGhpcy5tYXNrLm5hdGl2ZUVsZW1lbnQsICdwLW92ZXJsYXktbWFzay1sZWF2ZScpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZGVzdHJveU1vZGFsKCkge1xuICAgICAgICB0aGlzLl9ibG9ja2VkID0gZmFsc2U7XG4gICAgICAgIGlmICh0aGlzLm1hc2sgJiYgaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgWkluZGV4VXRpbHMuY2xlYXIodGhpcy5tYXNrLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgcmVtb3ZlQ2xhc3ModGhpcy5tYXNrLm5hdGl2ZUVsZW1lbnQsICdwLW92ZXJsYXktbWFzay1sZWF2ZScpO1xuICAgICAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDaGlsZCh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsIHRoaXMubWFzay5uYXRpdmVFbGVtZW50KTtcbiAgICAgICAgICAgIHVuYmxvY2tCb2R5U2Nyb2xsKCk7XG4gICAgICAgIH1cbiAgICAgICAgdGhpcy51bmJpbmRBbmltYXRpb25FbmRMaXN0ZW5lcigpO1xuICAgICAgICB0aGlzLmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cblxuICAgIHVuYmluZEFuaW1hdGlvbkVuZExpc3RlbmVyKCkge1xuICAgICAgICBpZiAodGhpcy5hbmltYXRpb25FbmRMaXN0ZW5lciAmJiB0aGlzLm1hc2spIHtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRW5kTGlzdGVuZXIoKTtcbiAgICAgICAgICAgIHRoaXMuYW5pbWF0aW9uRW5kTGlzdGVuZXIgPSBudWxsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudW5ibG9jaygpO1xuICAgICAgICB0aGlzLmRlc3Ryb3lNb2RhbCgpO1xuICAgICAgICBzdXBlci5uZ09uRGVzdHJveSgpO1xuICAgIH1cbn1cblxuQE5nTW9kdWxlKHtcbiAgICBpbXBvcnRzOiBbQmxvY2tVSV0sXG4gICAgZXhwb3J0czogW0Jsb2NrVUksIFNoYXJlZE1vZHVsZV1cbn0pXG5leHBvcnQgY2xhc3MgQmxvY2tVSU1vZHVsZSB7fVxuIl19
|
229
|
+
(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(BlockUIModule, { imports: [BlockUI, SharedModule], exports: [BlockUI, SharedModule] }); })();
|
230
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmxvY2t1aS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9ibG9ja3VpL2Jsb2NrdWkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ2xFLE9BQU8sRUFHSCxnQkFBZ0IsRUFDaEIsdUJBQXVCLEVBQ3ZCLFNBQVMsRUFDVCxZQUFZLEVBQ1osZUFBZSxFQUVmLE1BQU0sRUFDTixLQUFLLEVBQ0wsUUFBUSxFQUNSLGVBQWUsRUFJZixTQUFTLEVBQ1QsaUJBQWlCLEVBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBWSxlQUFlLEVBQWUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUM1RixPQUFPLEVBQUUsYUFBYSxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUMxRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUM1QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7Ozs7Ozs7OztJQXFCeEMsd0JBQXFGOztBQW5Cakc7OztHQUdHO0FBdUJILE1BQU0sT0FBTyxPQUFRLFNBQVEsYUFBYTtJQUN0Qzs7O09BR0c7SUFDTSxNQUFNLENBQU07SUFDckI7OztPQUdHO0lBQ3FDLFVBQVUsR0FBWSxJQUFJLENBQUM7SUFDbkU7OztPQUdHO0lBQ29DLFVBQVUsR0FBVyxDQUFDLENBQUM7SUFDOUQ7OztPQUdHO0lBQ00sVUFBVSxDQUFxQjtJQUN4Qzs7O09BR0c7SUFDSCxJQUE0QyxPQUFPO1FBQy9DLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUN6QixDQUFDO0lBQ0QsSUFBSSxPQUFPLENBQUMsR0FBWTtRQUNwQixJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUN2QyxJQUFJLEdBQUc7Z0JBQUUsSUFBSSxDQUFDLEtBQUssRUFBRSxDQUFDOztnQkFDakIsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3hCLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLFFBQVEsR0FBRyxHQUFHLENBQUM7UUFDeEIsQ0FBQztJQUNMLENBQUM7SUFDRDs7O09BR0c7SUFDOEMsZUFBZSxDQUErQjtJQUU1RSxJQUFJLENBQXlCO0lBRWhELFFBQVEsR0FBWSxLQUFLLENBQUM7SUFFMUIsb0JBQW9CLENBQWtDO0lBRXRELGVBQWUsR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7SUFFdkM7UUFDSSxLQUFLLEVBQUUsQ0FBQztJQUNaLENBQUM7SUFFRCxlQUFlO1FBQ1gsS0FBSyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3hCLElBQUksSUFBSSxDQUFDLFFBQVE7WUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFFaEMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO1lBQ2xELE1BQU0sd0RBQXdELENBQUM7UUFDbkUsQ0FBQztJQUNMLENBQUM7SUFFRCxnQkFBZ0IsQ0FBK0I7SUFFZixTQUFTLENBQXVDO0lBRWhGLGtCQUFrQjtRQUNiLElBQUksQ0FBQyxTQUFzQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzFELFFBQVEsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUM7Z0JBQ3JCLEtBQUssU0FBUztvQkFDVixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxRQUFRLENBQUM7b0JBQ3JDLE1BQU07Z0JBRVY7b0JBQ0ksSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDO29CQUNyQyxNQUFNO1lBQ2QsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELEtBQUs7UUFDRCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDO1lBQ3JDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxJQUFtQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxHQUFHLE1BQU0sQ0FBQztZQUUvRCxJQUFJLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztnQkFDZCxJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsV0FBVyxDQUFFLElBQUksQ0FBQyxJQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2RixJQUFJLENBQUMsTUFBTSxDQUFDLG1CQUFtQixFQUFFLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDbEUsQ0FBQztpQkFBTSxDQUFDO2dCQUNKLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFHLElBQUksQ0FBQyxJQUFtQixDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUN2RixlQUFlLEVBQUUsQ0FBQztZQUN0QixDQUFDO1lBRUQsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUM7Z0JBQ2xCLFdBQVcsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFHLElBQUksQ0FBQyxJQUFtQixDQUFDLGFBQWEsRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQ2xILENBQUM7UUFDTCxDQUFDO0lBQ0wsQ0FBQztJQUVELE9BQU87UUFDSCxJQUFJLGlCQUFpQixDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7WUFDaEYsMkhBQTJIO1lBQzNILHFCQUFxQjtZQUNyQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDcEIsNkRBQTZEO1FBQ2pFLENBQUM7SUFDTCxDQUFDO0lBRUQsWUFBWTtRQUNSLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsRCxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDM0MsZ0VBQWdFO1lBQ2hFLElBQUksQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7WUFDMUUsaUJBQWlCLEVBQUUsQ0FBQztRQUN4QixDQUFDO1FBQ0QsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7UUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBRUQsMEJBQTBCO1FBQ3RCLElBQUksSUFBSSxDQUFDLG9CQUFvQixJQUFJLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUM1QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDO1FBQ3JDLENBQUM7SUFDTCxDQUFDO0lBRUQsV0FBVztRQUNQLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUNmLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNwQixLQUFLLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDeEIsQ0FBQztpR0FwSVEsT0FBTzs2REFBUCxPQUFPOzt3Q0FpRUMsYUFBYTs7Ozs7Ozs7OztxRkF2RFYsZ0JBQWdCLCtDQUtoQixlQUFlLGdFQVVmLGdCQUFnQix3REEzQnpCLENBQUMsWUFBWSxDQUFDOztZQWZyQixpQ0FRQztZQUNHLGtCQUF5QjtZQUN6QiwwRUFBc0U7WUFDMUUsaUJBQU07O1lBVEYsNkJBQW9CO1lBR3BCLEFBREEsaUVBQW1HLHdDQUNwRTs7WUFLaEIsZUFBcUQ7WUFBckQsOEVBQXFEOzRCQVpsRSxZQUFZLCtDQUFFLFlBQVk7O2lGQW1CM0IsT0FBTztjQXRCbkIsU0FBUztlQUFDO2dCQUNQLFFBQVEsRUFBRSxrQ0FBa0M7Z0JBQzVDLFVBQVUsRUFBRSxJQUFJO2dCQUNoQixPQUFPLEVBQUUsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDO2dCQUNyQyxRQUFRLEVBQUU7Ozs7Ozs7Ozs7Ozs7S0FhVDtnQkFDRCxlQUFlLEVBQUUsdUJBQXVCLENBQUMsTUFBTTtnQkFDL0MsYUFBYSxFQUFFLGlCQUFpQixDQUFDLElBQUk7Z0JBQ3JDLFNBQVMsRUFBRSxDQUFDLFlBQVksQ0FBQzthQUM1QjtvQkFNWSxNQUFNO2tCQUFkLEtBQUs7WUFLa0MsVUFBVTtrQkFBakQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQUtDLFVBQVU7a0JBQWhELEtBQUs7bUJBQUMsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBSzVCLFVBQVU7a0JBQWxCLEtBQUs7WUFLc0MsT0FBTztrQkFBbEQsS0FBSzttQkFBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRTtZQWVXLGVBQWU7a0JBQS9ELFlBQVk7bUJBQUMsU0FBUyxFQUFFLEVBQUUsV0FBVyxFQUFFLEtBQUssRUFBRTtZQUU1QixJQUFJO2tCQUF0QixTQUFTO21CQUFDLE1BQU07WUF1QmUsU0FBUztrQkFBeEMsZUFBZTttQkFBQyxhQUFhOztrRkFqRXJCLE9BQU87QUEySXBCLE1BQU0sT0FBTyxhQUFhO3VHQUFiLGFBQWE7NERBQWIsYUFBYTtnRUFIWixPQUFPLEVBQUUsWUFBWSxFQUNaLFlBQVk7O2lGQUV0QixhQUFhO2NBSnpCLFFBQVE7ZUFBQztnQkFDTixPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO2dCQUNoQyxPQUFPLEVBQUUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDO2FBQ25DOzt3RkFDWSxhQUFhLGNBM0liLE9BQU8sRUF3SUcsWUFBWSxhQXhJdEIsT0FBTyxFQXlJRyxZQUFZIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3SW5pdCxcbiAgICBib29sZWFuQXR0cmlidXRlLFxuICAgIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxuICAgIENvbXBvbmVudCxcbiAgICBDb250ZW50Q2hpbGQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgaW5qZWN0LFxuICAgIElucHV0LFxuICAgIE5nTW9kdWxlLFxuICAgIG51bWJlckF0dHJpYnV0ZSxcbiAgICBPbkRlc3Ryb3ksXG4gICAgUXVlcnlMaXN0LFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3RW5jYXBzdWxhdGlvblxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGFkZENsYXNzLCBibG9ja0JvZHlTY3JvbGwsIHJlbW92ZUNsYXNzLCB1bmJsb2NrQm9keVNjcm9sbCB9IGZyb20gJ0BwcmltZXVpeC91dGlscyc7XG5pbXBvcnQgeyBQcmltZVRlbXBsYXRlLCBTaGFyZWRNb2R1bGUgfSBmcm9tICdwcmltZW5nL2FwaSc7XG5pbXBvcnQgeyBCYXNlQ29tcG9uZW50IH0gZnJvbSAncHJpbWVuZy9iYXNlY29tcG9uZW50JztcbmltcG9ydCB7IFpJbmRleFV0aWxzIH0gZnJvbSAncHJpbWVuZy91dGlscyc7XG5pbXBvcnQgeyBCbG9ja1VpU3R5bGUgfSBmcm9tICcuL3N0eWxlL2Jsb2NrdWlzdHlsZSc7XG5cbi8qKlxuICogQmxvY2tVSSBjYW4gZWl0aGVyIGJsb2NrIG90aGVyIGNvbXBvbmVudHMgb3IgdGhlIHdob2xlIHBhZ2UuXG4gKiBAZ3JvdXAgQ29tcG9uZW50c1xuICovXG5AQ29tcG9uZW50KHtcbiAgICBzZWxlY3RvcjogJ3AtYmxvY2tVSSwgcC1ibG9ja3VpLCBwLWJsb2NrLXVpJyxcbiAgICBzdGFuZGFsb25lOiB0cnVlLFxuICAgIGltcG9ydHM6IFtDb21tb25Nb2R1bGUsIFNoYXJlZE1vZHVsZV0sXG4gICAgdGVtcGxhdGU6IGBcbiAgICAgICAgPGRpdlxuICAgICAgICAgICAgI21hc2tcbiAgICAgICAgICAgIFtjbGFzc109XCJzdHlsZUNsYXNzXCJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtYnVzeV09XCJibG9ja2VkXCJcbiAgICAgICAgICAgIFtuZ0NsYXNzXT1cInsgJ3AtYmxvY2t1aS1tYXNrLWRvY3VtZW50JzogIXRhcmdldCwgJ3AtYmxvY2t1aSBwLWJsb2NrdWktbWFzayBwLW92ZXJsYXktbWFzayc6IHRydWUgfVwiXG4gICAgICAgICAgICBbbmdTdHlsZV09XCJ7IGRpc3BsYXk6ICdub25lJyB9XCJcbiAgICAgICAgICAgIFthdHRyLmRhdGEtcGMtbmFtZV09XCInYmxvY2t1aSdcIlxuICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidyb290J1wiXG4gICAgICAgID5cbiAgICAgICAgICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJjb250ZW50VGVtcGxhdGUgfHwgX2NvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2Rpdj5cbiAgICBgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgcHJvdmlkZXJzOiBbQmxvY2tVaVN0eWxlXVxufSlcbmV4cG9ydCBjbGFzcyBCbG9ja1VJIGV4dGVuZHMgQmFzZUNvbXBvbmVudCBpbXBsZW1lbnRzIEFmdGVyVmlld0luaXQsIEFmdGVyQ29udGVudEluaXQsIE9uRGVzdHJveSB7XG4gICAgLyoqXG4gICAgICogTmFtZSBvZiB0aGUgbG9jYWwgbmctdGVtcGxhdGUgdmFyaWFibGUgcmVmZXJyaW5nIHRvIGFub3RoZXIgY29tcG9uZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRhcmdldDogYW55O1xuICAgIC8qKlxuICAgICAqIFdoZXRoZXIgdG8gYXV0b21hdGljYWxseSBtYW5hZ2UgbGF5ZXJpbmcuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGF1dG9aSW5kZXg6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIEJhc2UgekluZGV4IHZhbHVlIHRvIHVzZSBpbiBsYXllcmluZy5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IG51bWJlckF0dHJpYnV0ZSB9KSBiYXNlWkluZGV4OiBudW1iZXIgPSAwO1xuICAgIC8qKlxuICAgICAqIENsYXNzIG9mIHRoZSBlbGVtZW50LlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBDdXJyZW50IGJsb2NrZWQgc3RhdGUgYXMgYSBib29sZWFuLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBnZXQgYmxvY2tlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2Jsb2NrZWQ7XG4gICAgfVxuICAgIHNldCBibG9ja2VkKHZhbDogYm9vbGVhbikge1xuICAgICAgICBpZiAodGhpcy5tYXNrICYmIHRoaXMubWFzay5uYXRpdmVFbGVtZW50KSB7XG4gICAgICAgICAgICBpZiAodmFsKSB0aGlzLmJsb2NrKCk7XG4gICAgICAgICAgICBlbHNlIHRoaXMudW5ibG9jaygpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhpcy5fYmxvY2tlZCA9IHZhbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAvKipcbiAgICAgKiB0ZW1wbGF0ZSBvZiB0aGUgY29udGVudFxuICAgICAqIEBncm91cCBUZW1wbGF0ZXNcbiAgICAgKi9cbiAgICBAQ29udGVudENoaWxkKCdjb250ZW50JywgeyBkZXNjZW5kYW50czogZmFsc2UgfSkgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgQFZpZXdDaGlsZCgnbWFzaycpIG1hc2s6IEVsZW1lbnRSZWYgfCB1bmRlZmluZWQ7XG5cbiAgICBfYmxvY2tlZDogYm9vbGVhbiA9IGZhbHNlO1xuXG4gICAgYW5pbWF0aW9uRW5kTGlzdGVuZXI6IFZvaWRGdW5jdGlvbiB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBfY29tcG9uZW50U3R5bGUgPSBpbmplY3QoQmxvY2tVaVN0eWxlKTtcblxuICAgIGNvbnN0cnVjdG9yKCkge1xuICAgICAgICBzdXBlcigpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJWaWV3SW5pdCgpIHtcbiAgICAgICAgc3VwZXIubmdBZnRlclZpZXdJbml0KCk7XG4gICAgICAgIGlmICh0aGlzLl9ibG9ja2VkKSB0aGlzLmJsb2NrKCk7XG5cbiAgICAgICAgaWYgKHRoaXMudGFyZ2V0ICYmICF0aGlzLnRhcmdldC5nZXRCbG9ja2FibGVFbGVtZW50KSB7XG4gICAgICAgICAgICB0aHJvdyAnVGFyZ2V0IG9mIEJsb2NrVUkgbXVzdCBpbXBsZW1lbnQgQmxvY2thYmxlVUkgaW50ZXJmYWNlJztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIF9jb250ZW50VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFByaW1lVGVtcGxhdGUpIHRlbXBsYXRlczogUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+IHwgdW5kZWZpbmVkO1xuXG4gICAgbmdBZnRlckNvbnRlbnRJbml0KCkge1xuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PFByaW1lVGVtcGxhdGU+KS5mb3JFYWNoKChpdGVtKSA9PiB7XG4gICAgICAgICAgICBzd2l0Y2ggKGl0ZW0uZ2V0VHlwZSgpKSB7XG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmNvbnRlbnRUZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICB9XG5cbiAgICBibG9jaygpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIHRoaXMuX2Jsb2NrZWQgPSB0cnVlO1xuICAgICAgICAgICAgKHRoaXMubWFzayBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnN0eWxlLmRpc3BsYXkgPSAnZmxleCc7XG5cbiAgICAgICAgICAgIGlmICh0aGlzLnRhcmdldCkge1xuICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0LmdldEJsb2NrYWJsZUVsZW1lbnQoKS5hcHBlbmRDaGlsZCgodGhpcy5tYXNrIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFyZ2V0LmdldEJsb2NrYWJsZUVsZW1lbnQoKS5zdHlsZS5wb3NpdGlvbiA9ICdyZWxhdGl2ZSc7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRoaXMucmVuZGVyZXIuYXBwZW5kQ2hpbGQodGhpcy5kb2N1bWVudC5ib2R5LCAodGhpcy5tYXNrIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgICAgIGJsb2NrQm9keVNjcm9sbCgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpZiAodGhpcy5hdXRvWkluZGV4KSB7XG4gICAgICAgICAgICAgICAgWkluZGV4VXRpbHMuc2V0KCdtb2RhbCcsICh0aGlzLm1hc2sgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudCwgdGhpcy5iYXNlWkluZGV4ICsgdGhpcy5jb25maWcuekluZGV4Lm1vZGFsKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVuYmxvY2soKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpICYmIHRoaXMubWFzayAmJiAhdGhpcy5hbmltYXRpb25FbmRMaXN0ZW5lcikge1xuICAgICAgICAgICAgLy8gdGhpcy5hbmltYXRpb25FbmRMaXN0ZW5lciA9IHRoaXMucmVuZGVyZXIubGlzdGVuKHRoaXMubWFzay5uYXRpdmVFbGVtZW50LCAnYW5pbWF0aW9uZW5kJywgdGhpcy5kZXN0cm95TW9kYWwuYmluZCh0aGlzKSk7XG4gICAgICAgICAgICAvLyBUT0RPIEFkZCBhbmltYXRpb25cbiAgICAgICAgICAgIHRoaXMuZGVzdHJveU1vZGFsKCk7XG4gICAgICAgICAgICAvLyBhZGRDbGFzcyh0aGlzLm1hc2submF0aXZlRWxlbWVudCwgJ3Atb3ZlcmxheS1tYXNrLWxlYXZlJyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkZXN0cm95TW9kYWwoKSB7XG4gICAgICAgIHRoaXMuX2Jsb2NrZWQgPSBmYWxzZTtcbiAgICAgICAgaWYgKHRoaXMubWFzayAmJiBpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBaSW5kZXhVdGlscy5jbGVhcih0aGlzLm1hc2submF0aXZlRWxlbWVudCk7XG4gICAgICAgICAgICAvLyByZW1vdmVDbGFzcyh0aGlzLm1hc2submF0aXZlRWxlbWVudCwgJ3Atb3ZlcmxheS1tYXNrLWxlYXZlJyk7XG4gICAgICAgICAgICB0aGlzLnJlbmRlcmVyLnJlbW92ZUNoaWxkKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgdGhpcy5tYXNrLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICAgICAgdW5ibG9ja0JvZHlTY3JvbGwoKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLnVuYmluZEFuaW1hdGlvbkVuZExpc3RlbmVyKCk7XG4gICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgfVxuXG4gICAgdW5iaW5kQW5pbWF0aW9uRW5kTGlzdGVuZXIoKSB7XG4gICAgICAgIGlmICh0aGlzLmFuaW1hdGlvbkVuZExpc3RlbmVyICYmIHRoaXMubWFzaykge1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25FbmRMaXN0ZW5lcigpO1xuICAgICAgICAgICAgdGhpcy5hbmltYXRpb25FbmRMaXN0ZW5lciA9IG51bGw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpIHtcbiAgICAgICAgdGhpcy51bmJsb2NrKCk7XG4gICAgICAgIHRoaXMuZGVzdHJveU1vZGFsKCk7XG4gICAgICAgIHN1cGVyLm5nT25EZXN0cm95KCk7XG4gICAgfVxufVxuXG5ATmdNb2R1bGUoe1xuICAgIGltcG9ydHM6IFtCbG9ja1VJLCBTaGFyZWRNb2R1bGVdLFxuICAgIGV4cG9ydHM6IFtCbG9ja1VJLCBTaGFyZWRNb2R1bGVdXG59KVxuZXhwb3J0IGNsYXNzIEJsb2NrVUlNb2R1bGUge31cbiJdfQ==
|