cax-design-system 2.8.2 → 2.8.3
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 +224 -0
- package/accordion/accordion.interface.d.ts +49 -0
- package/accordion/accordion.module.d.ts +13 -0
- package/accordion/index.d.ts +3 -286
- package/accordion/public_api.d.ts +3 -0
- package/animate/animate.d.ts +40 -0
- package/animate/index.d.ts +3 -41
- package/animate/public_api.d.ts +1 -0
- package/animateonscroll/animateonscroll.d.ts +75 -0
- package/animateonscroll/index.d.ts +3 -75
- package/animateonscroll/public_api.d.ts +1 -0
- package/api/blockableui.d.ts +10 -0
- package/api/caxconfig.d.ts +24 -0
- package/api/confirmaeventtype.d.ts +8 -0
- package/api/confirmation.d.ts +96 -0
- package/api/confirmationservice.d.ts +30 -0
- package/api/contextmenuservice.d.ts +11 -0
- package/api/filtermatchmode.d.ts +22 -0
- package/api/filtermetadata.d.ts +18 -0
- package/api/filteroperator.d.ts +4 -0
- package/api/filterservice.d.ts +10 -0
- package/api/index.d.ts +3 -1856
- package/api/lazyloadevent.d.ts +47 -0
- package/api/lazyloadmeta.d.ts +19 -0
- package/api/megamenuitem.d.ts +130 -0
- package/api/menuitem.d.ts +176 -0
- package/api/message.d.ts +30 -0
- package/api/messageservice.d.ts +32 -0
- package/api/overlayoptions.d.ts +188 -0
- package/api/overlayservice.d.ts +9 -0
- package/api/primeicons.d.ts +313 -0
- package/api/public_api.d.ts +34 -0
- package/api/scrolleroptions.d.ts +116 -0
- package/api/selectitem.d.ts +12 -0
- package/api/selectitemgroup.d.ts +10 -0
- package/api/shared.d.ts +24 -0
- package/api/sortevent.d.ts +12 -0
- package/api/sortmeta.d.ts +8 -0
- package/api/tablestate.d.ts +60 -0
- package/api/themegeneratorservice.d.ts +12 -0
- package/api/tooltipoptions.d.ts +69 -0
- package/api/translation.d.ts +135 -0
- package/api/translationkeys.d.ts +50 -0
- package/api/treedragdropservice.d.ts +12 -0
- package/api/treenode.d.ts +91 -0
- package/api/treenodedragevent.d.ts +27 -0
- package/api/treetablenode.d.ts +36 -0
- package/autocomplete/autocomplete.d.ts +616 -0
- package/autocomplete/autocomplete.interface.d.ts +164 -0
- package/autocomplete/autocomplete.module.d.ts +20 -0
- package/autocomplete/index.d.ts +3 -799
- package/autocomplete/public_api.d.ts +3 -0
- package/autofocus/autofocus.d.ts +28 -0
- package/autofocus/index.d.ts +3 -29
- package/autofocus/public_api.d.ts +1 -0
- package/avatar/avatar.d.ts +73 -0
- package/avatar/avatar.module.d.ts +7 -0
- package/avatar/index.d.ts +3 -80
- package/avatar/public_api.d.ts +2 -0
- package/avatargroup/avatargroup.d.ts +21 -0
- package/avatargroup/avatargroup.module.d.ts +9 -0
- package/avatargroup/index.d.ts +3 -30
- package/avatargroup/public_api.d.ts +2 -0
- package/badge/badge.d.ts +21 -0
- package/badge/badge.directive.d.ts +35 -0
- package/badge/badge.module.d.ts +10 -0
- package/badge/index.d.ts +5 -67
- package/badge/public_api.d.ts +3 -0
- package/baseicon/baseicon.d.ts +15 -0
- package/baseicon/index.d.ts +5 -18
- package/baseicon/public_api.d.ts +1 -0
- package/blockui/blockui.d.ts +64 -0
- package/blockui/blockui.interface.d.ts +11 -0
- package/blockui/index.d.ts +3 -77
- package/blockui/public_api.d.ts +2 -0
- package/breadcrumb/breadcrumb.d.ts +55 -0
- package/breadcrumb/breadcrumb.interface.d.ts +38 -0
- package/breadcrumb/breadcrumb.module.d.ts +13 -0
- package/breadcrumb/index.d.ts +3 -105
- package/breadcrumb/public_api.d.ts +3 -0
- package/button/button.d.ts +85 -0
- package/button/button.directive.d.ts +49 -0
- package/button/button.interface.d.ts +30 -0
- package/button/button.module.d.ts +9 -0
- package/button/index.d.ts +3 -170
- package/button/public_api.d.ts +4 -0
- package/buttongroup/buttongroup.d.ts +11 -0
- package/buttongroup/index.d.ts +5 -14
- package/buttongroup/public_api.d.ts +1 -0
- package/calendar/calendar.d.ts +722 -0
- package/calendar/calendar.interface.d.ts +204 -0
- package/calendar/calendar.module.d.ts +9 -0
- package/calendar/index.d.ts +3 -935
- package/calendar/public_api.d.ts +3 -0
- package/card/card.d.ts +53 -0
- package/card/card.interface.d.ts +27 -0
- package/card/card.module.d.ts +11 -0
- package/card/index.d.ts +3 -92
- package/card/public_api.d.ts +3 -0
- package/carousel/carousel.d.ts +227 -0
- package/carousel/carousel.interface.d.ts +63 -0
- package/carousel/index.d.ts +3 -290
- package/carousel/public_api.d.ts +2 -0
- package/cascadeselect/cascadeselect.d.ts +435 -0
- package/cascadeselect/cascadeselect.interface.d.ts +115 -0
- package/cascadeselect/cascadeselect.module.d.ts +15 -0
- package/cascadeselect/index.d.ts +3 -564
- package/cascadeselect/public_api.d.ts +3 -0
- package/chart/chart.d.ts +87 -0
- package/chart/index.d.ts +3 -88
- package/chart/public_api.d.ts +1 -0
- package/checkbox/checkbox.d.ts +168 -0
- package/checkbox/checkbox.interface.d.ts +26 -0
- package/checkbox/checkbox.module.d.ts +10 -0
- package/checkbox/index.d.ts +3 -204
- package/checkbox/public_api.d.ts +3 -0
- package/chip/chip.d.ts +38 -0
- package/chip/chip.interface.d.ts +15 -0
- package/chip/chip.module.d.ts +10 -0
- package/chip/index.d.ts +3 -63
- package/chip/public_api.d.ts +3 -0
- package/chips/chips.d.ts +233 -0
- package/chips/chips.interface.d.ts +58 -0
- package/chips/chips.module.d.ts +14 -0
- package/chips/index.d.ts +3 -305
- package/chips/public_api.d.ts +3 -0
- package/colorpicker/colorpicker.d.ts +240 -0
- package/colorpicker/colorpicker.interface.d.ts +15 -0
- package/colorpicker/colorpicker.module.d.ts +9 -0
- package/colorpicker/index.d.ts +3 -265
- package/colorpicker/public_api.d.ts +3 -0
- package/commentbox/commentbox.d.ts +120 -0
- package/commentbox/commentbox.module.d.ts +17 -0
- package/commentbox/index.d.ts +5 -138
- package/commentbox/public_api.d.ts +2 -0
- package/confirmdialog/confirmdialog.d.ts +281 -0
- package/confirmdialog/confirmdialog.interface.d.ts +39 -0
- package/confirmdialog/confirmdialog.module.d.ts +15 -0
- package/confirmdialog/index.d.ts +3 -336
- package/confirmdialog/public_api.d.ts +3 -0
- package/confirmpopup/confirmpopup.d.ts +119 -0
- package/confirmpopup/confirmpopup.interface.d.ts +27 -0
- package/confirmpopup/index.d.ts +3 -148
- package/confirmpopup/public_api.d.ts +2 -0
- package/contextmenu/contextmenu.d.ts +260 -0
- package/contextmenu/index.d.ts +3 -261
- package/contextmenu/public_api.d.ts +1 -0
- package/dataview/dataview.d.ts +274 -0
- package/dataview/dataview.interface.d.ts +183 -0
- package/dataview/index.d.ts +3 -457
- package/dataview/public_api.d.ts +2 -0
- package/defer/defer.d.ts +39 -0
- package/defer/index.d.ts +3 -40
- package/defer/public_api.d.ts +1 -0
- package/dialog/dialog.d.ts +364 -0
- package/dialog/dialog.interface.d.ts +31 -0
- package/dialog/dialog.module.d.ts +15 -0
- package/dialog/index.d.ts +3 -411
- package/dialog/public_api.d.ts +3 -0
- package/divider/divider.d.ts +49 -0
- package/divider/divider.module.d.ts +7 -0
- package/divider/index.d.ts +3 -56
- package/divider/public_api.d.ts +2 -0
- package/dock/dock.d.ts +115 -0
- package/dock/dock.interface.d.ts +19 -0
- package/dock/index.d.ts +3 -136
- package/dock/public_api.d.ts +2 -0
- package/dom/connectedoverlayscrollhandler.d.ts +9 -0
- package/dom/domhandler.d.ts +95 -0
- package/dom/index.d.ts +3 -105
- package/dom/public_api.d.ts +2 -0
- package/dragdrop/dragdrop.d.ts +112 -0
- package/dragdrop/dragdrop.module.d.ts +8 -0
- package/dragdrop/index.d.ts +3 -120
- package/dragdrop/public_api.d.ts +2 -0
- package/dropdown/dropdown-item.d.ts +30 -0
- package/dropdown/dropdown.d.ts +628 -0
- package/dropdown/dropdown.interface.d.ts +154 -0
- package/dropdown/dropdown.module.d.ts +11 -0
- package/dropdown/index.d.ts +3 -818
- package/dropdown/public_api.d.ts +4 -0
- package/dynamicdialog/dialogservice.d.ts +35 -0
- package/dynamicdialog/dynamicdialog-config.d.ts +221 -0
- package/dynamicdialog/dynamicdialog-injector.d.ts +7 -0
- package/dynamicdialog/dynamicdialog-ref.d.ts +101 -0
- package/dynamicdialog/dynamicdialog.d.ts +124 -0
- package/dynamicdialog/dynamicdialogcontent.d.ts +8 -0
- package/dynamicdialog/index.d.ts +3 -490
- package/dynamicdialog/public_api.d.ts +6 -0
- package/editor/editor.d.ts +104 -0
- package/editor/editor.interface.d.ts +64 -0
- package/editor/editor.module.d.ts +9 -0
- package/editor/index.d.ts +3 -177
- package/editor/public_api.d.ts +3 -0
- package/esm2022/accordion/accordion.interface.mjs +2 -0
- package/esm2022/accordion/accordion.mjs +598 -0
- package/esm2022/accordion/accordion.module.mjs +23 -0
- package/esm2022/accordion/cax-design-system-accordion.mjs +5 -0
- package/esm2022/accordion/public_api.mjs +4 -0
- package/esm2022/animate/animate.mjs +101 -0
- package/esm2022/animate/cax-design-system-animate.mjs +5 -0
- package/esm2022/animate/public_api.mjs +2 -0
- package/esm2022/animateonscroll/animateonscroll.mjs +185 -0
- package/esm2022/animateonscroll/cax-design-system-animateonscroll.mjs +5 -0
- package/esm2022/animateonscroll/public_api.mjs +2 -0
- package/esm2022/api/blockableui.mjs +2 -0
- package/esm2022/api/cax-design-system-api.mjs +5 -0
- package/esm2022/api/caxconfig.mjs +163 -0
- package/esm2022/api/confirmaeventtype.mjs +10 -0
- package/esm2022/api/confirmation.mjs +2 -0
- package/esm2022/api/confirmationservice.mjs +43 -0
- package/esm2022/api/contextmenuservice.mjs +22 -0
- package/esm2022/api/filtermatchmode.mjs +23 -0
- package/esm2022/api/filtermetadata.mjs +2 -0
- package/esm2022/api/filteroperator.mjs +5 -0
- package/esm2022/api/filterservice.mjs +225 -0
- package/esm2022/api/lazyloadevent.mjs +2 -0
- package/esm2022/api/lazyloadmeta.mjs +2 -0
- package/esm2022/api/megamenuitem.mjs +2 -0
- package/esm2022/api/menuitem.mjs +2 -0
- package/esm2022/api/message.mjs +2 -0
- package/esm2022/api/messageservice.mjs +47 -0
- package/esm2022/api/overlayoptions.mjs +2 -0
- package/esm2022/api/overlayservice.mjs +19 -0
- package/esm2022/api/primeicons.mjs +314 -0
- package/esm2022/api/public_api.mjs +35 -0
- package/esm2022/api/scrolleroptions.mjs +2 -0
- package/esm2022/api/selectitem.mjs +2 -0
- package/esm2022/api/selectitemgroup.mjs +2 -0
- package/esm2022/api/shared.mjs +65 -0
- package/esm2022/api/sortevent.mjs +2 -0
- package/esm2022/api/sortmeta.mjs +2 -0
- package/esm2022/api/tablestate.mjs +2 -0
- package/esm2022/api/themegeneratorservice.mjs +109 -0
- package/esm2022/api/tooltipoptions.mjs +2 -0
- package/esm2022/api/translation.mjs +2 -0
- package/esm2022/api/translationkeys.mjs +51 -0
- package/esm2022/api/treedragdropservice.mjs +21 -0
- package/esm2022/api/treenode.mjs +2 -0
- package/esm2022/api/treenodedragevent.mjs +2 -0
- package/esm2022/api/treetablenode.mjs +2 -0
- package/esm2022/autocomplete/autocomplete.interface.mjs +2 -0
- package/esm2022/autocomplete/autocomplete.mjs +1462 -0
- package/esm2022/autocomplete/autocomplete.module.mjs +30 -0
- package/esm2022/autocomplete/cax-design-system-autocomplete.mjs +5 -0
- package/esm2022/autocomplete/public_api.mjs +4 -0
- package/esm2022/autofocus/autofocus.mjs +78 -0
- package/esm2022/autofocus/cax-design-system-autofocus.mjs +5 -0
- package/esm2022/autofocus/public_api.mjs +2 -0
- package/esm2022/avatar/avatar.mjs +104 -0
- package/esm2022/avatar/avatar.module.mjs +16 -0
- package/esm2022/avatar/cax-design-system-avatar.mjs +5 -0
- package/esm2022/avatar/public_api.mjs +3 -0
- package/esm2022/avatargroup/avatargroup.mjs +32 -0
- package/esm2022/avatargroup/avatargroup.module.mjs +19 -0
- package/esm2022/avatargroup/cax-design-system-avatargroup.mjs +5 -0
- package/esm2022/avatargroup/public_api.mjs +3 -0
- package/esm2022/badge/badge.directive.mjs +193 -0
- package/esm2022/badge/badge.mjs +50 -0
- package/esm2022/badge/badge.module.mjs +20 -0
- package/esm2022/badge/cax-design-system-badge.mjs +5 -0
- package/esm2022/badge/public_api.mjs +4 -0
- package/esm2022/baseicon/baseicon.mjs +45 -0
- package/esm2022/baseicon/cax-design-system-baseicon.mjs +5 -0
- package/esm2022/baseicon/public_api.mjs +2 -0
- package/esm2022/blockui/blockui.interface.mjs +2 -0
- package/esm2022/blockui/blockui.mjs +206 -0
- package/esm2022/blockui/cax-design-system-blockui.mjs +5 -0
- package/esm2022/blockui/public_api.mjs +3 -0
- package/esm2022/breadcrumb/breadcrumb.interface.mjs +2 -0
- package/esm2022/breadcrumb/breadcrumb.mjs +120 -0
- package/esm2022/breadcrumb/breadcrumb.module.mjs +23 -0
- package/esm2022/breadcrumb/cax-design-system-breadcrumb.mjs +5 -0
- package/esm2022/breadcrumb/public_api.mjs +4 -0
- package/esm2022/button/button.directive.mjs +259 -0
- package/esm2022/button/button.interface.mjs +2 -0
- package/esm2022/button/button.mjs +190 -0
- package/esm2022/button/button.module.mjs +18 -0
- package/esm2022/button/cax-design-system-button.mjs +5 -0
- package/esm2022/button/public_api.mjs +5 -0
- package/esm2022/buttongroup/buttongroup.mjs +38 -0
- package/esm2022/buttongroup/cax-design-system-buttongroup.mjs +5 -0
- package/esm2022/buttongroup/public_api.mjs +2 -0
- package/esm2022/calendar/calendar.interface.mjs +2 -0
- package/esm2022/calendar/calendar.mjs +3242 -0
- package/esm2022/calendar/calendar.module.mjs +18 -0
- package/esm2022/calendar/cax-design-system-calendar.mjs +5 -0
- package/esm2022/calendar/public_api.mjs +4 -0
- package/esm2022/card/card.interface.mjs +2 -0
- package/esm2022/card/card.mjs +117 -0
- package/esm2022/card/card.module.mjs +21 -0
- package/esm2022/card/cax-design-system-card.mjs +5 -0
- package/esm2022/card/public_api.mjs +4 -0
- package/esm2022/carousel/carousel.interface.mjs +2 -0
- package/esm2022/carousel/carousel.mjs +968 -0
- package/esm2022/carousel/cax-design-system-carousel.mjs +5 -0
- package/esm2022/carousel/public_api.mjs +3 -0
- package/esm2022/cascadeselect/cascadeselect.interface.mjs +2 -0
- package/esm2022/cascadeselect/cascadeselect.mjs +1135 -0
- package/esm2022/cascadeselect/cascadeselect.module.mjs +25 -0
- package/esm2022/cascadeselect/cax-design-system-cascadeselect.mjs +5 -0
- package/esm2022/cascadeselect/public_api.mjs +4 -0
- package/esm2022/cax-design-system.mjs +5 -0
- package/esm2022/chart/cax-design-system-chart.mjs +5 -0
- package/esm2022/chart/chart.mjs +236 -0
- package/esm2022/chart/public_api.mjs +2 -0
- package/esm2022/checkbox/cax-design-system-checkbox.mjs +5 -0
- package/esm2022/checkbox/checkbox.interface.mjs +2 -0
- package/esm2022/checkbox/checkbox.mjs +318 -0
- package/esm2022/checkbox/checkbox.module.mjs +20 -0
- package/esm2022/checkbox/public_api.mjs +4 -0
- package/esm2022/chip/cax-design-system-chip.mjs +5 -0
- package/esm2022/chip/chip.interface.mjs +2 -0
- package/esm2022/chip/chip.mjs +90 -0
- package/esm2022/chip/chip.module.mjs +20 -0
- package/esm2022/chip/public_api.mjs +4 -0
- package/esm2022/chips/cax-design-system-chips.mjs +5 -0
- package/esm2022/chips/chips.interface.mjs +2 -0
- package/esm2022/chips/chips.mjs +610 -0
- package/esm2022/chips/chips.module.mjs +23 -0
- package/esm2022/chips/public_api.mjs +4 -0
- package/esm2022/colorpicker/cax-design-system-colorpicker.mjs +5 -0
- package/esm2022/colorpicker/colorpicker.interface.mjs +2 -0
- package/esm2022/colorpicker/colorpicker.mjs +715 -0
- package/esm2022/colorpicker/colorpicker.module.mjs +19 -0
- package/esm2022/colorpicker/public_api.mjs +4 -0
- package/esm2022/commentbox/cax-design-system-commentbox.mjs +5 -0
- package/esm2022/commentbox/commentbox.mjs +575 -0
- package/esm2022/commentbox/commentbox.module.mjs +27 -0
- package/esm2022/commentbox/public_api.mjs +3 -0
- package/esm2022/confirmdialog/cax-design-system-confirmdialog.mjs +5 -0
- package/esm2022/confirmdialog/confirmdialog.interface.mjs +2 -0
- package/esm2022/confirmdialog/confirmdialog.mjs +720 -0
- package/esm2022/confirmdialog/confirmdialog.module.mjs +25 -0
- package/esm2022/confirmdialog/public_api.mjs +4 -0
- package/esm2022/confirmpopup/cax-design-system-confirmpopup.mjs +5 -0
- package/esm2022/confirmpopup/confirmpopup.interface.mjs +2 -0
- package/esm2022/confirmpopup/confirmpopup.mjs +499 -0
- package/esm2022/confirmpopup/public_api.mjs +3 -0
- package/esm2022/contextmenu/cax-design-system-contextmenu.mjs +5 -0
- package/esm2022/contextmenu/contextmenu.mjs +1304 -0
- package/esm2022/contextmenu/public_api.mjs +2 -0
- package/esm2022/dataview/cax-design-system-dataview.mjs +5 -0
- package/esm2022/dataview/dataview.interface.mjs +2 -0
- package/esm2022/dataview/dataview.mjs +723 -0
- package/esm2022/dataview/public_api.mjs +3 -0
- package/esm2022/defer/cax-design-system-defer.mjs +5 -0
- package/esm2022/defer/defer.mjs +111 -0
- package/esm2022/defer/public_api.mjs +2 -0
- package/esm2022/dialog/cax-design-system-dialog.mjs +5 -0
- package/esm2022/dialog/dialog.interface.mjs +2 -0
- package/esm2022/dialog/dialog.mjs +959 -0
- package/esm2022/dialog/dialog.module.mjs +25 -0
- package/esm2022/dialog/public_api.mjs +4 -0
- package/esm2022/divider/cax-design-system-divider.mjs +5 -0
- package/esm2022/divider/divider.mjs +69 -0
- package/esm2022/divider/divider.module.mjs +16 -0
- package/esm2022/divider/public_api.mjs +3 -0
- package/esm2022/dock/cax-design-system-dock.mjs +5 -0
- package/esm2022/dock/dock.interface.mjs +2 -0
- package/esm2022/dock/dock.mjs +431 -0
- package/esm2022/dock/public_api.mjs +3 -0
- package/esm2022/dom/cax-design-system-dom.mjs +5 -0
- package/esm2022/dom/connectedoverlayscrollhandler.mjs +30 -0
- package/esm2022/dom/domhandler.mjs +722 -0
- package/esm2022/dom/public_api.mjs +3 -0
- package/esm2022/dragdrop/cax-design-system-dragdrop.mjs +5 -0
- package/esm2022/dragdrop/dragdrop.mjs +309 -0
- package/esm2022/dragdrop/dragdrop.module.mjs +18 -0
- package/esm2022/dragdrop/public_api.mjs +3 -0
- package/esm2022/dropdown/cax-design-system-dropdown.mjs +5 -0
- package/esm2022/dropdown/dropdown-item.mjs +72 -0
- package/esm2022/dropdown/dropdown.interface.mjs +2 -0
- package/esm2022/dropdown/dropdown.mjs +1599 -0
- package/esm2022/dropdown/dropdown.module.mjs +20 -0
- package/esm2022/dropdown/public_api.mjs +5 -0
- package/esm2022/dynamicdialog/cax-design-system-dynamicdialog.mjs +5 -0
- package/esm2022/dynamicdialog/dialogservice.mjs +102 -0
- package/esm2022/dynamicdialog/dynamicdialog-config.mjs +187 -0
- package/esm2022/dynamicdialog/dynamicdialog-injector.mjs +15 -0
- package/esm2022/dynamicdialog/dynamicdialog-ref.mjs +119 -0
- package/esm2022/dynamicdialog/dynamicdialog.mjs +696 -0
- package/esm2022/dynamicdialog/dynamicdialogcontent.mjs +20 -0
- package/esm2022/dynamicdialog/public_api.mjs +7 -0
- package/esm2022/editor/cax-design-system-editor.mjs +5 -0
- package/esm2022/editor/editor.interface.mjs +2 -0
- package/esm2022/editor/editor.mjs +281 -0
- package/esm2022/editor/editor.module.mjs +19 -0
- package/esm2022/editor/public_api.mjs +4 -0
- package/esm2022/fieldset/cax-design-system-fieldset.mjs +5 -0
- package/esm2022/fieldset/fieldset.interface.mjs +2 -0
- package/esm2022/fieldset/fieldset.mjs +297 -0
- package/esm2022/fieldset/public_api.mjs +3 -0
- package/esm2022/fileupload/cax-design-system-fileupload.mjs +5 -0
- package/esm2022/fileupload/fileupload.interface.mjs +2 -0
- package/esm2022/fileupload/fileupload.mjs +1188 -0
- package/esm2022/fileupload/public_api.mjs +3 -0
- package/esm2022/floatlabel/cax-design-system-floatlabel.mjs +5 -0
- package/esm2022/floatlabel/floatlabel.mjs +28 -0
- package/esm2022/floatlabel/floatlabel.module.mjs +20 -0
- package/esm2022/floatlabel/public_api.mjs +3 -0
- package/esm2022/focustrap/cax-design-system-focustrap.mjs +5 -0
- package/esm2022/focustrap/focustrap.mjs +103 -0
- package/esm2022/focustrap/public_api.mjs +2 -0
- package/esm2022/galleria/cax-design-system-galleria.mjs +5 -0
- package/esm2022/galleria/galleria.interface.mjs +2 -0
- package/esm2022/galleria/galleria.mjs +1668 -0
- package/esm2022/galleria/public_api.mjs +3 -0
- package/esm2022/iconfield/cax-design-system-iconfield.mjs +5 -0
- package/esm2022/iconfield/iconfield.mjs +44 -0
- package/esm2022/iconfield/public_api.mjs +2 -0
- package/esm2022/icons/angledoubledown/angledoubledown.mjs +35 -0
- package/esm2022/icons/angledoubledown/cax-design-system-icons-angledoubledown.mjs +5 -0
- package/esm2022/icons/angledoubledown/public_api.mjs +2 -0
- package/esm2022/icons/angledoubleleft/angledoubleleft.mjs +35 -0
- package/esm2022/icons/angledoubleleft/cax-design-system-icons-angledoubleleft.mjs +5 -0
- package/esm2022/icons/angledoubleleft/public_api.mjs +2 -0
- package/esm2022/icons/angledoubleright/angledoubleright.mjs +35 -0
- package/esm2022/icons/angledoubleright/cax-design-system-icons-angledoubleright.mjs +5 -0
- package/esm2022/icons/angledoubleright/public_api.mjs +2 -0
- package/esm2022/icons/angledoubleup/angledoubleup.mjs +35 -0
- package/esm2022/icons/angledoubleup/cax-design-system-icons-angledoubleup.mjs +5 -0
- package/esm2022/icons/angledoubleup/public_api.mjs +2 -0
- package/esm2022/icons/angledown/angledown.mjs +31 -0
- package/esm2022/icons/angledown/cax-design-system-icons-angledown.mjs +5 -0
- package/esm2022/icons/angledown/public_api.mjs +2 -0
- package/esm2022/icons/angleleft/angleleft.mjs +31 -0
- package/esm2022/icons/angleleft/cax-design-system-icons-angleleft.mjs +5 -0
- package/esm2022/icons/angleleft/public_api.mjs +2 -0
- package/esm2022/icons/angleright/angleright.mjs +31 -0
- package/esm2022/icons/angleright/cax-design-system-icons-angleright.mjs +5 -0
- package/esm2022/icons/angleright/public_api.mjs +2 -0
- package/esm2022/icons/angleup/angleup.mjs +31 -0
- package/esm2022/icons/angleup/cax-design-system-icons-angleup.mjs +5 -0
- package/esm2022/icons/angleup/public_api.mjs +2 -0
- package/esm2022/icons/arrowdown/arrowdown.mjs +54 -0
- package/esm2022/icons/arrowdown/cax-design-system-icons-arrowdown.mjs +5 -0
- package/esm2022/icons/arrowdown/public_api.mjs +2 -0
- package/esm2022/icons/arrowdownleft/arrowdownleft.mjs +31 -0
- package/esm2022/icons/arrowdownleft/cax-design-system-icons-arrowdownleft.mjs +5 -0
- package/esm2022/icons/arrowdownleft/public_api.mjs +2 -0
- package/esm2022/icons/arrowdownright/arrowdownright.mjs +31 -0
- package/esm2022/icons/arrowdownright/cax-design-system-icons-arrowdownright.mjs +5 -0
- package/esm2022/icons/arrowdownright/public_api.mjs +2 -0
- package/esm2022/icons/arrowleft/arrowleft.mjs +54 -0
- package/esm2022/icons/arrowleft/cax-design-system-icons-arrowleft.mjs +5 -0
- package/esm2022/icons/arrowleft/public_api.mjs +2 -0
- package/esm2022/icons/arrowright/arrowright.mjs +35 -0
- package/esm2022/icons/arrowright/cax-design-system-icons-arrowright.mjs +5 -0
- package/esm2022/icons/arrowright/public_api.mjs +2 -0
- package/esm2022/icons/arrowup/arrowup.mjs +54 -0
- package/esm2022/icons/arrowup/cax-design-system-icons-arrowup.mjs +5 -0
- package/esm2022/icons/arrowup/public_api.mjs +2 -0
- package/esm2022/icons/ban/ban.mjs +50 -0
- package/esm2022/icons/ban/cax-design-system-icons-ban.mjs +5 -0
- package/esm2022/icons/ban/public_api.mjs +2 -0
- package/esm2022/icons/bars/bars.mjs +35 -0
- package/esm2022/icons/bars/cax-design-system-icons-bars.mjs +5 -0
- package/esm2022/icons/bars/public_api.mjs +2 -0
- package/esm2022/icons/blank/blank.mjs +25 -0
- package/esm2022/icons/blank/cax-design-system-icons-blank.mjs +5 -0
- package/esm2022/icons/blank/public_api.mjs +2 -0
- package/esm2022/icons/calendar/calendar.mjs +31 -0
- package/esm2022/icons/calendar/cax-design-system-icons-calendar.mjs +5 -0
- package/esm2022/icons/calendar/public_api.mjs +2 -0
- package/esm2022/icons/caretleft/caretleft.mjs +31 -0
- package/esm2022/icons/caretleft/cax-design-system-icons-caretleft.mjs +5 -0
- package/esm2022/icons/caretleft/public_api.mjs +2 -0
- package/esm2022/icons/caretright/caretright.mjs +31 -0
- package/esm2022/icons/caretright/cax-design-system-icons-caretright.mjs +5 -0
- package/esm2022/icons/caretright/public_api.mjs +2 -0
- package/esm2022/icons/check/cax-design-system-icons-check.mjs +5 -0
- package/esm2022/icons/check/check.mjs +31 -0
- package/esm2022/icons/check/public_api.mjs +2 -0
- package/esm2022/icons/chevrondown/cax-design-system-icons-chevrondown.mjs +5 -0
- package/esm2022/icons/chevrondown/chevrondown.mjs +31 -0
- package/esm2022/icons/chevrondown/public_api.mjs +2 -0
- package/esm2022/icons/chevronleft/cax-design-system-icons-chevronleft.mjs +5 -0
- package/esm2022/icons/chevronleft/chevronleft.mjs +31 -0
- package/esm2022/icons/chevronleft/public_api.mjs +2 -0
- package/esm2022/icons/chevronright/cax-design-system-icons-chevronright.mjs +5 -0
- package/esm2022/icons/chevronright/chevronright.mjs +31 -0
- package/esm2022/icons/chevronright/public_api.mjs +2 -0
- package/esm2022/icons/chevronup/cax-design-system-icons-chevronup.mjs +5 -0
- package/esm2022/icons/chevronup/chevronup.mjs +31 -0
- package/esm2022/icons/chevronup/public_api.mjs +2 -0
- package/esm2022/icons/exclamationtriangle/cax-design-system-icons-exclamationtriangle.mjs +5 -0
- package/esm2022/icons/exclamationtriangle/exclamationtriangle.mjs +66 -0
- package/esm2022/icons/exclamationtriangle/public_api.mjs +2 -0
- package/esm2022/icons/eye/cax-design-system-icons-eye.mjs +5 -0
- package/esm2022/icons/eye/eye.mjs +35 -0
- package/esm2022/icons/eye/public_api.mjs +2 -0
- package/esm2022/icons/eyeslash/cax-design-system-icons-eyeslash.mjs +5 -0
- package/esm2022/icons/eyeslash/eyeslash.mjs +54 -0
- package/esm2022/icons/eyeslash/public_api.mjs +2 -0
- package/esm2022/icons/filter/cax-design-system-icons-filter.mjs +5 -0
- package/esm2022/icons/filter/filter.mjs +50 -0
- package/esm2022/icons/filter/public_api.mjs +2 -0
- package/esm2022/icons/filterslash/cax-design-system-icons-filterslash.mjs +5 -0
- package/esm2022/icons/filterslash/filterslash.mjs +54 -0
- package/esm2022/icons/filterslash/public_api.mjs +2 -0
- package/esm2022/icons/home/cax-design-system-icons-home.mjs +5 -0
- package/esm2022/icons/home/home.mjs +54 -0
- package/esm2022/icons/home/public_api.mjs +2 -0
- package/esm2022/icons/infocircle/cax-design-system-icons-infocircle.mjs +5 -0
- package/esm2022/icons/infocircle/infocircle.mjs +54 -0
- package/esm2022/icons/infocircle/public_api.mjs +2 -0
- package/esm2022/icons/minus/cax-design-system-icons-minus.mjs +5 -0
- package/esm2022/icons/minus/minus.mjs +32 -0
- package/esm2022/icons/minus/public_api.mjs +2 -0
- package/esm2022/icons/pencil/cax-design-system-icons-pencil.mjs +5 -0
- package/esm2022/icons/pencil/pencil.mjs +50 -0
- package/esm2022/icons/pencil/public_api.mjs +2 -0
- package/esm2022/icons/plus/cax-design-system-icons-plus.mjs +5 -0
- package/esm2022/icons/plus/plus.mjs +50 -0
- package/esm2022/icons/plus/public_api.mjs +2 -0
- package/esm2022/icons/refresh/cax-design-system-icons-refresh.mjs +5 -0
- package/esm2022/icons/refresh/public_api.mjs +2 -0
- package/esm2022/icons/refresh/refresh.mjs +54 -0
- package/esm2022/icons/search/cax-design-system-icons-search.mjs +5 -0
- package/esm2022/icons/search/public_api.mjs +2 -0
- package/esm2022/icons/search/search.mjs +54 -0
- package/esm2022/icons/searchminus/cax-design-system-icons-searchminus.mjs +5 -0
- package/esm2022/icons/searchminus/public_api.mjs +2 -0
- package/esm2022/icons/searchminus/searchminus.mjs +54 -0
- package/esm2022/icons/searchplus/cax-design-system-icons-searchplus.mjs +5 -0
- package/esm2022/icons/searchplus/public_api.mjs +2 -0
- package/esm2022/icons/searchplus/searchplus.mjs +54 -0
- package/esm2022/icons/sortalt/cax-design-system-icons-sortalt.mjs +5 -0
- package/esm2022/icons/sortalt/public_api.mjs +2 -0
- package/esm2022/icons/sortalt/sortalt.mjs +62 -0
- package/esm2022/icons/sortamountdown/cax-design-system-icons-sortamountdown.mjs +5 -0
- package/esm2022/icons/sortamountdown/public_api.mjs +2 -0
- package/esm2022/icons/sortamountdown/sortamountdown.mjs +50 -0
- package/esm2022/icons/sortamountupalt/cax-design-system-icons-sortamountupalt.mjs +5 -0
- package/esm2022/icons/sortamountupalt/public_api.mjs +2 -0
- package/esm2022/icons/sortamountupalt/sortamountupalt.mjs +50 -0
- package/esm2022/icons/spinner/cax-design-system-icons-spinner.mjs +5 -0
- package/esm2022/icons/spinner/public_api.mjs +2 -0
- package/esm2022/icons/spinner/spinner.mjs +50 -0
- package/esm2022/icons/star/cax-design-system-icons-star.mjs +5 -0
- package/esm2022/icons/star/public_api.mjs +2 -0
- package/esm2022/icons/star/star.mjs +50 -0
- package/esm2022/icons/starfill/cax-design-system-icons-starfill.mjs +5 -0
- package/esm2022/icons/starfill/public_api.mjs +2 -0
- package/esm2022/icons/starfill/starfill.mjs +50 -0
- package/esm2022/icons/thlarge/cax-design-system-icons-thlarge.mjs +5 -0
- package/esm2022/icons/thlarge/public_api.mjs +2 -0
- package/esm2022/icons/thlarge/thlarge.mjs +54 -0
- package/esm2022/icons/times/cax-design-system-icons-times.mjs +5 -0
- package/esm2022/icons/times/public_api.mjs +2 -0
- package/esm2022/icons/times/times.mjs +31 -0
- package/esm2022/icons/timescircle/cax-design-system-icons-timescircle.mjs +5 -0
- package/esm2022/icons/timescircle/public_api.mjs +2 -0
- package/esm2022/icons/timescircle/timescircle.mjs +54 -0
- package/esm2022/icons/trash/cax-design-system-icons-trash.mjs +5 -0
- package/esm2022/icons/trash/public_api.mjs +2 -0
- package/esm2022/icons/trash/trash.mjs +54 -0
- package/esm2022/icons/undo/cax-design-system-icons-undo.mjs +5 -0
- package/esm2022/icons/undo/public_api.mjs +2 -0
- package/esm2022/icons/undo/undo.mjs +54 -0
- package/esm2022/icons/upload/cax-design-system-icons-upload.mjs +5 -0
- package/esm2022/icons/upload/public_api.mjs +2 -0
- package/esm2022/icons/upload/upload.mjs +54 -0
- package/esm2022/icons/windowmaximize/cax-design-system-icons-windowmaximize.mjs +5 -0
- package/esm2022/icons/windowmaximize/public_api.mjs +2 -0
- package/esm2022/icons/windowmaximize/windowmaximize.mjs +54 -0
- package/esm2022/icons/windowminimize/cax-design-system-icons-windowminimize.mjs +5 -0
- package/esm2022/icons/windowminimize/public_api.mjs +2 -0
- package/esm2022/icons/windowminimize/windowminimize.mjs +54 -0
- package/esm2022/image/cax-design-system-image.mjs +5 -0
- package/esm2022/image/image.interface.mjs +2 -0
- package/esm2022/image/image.mjs +418 -0
- package/esm2022/image/image.module.mjs +17 -0
- package/esm2022/image/public_api.mjs +4 -0
- package/esm2022/inplace/cax-design-system-inplace.mjs +5 -0
- package/esm2022/inplace/inplace.interface.mjs +2 -0
- package/esm2022/inplace/inplace.mjs +243 -0
- package/esm2022/inplace/public_api.mjs +3 -0
- package/esm2022/inputgroup/cax-design-system-inputgroup.mjs +5 -0
- package/esm2022/inputgroup/inputgroup.mjs +55 -0
- package/esm2022/inputgroup/inputgroup.module.mjs +25 -0
- package/esm2022/inputgroup/public_api.mjs +3 -0
- package/esm2022/inputgroupaddon/cax-design-system-inputgroupaddon.mjs +5 -0
- package/esm2022/inputgroupaddon/inputgroupaddon.mjs +32 -0
- package/esm2022/inputgroupaddon/inputgroupaddon.module.mjs +24 -0
- package/esm2022/inputgroupaddon/public_api.mjs +3 -0
- package/esm2022/inputicon/cax-design-system-inputicon.mjs +5 -0
- package/esm2022/inputicon/inputicon.mjs +38 -0
- package/esm2022/inputicon/public_api.mjs +2 -0
- package/esm2022/inputmask/cax-design-system-inputmask.mjs +5 -0
- package/esm2022/inputmask/inputmask.interface.mjs +2 -0
- package/esm2022/inputmask/inputmask.mjs +848 -0
- package/esm2022/inputmask/inputmask.module.mjs +22 -0
- package/esm2022/inputmask/public_api.mjs +4 -0
- package/esm2022/inputnumber/cax-design-system-inputnumber.mjs +5 -0
- package/esm2022/inputnumber/inputnumber.interface.mjs +2 -0
- package/esm2022/inputnumber/inputnumber.mjs +1296 -0
- package/esm2022/inputnumber/inputnumber.module.mjs +17 -0
- package/esm2022/inputnumber/public_api.mjs +4 -0
- package/esm2022/inputotp/cax-design-system-inputotp.mjs +5 -0
- package/esm2022/inputotp/inputotp.interface.mjs +2 -0
- package/esm2022/inputotp/inputotp.mjs +381 -0
- package/esm2022/inputotp/public_api.mjs +3 -0
- package/esm2022/inputswitch/cax-design-system-inputswitch.mjs +5 -0
- package/esm2022/inputswitch/inputswitch.interface.mjs +2 -0
- package/esm2022/inputswitch/inputswitch.mjs +244 -0
- package/esm2022/inputswitch/public_api.mjs +3 -0
- package/esm2022/inputtext/cax-design-system-inputtext.mjs +5 -0
- package/esm2022/inputtext/inputtext.component.mjs +132 -0
- package/esm2022/inputtext/inputtext.directive.mjs +76 -0
- package/esm2022/inputtext/inputtext.module.mjs +20 -0
- package/esm2022/inputtext/public_api.mjs +4 -0
- package/esm2022/inputtextarea/cax-design-system-inputtextarea.mjs +5 -0
- package/esm2022/inputtextarea/inputtextarea.component.mjs +155 -0
- package/esm2022/inputtextarea/inputtextarea.directive.mjs +121 -0
- package/esm2022/inputtextarea/inputtextarea.module.mjs +20 -0
- package/esm2022/inputtextarea/public_api.mjs +4 -0
- package/esm2022/keyfilter/cax-design-system-keyfilter.mjs +5 -0
- package/esm2022/keyfilter/keyfilter.interface.mjs +2 -0
- package/esm2022/keyfilter/keyfilter.mjs +265 -0
- package/esm2022/keyfilter/public_api.mjs +3 -0
- package/esm2022/knob/cax-design-system-knob.mjs +5 -0
- package/esm2022/knob/knob.mjs +464 -0
- package/esm2022/knob/public_api.mjs +2 -0
- package/esm2022/listbox/cax-design-system-listbox.mjs +5 -0
- package/esm2022/listbox/listbox.interface.mjs +2 -0
- package/esm2022/listbox/listbox.mjs +1555 -0
- package/esm2022/listbox/public_api.mjs +3 -0
- package/esm2022/logo/cax-design-system-logo.mjs +5 -0
- package/esm2022/logo/logo.mjs +45 -0
- package/esm2022/logo/logo.module.mjs +16 -0
- package/esm2022/logo/public_api.mjs +3 -0
- package/esm2022/megamenu/cax-design-system-megamenu.mjs +5 -0
- package/esm2022/megamenu/megamenu.interface.mjs +2 -0
- package/esm2022/megamenu/megamenu.mjs +1190 -0
- package/esm2022/megamenu/public_api.mjs +3 -0
- package/esm2022/menu/cax-design-system-menu.mjs +5 -0
- package/esm2022/menu/menu.mjs +626 -0
- package/esm2022/menu/menu.module.mjs +22 -0
- package/esm2022/menu/public_api.mjs +3 -0
- package/esm2022/menubar/cax-design-system-menubar.mjs +5 -0
- package/esm2022/menubar/menubar.interface.mjs +2 -0
- package/esm2022/menubar/menubar.mjs +1249 -0
- package/esm2022/menubar/public_api.mjs +3 -0
- package/esm2022/message/cax-design-system-message.mjs +5 -0
- package/esm2022/message/message.mjs +112 -0
- package/esm2022/message/public_api.mjs +2 -0
- package/esm2022/messages/cax-design-system-messages.mjs +5 -0
- package/esm2022/messages/messages.interface.mjs +2 -0
- package/esm2022/messages/messages.mjs +283 -0
- package/esm2022/messages/messages.module.mjs +17 -0
- package/esm2022/messages/public_api.mjs +4 -0
- package/esm2022/metergroup/cax-design-system-metergroup.mjs +5 -0
- package/esm2022/metergroup/metergroup.interface.mjs +2 -0
- package/esm2022/metergroup/metergroup.mjs +280 -0
- package/esm2022/metergroup/public_api.mjs +3 -0
- package/esm2022/multiselect/cax-design-system-multiselect.mjs +5 -0
- package/esm2022/multiselect/multiselect.interface.mjs +2 -0
- package/esm2022/multiselect/multiselect.mjs +1875 -0
- package/esm2022/multiselect/multiselect.module.mjs +30 -0
- package/esm2022/multiselect/public_api.mjs +4 -0
- package/esm2022/navigation/cax-design-system-navigation.mjs +5 -0
- package/esm2022/navigation/navigation.interface.mjs +2 -0
- package/esm2022/navigation/navigation.mjs +399 -0
- package/esm2022/navigation/navigation.module.mjs +16 -0
- package/esm2022/navigation/public_api.mjs +3 -0
- package/esm2022/orderlist/cax-design-system-orderlist.mjs +5 -0
- package/esm2022/orderlist/orderlist.interface.mjs +2 -0
- package/esm2022/orderlist/orderlist.mjs +993 -0
- package/esm2022/orderlist/public_api.mjs +3 -0
- package/esm2022/organizationchart/cax-design-system-organizationchart.mjs +5 -0
- package/esm2022/organizationchart/organizationchart.interface.mjs +2 -0
- package/esm2022/organizationchart/organizationchart.mjs +416 -0
- package/esm2022/organizationchart/public_api.mjs +3 -0
- package/esm2022/overlay/cax-design-system-overlay.mjs +5 -0
- package/esm2022/overlay/overlay.mjs +579 -0
- package/esm2022/overlay/overlay.module.mjs +17 -0
- package/esm2022/overlay/public_api.mjs +3 -0
- package/esm2022/overlaypanel/cax-design-system-overlaypanel.mjs +5 -0
- package/esm2022/overlaypanel/overlaypanel.mjs +470 -0
- package/esm2022/overlaypanel/overlaypanel.module.mjs +17 -0
- package/esm2022/overlaypanel/public_api.mjs +3 -0
- package/esm2022/paginator/cax-design-system-paginator.mjs +5 -0
- package/esm2022/paginator/paginator.interface.mjs +2 -0
- package/esm2022/paginator/paginator.mjs +437 -0
- package/esm2022/paginator/paginator.module.mjs +27 -0
- package/esm2022/paginator/public_api.mjs +4 -0
- package/esm2022/panel/cax-design-system-panel.mjs +5 -0
- package/esm2022/panel/panel.interface.mjs +2 -0
- package/esm2022/panel/panel.mjs +393 -0
- package/esm2022/panel/public_api.mjs +3 -0
- package/esm2022/panelmenu/cax-design-system-panelmenu.mjs +5 -0
- package/esm2022/panelmenu/panelmenu.interface.mjs +2 -0
- package/esm2022/panelmenu/panelmenu.mjs +1276 -0
- package/esm2022/panelmenu/public_api.mjs +3 -0
- package/esm2022/password/cax-design-system-password.mjs +5 -0
- package/esm2022/password/password.mjs +1017 -0
- package/esm2022/password/public_api.mjs +2 -0
- package/esm2022/picklist/cax-design-system-picklist.mjs +5 -0
- package/esm2022/picklist/picklist.interface.mjs +2 -0
- package/esm2022/picklist/picklist.mjs +1909 -0
- package/esm2022/picklist/public_api.mjs +3 -0
- package/esm2022/progressbar/cax-design-system-progressbar.mjs +5 -0
- package/esm2022/progressbar/progressbar.mjs +86 -0
- package/esm2022/progressbar/progressbar.module.mjs +18 -0
- package/esm2022/progressbar/public_api.mjs +3 -0
- package/esm2022/progressspinner/cax-design-system-progressspinner.mjs +5 -0
- package/esm2022/progressspinner/progressspinner.mjs +112 -0
- package/esm2022/progressspinner/progressspinner.module.mjs +18 -0
- package/esm2022/progressspinner/public_api.mjs +3 -0
- package/esm2022/public_api.mjs +2 -0
- package/esm2022/radiobutton/cax-design-system-radiobutton.mjs +5 -0
- package/esm2022/radiobutton/public_api.mjs +4 -0
- package/esm2022/radiobutton/radiobutton.interface.mjs +2 -0
- package/esm2022/radiobutton/radiobutton.mjs +284 -0
- package/esm2022/radiobutton/radiobutton.module.mjs +16 -0
- package/esm2022/rating/cax-design-system-rating.mjs +5 -0
- package/esm2022/rating/public_api.mjs +3 -0
- package/esm2022/rating/rating.interface.mjs +2 -0
- package/esm2022/rating/rating.mjs +388 -0
- package/esm2022/ripple/cax-design-system-ripple.mjs +5 -0
- package/esm2022/ripple/public_api.mjs +3 -0
- package/esm2022/ripple/ripple.mjs +129 -0
- package/esm2022/ripple/ripple.module.mjs +16 -0
- package/esm2022/scroller/cax-design-system-scroller.mjs +5 -0
- package/esm2022/scroller/public_api.mjs +4 -0
- package/esm2022/scroller/scroller.interface.mjs +2 -0
- package/esm2022/scroller/scroller.mjs +981 -0
- package/esm2022/scroller/scroller.module.mjs +17 -0
- package/esm2022/scrollpanel/cax-design-system-scrollpanel.mjs +5 -0
- package/esm2022/scrollpanel/public_api.mjs +3 -0
- package/esm2022/scrollpanel/scrollpanel.interface.mjs +2 -0
- package/esm2022/scrollpanel/scrollpanel.mjs +501 -0
- package/esm2022/scrolltop/cax-design-system-scrolltop.mjs +5 -0
- package/esm2022/scrolltop/public_api.mjs +3 -0
- package/esm2022/scrolltop/scrolltop.interface.mjs +2 -0
- package/esm2022/scrolltop/scrolltop.mjs +282 -0
- package/esm2022/selectbutton/cax-design-system-selectbutton.mjs +5 -0
- package/esm2022/selectbutton/public_api.mjs +4 -0
- package/esm2022/selectbutton/selectbutton.interface.mjs +2 -0
- package/esm2022/selectbutton/selectbutton.mjs +303 -0
- package/esm2022/selectbutton/selectbutton.module.mjs +21 -0
- package/esm2022/sidebar/cax-design-system-sidebar.mjs +5 -0
- package/esm2022/sidebar/public_api.mjs +4 -0
- package/esm2022/sidebar/sidebar.interface.mjs +2 -0
- package/esm2022/sidebar/sidebar.mjs +488 -0
- package/esm2022/sidebar/sidebar.module.mjs +21 -0
- package/esm2022/skeleton/cax-design-system-skeleton.mjs +5 -0
- package/esm2022/skeleton/public_api.mjs +3 -0
- package/esm2022/skeleton/skeleton.mjs +87 -0
- package/esm2022/skeleton/skeleton.module.mjs +18 -0
- package/esm2022/slidemenu/cax-design-system-slidemenu.mjs +5 -0
- package/esm2022/slidemenu/public_api.mjs +3 -0
- package/esm2022/slidemenu/slidemenu.interface.mjs +2 -0
- package/esm2022/slidemenu/slidemenu.mjs +1501 -0
- package/esm2022/slider/cax-design-system-slider.mjs +5 -0
- package/esm2022/slider/public_api.mjs +3 -0
- package/esm2022/slider/slider.interface.mjs +2 -0
- package/esm2022/slider/slider.mjs +796 -0
- package/esm2022/speeddial/cax-design-system-speeddial.mjs +5 -0
- package/esm2022/speeddial/public_api.mjs +4 -0
- package/esm2022/speeddial/speeddial.interface.mjs +2 -0
- package/esm2022/speeddial/speeddial.mjs +611 -0
- package/esm2022/speeddial/speeddial.module.mjs +24 -0
- package/esm2022/spinner/cax-design-system-spinner.mjs +5 -0
- package/esm2022/spinner/public_api.mjs +2 -0
- package/esm2022/spinner/spinner.mjs +447 -0
- package/esm2022/splitbutton/cax-design-system-splitbutton.mjs +5 -0
- package/esm2022/splitbutton/public_api.mjs +4 -0
- package/esm2022/splitbutton/splitbutton.interface.mjs +2 -0
- package/esm2022/splitbutton/splitbutton.mjs +369 -0
- package/esm2022/splitbutton/splitbutton.module.mjs +23 -0
- package/esm2022/splitter/cax-design-system-splitter.mjs +5 -0
- package/esm2022/splitter/public_api.mjs +4 -0
- package/esm2022/splitter/splitter.interface.mjs +2 -0
- package/esm2022/splitter/splitter.mjs +490 -0
- package/esm2022/splitter/splitter.module.mjs +19 -0
- package/esm2022/stepper/cax-design-system-stepper.mjs +5 -0
- package/esm2022/stepper/public_api.mjs +3 -0
- package/esm2022/stepper/stepper.interface.mjs +2 -0
- package/esm2022/stepper/stepper.mjs +677 -0
- package/esm2022/steps/cax-design-system-steps.mjs +5 -0
- package/esm2022/steps/public_api.mjs +3 -0
- package/esm2022/steps/steps.mjs +207 -0
- package/esm2022/steps/steps.module.mjs +20 -0
- package/esm2022/styleclass/cax-design-system-styleclass.mjs +5 -0
- package/esm2022/styleclass/public_api.mjs +2 -0
- package/esm2022/styleclass/styleclass.mjs +316 -0
- package/esm2022/table/cax-design-system-table.mjs +5 -0
- package/esm2022/table/columnfilter.interface.mjs +2 -0
- package/esm2022/table/components/cell-editor/cell-editor.mjs +52 -0
- package/esm2022/table/components/column-filter/column-filter.mjs +865 -0
- package/esm2022/table/components/column-filter-form-element/column-filter-form-element.mjs +107 -0
- package/esm2022/table/components/sort-icon/sort-icon.mjs +78 -0
- package/esm2022/table/components/table-body/table-body.mjs +152 -0
- package/esm2022/table/components/table-checkbox/table-checkbox.mjs +83 -0
- package/esm2022/table/components/table-header-checkbox/table-header-checkbox.mjs +92 -0
- package/esm2022/table/components/table-radio-button/table-radio-button.mjs +79 -0
- package/esm2022/table/directives/cancel-editable-row.directive.mjs +32 -0
- package/esm2022/table/directives/cell-highlight.directive.mjs +42 -0
- package/esm2022/table/directives/content-menu-row.directive.mjs +70 -0
- package/esm2022/table/directives/dynamic-column-width.directive.mjs +34 -0
- package/esm2022/table/directives/editable-column.directive.mjs +344 -0
- package/esm2022/table/directives/editable-row.directive.mjs +32 -0
- package/esm2022/table/directives/frozen-column.directive.mjs +77 -0
- package/esm2022/table/directives/init-editable-row.directive.mjs +32 -0
- package/esm2022/table/directives/reorderable-column.directive.mjs +115 -0
- package/esm2022/table/directives/reorderable-row-handle.directive.mjs +25 -0
- package/esm2022/table/directives/reorderable-row.directive.mjs +122 -0
- package/esm2022/table/directives/resizable-column.directive.mjs +123 -0
- package/esm2022/table/directives/row-group-header.directive.mjs +26 -0
- package/esm2022/table/directives/row-toggler.directive.mjs +42 -0
- package/esm2022/table/directives/save-editable-row.directive.mjs +32 -0
- package/esm2022/table/directives/selectable-row-double-click.directive.mjs +71 -0
- package/esm2022/table/directives/selectable-row.directive.mjs +243 -0
- package/esm2022/table/directives/sortable-column.directive.mjs +90 -0
- package/esm2022/table/public_api.mjs +31 -0
- package/esm2022/table/table.interface.mjs +2 -0
- package/esm2022/table/table.mjs +2799 -0
- package/esm2022/table/table.module.mjs +157 -0
- package/esm2022/table/table.service.mjs +42 -0
- package/esm2022/tableconfiguration/cax-design-system-tableconfiguration.mjs +5 -0
- package/esm2022/tableconfiguration/public_api.mjs +3 -0
- package/esm2022/tableconfiguration/tableconfiguration.mjs +68 -0
- package/esm2022/tableconfiguration/tableconfiguration.module.mjs +16 -0
- package/esm2022/tabmenu/cax-design-system-tabmenu.mjs +5 -0
- package/esm2022/tabmenu/public_api.mjs +3 -0
- package/esm2022/tabmenu/tabmenu.interface.mjs +2 -0
- package/esm2022/tabmenu/tabmenu.mjs +576 -0
- package/esm2022/tabview/cax-design-system-tabview.mjs +5 -0
- package/esm2022/tabview/public_api.mjs +4 -0
- package/esm2022/tabview/tabview.interface.mjs +2 -0
- package/esm2022/tabview/tabview.mjs +913 -0
- package/esm2022/tabview/tabview.module.mjs +25 -0
- package/esm2022/tag/cax-design-system-tag.mjs +5 -0
- package/esm2022/tag/public_api.mjs +4 -0
- package/esm2022/tag/tag.interface.mjs +2 -0
- package/esm2022/tag/tag.mjs +95 -0
- package/esm2022/tag/tag.module.mjs +19 -0
- package/esm2022/terminal/cax-design-system-terminal.mjs +5 -0
- package/esm2022/terminal/public_api.mjs +3 -0
- package/esm2022/terminal/terminal.mjs +143 -0
- package/esm2022/terminal/terminalservice.mjs +25 -0
- package/esm2022/tieredmenu/cax-design-system-tieredmenu.mjs +5 -0
- package/esm2022/tieredmenu/public_api.mjs +4 -0
- package/esm2022/tieredmenu/tieredmenu.interface.mjs +2 -0
- package/esm2022/tieredmenu/tieredmenu.mjs +1289 -0
- package/esm2022/tieredmenu/tiredmenu.module.mjs +23 -0
- package/esm2022/timeline/cax-design-system-timeline.mjs +5 -0
- package/esm2022/timeline/public_api.mjs +4 -0
- package/esm2022/timeline/timeline.interface.mjs +2 -0
- package/esm2022/timeline/timeline.mjs +83 -0
- package/esm2022/timeline/timeline.module.mjs +19 -0
- package/esm2022/toast/cax-design-system-toast.mjs +5 -0
- package/esm2022/toast/public_api.mjs +4 -0
- package/esm2022/toast/toast.interface.mjs +2 -0
- package/esm2022/toast/toast.mjs +324 -0
- package/esm2022/toast/toast.module.mjs +18 -0
- package/esm2022/toast/toastitem.mjs +170 -0
- package/esm2022/togglebutton/cax-design-system-togglebutton.mjs +5 -0
- package/esm2022/togglebutton/public_api.mjs +3 -0
- package/esm2022/togglebutton/togglebutton.interface.mjs +2 -0
- package/esm2022/togglebutton/togglebutton.mjs +274 -0
- package/esm2022/toggleswitch/cax-design-system-toggleswitch.mjs +5 -0
- package/esm2022/toggleswitch/public_api.mjs +3 -0
- package/esm2022/toggleswitch/toggleswitch.mjs +37 -0
- package/esm2022/toggleswitch/toggleswitch.module.mjs +19 -0
- package/esm2022/toolbar/cax-design-system-toolbar.mjs +5 -0
- package/esm2022/toolbar/public_api.mjs +3 -0
- package/esm2022/toolbar/toolbar.interface.mjs +2 -0
- package/esm2022/toolbar/toolbar.mjs +111 -0
- package/esm2022/tooltip/cax-design-system-tooltip.mjs +5 -0
- package/esm2022/tooltip/public_api.mjs +3 -0
- package/esm2022/tooltip/tooltip.mjs +889 -0
- package/esm2022/tooltip/tooltip.module.mjs +20 -0
- package/esm2022/tree/cax-design-system-tree.mjs +5 -0
- package/esm2022/tree/public_api.mjs +4 -0
- package/esm2022/tree/tree.interface.mjs +2 -0
- package/esm2022/tree/tree.mjs +1544 -0
- package/esm2022/tree/tree.module.mjs +31 -0
- package/esm2022/treeselect/cax-design-system-treeselect.mjs +5 -0
- package/esm2022/treeselect/public_api.mjs +4 -0
- package/esm2022/treeselect/treeselect.interface.mjs +2 -0
- package/esm2022/treeselect/treeselect.mjs +865 -0
- package/esm2022/treeselect/treeselect.module.mjs +26 -0
- package/esm2022/treetable/cax-design-system-treetable.mjs +5 -0
- package/esm2022/treetable/public_api.mjs +3 -0
- package/esm2022/treetable/treetable.interface.mjs +2 -0
- package/esm2022/treetable/treetable.mjs +4111 -0
- package/esm2022/tristatecheckbox/cax-design-system-tristatecheckbox.mjs +5 -0
- package/esm2022/tristatecheckbox/public_api.mjs +4 -0
- package/esm2022/tristatecheckbox/tristatecheckbox.interface.mjs +2 -0
- package/esm2022/tristatecheckbox/tristatecheckbox.mjs +215 -0
- package/esm2022/tristatecheckbox/tristatecheckbox.module.mjs +17 -0
- package/esm2022/ts-helpers/cax-design-system-ts-helpers.mjs +5 -0
- package/esm2022/ts-helpers/public_api.mjs +2 -0
- package/esm2022/ts-helpers/ts-helpers.mjs +2 -0
- package/esm2022/upload/cax-design-system-upload.mjs +5 -0
- package/esm2022/upload/public_api.mjs +3 -0
- package/esm2022/upload/upload.component.mjs +372 -0
- package/esm2022/upload/upload.component.module.mjs +21 -0
- package/esm2022/utils/cax-design-system-utils.mjs +5 -0
- package/esm2022/utils/objectutils.mjs +258 -0
- package/esm2022/utils/public_api.mjs +5 -0
- package/esm2022/utils/uniquecomponentid.mjs +6 -0
- package/esm2022/utils/zindexutils.mjs +35 -0
- package/esm2022/virtualscroller/cax-design-system-virtualscroller.mjs +5 -0
- package/esm2022/virtualscroller/public_api.mjs +3 -0
- package/esm2022/virtualscroller/virtualscroller.interface.mjs +2 -0
- package/esm2022/virtualscroller/virtualscroller.mjs +215 -0
- package/fesm2022/cax-design-system-accordion.mjs +2 -2
- package/fesm2022/cax-design-system-accordion.mjs.map +1 -1
- package/fesm2022/cax-design-system-animate.mjs +1 -1
- package/fesm2022/cax-design-system-animate.mjs.map +1 -1
- package/fesm2022/cax-design-system-animateonscroll.mjs +1 -1
- package/fesm2022/cax-design-system-animateonscroll.mjs.map +1 -1
- package/fesm2022/cax-design-system-api.mjs +1 -1
- package/fesm2022/cax-design-system-api.mjs.map +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs +1 -1
- package/fesm2022/cax-design-system-autocomplete.mjs.map +1 -1
- package/fesm2022/cax-design-system-autofocus.mjs +1 -1
- package/fesm2022/cax-design-system-autofocus.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatar.mjs +1 -1
- package/fesm2022/cax-design-system-avatar.mjs.map +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs +1 -1
- package/fesm2022/cax-design-system-avatargroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-badge.mjs +1 -1
- package/fesm2022/cax-design-system-badge.mjs.map +1 -1
- package/fesm2022/cax-design-system-baseicon.mjs +1 -1
- package/fesm2022/cax-design-system-baseicon.mjs.map +1 -1
- package/fesm2022/cax-design-system-blockui.mjs +1 -1
- package/fesm2022/cax-design-system-blockui.mjs.map +1 -1
- package/fesm2022/cax-design-system-breadcrumb.mjs +1 -1
- package/fesm2022/cax-design-system-breadcrumb.mjs.map +1 -1
- package/fesm2022/cax-design-system-button.mjs +1 -1
- package/fesm2022/cax-design-system-button.mjs.map +1 -1
- package/fesm2022/cax-design-system-buttongroup.mjs +1 -1
- package/fesm2022/cax-design-system-buttongroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-calendar.mjs +3 -3
- package/fesm2022/cax-design-system-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-card.mjs +1 -1
- package/fesm2022/cax-design-system-card.mjs.map +1 -1
- package/fesm2022/cax-design-system-carousel.mjs +1 -1
- package/fesm2022/cax-design-system-carousel.mjs.map +1 -1
- package/fesm2022/cax-design-system-cascadeselect.mjs +1 -1
- package/fesm2022/cax-design-system-cascadeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-chart.mjs +1 -1
- package/fesm2022/cax-design-system-chart.mjs.map +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs +1 -1
- package/fesm2022/cax-design-system-checkbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-chip.mjs +1 -1
- package/fesm2022/cax-design-system-chip.mjs.map +1 -1
- package/fesm2022/cax-design-system-chips.mjs +2 -2
- package/fesm2022/cax-design-system-chips.mjs.map +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs +1 -1
- package/fesm2022/cax-design-system-colorpicker.mjs.map +1 -1
- package/fesm2022/cax-design-system-commentbox.mjs +3 -3
- package/fesm2022/cax-design-system-commentbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs +1 -1
- package/fesm2022/cax-design-system-confirmdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-confirmpopup.mjs +2 -2
- package/fesm2022/cax-design-system-confirmpopup.mjs.map +1 -1
- package/fesm2022/cax-design-system-contextmenu.mjs +1 -1
- package/fesm2022/cax-design-system-contextmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-dataview.mjs +1 -1
- package/fesm2022/cax-design-system-dataview.mjs.map +1 -1
- package/fesm2022/cax-design-system-defer.mjs +1 -1
- package/fesm2022/cax-design-system-defer.mjs.map +1 -1
- package/fesm2022/cax-design-system-dialog.mjs +1 -1
- package/fesm2022/cax-design-system-dialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-divider.mjs +1 -1
- package/fesm2022/cax-design-system-divider.mjs.map +1 -1
- package/fesm2022/cax-design-system-dock.mjs +1 -1
- package/fesm2022/cax-design-system-dock.mjs.map +1 -1
- package/fesm2022/cax-design-system-dom.mjs.map +1 -1
- package/fesm2022/cax-design-system-dragdrop.mjs +1 -1
- package/fesm2022/cax-design-system-dragdrop.mjs.map +1 -1
- package/fesm2022/cax-design-system-dropdown.mjs +2 -2
- package/fesm2022/cax-design-system-dropdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-dynamicdialog.mjs +1 -1
- package/fesm2022/cax-design-system-dynamicdialog.mjs.map +1 -1
- package/fesm2022/cax-design-system-editor.mjs +1 -1
- package/fesm2022/cax-design-system-editor.mjs.map +1 -1
- package/fesm2022/cax-design-system-fieldset.mjs +2 -2
- package/fesm2022/cax-design-system-fieldset.mjs.map +1 -1
- package/fesm2022/cax-design-system-fileupload.mjs +1 -1
- package/fesm2022/cax-design-system-fileupload.mjs.map +1 -1
- package/fesm2022/cax-design-system-floatlabel.mjs +1 -1
- package/fesm2022/cax-design-system-floatlabel.mjs.map +1 -1
- package/fesm2022/cax-design-system-focustrap.mjs +1 -1
- package/fesm2022/cax-design-system-focustrap.mjs.map +1 -1
- package/fesm2022/cax-design-system-galleria.mjs +1 -1
- package/fesm2022/cax-design-system-galleria.mjs.map +1 -1
- package/fesm2022/cax-design-system-iconfield.mjs +1 -1
- package/fesm2022/cax-design-system-iconfield.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubledown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledoubleup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angledown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-angleup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdownleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowdownright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-arrowup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-ban.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-bars.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-blank.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-calendar.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-caretleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-caretright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-check.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevrondown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronleft.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronright.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-chevronup.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-exclamationtriangle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-eye.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-eyeslash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-filter.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-filterslash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-home.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-infocircle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-minus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-pencil.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-plus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-refresh.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-search.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-searchminus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-searchplus.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortalt.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortamountdown.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-sortamountupalt.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-spinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-star.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-starfill.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-thlarge.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-times.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-timescircle.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-trash.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-undo.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-upload.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-windowmaximize.mjs.map +1 -1
- package/fesm2022/cax-design-system-icons-windowminimize.mjs.map +1 -1
- package/fesm2022/cax-design-system-image.mjs +2 -2
- package/fesm2022/cax-design-system-image.mjs.map +1 -1
- package/fesm2022/cax-design-system-inplace.mjs +1 -1
- package/fesm2022/cax-design-system-inplace.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs +1 -1
- package/fesm2022/cax-design-system-inputgroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs +1 -1
- package/fesm2022/cax-design-system-inputgroupaddon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputicon.mjs +1 -1
- package/fesm2022/cax-design-system-inputicon.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs +1 -1
- package/fesm2022/cax-design-system-inputmask.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs +1 -1
- package/fesm2022/cax-design-system-inputnumber.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputotp.mjs +1 -1
- package/fesm2022/cax-design-system-inputotp.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputswitch.mjs +1 -1
- package/fesm2022/cax-design-system-inputswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs +1 -1
- package/fesm2022/cax-design-system-inputtext.mjs.map +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs +1 -1
- package/fesm2022/cax-design-system-inputtextarea.mjs.map +1 -1
- package/fesm2022/cax-design-system-keyfilter.mjs +1 -1
- package/fesm2022/cax-design-system-keyfilter.mjs.map +1 -1
- package/fesm2022/cax-design-system-knob.mjs +1 -1
- package/fesm2022/cax-design-system-knob.mjs.map +1 -1
- package/fesm2022/cax-design-system-listbox.mjs +1 -1
- package/fesm2022/cax-design-system-listbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-logo.mjs +1 -1
- package/fesm2022/cax-design-system-logo.mjs.map +1 -1
- package/fesm2022/cax-design-system-megamenu.mjs +1 -1
- package/fesm2022/cax-design-system-megamenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menu.mjs +1 -1
- package/fesm2022/cax-design-system-menu.mjs.map +1 -1
- package/fesm2022/cax-design-system-menubar.mjs +1 -1
- package/fesm2022/cax-design-system-menubar.mjs.map +1 -1
- package/fesm2022/cax-design-system-message.mjs +1 -1
- package/fesm2022/cax-design-system-message.mjs.map +1 -1
- package/fesm2022/cax-design-system-messages.mjs +2 -2
- package/fesm2022/cax-design-system-messages.mjs.map +1 -1
- package/fesm2022/cax-design-system-metergroup.mjs +1 -1
- package/fesm2022/cax-design-system-metergroup.mjs.map +1 -1
- package/fesm2022/cax-design-system-multiselect.mjs +1 -1
- package/fesm2022/cax-design-system-multiselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-navigation.mjs +1 -1
- package/fesm2022/cax-design-system-navigation.mjs.map +1 -1
- package/fesm2022/cax-design-system-orderlist.mjs +1 -1
- package/fesm2022/cax-design-system-orderlist.mjs.map +1 -1
- package/fesm2022/cax-design-system-organizationchart.mjs +2 -2
- package/fesm2022/cax-design-system-organizationchart.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlay.mjs +2 -2
- package/fesm2022/cax-design-system-overlay.mjs.map +1 -1
- package/fesm2022/cax-design-system-overlaypanel.mjs +3 -3
- package/fesm2022/cax-design-system-overlaypanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-paginator.mjs +1 -1
- package/fesm2022/cax-design-system-paginator.mjs.map +1 -1
- package/fesm2022/cax-design-system-panel.mjs +2 -2
- package/fesm2022/cax-design-system-panel.mjs.map +1 -1
- package/fesm2022/cax-design-system-panelmenu.mjs +2 -2
- package/fesm2022/cax-design-system-panelmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-password.mjs +1 -1
- package/fesm2022/cax-design-system-password.mjs.map +1 -1
- package/fesm2022/cax-design-system-picklist.mjs +1 -1
- package/fesm2022/cax-design-system-picklist.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs +1 -1
- package/fesm2022/cax-design-system-progressbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs +1 -1
- package/fesm2022/cax-design-system-progressspinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs +1 -1
- package/fesm2022/cax-design-system-radiobutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-rating.mjs +1 -1
- package/fesm2022/cax-design-system-rating.mjs.map +1 -1
- package/fesm2022/cax-design-system-ripple.mjs +1 -1
- package/fesm2022/cax-design-system-ripple.mjs.map +1 -1
- package/fesm2022/cax-design-system-scroller.mjs +2 -2
- package/fesm2022/cax-design-system-scroller.mjs.map +1 -1
- package/fesm2022/cax-design-system-scrollpanel.mjs +1 -1
- package/fesm2022/cax-design-system-scrollpanel.mjs.map +1 -1
- package/fesm2022/cax-design-system-scrolltop.mjs +2 -2
- package/fesm2022/cax-design-system-scrolltop.mjs.map +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs +1 -1
- package/fesm2022/cax-design-system-selectbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-sidebar.mjs +4 -4
- package/fesm2022/cax-design-system-sidebar.mjs.map +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs +1 -1
- package/fesm2022/cax-design-system-skeleton.mjs.map +1 -1
- package/fesm2022/cax-design-system-slidemenu.mjs +1 -1
- package/fesm2022/cax-design-system-slidemenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-slider.mjs +1 -1
- package/fesm2022/cax-design-system-slider.mjs.map +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs +1 -1
- package/fesm2022/cax-design-system-speeddial.mjs.map +1 -1
- package/fesm2022/cax-design-system-spinner.mjs +1 -1
- package/fesm2022/cax-design-system-spinner.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs +1 -1
- package/fesm2022/cax-design-system-splitbutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-splitter.mjs +1 -1
- package/fesm2022/cax-design-system-splitter.mjs.map +1 -1
- package/fesm2022/cax-design-system-stepper.mjs +2 -2
- package/fesm2022/cax-design-system-stepper.mjs.map +1 -1
- package/fesm2022/cax-design-system-steps.mjs +1 -1
- package/fesm2022/cax-design-system-steps.mjs.map +1 -1
- package/fesm2022/cax-design-system-styleclass.mjs +1 -1
- package/fesm2022/cax-design-system-styleclass.mjs.map +1 -1
- package/fesm2022/cax-design-system-table.mjs +1 -1
- package/fesm2022/cax-design-system-table.mjs.map +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs +1 -1
- package/fesm2022/cax-design-system-tableconfiguration.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabmenu.mjs +1 -1
- package/fesm2022/cax-design-system-tabmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-tabview.mjs +1 -1
- package/fesm2022/cax-design-system-tabview.mjs.map +1 -1
- package/fesm2022/cax-design-system-tag.mjs +1 -1
- package/fesm2022/cax-design-system-tag.mjs.map +1 -1
- package/fesm2022/cax-design-system-terminal.mjs +1 -1
- package/fesm2022/cax-design-system-terminal.mjs.map +1 -1
- package/fesm2022/cax-design-system-tieredmenu.mjs +1 -1
- package/fesm2022/cax-design-system-tieredmenu.mjs.map +1 -1
- package/fesm2022/cax-design-system-timeline.mjs +1 -1
- package/fesm2022/cax-design-system-timeline.mjs.map +1 -1
- package/fesm2022/cax-design-system-toast.mjs +2 -2
- package/fesm2022/cax-design-system-toast.mjs.map +1 -1
- package/fesm2022/cax-design-system-togglebutton.mjs +1 -1
- package/fesm2022/cax-design-system-togglebutton.mjs.map +1 -1
- package/fesm2022/cax-design-system-toggleswitch.mjs +3 -3
- package/fesm2022/cax-design-system-toggleswitch.mjs.map +1 -1
- package/fesm2022/cax-design-system-toolbar.mjs +1 -1
- package/fesm2022/cax-design-system-toolbar.mjs.map +1 -1
- package/fesm2022/cax-design-system-tooltip.mjs +1 -1
- package/fesm2022/cax-design-system-tooltip.mjs.map +1 -1
- package/fesm2022/cax-design-system-tree.mjs +1 -1
- package/fesm2022/cax-design-system-tree.mjs.map +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs +1 -1
- package/fesm2022/cax-design-system-treeselect.mjs.map +1 -1
- package/fesm2022/cax-design-system-treetable.mjs +1 -1
- package/fesm2022/cax-design-system-treetable.mjs.map +1 -1
- package/fesm2022/cax-design-system-tristatecheckbox.mjs +2 -2
- package/fesm2022/cax-design-system-tristatecheckbox.mjs.map +1 -1
- package/fesm2022/cax-design-system-upload.mjs +12 -7
- package/fesm2022/cax-design-system-upload.mjs.map +1 -1
- package/fesm2022/cax-design-system-utils.mjs.map +1 -1
- package/fesm2022/cax-design-system-virtualscroller.mjs +1 -1
- package/fesm2022/cax-design-system-virtualscroller.mjs.map +1 -1
- package/fieldset/fieldset.d.ts +93 -0
- package/fieldset/fieldset.interface.d.ts +46 -0
- package/fieldset/index.d.ts +3 -140
- package/fieldset/public_api.d.ts +2 -0
- package/fileupload/fileupload.d.ts +380 -0
- package/fileupload/fileupload.interface.d.ts +226 -0
- package/fileupload/index.d.ts +3 -606
- package/fileupload/public_api.d.ts +2 -0
- package/floatlabel/floatlabel.d.ts +9 -0
- package/floatlabel/floatlabel.module.d.ts +10 -0
- package/floatlabel/index.d.ts +3 -19
- package/floatlabel/public_api.d.ts +2 -0
- package/focustrap/focustrap.d.ts +34 -0
- package/focustrap/index.d.ts +3 -35
- package/focustrap/public_api.d.ts +1 -0
- package/galleria/galleria.d.ts +404 -0
- package/galleria/galleria.interface.d.ts +97 -0
- package/galleria/index.d.ts +3 -502
- package/galleria/public_api.d.ts +2 -0
- package/iconfield/iconfield.d.ts +25 -0
- package/iconfield/index.d.ts +3 -26
- package/iconfield/public_api.d.ts +1 -0
- package/icons/angledoubledown/angledoubledown.d.ts +6 -0
- package/icons/angledoubledown/index.d.ts +5 -9
- package/icons/angledoubledown/public_api.d.ts +1 -0
- package/icons/angledoubleleft/angledoubleleft.d.ts +6 -0
- package/icons/angledoubleleft/index.d.ts +5 -9
- package/icons/angledoubleleft/public_api.d.ts +1 -0
- package/icons/angledoubleright/angledoubleright.d.ts +6 -0
- package/icons/angledoubleright/index.d.ts +5 -9
- package/icons/angledoubleright/public_api.d.ts +1 -0
- package/icons/angledoubleup/angledoubleup.d.ts +6 -0
- package/icons/angledoubleup/index.d.ts +5 -9
- package/icons/angledoubleup/public_api.d.ts +1 -0
- package/icons/angledown/angledown.d.ts +6 -0
- package/icons/angledown/index.d.ts +5 -9
- package/icons/angledown/public_api.d.ts +1 -0
- package/icons/angleleft/angleleft.d.ts +6 -0
- package/icons/angleleft/index.d.ts +5 -9
- package/icons/angleleft/public_api.d.ts +1 -0
- package/icons/angleright/angleright.d.ts +6 -0
- package/icons/angleright/index.d.ts +5 -9
- package/icons/angleright/public_api.d.ts +1 -0
- package/icons/angleup/angleup.d.ts +6 -0
- package/icons/angleup/index.d.ts +5 -9
- package/icons/angleup/public_api.d.ts +1 -0
- package/icons/arrowdown/arrowdown.d.ts +9 -0
- package/icons/arrowdown/index.d.ts +5 -12
- package/icons/arrowdown/public_api.d.ts +1 -0
- package/icons/arrowdownleft/arrowdownleft.d.ts +6 -0
- package/icons/arrowdownleft/index.d.ts +5 -9
- package/icons/arrowdownleft/public_api.d.ts +1 -0
- package/icons/arrowdownright/arrowdownright.d.ts +6 -0
- package/icons/arrowdownright/index.d.ts +5 -9
- package/icons/arrowdownright/public_api.d.ts +1 -0
- package/icons/arrowleft/arrowleft.d.ts +8 -0
- package/icons/arrowleft/index.d.ts +5 -11
- package/icons/arrowleft/public_api.d.ts +1 -0
- package/icons/arrowright/arrowright.d.ts +6 -0
- package/icons/arrowright/index.d.ts +5 -9
- package/icons/arrowright/public_api.d.ts +1 -0
- package/icons/arrowup/arrowup.d.ts +8 -0
- package/icons/arrowup/index.d.ts +5 -11
- package/icons/arrowup/public_api.d.ts +1 -0
- package/icons/ban/ban.d.ts +8 -0
- package/icons/ban/index.d.ts +5 -11
- package/icons/ban/public_api.d.ts +1 -0
- package/icons/bars/bars.d.ts +6 -0
- package/icons/bars/index.d.ts +5 -9
- package/icons/bars/public_api.d.ts +1 -0
- package/icons/blank/blank.d.ts +6 -0
- package/icons/blank/index.d.ts +5 -9
- package/icons/blank/public_api.d.ts +1 -0
- package/icons/calendar/calendar.d.ts +6 -0
- package/icons/calendar/index.d.ts +5 -9
- package/icons/calendar/public_api.d.ts +1 -0
- package/icons/caretleft/caretleft.d.ts +6 -0
- package/icons/caretleft/index.d.ts +5 -9
- package/icons/caretleft/public_api.d.ts +1 -0
- package/icons/caretright/caretright.d.ts +6 -0
- package/icons/caretright/index.d.ts +5 -9
- package/icons/caretright/public_api.d.ts +1 -0
- package/icons/check/check.d.ts +6 -0
- package/icons/check/index.d.ts +5 -9
- package/icons/check/public_api.d.ts +1 -0
- package/icons/chevrondown/chevrondown.d.ts +6 -0
- package/icons/chevrondown/index.d.ts +5 -9
- package/icons/chevrondown/public_api.d.ts +1 -0
- package/icons/chevronleft/chevronleft.d.ts +6 -0
- package/icons/chevronleft/index.d.ts +5 -9
- package/icons/chevronleft/public_api.d.ts +1 -0
- package/icons/chevronright/chevronright.d.ts +6 -0
- package/icons/chevronright/index.d.ts +5 -9
- package/icons/chevronright/public_api.d.ts +1 -0
- package/icons/chevronup/chevronup.d.ts +6 -0
- package/icons/chevronup/index.d.ts +5 -9
- package/icons/chevronup/public_api.d.ts +1 -0
- package/icons/exclamationtriangle/exclamationtriangle.d.ts +9 -0
- package/icons/exclamationtriangle/index.d.ts +5 -12
- package/icons/exclamationtriangle/public_api.d.ts +1 -0
- package/icons/eye/eye.d.ts +6 -0
- package/icons/eye/index.d.ts +5 -9
- package/icons/eye/public_api.d.ts +1 -0
- package/icons/eyeslash/eyeslash.d.ts +8 -0
- package/icons/eyeslash/index.d.ts +5 -11
- package/icons/eyeslash/public_api.d.ts +1 -0
- package/icons/filter/filter.d.ts +8 -0
- package/icons/filter/index.d.ts +5 -11
- package/icons/filter/public_api.d.ts +1 -0
- package/icons/filterslash/filterslash.d.ts +8 -0
- package/icons/filterslash/index.d.ts +5 -11
- package/icons/filterslash/public_api.d.ts +1 -0
- package/icons/home/home.d.ts +8 -0
- package/icons/home/index.d.ts +5 -11
- package/icons/home/public_api.d.ts +1 -0
- package/icons/infocircle/index.d.ts +5 -11
- package/icons/infocircle/infocircle.d.ts +8 -0
- package/icons/infocircle/public_api.d.ts +1 -0
- package/icons/minus/index.d.ts +5 -9
- package/icons/minus/minus.d.ts +6 -0
- package/icons/minus/public_api.d.ts +1 -0
- package/icons/pencil/index.d.ts +5 -11
- package/icons/pencil/pencil.d.ts +8 -0
- package/icons/pencil/public_api.d.ts +1 -0
- package/icons/plus/index.d.ts +5 -11
- package/icons/plus/plus.d.ts +8 -0
- package/icons/plus/public_api.d.ts +1 -0
- package/icons/refresh/index.d.ts +5 -11
- package/icons/refresh/public_api.d.ts +1 -0
- package/icons/refresh/refresh.d.ts +8 -0
- package/icons/search/index.d.ts +5 -11
- package/icons/search/public_api.d.ts +1 -0
- package/icons/search/search.d.ts +8 -0
- package/icons/searchminus/index.d.ts +5 -11
- package/icons/searchminus/public_api.d.ts +1 -0
- package/icons/searchminus/searchminus.d.ts +8 -0
- package/icons/searchplus/index.d.ts +5 -11
- package/icons/searchplus/public_api.d.ts +1 -0
- package/icons/searchplus/searchplus.d.ts +8 -0
- package/icons/sortalt/index.d.ts +5 -11
- package/icons/sortalt/public_api.d.ts +1 -0
- package/icons/sortalt/sortalt.d.ts +8 -0
- package/icons/sortamountdown/index.d.ts +5 -11
- package/icons/sortamountdown/public_api.d.ts +1 -0
- package/icons/sortamountdown/sortamountdown.d.ts +8 -0
- package/icons/sortamountupalt/index.d.ts +5 -11
- package/icons/sortamountupalt/public_api.d.ts +1 -0
- package/icons/sortamountupalt/sortamountupalt.d.ts +8 -0
- package/icons/spinner/index.d.ts +5 -11
- package/icons/spinner/public_api.d.ts +1 -0
- package/icons/spinner/spinner.d.ts +8 -0
- package/icons/star/index.d.ts +5 -11
- package/icons/star/public_api.d.ts +1 -0
- package/icons/star/star.d.ts +8 -0
- package/icons/starfill/index.d.ts +5 -11
- package/icons/starfill/public_api.d.ts +1 -0
- package/icons/starfill/starfill.d.ts +8 -0
- package/icons/thlarge/index.d.ts +5 -11
- package/icons/thlarge/public_api.d.ts +1 -0
- package/icons/thlarge/thlarge.d.ts +8 -0
- package/icons/times/index.d.ts +5 -9
- package/icons/times/public_api.d.ts +1 -0
- package/icons/times/times.d.ts +6 -0
- package/icons/timescircle/index.d.ts +5 -11
- package/icons/timescircle/public_api.d.ts +1 -0
- package/icons/timescircle/timescircle.d.ts +8 -0
- package/icons/trash/index.d.ts +5 -11
- package/icons/trash/public_api.d.ts +1 -0
- package/icons/trash/trash.d.ts +8 -0
- package/icons/undo/index.d.ts +5 -11
- package/icons/undo/public_api.d.ts +1 -0
- package/icons/undo/undo.d.ts +8 -0
- package/icons/upload/index.d.ts +5 -11
- package/icons/upload/public_api.d.ts +1 -0
- package/icons/upload/upload.d.ts +8 -0
- package/icons/windowmaximize/index.d.ts +5 -11
- package/icons/windowmaximize/public_api.d.ts +1 -0
- package/icons/windowmaximize/windowmaximize.d.ts +8 -0
- package/icons/windowminimize/index.d.ts +5 -11
- package/icons/windowminimize/public_api.d.ts +1 -0
- package/icons/windowminimize/windowminimize.d.ts +8 -0
- package/image/image.d.ts +188 -0
- package/image/image.interface.d.ts +31 -0
- package/image/image.module.d.ts +8 -0
- package/image/index.d.ts +3 -228
- package/image/public_api.d.ts +3 -0
- package/index.d.ts +5 -2
- package/inplace/index.d.ts +3 -130
- package/inplace/inplace.d.ts +109 -0
- package/inplace/inplace.interface.d.ts +19 -0
- package/inplace/public_api.d.ts +2 -0
- package/inputgroup/index.d.ts +3 -48
- package/inputgroup/inputgroup.d.ts +33 -0
- package/inputgroup/inputgroup.module.d.ts +15 -0
- package/inputgroup/public_api.d.ts +2 -0
- package/inputgroupaddon/index.d.ts +3 -35
- package/inputgroupaddon/inputgroupaddon.d.ts +21 -0
- package/inputgroupaddon/inputgroupaddon.module.d.ts +14 -0
- package/inputgroupaddon/public_api.d.ts +2 -0
- package/inputicon/index.d.ts +3 -22
- package/inputicon/inputicon.d.ts +21 -0
- package/inputicon/public_api.d.ts +1 -0
- package/inputmask/index.d.ts +3 -304
- package/inputmask/inputmask.d.ts +273 -0
- package/inputmask/inputmask.interface.d.ts +19 -0
- package/inputmask/inputmask.module.d.ts +12 -0
- package/inputmask/public_api.d.ts +3 -0
- package/inputnumber/index.d.ts +3 -443
- package/inputnumber/inputnumber.d.ts +397 -0
- package/inputnumber/inputnumber.interface.d.ts +38 -0
- package/inputnumber/inputnumber.module.d.ts +8 -0
- package/inputnumber/public_api.d.ts +3 -0
- package/inputotp/index.d.ts +3 -189
- package/inputotp/inputotp.d.ts +123 -0
- package/inputotp/inputotp.interface.d.ts +65 -0
- package/inputotp/public_api.d.ts +2 -0
- package/inputswitch/index.d.ts +3 -123
- package/inputswitch/inputswitch.d.ts +106 -0
- package/inputswitch/inputswitch.interface.d.ts +15 -0
- package/inputswitch/public_api.d.ts +2 -0
- package/inputtext/index.d.ts +5 -76
- package/inputtext/inputtext.component.d.ts +43 -0
- package/inputtext/inputtext.directive.d.ts +25 -0
- package/inputtext/inputtext.module.d.ts +10 -0
- package/inputtext/public_api.d.ts +3 -0
- package/inputtextarea/index.d.ts +3 -112
- package/inputtextarea/inputtextarea.component.d.ts +57 -0
- package/inputtextarea/inputtextarea.directive.d.ts +47 -0
- package/inputtextarea/inputtextarea.module.d.ts +10 -0
- package/inputtextarea/public_api.d.ts +3 -0
- package/keyfilter/index.d.ts +3 -65
- package/keyfilter/keyfilter.d.ts +58 -0
- package/keyfilter/keyfilter.interface.d.ts +5 -0
- package/keyfilter/public_api.d.ts +2 -0
- package/knob/index.d.ts +3 -179
- package/knob/knob.d.ts +178 -0
- package/knob/public_api.d.ts +1 -0
- package/listbox/index.d.ts +3 -620
- package/listbox/listbox.d.ts +463 -0
- package/listbox/listbox.interface.d.ts +156 -0
- package/listbox/public_api.d.ts +2 -0
- package/logo/index.d.ts +5 -20
- package/logo/logo.d.ts +11 -0
- package/logo/logo.module.d.ts +7 -0
- package/logo/public_api.d.ts +2 -0
- package/megamenu/index.d.ts +3 -230
- package/megamenu/megamenu.d.ts +198 -0
- package/megamenu/megamenu.interface.d.ts +31 -0
- package/megamenu/public_api.d.ts +2 -0
- package/menu/index.d.ts +3 -222
- package/menu/menu.d.ts +210 -0
- package/menu/menu.module.d.ts +12 -0
- package/menu/public_api.d.ts +2 -0
- package/menubar/index.d.ts +3 -290
- package/menubar/menubar.d.ts +248 -0
- package/menubar/menubar.interface.d.ts +40 -0
- package/menubar/public_api.d.ts +2 -0
- package/message/index.d.ts +3 -53
- package/message/message.d.ts +52 -0
- package/message/public_api.d.ts +1 -0
- package/messages/index.d.ts +3 -140
- package/messages/messages.d.ts +115 -0
- package/messages/messages.interface.d.ts +18 -0
- package/messages/messages.module.d.ts +8 -0
- package/messages/public_api.d.ts +3 -0
- package/metergroup/index.d.ts +3 -224
- package/metergroup/metergroup.d.ts +101 -0
- package/metergroup/metergroup.interface.d.ts +122 -0
- package/metergroup/public_api.d.ts +2 -0
- package/multiselect/index.d.ts +3 -974
- package/multiselect/multiselect.d.ts +710 -0
- package/multiselect/multiselect.interface.d.ts +247 -0
- package/multiselect/multiselect.module.d.ts +20 -0
- package/multiselect/public_api.d.ts +3 -0
- package/navigation/index.d.ts +5 -105
- package/navigation/navigation.d.ts +70 -0
- package/navigation/navigation.interface.d.ts +26 -0
- package/navigation/navigation.module.d.ts +7 -0
- package/navigation/public_api.d.ts +2 -0
- package/orderlist/index.d.ts +3 -381
- package/orderlist/orderlist.d.ts +270 -0
- package/orderlist/orderlist.interface.d.ts +110 -0
- package/orderlist/public_api.d.ts +2 -0
- package/organizationchart/index.d.ts +3 -192
- package/organizationchart/organizationchart.d.ts +132 -0
- package/organizationchart/organizationchart.interface.d.ts +59 -0
- package/organizationchart/public_api.d.ts +2 -0
- package/overlay/index.d.ts +3 -246
- package/overlay/overlay.d.ts +238 -0
- package/overlay/overlay.module.d.ts +8 -0
- package/overlay/public_api.d.ts +2 -0
- package/overlaypanel/index.d.ts +3 -170
- package/overlaypanel/overlaypanel.d.ts +162 -0
- package/overlaypanel/overlaypanel.module.d.ts +8 -0
- package/overlaypanel/public_api.d.ts +2 -0
- package/package.json +699 -359
- package/paginator/index.d.ts +3 -249
- package/paginator/paginator.d.ts +195 -0
- package/paginator/paginator.interface.d.ts +37 -0
- package/paginator/paginator.module.d.ts +17 -0
- package/paginator/public_api.d.ts +3 -0
- package/panel/index.d.ts +3 -185
- package/panel/panel.d.ts +126 -0
- package/panel/panel.interface.d.ts +58 -0
- package/panel/public_api.d.ts +2 -0
- package/panelmenu/index.d.ts +3 -249
- package/panelmenu/panelmenu.d.ts +225 -0
- package/panelmenu/panelmenu.interface.d.ts +23 -0
- package/panelmenu/public_api.d.ts +2 -0
- package/password/index.d.ts +3 -342
- package/password/password.d.ts +342 -0
- package/password/public_api.d.ts +1 -0
- package/picklist/index.d.ts +3 -696
- package/picklist/picklist.d.ts +453 -0
- package/picklist/picklist.interface.d.ts +242 -0
- package/picklist/public_api.d.ts +2 -0
- package/progressbar/index.d.ts +3 -61
- package/progressbar/progressbar.d.ts +54 -0
- package/progressbar/progressbar.module.d.ts +8 -0
- package/progressbar/public_api.d.ts +2 -0
- package/progressspinner/index.d.ts +3 -58
- package/progressspinner/progressspinner.d.ts +50 -0
- package/progressspinner/progressspinner.module.d.ts +8 -0
- package/progressspinner/public_api.d.ts +2 -0
- package/public_api.d.ts +2 -0
- package/radiobutton/index.d.ts +3 -173
- package/radiobutton/public_api.d.ts +3 -0
- package/radiobutton/radiobutton.d.ts +150 -0
- package/radiobutton/radiobutton.interface.d.ts +15 -0
- package/radiobutton/radiobutton.module.d.ts +7 -0
- package/rating/index.d.ts +3 -181
- package/rating/public_api.d.ts +2 -0
- package/rating/rating.d.ts +146 -0
- package/rating/rating.interface.d.ts +34 -0
- package/resources/components/colorpicker/images/color.png +0 -0
- package/resources/components/colorpicker/images/hue.png +0 -0
- package/resources/components/password/images/password-meter.png +0 -0
- package/resources/components/toggleswitch/toggleswitch.scss +1 -1
- package/resources/components/tree/images/line.gif +0 -0
- package/resources/images/color.png +0 -0
- package/resources/images/hue.png +0 -0
- package/resources/images/line.gif +0 -0
- package/resources/images/password-meter.png +0 -0
- package/ripple/index.d.ts +3 -37
- package/ripple/public_api.d.ts +2 -0
- package/ripple/ripple.d.ts +30 -0
- package/ripple/ripple.module.d.ts +7 -0
- package/scroller/index.d.ts +3 -528
- package/scroller/public_api.d.ts +3 -0
- package/scroller/scroller.d.ts +343 -0
- package/scroller/scroller.interface.d.ts +177 -0
- package/scroller/scroller.module.d.ts +8 -0
- package/scrollpanel/index.d.ts +3 -116
- package/scrollpanel/public_api.d.ts +2 -0
- package/scrollpanel/scrollpanel.d.ts +103 -0
- package/scrollpanel/scrollpanel.interface.d.ts +11 -0
- package/scrolltop/index.d.ts +3 -117
- package/scrolltop/public_api.d.ts +2 -0
- package/scrolltop/scrolltop.d.ts +97 -0
- package/scrolltop/scrolltop.interface.d.ts +18 -0
- package/selectbutton/index.d.ts +3 -184
- package/selectbutton/public_api.d.ts +3 -0
- package/selectbutton/selectbutton.d.ts +128 -0
- package/selectbutton/selectbutton.interface.d.ts +45 -0
- package/selectbutton/selectbutton.module.d.ts +11 -0
- package/sidebar/index.d.ts +3 -213
- package/sidebar/public_api.d.ts +3 -0
- package/sidebar/sidebar.d.ts +173 -0
- package/sidebar/sidebar.interface.d.ts +27 -0
- package/sidebar/sidebar.module.d.ts +12 -0
- package/skeleton/index.d.ts +3 -69
- package/skeleton/public_api.d.ts +2 -0
- package/skeleton/skeleton.d.ts +61 -0
- package/skeleton/skeleton.module.d.ts +8 -0
- package/slidemenu/index.d.ts +3 -339
- package/slidemenu/public_api.d.ts +2 -0
- package/slidemenu/slidemenu.d.ts +322 -0
- package/slidemenu/slidemenu.interface.d.ts +15 -0
- package/slider/index.d.ts +3 -214
- package/slider/public_api.d.ts +2 -0
- package/slider/slider.d.ts +174 -0
- package/slider/slider.interface.d.ts +38 -0
- package/speeddial/index.d.ts +3 -319
- package/speeddial/public_api.d.ts +3 -0
- package/speeddial/speeddial.d.ts +277 -0
- package/speeddial/speeddial.interface.d.ts +28 -0
- package/speeddial/speeddial.module.d.ts +14 -0
- package/spinner/index.d.ts +5 -93
- package/spinner/public_api.d.ts +1 -0
- package/spinner/spinner.d.ts +90 -0
- package/splitbutton/index.d.ts +3 -264
- package/splitbutton/public_api.d.ts +3 -0
- package/splitbutton/splitbutton.d.ts +222 -0
- package/splitbutton/splitbutton.interface.d.ts +30 -0
- package/splitbutton/splitbutton.module.d.ts +13 -0
- package/splitter/index.d.ts +3 -201
- package/splitter/public_api.d.ts +3 -0
- package/splitter/splitter.d.ts +158 -0
- package/splitter/splitter.interface.d.ts +34 -0
- package/splitter/splitter.module.d.ts +9 -0
- package/stepper/index.d.ts +3 -145
- package/stepper/public_api.d.ts +2 -0
- package/stepper/stepper.d.ts +117 -0
- package/stepper/stepper.interface.d.ts +26 -0
- package/steps/index.d.ts +3 -87
- package/steps/public_api.d.ts +2 -0
- package/steps/steps.d.ts +77 -0
- package/steps/steps.module.d.ts +10 -0
- package/styleclass/index.d.ts +3 -109
- package/styleclass/public_api.d.ts +1 -0
- package/styleclass/styleclass.d.ts +108 -0
- package/table/columnfilter.interface.d.ts +247 -0
- package/table/components/cell-editor/cell-editor.d.ts +20 -0
- package/table/components/column-filter/column-filter.d.ts +291 -0
- package/table/components/column-filter-form-element/column-filter-form-element.d.ts +37 -0
- package/table/components/sort-icon/sort-icon.d.ts +22 -0
- package/table/components/table-body/table-body.d.ts +36 -0
- package/table/components/table-checkbox/table-checkbox.d.ts +32 -0
- package/table/components/table-header-checkbox/table-header-checkbox.d.ts +29 -0
- package/table/components/table-radio-button/table-radio-button.d.ts +29 -0
- package/table/directives/cancel-editable-row.directive.d.ts +11 -0
- package/table/directives/cell-highlight.directive.d.ts +14 -0
- package/table/directives/content-menu-row.directive.d.ts +22 -0
- package/table/directives/dynamic-column-width.directive.d.ts +12 -0
- package/table/directives/editable-column.directive.d.ts +40 -0
- package/table/directives/editable-row.directive.d.ts +12 -0
- package/table/directives/frozen-column.directive.d.ts +16 -0
- package/table/directives/init-editable-row.directive.d.ts +11 -0
- package/table/directives/reorderable-column.directive.d.ts +32 -0
- package/table/directives/reorderable-row-handle.directive.d.ts +9 -0
- package/table/directives/reorderable-row.directive.d.ts +34 -0
- package/table/directives/resizable-column.directive.d.ts +35 -0
- package/table/directives/row-group-header.directive.d.ts +9 -0
- package/table/directives/row-toggler.directive.d.ts +13 -0
- package/table/directives/save-editable-row.directive.d.ts +11 -0
- package/table/directives/selectable-row-double-click.directive.d.ts +22 -0
- package/table/directives/selectable-row.directive.d.ts +37 -0
- package/table/directives/sortable-column.directive.d.ts +24 -0
- package/table/index.d.ts +3 -2556
- package/table/public_api.d.ts +30 -0
- package/table/table.d.ts +871 -0
- package/table/table.interface.d.ts +623 -0
- package/table/table.module.d.ts +34 -0
- package/table/table.service.d.ts +24 -0
- package/tableconfiguration/index.d.ts +5 -25
- package/tableconfiguration/public_api.d.ts +2 -0
- package/tableconfiguration/tableconfiguration.d.ts +16 -0
- package/tableconfiguration/tableconfiguration.module.d.ts +7 -0
- package/tabmenu/index.d.ts +3 -160
- package/tabmenu/public_api.d.ts +2 -0
- package/tabmenu/tabmenu.d.ts +126 -0
- package/tabmenu/tabmenu.interface.d.ts +32 -0
- package/tabview/index.d.ts +3 -357
- package/tabview/public_api.d.ts +3 -0
- package/tabview/tabview.d.ts +293 -0
- package/tabview/tabview.interface.d.ts +49 -0
- package/tabview/tabview.module.d.ts +15 -0
- package/tag/index.d.ts +3 -82
- package/tag/public_api.d.ts +3 -0
- package/tag/tag.d.ts +61 -0
- package/tag/tag.interface.d.ts +11 -0
- package/tag/tag.module.d.ts +9 -0
- package/terminal/index.d.ts +3 -68
- package/terminal/public_api.d.ts +2 -0
- package/terminal/terminal.d.ts +56 -0
- package/terminal/terminalservice.d.ts +11 -0
- package/tieredmenu/index.d.ts +3 -307
- package/tieredmenu/public_api.d.ts +3 -0
- package/tieredmenu/tieredmenu.d.ts +266 -0
- package/tieredmenu/tieredmenu.interface.d.ts +27 -0
- package/tieredmenu/tiredmenu.module.d.ts +13 -0
- package/timeline/index.d.ts +3 -100
- package/timeline/public_api.d.ts +3 -0
- package/timeline/timeline.d.ts +47 -0
- package/timeline/timeline.interface.d.ts +43 -0
- package/timeline/timeline.module.d.ts +9 -0
- package/toast/index.d.ts +3 -202
- package/toast/public_api.d.ts +3 -0
- package/toast/toast.d.ts +142 -0
- package/toast/toast.interface.d.ts +52 -0
- package/toast/toast.module.d.ts +9 -0
- package/toast/toastitem.d.ts +37 -0
- package/togglebutton/index.d.ts +3 -150
- package/togglebutton/public_api.d.ts +2 -0
- package/togglebutton/togglebutton.d.ts +115 -0
- package/togglebutton/togglebutton.interface.d.ts +34 -0
- package/toggleswitch/index.d.ts +5 -25
- package/toggleswitch/public_api.d.ts +2 -0
- package/toggleswitch/toggleswitch.d.ts +14 -0
- package/toggleswitch/toggleswitch.module.d.ts +9 -0
- package/toolbar/index.d.ts +3 -64
- package/toolbar/public_api.d.ts +2 -0
- package/toolbar/toolbar.d.ts +43 -0
- package/toolbar/toolbar.interface.d.ts +19 -0
- package/tooltip/index.d.ts +3 -218
- package/tooltip/public_api.d.ts +2 -0
- package/tooltip/tooltip.d.ts +208 -0
- package/tooltip/tooltip.module.d.ts +10 -0
- package/tree/index.d.ts +3 -673
- package/tree/public_api.d.ts +3 -0
- package/tree/tree.d.ts +461 -0
- package/tree/tree.interface.d.ts +193 -0
- package/tree/tree.module.d.ts +21 -0
- package/treeselect/index.d.ts +3 -517
- package/treeselect/public_api.d.ts +3 -0
- package/treeselect/treeselect.d.ts +394 -0
- package/treeselect/treeselect.interface.d.ts +108 -0
- package/treeselect/treeselect.module.d.ts +16 -0
- package/treetable/index.d.ts +3 -1461
- package/treetable/public_api.d.ts +2 -0
- package/treetable/treetable.d.ts +988 -0
- package/treetable/treetable.interface.d.ts +472 -0
- package/tristatecheckbox/index.d.ts +3 -155
- package/tristatecheckbox/public_api.d.ts +3 -0
- package/tristatecheckbox/tristatecheckbox.d.ts +117 -0
- package/tristatecheckbox/tristatecheckbox.interface.d.ts +30 -0
- package/tristatecheckbox/tristatecheckbox.module.d.ts +8 -0
- package/ts-helpers/index.d.ts +5 -6
- package/ts-helpers/public_api.d.ts +1 -0
- package/ts-helpers/ts-helpers.d.ts +4 -0
- package/upload/index.d.ts +5 -81
- package/upload/public_api.d.ts +2 -0
- package/upload/upload.component.d.ts +67 -0
- package/upload/upload.component.module.d.ts +11 -0
- package/utils/index.d.ts +5 -35
- package/utils/objectutils.d.ts +24 -0
- package/utils/public_api.d.ts +4 -0
- package/utils/uniquecomponentid.d.ts +2 -0
- package/utils/zindexutils.d.ts +7 -0
- package/virtualscroller/index.d.ts +3 -161
- package/virtualscroller/public_api.d.ts +2 -0
- package/virtualscroller/virtualscroller.d.ts +89 -0
- package/virtualscroller/virtualscroller.interface.d.ts +72 -0
- package/cax-design-system-2.8.2.tgz +0 -0
|
@@ -0,0 +1,913 @@
|
|
|
1
|
+
import { isPlatformBrowser } from '@angular/common';
|
|
2
|
+
import { ChangeDetectionStrategy, Component, ContentChildren, EventEmitter, Inject, Input, Output, PLATFORM_ID, ViewChild, ViewEncapsulation, booleanAttribute, forwardRef, numberAttribute } from '@angular/core';
|
|
3
|
+
import { CaxTemplate } from 'cax-design-system/api';
|
|
4
|
+
import { DomHandler } from 'cax-design-system/dom';
|
|
5
|
+
import { UniqueComponentId } from 'cax-design-system/utils';
|
|
6
|
+
import * as i0 from "@angular/core";
|
|
7
|
+
import * as i1 from "@angular/common";
|
|
8
|
+
import * as i2 from "cax-design-system/tooltip";
|
|
9
|
+
import * as i3 from "cax-design-system/ripple";
|
|
10
|
+
import * as i4 from "cax-design-system/icons/times";
|
|
11
|
+
import * as i5 from "cax-design-system/icons/chevronleft";
|
|
12
|
+
import * as i6 from "cax-design-system/icons/chevronright";
|
|
13
|
+
import * as i7 from "cax-design-system/button";
|
|
14
|
+
/**
|
|
15
|
+
* TabPanel is a helper component for TabView component.
|
|
16
|
+
* @group Components
|
|
17
|
+
*/
|
|
18
|
+
export class TabPanel {
|
|
19
|
+
el;
|
|
20
|
+
viewContainer;
|
|
21
|
+
cd;
|
|
22
|
+
/**
|
|
23
|
+
* Defines if tab can be removed.
|
|
24
|
+
* @group Props
|
|
25
|
+
*/
|
|
26
|
+
closable = false;
|
|
27
|
+
/**
|
|
28
|
+
* Inline style of the tab header.
|
|
29
|
+
* @group Props
|
|
30
|
+
*/
|
|
31
|
+
get headerStyle() {
|
|
32
|
+
return this._headerStyle;
|
|
33
|
+
}
|
|
34
|
+
set headerStyle(headerStyle) {
|
|
35
|
+
this._headerStyle = headerStyle;
|
|
36
|
+
this.tabView.cd.markForCheck();
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Style class of the tab header.
|
|
40
|
+
* @group Props
|
|
41
|
+
*/
|
|
42
|
+
get headerStyleClass() {
|
|
43
|
+
return this._headerStyleClass;
|
|
44
|
+
}
|
|
45
|
+
set headerStyleClass(headerStyleClass) {
|
|
46
|
+
this._headerStyleClass = headerStyleClass;
|
|
47
|
+
this.tabView.cd.markForCheck();
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Whether a lazy loaded panel should avoid getting loaded again on reselection.
|
|
51
|
+
* @group Props
|
|
52
|
+
*/
|
|
53
|
+
cache = true;
|
|
54
|
+
/**
|
|
55
|
+
* Advisory information to display in a tooltip on hover.
|
|
56
|
+
* @group Props
|
|
57
|
+
*/
|
|
58
|
+
tooltip;
|
|
59
|
+
/**
|
|
60
|
+
* Position of the tooltip.
|
|
61
|
+
* @group Props
|
|
62
|
+
*/
|
|
63
|
+
tooltipPosition = 'top';
|
|
64
|
+
/**
|
|
65
|
+
* Type of CSS position.
|
|
66
|
+
* @group Props
|
|
67
|
+
*/
|
|
68
|
+
tooltipPositionStyle = 'absolute';
|
|
69
|
+
/**
|
|
70
|
+
* Style class of the tooltip.
|
|
71
|
+
* @group Props
|
|
72
|
+
*/
|
|
73
|
+
tooltipStyleClass;
|
|
74
|
+
/**
|
|
75
|
+
* Defines if tab is active.
|
|
76
|
+
* @defaultValue false
|
|
77
|
+
* @group Props
|
|
78
|
+
*/
|
|
79
|
+
get selected() {
|
|
80
|
+
return !!this._selected;
|
|
81
|
+
}
|
|
82
|
+
set selected(val) {
|
|
83
|
+
this._selected = val;
|
|
84
|
+
if (!this.loaded) {
|
|
85
|
+
this.cd.detectChanges();
|
|
86
|
+
}
|
|
87
|
+
if (val)
|
|
88
|
+
this.loaded = true;
|
|
89
|
+
}
|
|
90
|
+
/**
|
|
91
|
+
* When true, tab cannot be activated.
|
|
92
|
+
* @defaultValue false
|
|
93
|
+
* @group Props
|
|
94
|
+
*/
|
|
95
|
+
get disabled() {
|
|
96
|
+
return !!this._disabled;
|
|
97
|
+
}
|
|
98
|
+
set disabled(disabled) {
|
|
99
|
+
this._disabled = disabled;
|
|
100
|
+
this.tabView.cd.markForCheck();
|
|
101
|
+
}
|
|
102
|
+
get pinned() {
|
|
103
|
+
return !!this._pinned;
|
|
104
|
+
}
|
|
105
|
+
set pinned(pinned) {
|
|
106
|
+
this._pinned = pinned;
|
|
107
|
+
this.tabView.cd.markForCheck();
|
|
108
|
+
}
|
|
109
|
+
/**
|
|
110
|
+
* Title of the tabPanel.
|
|
111
|
+
* @group Props
|
|
112
|
+
*/
|
|
113
|
+
get header() {
|
|
114
|
+
return this._header;
|
|
115
|
+
}
|
|
116
|
+
set header(header) {
|
|
117
|
+
this._header = header;
|
|
118
|
+
// We have to wait for the rendering and then retrieve the actual size element from the DOM.
|
|
119
|
+
// in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)
|
|
120
|
+
Promise.resolve().then(() => {
|
|
121
|
+
this.tabView.updateInkBar();
|
|
122
|
+
this.tabView.cd.markForCheck();
|
|
123
|
+
});
|
|
124
|
+
}
|
|
125
|
+
get icon() {
|
|
126
|
+
return this._icon;
|
|
127
|
+
}
|
|
128
|
+
set icon(icon) {
|
|
129
|
+
this._icon = icon;
|
|
130
|
+
// We have to wait for the rendering and then retrieve the actual size element from the DOM.
|
|
131
|
+
// in future `Promise.resolve` can be changed to `queueMicrotask` (if ie11 support will be dropped)
|
|
132
|
+
Promise.resolve().then(() => {
|
|
133
|
+
this.tabView.updateInkBar();
|
|
134
|
+
this.tabView.cd.markForCheck();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Left icon of the tabPanel.
|
|
139
|
+
* @group Props
|
|
140
|
+
* @deprecated since v15.4.2, use `lefticon` template instead.
|
|
141
|
+
*/
|
|
142
|
+
get leftIcon() {
|
|
143
|
+
return this._leftIcon;
|
|
144
|
+
}
|
|
145
|
+
set leftIcon(leftIcon) {
|
|
146
|
+
this._leftIcon = leftIcon;
|
|
147
|
+
this.tabView.cd.markForCheck();
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Left icon of the tabPanel.
|
|
151
|
+
* @group Props
|
|
152
|
+
* @deprecated since v15.4.2, use `righticon` template instead.
|
|
153
|
+
*/
|
|
154
|
+
get rightIcon() {
|
|
155
|
+
return this._rightIcon;
|
|
156
|
+
}
|
|
157
|
+
set rightIcon(rightIcon) {
|
|
158
|
+
this._rightIcon = rightIcon;
|
|
159
|
+
this.tabView.cd.markForCheck();
|
|
160
|
+
}
|
|
161
|
+
templates;
|
|
162
|
+
closed = false;
|
|
163
|
+
view = null;
|
|
164
|
+
_headerStyle;
|
|
165
|
+
_headerStyleClass;
|
|
166
|
+
_selected;
|
|
167
|
+
_disabled;
|
|
168
|
+
_pinned;
|
|
169
|
+
_header;
|
|
170
|
+
_icon;
|
|
171
|
+
_leftIcon;
|
|
172
|
+
_rightIcon = undefined;
|
|
173
|
+
loaded = false;
|
|
174
|
+
id;
|
|
175
|
+
contentTemplate;
|
|
176
|
+
headerTemplate;
|
|
177
|
+
headerIcon;
|
|
178
|
+
leftIconTemplate;
|
|
179
|
+
rightIconTemplate;
|
|
180
|
+
closeIconTemplate;
|
|
181
|
+
tabView;
|
|
182
|
+
constructor(tabView, el, viewContainer, cd) {
|
|
183
|
+
this.el = el;
|
|
184
|
+
this.viewContainer = viewContainer;
|
|
185
|
+
this.cd = cd;
|
|
186
|
+
this.tabView = tabView;
|
|
187
|
+
this.id = UniqueComponentId();
|
|
188
|
+
}
|
|
189
|
+
ngAfterContentInit() {
|
|
190
|
+
this.templates.forEach((item) => {
|
|
191
|
+
switch (item.getType()) {
|
|
192
|
+
case 'header':
|
|
193
|
+
this.headerTemplate = item.template;
|
|
194
|
+
break;
|
|
195
|
+
case 'icon':
|
|
196
|
+
this.headerIcon = item.template;
|
|
197
|
+
break;
|
|
198
|
+
case 'content':
|
|
199
|
+
this.contentTemplate = item.template;
|
|
200
|
+
break;
|
|
201
|
+
case 'righticon':
|
|
202
|
+
this.rightIconTemplate = item.template;
|
|
203
|
+
break;
|
|
204
|
+
case 'lefticon':
|
|
205
|
+
this.leftIconTemplate = item.template;
|
|
206
|
+
break;
|
|
207
|
+
case 'closeicon':
|
|
208
|
+
this.closeIconTemplate = item.template;
|
|
209
|
+
break;
|
|
210
|
+
default:
|
|
211
|
+
this.contentTemplate = item.template;
|
|
212
|
+
break;
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
}
|
|
216
|
+
ngOnDestroy() {
|
|
217
|
+
this.view = null;
|
|
218
|
+
}
|
|
219
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TabPanel, deps: [{ token: forwardRef(() => TabView) }, { token: i0.ElementRef }, { token: i0.ViewContainerRef }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
220
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TabPanel, selector: "cax-tabPanel", inputs: { closable: ["closable", "closable", booleanAttribute], headerStyle: "headerStyle", headerStyleClass: "headerStyleClass", cache: ["cache", "cache", booleanAttribute], tooltip: "tooltip", tooltipPosition: "tooltipPosition", tooltipPositionStyle: "tooltipPositionStyle", tooltipStyleClass: "tooltipStyleClass", selected: "selected", disabled: "disabled", pinned: "pinned", header: "header", icon: "icon", leftIcon: "leftIcon", rightIcon: "rightIcon" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "templates", predicate: CaxTemplate }], ngImport: i0, template: "<div *ngIf=\"!closed\" class=\"cax-tabview-panel\" role=\"tabpanel\" [hidden]=\"!selected\" [attr.id]=\"tabView.getTabContentId(id)\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"tabView.getTabHeaderActionId(id)\" [attr.data-pc-name]=\"'tabpanel'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }] });
|
|
221
|
+
}
|
|
222
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TabPanel, decorators: [{
|
|
223
|
+
type: Component,
|
|
224
|
+
args: [{ selector: 'cax-tabPanel', host: {
|
|
225
|
+
class: 'cax-element'
|
|
226
|
+
}, template: "<div *ngIf=\"!closed\" class=\"cax-tabview-panel\" role=\"tabpanel\" [hidden]=\"!selected\" [attr.id]=\"tabView.getTabContentId(id)\" [attr.aria-hidden]=\"!selected\" [attr.aria-labelledby]=\"tabView.getTabHeaderActionId(id)\" [attr.data-pc-name]=\"'tabpanel'\">\r\n <ng-content></ng-content>\r\n <ng-container *ngIf=\"contentTemplate && (cache ? loaded : selected)\">\r\n <ng-container *ngTemplateOutlet=\"contentTemplate\"></ng-container>\r\n </ng-container>\r\n</div>\r\n" }]
|
|
227
|
+
}], ctorParameters: () => [{ type: TabView, decorators: [{
|
|
228
|
+
type: Inject,
|
|
229
|
+
args: [forwardRef(() => TabView)]
|
|
230
|
+
}] }, { type: i0.ElementRef }, { type: i0.ViewContainerRef }, { type: i0.ChangeDetectorRef }], propDecorators: { closable: [{
|
|
231
|
+
type: Input,
|
|
232
|
+
args: [{ transform: booleanAttribute }]
|
|
233
|
+
}], headerStyle: [{
|
|
234
|
+
type: Input
|
|
235
|
+
}], headerStyleClass: [{
|
|
236
|
+
type: Input
|
|
237
|
+
}], cache: [{
|
|
238
|
+
type: Input,
|
|
239
|
+
args: [{ transform: booleanAttribute }]
|
|
240
|
+
}], tooltip: [{
|
|
241
|
+
type: Input
|
|
242
|
+
}], tooltipPosition: [{
|
|
243
|
+
type: Input
|
|
244
|
+
}], tooltipPositionStyle: [{
|
|
245
|
+
type: Input
|
|
246
|
+
}], tooltipStyleClass: [{
|
|
247
|
+
type: Input
|
|
248
|
+
}], selected: [{
|
|
249
|
+
type: Input
|
|
250
|
+
}], disabled: [{
|
|
251
|
+
type: Input
|
|
252
|
+
}], pinned: [{
|
|
253
|
+
type: Input
|
|
254
|
+
}], header: [{
|
|
255
|
+
type: Input
|
|
256
|
+
}], icon: [{
|
|
257
|
+
type: Input
|
|
258
|
+
}], leftIcon: [{
|
|
259
|
+
type: Input
|
|
260
|
+
}], rightIcon: [{
|
|
261
|
+
type: Input
|
|
262
|
+
}], templates: [{
|
|
263
|
+
type: ContentChildren,
|
|
264
|
+
args: [CaxTemplate]
|
|
265
|
+
}] } });
|
|
266
|
+
/**
|
|
267
|
+
* TabView is a container component to group content with tabs.
|
|
268
|
+
* @group Components
|
|
269
|
+
*/
|
|
270
|
+
export class TabView {
|
|
271
|
+
platformId;
|
|
272
|
+
el;
|
|
273
|
+
cd;
|
|
274
|
+
renderer;
|
|
275
|
+
fullMode = false;
|
|
276
|
+
/**
|
|
277
|
+
* Inline style of the component.
|
|
278
|
+
* @group Props
|
|
279
|
+
*/
|
|
280
|
+
style;
|
|
281
|
+
/**
|
|
282
|
+
* Style class of the component.
|
|
283
|
+
* @group Props
|
|
284
|
+
*/
|
|
285
|
+
styleClass;
|
|
286
|
+
/**
|
|
287
|
+
* Whether tab close is controlled at onClose event or not.
|
|
288
|
+
* @defaultValue false
|
|
289
|
+
* @group Props
|
|
290
|
+
*/
|
|
291
|
+
controlClose;
|
|
292
|
+
/**
|
|
293
|
+
* When enabled displays buttons at each side of the tab headers to scroll the tab list.
|
|
294
|
+
* @defaultValue false
|
|
295
|
+
* @group Props
|
|
296
|
+
*/
|
|
297
|
+
scrollable;
|
|
298
|
+
/**
|
|
299
|
+
* Index of the active tab to change selected tab programmatically.
|
|
300
|
+
* @group Props
|
|
301
|
+
*/
|
|
302
|
+
get activeIndex() {
|
|
303
|
+
return this._activeIndex;
|
|
304
|
+
}
|
|
305
|
+
set activeIndex(val) {
|
|
306
|
+
this._activeIndex = val;
|
|
307
|
+
if (this.preventActiveIndexPropagation) {
|
|
308
|
+
this.preventActiveIndexPropagation = false;
|
|
309
|
+
return;
|
|
310
|
+
}
|
|
311
|
+
if (this.tabs && this.tabs.length && this._activeIndex != null && this.tabs.length > this._activeIndex) {
|
|
312
|
+
this.findSelectedTab().selected = false;
|
|
313
|
+
this.activeTabIndex = this._activeIndex;
|
|
314
|
+
this.tabs[this._activeIndex].selected = true;
|
|
315
|
+
this.tabChanged = true;
|
|
316
|
+
this.updateScrollBar(val);
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
/**
|
|
320
|
+
* When enabled, the focused tab is activated.
|
|
321
|
+
* @group Props
|
|
322
|
+
*/
|
|
323
|
+
selectOnFocus = false;
|
|
324
|
+
/**
|
|
325
|
+
* Used to define a string aria label attribute the forward navigation button.
|
|
326
|
+
* @group Props
|
|
327
|
+
*/
|
|
328
|
+
nextButtonAriaLabel;
|
|
329
|
+
/**
|
|
330
|
+
* Used to define a string aria label attribute the backward navigation button.
|
|
331
|
+
* @group Props
|
|
332
|
+
*/
|
|
333
|
+
prevButtonAriaLabel;
|
|
334
|
+
/**
|
|
335
|
+
* When activated, navigation buttons will automatically hide or show based on the available space within the container.
|
|
336
|
+
* @group Props
|
|
337
|
+
*/
|
|
338
|
+
autoHideButtons = true;
|
|
339
|
+
/**
|
|
340
|
+
* Index of the element in tabbing order.
|
|
341
|
+
* @group Props
|
|
342
|
+
*/
|
|
343
|
+
tabindex = 0;
|
|
344
|
+
actionButton;
|
|
345
|
+
actionButtonSeverity = 'primary';
|
|
346
|
+
actionButtonSize = null;
|
|
347
|
+
actionButtonOutlined = false;
|
|
348
|
+
actionButtonRounded = false;
|
|
349
|
+
actionButtonIcon;
|
|
350
|
+
actionButtonLoading = false;
|
|
351
|
+
actionButtonLink = false;
|
|
352
|
+
actionButtonDisabled = false;
|
|
353
|
+
/**
|
|
354
|
+
* Callback to invoke on tab change.
|
|
355
|
+
* @param {TabViewChangeEvent} event - Custom tab change event
|
|
356
|
+
* @group Emits
|
|
357
|
+
*/
|
|
358
|
+
onChange = new EventEmitter();
|
|
359
|
+
/**
|
|
360
|
+
* Callback to invoke on tab close.
|
|
361
|
+
* @param {TabViewCloseEvent} event - Custom tab close event
|
|
362
|
+
* @group Emits
|
|
363
|
+
*/
|
|
364
|
+
onClose = new EventEmitter();
|
|
365
|
+
/**
|
|
366
|
+
* Callback to invoke on the active tab change.
|
|
367
|
+
* @param {number} index - New active index
|
|
368
|
+
* @group Emits
|
|
369
|
+
*/
|
|
370
|
+
activeIndexChange = new EventEmitter();
|
|
371
|
+
content;
|
|
372
|
+
navbar;
|
|
373
|
+
prevBtn;
|
|
374
|
+
nextBtn;
|
|
375
|
+
inkbar;
|
|
376
|
+
tabPanels;
|
|
377
|
+
templates;
|
|
378
|
+
mode;
|
|
379
|
+
pinnedIndexes = [];
|
|
380
|
+
initialized;
|
|
381
|
+
tabs;
|
|
382
|
+
_activeIndex;
|
|
383
|
+
activeTabIndex = 0; // Keeps track of the active tab
|
|
384
|
+
preventActiveIndexPropagation;
|
|
385
|
+
tabChanged;
|
|
386
|
+
backwardIsDisabled = true;
|
|
387
|
+
forwardIsDisabled = false;
|
|
388
|
+
tabChangesSubscription;
|
|
389
|
+
nextIconTemplate;
|
|
390
|
+
previousIconTemplate;
|
|
391
|
+
resizeObserver;
|
|
392
|
+
container;
|
|
393
|
+
list;
|
|
394
|
+
buttonVisible;
|
|
395
|
+
elementToObserve;
|
|
396
|
+
constructor(platformId, el, cd, renderer) {
|
|
397
|
+
this.platformId = platformId;
|
|
398
|
+
this.el = el;
|
|
399
|
+
this.cd = cd;
|
|
400
|
+
this.renderer = renderer;
|
|
401
|
+
}
|
|
402
|
+
ngAfterContentInit() {
|
|
403
|
+
this.initTabs();
|
|
404
|
+
this.tabChangesSubscription = this.tabPanels.changes.subscribe((_) => {
|
|
405
|
+
this.initTabs();
|
|
406
|
+
this.refreshButtonState();
|
|
407
|
+
this.callResizeObserver();
|
|
408
|
+
});
|
|
409
|
+
this.templates.forEach((item) => {
|
|
410
|
+
switch (item.getType()) {
|
|
411
|
+
case 'previousicon':
|
|
412
|
+
this.previousIconTemplate = item.template;
|
|
413
|
+
break;
|
|
414
|
+
case 'nexticon':
|
|
415
|
+
this.nextIconTemplate = item.template;
|
|
416
|
+
break;
|
|
417
|
+
}
|
|
418
|
+
});
|
|
419
|
+
}
|
|
420
|
+
callResizeObserver() {
|
|
421
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
422
|
+
if (this.autoHideButtons) {
|
|
423
|
+
this.bindResizeObserver();
|
|
424
|
+
}
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
ngAfterViewInit() {
|
|
428
|
+
this.callResizeObserver();
|
|
429
|
+
this.checkScrollableTabs();
|
|
430
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
431
|
+
window.addEventListener('resize', this.handleResize);
|
|
432
|
+
}
|
|
433
|
+
}
|
|
434
|
+
handleResize = () => {
|
|
435
|
+
this.updateInkBar();
|
|
436
|
+
};
|
|
437
|
+
bindResizeObserver() {
|
|
438
|
+
this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
|
|
439
|
+
this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
|
|
440
|
+
this.resizeObserver = new ResizeObserver(() => {
|
|
441
|
+
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
|
442
|
+
this.buttonVisible = true;
|
|
443
|
+
}
|
|
444
|
+
else {
|
|
445
|
+
this.buttonVisible = false;
|
|
446
|
+
}
|
|
447
|
+
this.updateButtonState();
|
|
448
|
+
this.cd.detectChanges();
|
|
449
|
+
});
|
|
450
|
+
this.resizeObserver.observe(this.container);
|
|
451
|
+
}
|
|
452
|
+
unbindResizeObserver() {
|
|
453
|
+
this.resizeObserver.unobserve(this.elementToObserve.nativeElement);
|
|
454
|
+
this.resizeObserver = null;
|
|
455
|
+
}
|
|
456
|
+
ngAfterViewChecked() {
|
|
457
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
458
|
+
if (this.fullMode)
|
|
459
|
+
this.updateInkBar();
|
|
460
|
+
if (this.tabChanged) {
|
|
461
|
+
this.updateInkBar();
|
|
462
|
+
this.tabChanged = false;
|
|
463
|
+
}
|
|
464
|
+
}
|
|
465
|
+
}
|
|
466
|
+
// Navigate to the next tab
|
|
467
|
+
arrowRight() {
|
|
468
|
+
let nextIndex = +this.activeTabIndex + 1;
|
|
469
|
+
while (nextIndex < this.tabs.length && this.tabs[nextIndex].disabled) {
|
|
470
|
+
nextIndex++; // Skip disabled tabs
|
|
471
|
+
}
|
|
472
|
+
if (nextIndex < this.tabs.length) {
|
|
473
|
+
this.updateActiveTab(nextIndex);
|
|
474
|
+
}
|
|
475
|
+
}
|
|
476
|
+
// Navigate to the previous tab
|
|
477
|
+
arrowLeft() {
|
|
478
|
+
let prevIndex = +this.activeTabIndex - 1;
|
|
479
|
+
while (prevIndex >= 0 && this.tabs[prevIndex].disabled) {
|
|
480
|
+
prevIndex--; // Skip disabled tabs
|
|
481
|
+
}
|
|
482
|
+
// Update active tab only if prevIndex is valid
|
|
483
|
+
if (prevIndex >= 0) {
|
|
484
|
+
this.updateActiveTab(prevIndex);
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
// Update active tab
|
|
488
|
+
updateActiveTab(index) {
|
|
489
|
+
this.tabs[this.activeTabIndex].selected = false;
|
|
490
|
+
this.activeTabIndex = index;
|
|
491
|
+
this.tabs[this.activeTabIndex].selected = true;
|
|
492
|
+
}
|
|
493
|
+
ngOnDestroy() {
|
|
494
|
+
if (this.tabChangesSubscription) {
|
|
495
|
+
this.tabChangesSubscription.unsubscribe();
|
|
496
|
+
}
|
|
497
|
+
if (this.resizeObserver) {
|
|
498
|
+
this.unbindResizeObserver();
|
|
499
|
+
}
|
|
500
|
+
}
|
|
501
|
+
getTabHeaderActionId(tabId) {
|
|
502
|
+
return `${tabId}_header_action`;
|
|
503
|
+
}
|
|
504
|
+
getTabContentId(tabId) {
|
|
505
|
+
return `${tabId}_content`;
|
|
506
|
+
}
|
|
507
|
+
initTabs() {
|
|
508
|
+
this.tabs = this.tabPanels.toArray();
|
|
509
|
+
let pinnedWidth = 0;
|
|
510
|
+
const pinnedTabs = this.pinnedIndexes
|
|
511
|
+
.filter((index) => index >= 0 && index < this.tabs.length)
|
|
512
|
+
.map((index) => {
|
|
513
|
+
const tab = this.tabs[index];
|
|
514
|
+
tab.pinned = true; // Mark these tabs as pinned
|
|
515
|
+
return tab;
|
|
516
|
+
});
|
|
517
|
+
const nonPinnedTabs = this.tabs
|
|
518
|
+
.filter((_, index) => !this.pinnedIndexes.includes(index))
|
|
519
|
+
.map((tab) => {
|
|
520
|
+
tab.pinned = false; // Ensure non-pinned tabs are not marked as pinned
|
|
521
|
+
return tab;
|
|
522
|
+
});
|
|
523
|
+
this.tabs.forEach((tab, index) => {
|
|
524
|
+
if (this.pinnedIndexes.includes(index)) {
|
|
525
|
+
tab.pinned = true;
|
|
526
|
+
tab.closable = false; // Ensure pinned tabs are not closable
|
|
527
|
+
if (tab.icon && !tab.header) {
|
|
528
|
+
tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` };
|
|
529
|
+
pinnedWidth += 56;
|
|
530
|
+
}
|
|
531
|
+
else {
|
|
532
|
+
tab.headerStyle = { '--pinned-left': `${pinnedWidth}px` }; // Set dynamic left position
|
|
533
|
+
pinnedWidth += 56;
|
|
534
|
+
}
|
|
535
|
+
}
|
|
536
|
+
else {
|
|
537
|
+
tab.pinned = false;
|
|
538
|
+
// Keep closable property unchanged for non-pinned tabs
|
|
539
|
+
}
|
|
540
|
+
});
|
|
541
|
+
this.tabs = [...pinnedTabs, ...nonPinnedTabs];
|
|
542
|
+
let selectedTab = this.findSelectedTab();
|
|
543
|
+
if (!selectedTab && this.tabs.length) {
|
|
544
|
+
if (this.activeIndex != null && this.tabs.length > this.activeIndex) {
|
|
545
|
+
this.activeTabIndex = this.activeIndex;
|
|
546
|
+
this.tabs[this.activeIndex].selected = true;
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
this.activeTabIndex = 0;
|
|
550
|
+
this.tabs[0].selected = true;
|
|
551
|
+
}
|
|
552
|
+
this.tabChanged = true;
|
|
553
|
+
}
|
|
554
|
+
this.cd.markForCheck();
|
|
555
|
+
}
|
|
556
|
+
onTabKeyDown(event, tab) {
|
|
557
|
+
switch (event.code) {
|
|
558
|
+
case 'ArrowLeft':
|
|
559
|
+
this.onTabArrowLeftKey(event);
|
|
560
|
+
break;
|
|
561
|
+
case 'ArrowRight':
|
|
562
|
+
this.onTabArrowRightKey(event);
|
|
563
|
+
break;
|
|
564
|
+
case 'Home':
|
|
565
|
+
this.onTabHomeKey(event);
|
|
566
|
+
break;
|
|
567
|
+
case 'End':
|
|
568
|
+
this.onTabEndKey(event);
|
|
569
|
+
break;
|
|
570
|
+
case 'PageDown':
|
|
571
|
+
this.onTabEndKey(event);
|
|
572
|
+
break;
|
|
573
|
+
case 'PageUp':
|
|
574
|
+
this.onTabHomeKey(event);
|
|
575
|
+
break;
|
|
576
|
+
case 'Enter':
|
|
577
|
+
case 'Space':
|
|
578
|
+
this.open(event, tab);
|
|
579
|
+
break;
|
|
580
|
+
default:
|
|
581
|
+
break;
|
|
582
|
+
}
|
|
583
|
+
}
|
|
584
|
+
onTabArrowLeftKey(event) {
|
|
585
|
+
const prevHeaderAction = this.findPrevHeaderAction(event.target.parentElement);
|
|
586
|
+
const index = DomHandler.getAttribute(prevHeaderAction, 'data-pc-index');
|
|
587
|
+
prevHeaderAction ? this.changeFocusedTab(event, prevHeaderAction, index) : this.onTabEndKey(event);
|
|
588
|
+
event.preventDefault();
|
|
589
|
+
}
|
|
590
|
+
onTabArrowRightKey(event) {
|
|
591
|
+
const nextHeaderAction = this.findNextHeaderAction(event.target.parentElement);
|
|
592
|
+
const index = DomHandler.getAttribute(nextHeaderAction, 'data-pc-index');
|
|
593
|
+
nextHeaderAction ? this.changeFocusedTab(event, nextHeaderAction, index) : this.onTabHomeKey(event);
|
|
594
|
+
event.preventDefault();
|
|
595
|
+
}
|
|
596
|
+
onTabHomeKey(event) {
|
|
597
|
+
const firstHeaderAction = this.findFirstHeaderAction();
|
|
598
|
+
const index = DomHandler.getAttribute(firstHeaderAction, 'data-pc-index');
|
|
599
|
+
this.changeFocusedTab(event, firstHeaderAction, index);
|
|
600
|
+
event.preventDefault();
|
|
601
|
+
}
|
|
602
|
+
onTabEndKey(event) {
|
|
603
|
+
const lastHeaderAction = this.findLastHeaderAction();
|
|
604
|
+
const index = DomHandler.getAttribute(lastHeaderAction, 'data-pc-index');
|
|
605
|
+
this.changeFocusedTab(event, lastHeaderAction, index);
|
|
606
|
+
event.preventDefault();
|
|
607
|
+
}
|
|
608
|
+
changeFocusedTab(event, element, index) {
|
|
609
|
+
if (element) {
|
|
610
|
+
DomHandler.focus(element);
|
|
611
|
+
element.scrollIntoView({ block: 'nearest' });
|
|
612
|
+
if (this.selectOnFocus) {
|
|
613
|
+
const tab = this.tabs[index];
|
|
614
|
+
this.open(event, tab);
|
|
615
|
+
}
|
|
616
|
+
}
|
|
617
|
+
}
|
|
618
|
+
findNextHeaderAction(tabElement, selfCheck = false) {
|
|
619
|
+
const headerElement = selfCheck ? tabElement : tabElement.nextElementSibling;
|
|
620
|
+
return headerElement
|
|
621
|
+
? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'
|
|
622
|
+
? this.findNextHeaderAction(headerElement)
|
|
623
|
+
: DomHandler.findSingle(headerElement, '[data-pc-section="headeraction"]')
|
|
624
|
+
: null;
|
|
625
|
+
}
|
|
626
|
+
findPrevHeaderAction(tabElement, selfCheck = false) {
|
|
627
|
+
const headerElement = selfCheck ? tabElement : tabElement.previousElementSibling;
|
|
628
|
+
return headerElement
|
|
629
|
+
? DomHandler.getAttribute(headerElement, 'data-cax-disabled') || DomHandler.getAttribute(headerElement, 'data-pc-section') === 'inkbar'
|
|
630
|
+
? this.findPrevHeaderAction(headerElement)
|
|
631
|
+
: DomHandler.findSingle(headerElement, '[data-pc-section="headeraction"]')
|
|
632
|
+
: null;
|
|
633
|
+
}
|
|
634
|
+
findFirstHeaderAction() {
|
|
635
|
+
const firstEl = this.navbar.nativeElement.firstElementChild;
|
|
636
|
+
return this.findNextHeaderAction(firstEl, true);
|
|
637
|
+
}
|
|
638
|
+
findLastHeaderAction() {
|
|
639
|
+
const lastEl = this.navbar.nativeElement.lastElementChild;
|
|
640
|
+
const lastHeaderAction = DomHandler.getAttribute(lastEl, 'data-pc-section') === 'inkbar' ? lastEl.previousElementSibling : lastEl;
|
|
641
|
+
return this.findPrevHeaderAction(lastHeaderAction, true);
|
|
642
|
+
}
|
|
643
|
+
open(event, tab) {
|
|
644
|
+
if (tab.disabled) {
|
|
645
|
+
if (event) {
|
|
646
|
+
event.preventDefault();
|
|
647
|
+
}
|
|
648
|
+
return;
|
|
649
|
+
}
|
|
650
|
+
if (!tab.selected) {
|
|
651
|
+
let selectedTab = this.findSelectedTab();
|
|
652
|
+
if (selectedTab) {
|
|
653
|
+
selectedTab.selected = false;
|
|
654
|
+
}
|
|
655
|
+
this.tabChanged = true;
|
|
656
|
+
tab.selected = true;
|
|
657
|
+
let selectedTabIndex = this.findTabIndex(tab);
|
|
658
|
+
if (selectedTabIndex !== this.activeTabIndex) {
|
|
659
|
+
this.updateActiveTab(selectedTabIndex);
|
|
660
|
+
}
|
|
661
|
+
this.preventActiveIndexPropagation = true;
|
|
662
|
+
this.activeIndexChange.emit(selectedTabIndex);
|
|
663
|
+
this.onChange.emit({ originalEvent: event, index: selectedTabIndex });
|
|
664
|
+
this.updateScrollBar(selectedTabIndex);
|
|
665
|
+
}
|
|
666
|
+
if (event) {
|
|
667
|
+
event.preventDefault();
|
|
668
|
+
}
|
|
669
|
+
}
|
|
670
|
+
close(event, tab) {
|
|
671
|
+
if (this.controlClose) {
|
|
672
|
+
this.onClose.emit({
|
|
673
|
+
originalEvent: event,
|
|
674
|
+
index: this.findTabIndex(tab),
|
|
675
|
+
close: () => {
|
|
676
|
+
this.closeTab(tab);
|
|
677
|
+
}
|
|
678
|
+
});
|
|
679
|
+
}
|
|
680
|
+
else {
|
|
681
|
+
this.closeTab(tab);
|
|
682
|
+
this.onClose.emit({
|
|
683
|
+
originalEvent: event,
|
|
684
|
+
index: this.findTabIndex(tab)
|
|
685
|
+
});
|
|
686
|
+
}
|
|
687
|
+
}
|
|
688
|
+
closeTab(tab) {
|
|
689
|
+
if (tab.disabled) {
|
|
690
|
+
return;
|
|
691
|
+
}
|
|
692
|
+
if (tab.selected) {
|
|
693
|
+
this.tabChanged = true;
|
|
694
|
+
tab.selected = false;
|
|
695
|
+
for (let i = 0; i < this.tabs.length; i++) {
|
|
696
|
+
let tabPanel = this.tabs[i];
|
|
697
|
+
if (!tabPanel.closed && !tab.disabled) {
|
|
698
|
+
tabPanel.selected = true;
|
|
699
|
+
break;
|
|
700
|
+
}
|
|
701
|
+
}
|
|
702
|
+
}
|
|
703
|
+
tab.closed = true;
|
|
704
|
+
setTimeout(() => {
|
|
705
|
+
this.updateInkBar();
|
|
706
|
+
});
|
|
707
|
+
}
|
|
708
|
+
findSelectedTab() {
|
|
709
|
+
for (let i = 0; i < this.tabs.length; i++) {
|
|
710
|
+
if (this.tabs[i].selected) {
|
|
711
|
+
return this.tabs[i];
|
|
712
|
+
}
|
|
713
|
+
}
|
|
714
|
+
return null;
|
|
715
|
+
}
|
|
716
|
+
findTabIndex(tab) {
|
|
717
|
+
let index = -1;
|
|
718
|
+
for (let i = 0; i < this.tabs.length; i++) {
|
|
719
|
+
if (this.tabs[i] == tab) {
|
|
720
|
+
index = i;
|
|
721
|
+
break;
|
|
722
|
+
}
|
|
723
|
+
}
|
|
724
|
+
return index;
|
|
725
|
+
}
|
|
726
|
+
getBlockableElement() {
|
|
727
|
+
return this.el.nativeElement.children[0];
|
|
728
|
+
}
|
|
729
|
+
updateInkBar() {
|
|
730
|
+
if (isPlatformBrowser(this.platformId)) {
|
|
731
|
+
if (this.navbar) {
|
|
732
|
+
const tabHeader = DomHandler.findSingle(this.navbar.nativeElement, 'li.cax-highlight');
|
|
733
|
+
if (!tabHeader) {
|
|
734
|
+
return;
|
|
735
|
+
}
|
|
736
|
+
if (this.inkbar) {
|
|
737
|
+
if (this.fullMode) {
|
|
738
|
+
const inkbarElement = this.inkbar.nativeElement;
|
|
739
|
+
// Recalculate the width and position relative to the navbar
|
|
740
|
+
const tabWidth = DomHandler.getWidth(tabHeader);
|
|
741
|
+
const tabOffsetLeft = DomHandler.getOffset(tabHeader).left;
|
|
742
|
+
const navbarOffsetLeft = DomHandler.getOffset(this.navbar.nativeElement).left;
|
|
743
|
+
// Dynamically set the width and position
|
|
744
|
+
inkbarElement.style.width = `${tabWidth}px`;
|
|
745
|
+
inkbarElement.style.left = `${tabOffsetLeft - navbarOffsetLeft}px`;
|
|
746
|
+
}
|
|
747
|
+
else {
|
|
748
|
+
this.inkbar.nativeElement.style.width = DomHandler.getWidth(tabHeader) + 'px';
|
|
749
|
+
this.inkbar.nativeElement.style.left = DomHandler.getOffset(tabHeader).left - DomHandler.getOffset(this.navbar.nativeElement).left + 'px';
|
|
750
|
+
}
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
}
|
|
754
|
+
}
|
|
755
|
+
updateScrollBar(index) {
|
|
756
|
+
let tabHeader = this.navbar.nativeElement.children[index];
|
|
757
|
+
if (tabHeader) {
|
|
758
|
+
tabHeader.scrollIntoView({ block: 'nearest' });
|
|
759
|
+
}
|
|
760
|
+
}
|
|
761
|
+
updateButtonState() {
|
|
762
|
+
const content = this.content.nativeElement;
|
|
763
|
+
const { scrollLeft, scrollWidth } = content;
|
|
764
|
+
const width = DomHandler.getWidth(content);
|
|
765
|
+
this.backwardIsDisabled = scrollLeft === 0;
|
|
766
|
+
this.forwardIsDisabled = Math.round(scrollLeft) === scrollWidth - width;
|
|
767
|
+
}
|
|
768
|
+
refreshButtonState() {
|
|
769
|
+
this.container = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="navcontent"]');
|
|
770
|
+
this.list = DomHandler.findSingle(this.el.nativeElement, '[data-pc-section="nav"]');
|
|
771
|
+
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
|
772
|
+
if (this.list.offsetWidth >= this.container.offsetWidth) {
|
|
773
|
+
this.buttonVisible = true;
|
|
774
|
+
}
|
|
775
|
+
else {
|
|
776
|
+
this.buttonVisible = false;
|
|
777
|
+
}
|
|
778
|
+
this.updateButtonState();
|
|
779
|
+
this.cd.markForCheck();
|
|
780
|
+
}
|
|
781
|
+
}
|
|
782
|
+
onScroll(event) {
|
|
783
|
+
this.scrollable && this.updateButtonState();
|
|
784
|
+
const scrollLeft = event.target.scrollLeft;
|
|
785
|
+
// Adjust the margin or transform of the fixed elements
|
|
786
|
+
const offset = Math.min(scrollLeft, 50); // Limit the offset to a maximum value (e.g., 50px)
|
|
787
|
+
// Adjust the styles for fixed elements
|
|
788
|
+
const pinnedElements = document.querySelectorAll('.cax-left-arrow, .cax-right-arrow, .cax-tabview-nav-content, .cax-line, .cax-segment');
|
|
789
|
+
pinnedElements.forEach((element) => {
|
|
790
|
+
element.style.transform = `translateX(${offset}px)`;
|
|
791
|
+
});
|
|
792
|
+
this.checkScrollableTabs(); // Check and update padding
|
|
793
|
+
event.preventDefault();
|
|
794
|
+
}
|
|
795
|
+
checkScrollableTabs() {
|
|
796
|
+
if (!this.content)
|
|
797
|
+
return;
|
|
798
|
+
const tabContainer = this.content.nativeElement;
|
|
799
|
+
if (tabContainer.scrollWidth > tabContainer.clientWidth) {
|
|
800
|
+
tabContainer.classList.add('scrollable-tabs');
|
|
801
|
+
}
|
|
802
|
+
else {
|
|
803
|
+
tabContainer.classList.remove('scrollable-tabs');
|
|
804
|
+
}
|
|
805
|
+
}
|
|
806
|
+
getVisibleButtonWidths() {
|
|
807
|
+
return [this.prevBtn?.nativeElement, this.nextBtn?.nativeElement].reduce((acc, el) => (el ? acc + DomHandler.getWidth(el) : acc), 0);
|
|
808
|
+
}
|
|
809
|
+
navBackward() {
|
|
810
|
+
const content = this.content.nativeElement;
|
|
811
|
+
const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();
|
|
812
|
+
const pos = content.scrollLeft - width;
|
|
813
|
+
content.scrollLeft = pos <= 0 ? 0 : pos;
|
|
814
|
+
}
|
|
815
|
+
navForward() {
|
|
816
|
+
const content = this.content.nativeElement;
|
|
817
|
+
const width = DomHandler.getWidth(content) - this.getVisibleButtonWidths();
|
|
818
|
+
const pos = content.scrollLeft + width;
|
|
819
|
+
const lastPos = content.scrollWidth - width;
|
|
820
|
+
content.scrollLeft = pos >= lastPos ? lastPos : pos;
|
|
821
|
+
}
|
|
822
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TabView, deps: [{ token: PLATFORM_ID }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: i0.Renderer2 }], target: i0.ɵɵFactoryTarget.Component });
|
|
823
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "16.1.0", version: "18.2.9", type: TabView, selector: "cax-tabView", inputs: { fullMode: "fullMode", style: "style", styleClass: "styleClass", controlClose: ["controlClose", "controlClose", booleanAttribute], scrollable: ["scrollable", "scrollable", booleanAttribute], activeIndex: "activeIndex", selectOnFocus: ["selectOnFocus", "selectOnFocus", booleanAttribute], nextButtonAriaLabel: "nextButtonAriaLabel", prevButtonAriaLabel: "prevButtonAriaLabel", autoHideButtons: ["autoHideButtons", "autoHideButtons", booleanAttribute], tabindex: ["tabindex", "tabindex", numberAttribute], actionButton: "actionButton", actionButtonSeverity: "actionButtonSeverity", actionButtonSize: "actionButtonSize", actionButtonOutlined: "actionButtonOutlined", actionButtonRounded: "actionButtonRounded", actionButtonIcon: "actionButtonIcon", actionButtonLoading: "actionButtonLoading", actionButtonLink: "actionButtonLink", actionButtonDisabled: "actionButtonDisabled", mode: "mode", pinnedIndexes: "pinnedIndexes" }, outputs: { onChange: "onChange", onClose: "onClose", activeIndexChange: "activeIndexChange" }, host: { classAttribute: "cax-element" }, queries: [{ propertyName: "tabPanels", predicate: TabPanel }, { propertyName: "templates", predicate: CaxTemplate }], viewQueries: [{ propertyName: "content", first: true, predicate: ["content"], descendants: true }, { propertyName: "navbar", first: true, predicate: ["navbar"], descendants: true }, { propertyName: "prevBtn", first: true, predicate: ["prevBtn"], descendants: true }, { propertyName: "nextBtn", first: true, predicate: ["nextBtn"], descendants: true }, { propertyName: "inkbar", first: true, predicate: ["inkbar"], descendants: true }, { propertyName: "elementToObserve", first: true, predicate: ["elementToObserve"], descendants: true }], ngImport: i0, template: "<div [ngClass]=\"{ 'cax-tabview cax-component': true, 'cax-tabview-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'tabview'\">\r\n <div #elementToObserve class=\"cax-tabview-nav-container\" *ngIf=\"mode == 'line'\" [ngClass]=\"fullMode ? 'block-mode' : 'flex-mode'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li role=\"presentation\" [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled }\" [attr.data-cax-disabled]=\"tab.disabled\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\"\r\n [class.full-mode]=\"fullMode\" [class.half-mode]=\"!fullMode\" *ngIf=\"!tab.closed\">\r\n <a\r\n role=\"tab\"\r\n class=\"cax-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n <li #inkbar class=\"cax-tabview-ink-bar\" role=\"presentation\" aria-hidden=\"true\" [attr.data-pc-section]=\"'inkbar'\"></li>\r\n </ul>\r\n </div>\r\n \r\n <!-- Configurable Buttons -->\r\n <div class=\"cax-tabview-action-buttons\" *ngIf=\"actionButton?.length && !fullMode\">\r\n <ng-container *ngFor=\"let button of actionButton\" >\r\n <div class=\"cax-tabview-separator\"></div>\r\n <button type=\"button\" caxButton \r\n class=\"cax-tabview-extra-btn\" \r\n [label]=\"button.label\"\r\n [severity]=\"button.actionButtonSeverity\"\r\n [link]=\"button.actionButtonLink\"\r\n [icon]=\"button.actionButtonIcon\"\r\n [disabled]=\"button.actionButtonDisabled\"\r\n [outlined]=\"button.actionButtonOutlined\"\r\n [rounded]=\"button.actionButtonRounded\"\r\n [size]=\"button.actionButtonSize\"\r\n [loading]=\"button.actionButtonLoading\"\r\n (click)=\"button.action()\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n \r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div #elementToObserve class=\"cax-tabview-nav-container cax-segment-tabview-container\" *ngIf=\"mode == 'segment'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div class=\"cax-segment-tabview-header\">\r\n <span class=\"cax-arrow-buttons\">\r\n <button #prevBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"prevButtonAriaLabel\" class=\"cax cax-arrow-left cax-left-arrow\" (click)=\"arrowLeft()\" type=\"button\" [disabled]=\"activeTabIndex === 0\"></button>\r\n <button #nextBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"nextButtonAriaLabel\" class=\"cax cax-arrow-right cax-right-arrow\" [disabled]=\"activeTabIndex === tabs.length - 1\" (click)=\"arrowRight()\" type=\"button\"></button>\r\n </span>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-segment-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li\r\n role=\"presentation\"\r\n [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled, 'pinned': tab.pinned }\"\r\n [attr.data-cax-disabled]=\"tab.disabled\"\r\n [ngStyle]=\"tab.headerStyle\"\r\n [class]=\"tab.headerStyleClass\"\r\n *ngIf=\"!tab.closed\"\r\n >\r\n <a\r\n role=\"tab\"\r\n class=\"cax-segment-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span *ngIf=\"tab.header\" class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-tabview-panels\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["@layer cax{.cax-tabview-nav-container{position:relative}.cax-tabview-nav-container.block-mode{display:block}.cax-tabview-nav-container.flex-mode{display:flex}.cax-tabview-action-buttons{display:flex;align-items:center;margin-left:auto}.cax-tabview-separator{width:2px;height:35px;display:inline-block;vertical-align:middle;margin-right:8px}.cax-tabview-scrollable .cax-tabview-nav-container{overflow:hidden;white-space:nowrap}.cax-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.cax-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.cax-tabview-nav li.full-mode{min-height:60px;display:flex;justify-content:center;align-items:center;flex:1!important}.cax-tabview-nav li.full-mode cax-tabview .cax-tabview-nav li .cax-tabview-nav-link{border:none}.cax-tabview-nav li.half-mode{min-height:60px;display:flex;justify-content:center;align-items:center;flex:none!important}.cax-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.cax-tabview-ink-bar{display:none;z-index:1}.cax-tabview-nav-link:focus{z-index:1}.cax-tabview-title{line-height:1;white-space:nowrap}.cax-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.cax-tabview-nav-prev{left:0}.cax-tabview-nav-next{right:0}.cax-tabview-nav-content::-webkit-scrollbar{display:none}.cax-tabview-close{z-index:1}.cax-segment-tabview-container{flex-direction:row;height:48px}.cax-segment-tabview-header{display:flex;align-items:center;height:48px}.cax-segment-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.cax-segment-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.cax-segment-tabview-nav-link{z-index:1}.cax-left-arrow,.cax-right-arrow{position:sticky;top:0;z-index:100;background:transparent;border:none;cursor:pointer;font-size:1.25rem}.cax-arrow-buttons{display:flex;align-items:center;gap:16px}.cax-left-arrow,.cax-right-arrow{position:sticky;left:0;z-index:100;transition:transform .2s ease}.cax-left-arrow{left:0;padding-left:var(--space-200)}.cax-right-arrow{right:0;padding-right:var(--space-200)}.cax-dynamic-icon{font-size:1.25rem;cursor:pointer}.cax-segment-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.cax-segment-tabview-nav li.pinned{position:sticky;left:var(--pinned-left, 0);z-index:10;background-color:var(--white-100)}}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i2.Tooltip, selector: "[caxTooltip]", inputs: ["tooltipPosition", "tooltipEvent", "appendTo", "positionStyle", "tooltipStyleClass", "tooltipZIndex", "escape", "showDelay", "hideDelay", "life", "positionTop", "positionLeft", "autoHide", "fitContent", "hideOnEscape", "caxTooltip", "tooltipDisabled", "tooltipOptions", "linkUrl", "linkText"] }, { kind: "directive", type: i3.Ripple, selector: "[caxRipple]" }, { kind: "component", type: i4.TimesIcon, selector: "TimesIcon" }, { kind: "component", type: i5.ChevronLeftIcon, selector: "ChevronLeftIcon" }, { kind: "component", type: i6.ChevronRightIcon, selector: "ChevronRightIcon" }, { kind: "directive", type: i7.ButtonDirective, selector: "[caxButton]", inputs: ["iconPos", "loadingIcon", "label", "icon", "loading", "severity", "raised", "rounded", "text", "outlined", "size", "plain", "link"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
|
|
824
|
+
}
|
|
825
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImport: i0, type: TabView, decorators: [{
|
|
826
|
+
type: Component,
|
|
827
|
+
args: [{ selector: 'cax-tabView', changeDetection: ChangeDetectionStrategy.OnPush, encapsulation: ViewEncapsulation.None, host: {
|
|
828
|
+
class: 'cax-element'
|
|
829
|
+
}, template: "<div [ngClass]=\"{ 'cax-tabview cax-component': true, 'cax-tabview-scrollable': scrollable }\" [ngStyle]=\"style\" [class]=\"styleClass\" [attr.data-pc-name]=\"'tabview'\">\r\n <div #elementToObserve class=\"cax-tabview-nav-container\" *ngIf=\"mode == 'line'\" [ngClass]=\"fullMode ? 'block-mode' : 'flex-mode'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li role=\"presentation\" [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled }\" [attr.data-cax-disabled]=\"tab.disabled\" [ngStyle]=\"tab.headerStyle\" [class]=\"tab.headerStyleClass\"\r\n [class.full-mode]=\"fullMode\" [class.half-mode]=\"!fullMode\" *ngIf=\"!tab.closed\">\r\n <a\r\n role=\"tab\"\r\n class=\"cax-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n <li #inkbar class=\"cax-tabview-ink-bar\" role=\"presentation\" aria-hidden=\"true\" [attr.data-pc-section]=\"'inkbar'\"></li>\r\n </ul>\r\n </div>\r\n \r\n <!-- Configurable Buttons -->\r\n <div class=\"cax-tabview-action-buttons\" *ngIf=\"actionButton?.length && !fullMode\">\r\n <ng-container *ngFor=\"let button of actionButton\" >\r\n <div class=\"cax-tabview-separator\"></div>\r\n <button type=\"button\" caxButton \r\n class=\"cax-tabview-extra-btn\" \r\n [label]=\"button.label\"\r\n [severity]=\"button.actionButtonSeverity\"\r\n [link]=\"button.actionButtonLink\"\r\n [icon]=\"button.actionButtonIcon\"\r\n [disabled]=\"button.actionButtonDisabled\"\r\n [outlined]=\"button.actionButtonOutlined\"\r\n [rounded]=\"button.actionButtonRounded\"\r\n [size]=\"button.actionButtonSize\"\r\n [loading]=\"button.actionButtonLoading\"\r\n (click)=\"button.action()\">\r\n </button>\r\n </ng-container>\r\n </div>\r\n \r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div #elementToObserve class=\"cax-tabview-nav-container cax-segment-tabview-container\" *ngIf=\"mode == 'segment'\">\r\n <button\r\n *ngIf=\"scrollable && !backwardIsDisabled && autoHideButtons\"\r\n #prevBtn\r\n class=\"cax-tabview-nav-prev cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navBackward()\"\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"prevButtonAriaLabel\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronLeftIcon *ngIf=\"!previousIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"previousIconTemplate\"></ng-template>\r\n </button>\r\n <div class=\"cax-segment-tabview-header\">\r\n <span class=\"cax-arrow-buttons\">\r\n <button #prevBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"prevButtonAriaLabel\" class=\"cax cax-arrow-left cax-left-arrow\" (click)=\"arrowLeft()\" type=\"button\" [disabled]=\"activeTabIndex === 0\"></button>\r\n <button #nextBtn [attr.tabindex]=\"tabindex\" [attr.aria-label]=\"nextButtonAriaLabel\" class=\"cax cax-arrow-right cax-right-arrow\" [disabled]=\"activeTabIndex === tabs.length - 1\" (click)=\"arrowRight()\" type=\"button\"></button>\r\n </span>\r\n <div #content class=\"cax-tabview-nav-content\" (scroll)=\"onScroll($event)\" [attr.data-pc-section]=\"'navcontent'\">\r\n <ul #navbar class=\"cax-segment-tabview-nav\" role=\"tablist\" [attr.data-pc-section]=\"'nav'\">\r\n <ng-template ngFor let-tab [ngForOf]=\"tabs\" let-i=\"index\">\r\n <li\r\n role=\"presentation\"\r\n [ngClass]=\"{ 'cax-highlight': tab.selected, 'cax-disabled': tab.disabled, 'pinned': tab.pinned }\"\r\n [attr.data-cax-disabled]=\"tab.disabled\"\r\n [ngStyle]=\"tab.headerStyle\"\r\n [class]=\"tab.headerStyleClass\"\r\n *ngIf=\"!tab.closed\"\r\n >\r\n <a\r\n role=\"tab\"\r\n class=\"cax-segment-tabview-nav-link\"\r\n [caxTooltip]=\"tab.tooltip\"\r\n [tooltipPosition]=\"tab.tooltipPosition\"\r\n [positionStyle]=\"tab.tooltipPositionStyle\"\r\n [tooltipStyleClass]=\"tab.tooltipStyleClass\"\r\n [attr.id]=\"getTabHeaderActionId(tab.id)\"\r\n [attr.aria-controls]=\"getTabContentId(tab.id)\"\r\n [attr.aria-selected]=\"tab.selected\"\r\n [attr.tabindex]=\"tab.disabled || !tab.selected ? '-1' : tabindex\"\r\n [attr.aria-disabled]=\"tab.disabled\"\r\n [attr.data-pc-index]=\"i\"\r\n [attr.data-pc-section]=\"'headeraction'\"\r\n (click)=\"open($event, tab)\"\r\n (keydown)=\"onTabKeyDown($event, tab)\"\r\n caxRipple\r\n >\r\n <ng-container *ngIf=\"!tab.headerTemplate\">\r\n <span class=\"cax-tabview-left-icon\" [ngClass]=\"tab.leftIcon\" *ngIf=\"tab.leftIcon && !tab.leftIconTemplate\"></span>\r\n <span *ngIf=\"tab.leftIconTemplate\" class=\"cax-tabview-left-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.leftIconTemplate\"></ng-template>\r\n </span>\r\n <span *ngIf=\"tab.icon\" class=\"cax-dynamic-icon\" [class]=\"tab.icon\"></span>\r\n <span *ngIf=\"tab.header\" class=\"cax-tabview-title\">{{ tab.header }}</span>\r\n <span class=\"cax-tabview-right-icon\" [ngClass]=\"tab.rightIcon\" *ngIf=\"tab.rightIcon && !tab.rightIconTemplate\"></span>\r\n <span *ngIf=\"tab.rightIconTemplate\" class=\"cax-tabview-right-icon\">\r\n <ng-template *ngTemplateOutlet=\"tab.rightIconTemplate\"></ng-template>\r\n </span>\r\n </ng-container>\r\n <ng-container *ngTemplateOutlet=\"tab.headerTemplate\"></ng-container>\r\n <ng-container *ngIf=\"tab.closable\">\r\n <TimesIcon *ngIf=\"!tab.closeIconTemplate\" [styleClass]=\"'cax-tabview-close'\" (click)=\"close($event, tab)\" />\r\n <span class=\"tab.closeIconTemplate\" *ngIf=\"tab.closeIconTemplate\"></span>\r\n <ng-template *ngTemplateOutlet=\"tab.closeIconTemplate\"></ng-template>\r\n </ng-container>\r\n </a>\r\n </li>\r\n </ng-template>\r\n </ul>\r\n </div>\r\n </div>\r\n <button\r\n *ngIf=\"scrollable && !forwardIsDisabled && buttonVisible\"\r\n #nextBtn\r\n [attr.tabindex]=\"tabindex\"\r\n [attr.aria-label]=\"nextButtonAriaLabel\"\r\n class=\"cax-tabview-nav-next cax-segment-tabview-nav-btn cax-link\"\r\n (click)=\"navForward()\"\r\n type=\"button\"\r\n caxRipple\r\n >\r\n <ChevronRightIcon *ngIf=\"!nextIconTemplate\" [attr.aria-hidden]=\"true\" />\r\n <ng-template *ngTemplateOutlet=\"nextIconTemplate\"></ng-template>\r\n </button>\r\n </div>\r\n <div class=\"cax-tabview-panels\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>", styles: ["@layer cax{.cax-tabview-nav-container{position:relative}.cax-tabview-nav-container.block-mode{display:block}.cax-tabview-nav-container.flex-mode{display:flex}.cax-tabview-action-buttons{display:flex;align-items:center;margin-left:auto}.cax-tabview-separator{width:2px;height:35px;display:inline-block;vertical-align:middle;margin-right:8px}.cax-tabview-scrollable .cax-tabview-nav-container{overflow:hidden;white-space:nowrap}.cax-tabview-nav-content{overflow-x:auto;overflow-y:hidden;scroll-behavior:smooth;scrollbar-width:none;overscroll-behavior:contain auto}.cax-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.cax-tabview-nav li.full-mode{min-height:60px;display:flex;justify-content:center;align-items:center;flex:1!important}.cax-tabview-nav li.full-mode cax-tabview .cax-tabview-nav li .cax-tabview-nav-link{border:none}.cax-tabview-nav li.half-mode{min-height:60px;display:flex;justify-content:center;align-items:center;flex:none!important}.cax-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.cax-tabview-ink-bar{display:none;z-index:1}.cax-tabview-nav-link:focus{z-index:1}.cax-tabview-title{line-height:1;white-space:nowrap}.cax-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.cax-tabview-nav-prev{left:0}.cax-tabview-nav-next{right:0}.cax-tabview-nav-content::-webkit-scrollbar{display:none}.cax-tabview-close{z-index:1}.cax-segment-tabview-container{flex-direction:row;height:48px}.cax-segment-tabview-header{display:flex;align-items:center;height:48px}.cax-segment-tabview-nav{display:inline-flex;min-width:100%;margin:0;padding:0;list-style-type:none;flex:1 1 auto}.cax-segment-tabview-nav-link{cursor:pointer;-webkit-user-select:none;user-select:none;display:flex;align-items:center;position:relative;text-decoration:none;overflow:hidden}.cax-segment-tabview-nav-link{z-index:1}.cax-left-arrow,.cax-right-arrow{position:sticky;top:0;z-index:100;background:transparent;border:none;cursor:pointer;font-size:1.25rem}.cax-arrow-buttons{display:flex;align-items:center;gap:16px}.cax-left-arrow,.cax-right-arrow{position:sticky;left:0;z-index:100;transition:transform .2s ease}.cax-left-arrow{left:0;padding-left:var(--space-200)}.cax-right-arrow{right:0;padding-right:var(--space-200)}.cax-dynamic-icon{font-size:1.25rem;cursor:pointer}.cax-segment-tabview-nav-btn{position:absolute;top:0;z-index:2;height:100%;display:flex;align-items:center;justify-content:center}.cax-segment-tabview-nav li.pinned{position:sticky;left:var(--pinned-left, 0);z-index:10;background-color:var(--white-100)}}\n"] }]
|
|
830
|
+
}], ctorParameters: () => [{ type: undefined, decorators: [{
|
|
831
|
+
type: Inject,
|
|
832
|
+
args: [PLATFORM_ID]
|
|
833
|
+
}] }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i0.Renderer2 }], propDecorators: { fullMode: [{
|
|
834
|
+
type: Input
|
|
835
|
+
}], style: [{
|
|
836
|
+
type: Input
|
|
837
|
+
}], styleClass: [{
|
|
838
|
+
type: Input
|
|
839
|
+
}], controlClose: [{
|
|
840
|
+
type: Input,
|
|
841
|
+
args: [{ transform: booleanAttribute }]
|
|
842
|
+
}], scrollable: [{
|
|
843
|
+
type: Input,
|
|
844
|
+
args: [{ transform: booleanAttribute }]
|
|
845
|
+
}], activeIndex: [{
|
|
846
|
+
type: Input
|
|
847
|
+
}], selectOnFocus: [{
|
|
848
|
+
type: Input,
|
|
849
|
+
args: [{ transform: booleanAttribute }]
|
|
850
|
+
}], nextButtonAriaLabel: [{
|
|
851
|
+
type: Input
|
|
852
|
+
}], prevButtonAriaLabel: [{
|
|
853
|
+
type: Input
|
|
854
|
+
}], autoHideButtons: [{
|
|
855
|
+
type: Input,
|
|
856
|
+
args: [{ transform: booleanAttribute }]
|
|
857
|
+
}], tabindex: [{
|
|
858
|
+
type: Input,
|
|
859
|
+
args: [{ transform: numberAttribute }]
|
|
860
|
+
}], actionButton: [{
|
|
861
|
+
type: Input
|
|
862
|
+
}], actionButtonSeverity: [{
|
|
863
|
+
type: Input
|
|
864
|
+
}], actionButtonSize: [{
|
|
865
|
+
type: Input
|
|
866
|
+
}], actionButtonOutlined: [{
|
|
867
|
+
type: Input
|
|
868
|
+
}], actionButtonRounded: [{
|
|
869
|
+
type: Input
|
|
870
|
+
}], actionButtonIcon: [{
|
|
871
|
+
type: Input
|
|
872
|
+
}], actionButtonLoading: [{
|
|
873
|
+
type: Input
|
|
874
|
+
}], actionButtonLink: [{
|
|
875
|
+
type: Input
|
|
876
|
+
}], actionButtonDisabled: [{
|
|
877
|
+
type: Input
|
|
878
|
+
}], onChange: [{
|
|
879
|
+
type: Output
|
|
880
|
+
}], onClose: [{
|
|
881
|
+
type: Output
|
|
882
|
+
}], activeIndexChange: [{
|
|
883
|
+
type: Output
|
|
884
|
+
}], content: [{
|
|
885
|
+
type: ViewChild,
|
|
886
|
+
args: ['content']
|
|
887
|
+
}], navbar: [{
|
|
888
|
+
type: ViewChild,
|
|
889
|
+
args: ['navbar']
|
|
890
|
+
}], prevBtn: [{
|
|
891
|
+
type: ViewChild,
|
|
892
|
+
args: ['prevBtn']
|
|
893
|
+
}], nextBtn: [{
|
|
894
|
+
type: ViewChild,
|
|
895
|
+
args: ['nextBtn']
|
|
896
|
+
}], inkbar: [{
|
|
897
|
+
type: ViewChild,
|
|
898
|
+
args: ['inkbar']
|
|
899
|
+
}], tabPanels: [{
|
|
900
|
+
type: ContentChildren,
|
|
901
|
+
args: [TabPanel]
|
|
902
|
+
}], templates: [{
|
|
903
|
+
type: ContentChildren,
|
|
904
|
+
args: [CaxTemplate]
|
|
905
|
+
}], mode: [{
|
|
906
|
+
type: Input
|
|
907
|
+
}], pinnedIndexes: [{
|
|
908
|
+
type: Input
|
|
909
|
+
}], elementToObserve: [{
|
|
910
|
+
type: ViewChild,
|
|
911
|
+
args: ['elementToObserve']
|
|
912
|
+
}] } });
|
|
913
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFidmlldy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcHAvY29tcG9uZW50cy90YWJ2aWV3L3RhYnZpZXcudHMiLCIuLi8uLi8uLi9zcmMvYXBwL2NvbXBvbmVudHMvdGFidmlldy90YWJwYW5lbC5odG1sIiwiLi4vLi4vLi4vc3JjL2FwcC9jb21wb25lbnRzL3RhYnZpZXcvdGFidmlldy5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBZ0IsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNsRSxPQUFPLEVBR0gsdUJBQXVCLEVBRXZCLFNBQVMsRUFDVCxlQUFlLEVBR2YsWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFdBQVcsRUFJWCxTQUFTLEVBRVQsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixVQUFVLEVBQ1YsZUFBZSxFQUVsQixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQWUsV0FBVyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDakUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBR25ELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHlCQUF5QixDQUFDOzs7Ozs7Ozs7QUFHNUQ7OztHQUdHO0FBUUgsTUFBTSxPQUFPLFFBQVE7SUEyTE47SUFDQTtJQUNBO0lBNUxYOzs7T0FHRztJQUNxQyxRQUFRLEdBQXdCLEtBQUssQ0FBQztJQUM5RTs7O09BR0c7SUFDSCxJQUFhLFdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDO0lBQzdCLENBQUM7SUFDRCxJQUFJLFdBQVcsQ0FBQyxXQUF3RDtRQUNwRSxJQUFJLENBQUMsWUFBWSxHQUFHLFdBQVcsQ0FBQztRQUNoQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBQ0Q7OztPQUdHO0lBQ0gsSUFBYSxnQkFB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LG1CQUFtQjtzQkFBM0IsS0FBSztnQkFLRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBS2tDLGVBQWU7c0JBQXRELEtBQUs7dUJBQUMsRUFBRSxTQUFTLEVBQUUsZ0JBQWdCLEVBQUU7Z0JBS0MsUUFBUTtzQkFBOUMsS0FBSzt1QkFBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUU7Z0JBQzVCLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csb0JBQW9CO3NCQUE1QixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxvQkFBb0I7c0JBQTVCLEtBQUs7Z0JBQ0csbUJBQW1CO3NCQUEzQixLQUFLO2dCQUNHLGdCQUFnQjtzQkFBeEIsS0FBSztnQkFDRyxtQkFBbUI7c0JBQTNCLEtBQUs7Z0JBQ0csZ0JBQWdCO3NCQUF4QixLQUFLO2dCQUNHLG9CQUFvQjtzQkFBNUIsS0FBSztnQkFNSSxRQUFRO3NCQUFqQixNQUFNO2dCQU1HLE9BQU87c0JBQWhCLE1BQU07Z0JBTUcsaUJBQWlCO3NCQUExQixNQUFNO2dCQUVlLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFQyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRUcsT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUVFLE9BQU87c0JBQTVCLFNBQVM7dUJBQUMsU0FBUztnQkFFQyxNQUFNO3NCQUExQixTQUFTO3VCQUFDLFFBQVE7Z0JBRVEsU0FBUztzQkFBbkMsZUFBZTt1QkFBQyxRQUFRO2dCQUVLLFNBQVM7c0JBQXRDLGVBQWU7dUJBQUMsV0FBVztnQkFFbkIsSUFBSTtzQkFBWixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBOEJ5QixnQkFBZ0I7c0JBQTlDLFNBQVM7dUJBQUMsa0JBQWtCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlLCBpc1BsYXRmb3JtQnJvd3NlciB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQge1xuICAgIEFmdGVyQ29udGVudEluaXQsXG4gICAgQWZ0ZXJWaWV3Q2hlY2tlZCxcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkcmVuLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRW1iZWRkZWRWaWV3UmVmLFxuICAgIEV2ZW50RW1pdHRlcixcbiAgICBJbmplY3QsXG4gICAgSW5wdXQsXG4gICAgT25EZXN0cm95LFxuICAgIE91dHB1dCxcbiAgICBQTEFURk9STV9JRCxcbiAgICBRdWVyeUxpc3QsXG4gICAgUmVuZGVyZXIyLFxuICAgIFRlbXBsYXRlUmVmLFxuICAgIFZpZXdDaGlsZCxcbiAgICBWaWV3Q29udGFpbmVyUmVmLFxuICAgIFZpZXdFbmNhcHN1bGF0aW9uLFxuICAgIGJvb2xlYW5BdHRyaWJ1dGUsXG4gICAgZm9yd2FyZFJlZixcbiAgICBudW1iZXJBdHRyaWJ1dGUsXG4gICAgc2lnbmFsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQmxvY2thYmxlVUksIENheFRlbXBsYXRlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vYXBpJztcbmltcG9ydCB7IERvbUhhbmRsZXIgfSBmcm9tICdjYXgtZGVzaWduLXN5c3RlbS9kb20nO1xuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBUYWJWaWV3Q2hhbmdlRXZlbnQsIFRhYlZpZXdDbG9zZUV2ZW50IH0gZnJvbSAnLi90YWJ2aWV3LmludGVyZmFjZSc7XG5pbXBvcnQgeyBVbmlxdWVDb21wb25lbnRJZCB9IGZyb20gJ2NheC1kZXNpZ24tc3lzdGVtL3V0aWxzJztcbmltcG9ydCB7IE51bGxhYmxlIH0gZnJvbSAnY2F4LWRlc2lnbi1zeXN0ZW0vdHMtaGVscGVycyc7XG5cbi8qKlxuICogVGFiUGFuZWwgaXMgYSBoZWxwZXIgY29tcG9uZW50IGZvciBUYWJWaWV3IGNvbXBvbmVudC5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LXRhYlBhbmVsJyxcbiAgICB0ZW1wbGF0ZVVybDogYC4vdGFicGFuZWwuaHRtbGAsXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGFiUGFuZWwgaW1wbGVtZW50cyBBZnRlckNvbnRlbnRJbml0LCBPbkRlc3Ryb3kge1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgaWYgdGFiIGNhbiBiZSByZW1vdmVkLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjbG9zYWJsZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIElubGluZSBzdHlsZSBvZiB0aGUgdGFiIGhlYWRlci5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgaGVhZGVyU3R5bGUoKTogeyBba2xhc3M6IHN0cmluZ106IGFueSB9IHwgbnVsbCB8IHVuZGVmaW5lZCB7XG4gICAgICAgIHJldHVybiB0aGlzLl9oZWFkZXJTdHlsZTtcbiAgICB9XG4gICAgc2V0IGhlYWRlclN0eWxlKGhlYWRlclN0eWxlOiB7IFtrbGFzczogc3RyaW5nXTogYW55IH0gfCBudWxsIHwgdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMuX2hlYWRlclN0eWxlID0gaGVhZGVyU3R5bGU7XG4gICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIHRhYiBoZWFkZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGhlYWRlclN0eWxlQ2xhc3MoKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlclN0eWxlQ2xhc3M7XG4gICAgfVxuICAgIHNldCBoZWFkZXJTdHlsZUNsYXNzKGhlYWRlclN0eWxlQ2xhc3M6IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9oZWFkZXJTdHlsZUNsYXNzID0gaGVhZGVyU3R5bGVDbGFzcztcbiAgICAgICAgdGhpcy50YWJWaWV3LmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIGEgbGF6eSBsb2FkZWQgcGFuZWwgc2hvdWxkIGF2b2lkIGdldHRpbmcgbG9hZGVkIGFnYWluIG9uIHJlc2VsZWN0aW9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBjYWNoZTogYm9vbGVhbiB8IHVuZGVmaW5lZCA9IHRydWU7XG4gICAgLyoqXG4gICAgICogQWR2aXNvcnkgaW5mb3JtYXRpb24gdG8gZGlzcGxheSBpbiBhIHRvb2x0aXAgb24gaG92ZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgdG9vbHRpcDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFBvc2l0aW9uIG9mIHRoZSB0b29sdGlwLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIHRvb2x0aXBQb3NpdGlvbjogJ3RvcCcgfCAnYm90dG9tJyB8ICdsZWZ0JyB8ICdyaWdodCcgfCB1bmRlZmluZWQgPSAndG9wJztcbiAgICAvKipcbiAgICAgKiBUeXBlIG9mIENTUyBwb3NpdGlvbi5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0b29sdGlwUG9zaXRpb25TdHlsZTogc3RyaW5nIHwgdW5kZWZpbmVkID0gJ2Fic29sdXRlJztcbiAgICAvKipcbiAgICAgKiBTdHlsZSBjbGFzcyBvZiB0aGUgdG9vbHRpcC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSB0b29sdGlwU3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIERlZmluZXMgaWYgdGFiIGlzIGFjdGl2ZS5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IHNlbGVjdGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9zZWxlY3RlZDtcbiAgICB9XG4gICAgc2V0IHNlbGVjdGVkKHZhbDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9zZWxlY3RlZCA9IHZhbDtcblxuICAgICAgICBpZiAoIXRoaXMubG9hZGVkKSB7XG4gICAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICh2YWwpIHRoaXMubG9hZGVkID0gdHJ1ZTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogV2hlbiB0cnVlLCB0YWIgY2Fubm90IGJlIGFjdGl2YXRlZC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGRpc2FibGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLl9kaXNhYmxlZDtcbiAgICB9XG4gICAgc2V0IGRpc2FibGVkKGRpc2FibGVkOiBib29sZWFuKSB7XG4gICAgICAgIHRoaXMuX2Rpc2FibGVkID0gZGlzYWJsZWQ7XG4gICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgQElucHV0KCkgZ2V0IHBpbm5lZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5fcGlubmVkO1xuICAgIH1cbiAgICBzZXQgcGlubmVkKHBpbm5lZDogYm9vbGVhbikge1xuICAgICAgICB0aGlzLl9waW5uZWQgPSBwaW5uZWQ7XG4gICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG4gICAgLyoqXG4gICAgICogVGl0bGUgb2YgdGhlIHRhYlBhbmVsLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCBoZWFkZXIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2hlYWRlcjtcbiAgICB9XG4gICAgc2V0IGhlYWRlcihoZWFkZXI6IHN0cmluZykge1xuICAgICAgICB0aGlzLl9oZWFkZXIgPSBoZWFkZXI7XG5cbiAgICAgICAgLy8gV2UgaGF2ZSB0byB3YWl0IGZvciB0aGUgcmVuZGVyaW5nIGFuZCB0aGVuIHJldHJpZXZlIHRoZSBhY3R1YWwgc2l6ZSBlbGVtZW50IGZyb20gdGhlIERPTS5cbiAgICAgICAgLy8gaW4gZnV0dXJlIGBQcm9taXNlLnJlc29sdmVgIGNhbiBiZSBjaGFuZ2VkIHRvIGBxdWV1ZU1pY3JvdGFza2AgKGlmIGllMTEgc3VwcG9ydCB3aWxsIGJlIGRyb3BwZWQpXG4gICAgICAgIFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50YWJWaWV3LnVwZGF0ZUlua0JhcigpO1xuICAgICAgICAgICAgdGhpcy50YWJWaWV3LmNkLm1hcmtGb3JDaGVjaygpO1xuICAgICAgICB9KTtcbiAgICB9XG4gICAgQElucHV0KCkgZ2V0IGljb24oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2ljb247XG4gICAgfVxuXG4gICAgc2V0IGljb24oaWNvbjogc3RyaW5nKSB7XG4gICAgICAgIHRoaXMuX2ljb24gPSBpY29uO1xuICAgICAgICAvLyBXZSBoYXZlIHRvIHdhaXQgZm9yIHRoZSByZW5kZXJpbmcgYW5kIHRoZW4gcmV0cmlldmUgdGhlIGFjdHVhbCBzaXplIGVsZW1lbnQgZnJvbSB0aGUgRE9NLlxuICAgICAgICAvLyBpbiBmdXR1cmUgYFByb21pc2UucmVzb2x2ZWAgY2FuIGJlIGNoYW5nZWQgdG8gYHF1ZXVlTWljcm90YXNrYCAoaWYgaWUxMSBzdXBwb3J0IHdpbGwgYmUgZHJvcHBlZClcbiAgICAgICAgUHJvbWlzZS5yZXNvbHZlKCkudGhlbigoKSA9PiB7XG4gICAgICAgICAgICB0aGlzLnRhYlZpZXcudXBkYXRlSW5rQmFyKCk7XG4gICAgICAgICAgICB0aGlzLnRhYlZpZXcuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH0pO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMZWZ0IGljb24gb2YgdGhlIHRhYlBhbmVsLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHYxNS40LjIsIHVzZSBgbGVmdGljb25gIHRlbXBsYXRlIGluc3RlYWQuXG4gICAgICovXG4gICAgQElucHV0KCkgZ2V0IGxlZnRJY29uKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLl9sZWZ0SWNvbjtcbiAgICB9XG4gICAgc2V0IGxlZnRJY29uKGxlZnRJY29uOiBzdHJpbmcpIHtcbiAgICAgICAgdGhpcy5fbGVmdEljb24gPSBsZWZ0SWNvbjtcbiAgICAgICAgdGhpcy50YWJWaWV3LmNkLm1hcmtGb3JDaGVjaygpO1xuICAgIH1cbiAgICAvKipcbiAgICAgKiBMZWZ0IGljb24gb2YgdGhlIHRhYlBhbmVsLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHYxNS40LjIsIHVzZSBgcmlnaHRpY29uYCB0ZW1wbGF0ZSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIEBJbnB1dCgpIGdldCByaWdodEljb24oKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX3JpZ2h0SWNvbjtcbiAgICB9XG4gICAgc2V0IHJpZ2h0SWNvbihyaWdodEljb246IHN0cmluZyB8IHVuZGVmaW5lZCkge1xuICAgICAgICB0aGlzLl9yaWdodEljb24gPSByaWdodEljb247XG4gICAgICAgIHRoaXMudGFiVmlldy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBjbG9zZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHZpZXc6IEVtYmVkZGVkVmlld1JlZjxhbnk+IHwgbnVsbCA9IG51bGw7XG5cbiAgICBfaGVhZGVyU3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG5cbiAgICBfaGVhZGVyU3R5bGVDbGFzczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgX3NlbGVjdGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuXG4gICAgX2Rpc2FibGVkOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIF9waW5uZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBfaGVhZGVyITogc3RyaW5nO1xuXG4gICAgX2ljb24hOiBzdHJpbmc7XG5cbiAgICBfbGVmdEljb24hOiBzdHJpbmc7XG5cbiAgICBfcmlnaHRJY29uOiBzdHJpbmcgfCB1bmRlZmluZWQgPSB1bmRlZmluZWQ7XG5cbiAgICBsb2FkZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHB1YmxpYyBpZDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG4gICAgY29udGVudFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgaGVhZGVyVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBoZWFkZXJJY29uOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgbGVmdEljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIHJpZ2h0SWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+IHwgdW5kZWZpbmVkO1xuXG4gICAgY2xvc2VJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICB0YWJWaWV3OiBUYWJWaWV3O1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBJbmplY3QoZm9yd2FyZFJlZigoKSA9PiBUYWJWaWV3KSkgdGFiVmlldzogVGFiVmlldyxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgdmlld0NvbnRhaW5lcjogVmlld0NvbnRhaW5lclJlZixcbiAgICAgICAgcHVibGljIGNkOiBDaGFuZ2VEZXRlY3RvclJlZlxuICAgICkge1xuICAgICAgICB0aGlzLnRhYlZpZXcgPSB0YWJWaWV3IGFzIFRhYlZpZXc7XG4gICAgICAgIHRoaXMuaWQgPSBVbmlxdWVDb21wb25lbnRJZCgpO1xuICAgIH1cblxuICAgIG5nQWZ0ZXJDb250ZW50SW5pdCgpIHtcbiAgICAgICAgKHRoaXMudGVtcGxhdGVzIGFzIFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4pLmZvckVhY2goKGl0ZW0pID0+IHtcbiAgICAgICAgICAgIHN3aXRjaCAoaXRlbS5nZXRUeXBlKCkpIHtcbiAgICAgICAgICAgICAgICBjYXNlICdoZWFkZXInOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLmhlYWRlclRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICAgICAgY2FzZSAnaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaGVhZGVySWNvbiA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnY29udGVudCc6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuY29udGVudFRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdyaWdodGljb24nOlxuICAgICAgICAgICAgICAgICAgICB0aGlzLnJpZ2h0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgICAgICBjYXNlICdsZWZ0aWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMubGVmdEljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgY2FzZSAnY2xvc2VpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jbG9zZUljb25UZW1wbGF0ZSA9IGl0ZW0udGVtcGxhdGU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5jb250ZW50VGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgbmdPbkRlc3Ryb3koKSB7XG4gICAgICAgIHRoaXMudmlldyA9IG51bGw7XG4gICAgfVxufVxuLyoqXG4gKiBUYWJWaWV3IGlzIGEgY29udGFpbmVyIGNvbXBvbmVudCB0byBncm91cCBjb250ZW50IHdpdGggdGFicy5cbiAqIEBncm91cCBDb21wb25lbnRzXG4gKi9cbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAnY2F4LXRhYlZpZXcnLFxuICAgIHRlbXBsYXRlVXJsOiBgLi90YWJ2aWV3Lmh0bWxgLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG4gICAgc3R5bGVVcmxzOiBbJy4vdGFidmlldy5zY3NzJ10sXG4gICAgaG9zdDoge1xuICAgICAgICBjbGFzczogJ2NheC1lbGVtZW50J1xuICAgIH1cbn0pXG5leHBvcnQgY2xhc3MgVGFiVmlldyBpbXBsZW1lbnRzIEFmdGVyQ29udGVudEluaXQsIEFmdGVyVmlld0NoZWNrZWQsIE9uRGVzdHJveSwgQmxvY2thYmxlVUkge1xuICAgIEBJbnB1dCgpIGZ1bGxNb2RlOiBib29sZWFuID0gZmFsc2U7XG4gICAgLyoqXG4gICAgICogSW5saW5lIHN0eWxlIG9mIHRoZSBjb21wb25lbnQuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgc3R5bGU6IHsgW2tsYXNzOiBzdHJpbmddOiBhbnkgfSB8IG51bGwgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogU3R5bGUgY2xhc3Mgb2YgdGhlIGNvbXBvbmVudC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBzdHlsZUNsYXNzOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG4gICAgLyoqXG4gICAgICogV2hldGhlciB0YWIgY2xvc2UgaXMgY29udHJvbGxlZCBhdCBvbkNsb3NlIGV2ZW50IG9yIG5vdC5cbiAgICAgKiBAZGVmYXVsdFZhbHVlIGZhbHNlXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBib29sZWFuQXR0cmlidXRlIH0pIGNvbnRyb2xDbG9zZTogYm9vbGVhbiB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBXaGVuIGVuYWJsZWQgZGlzcGxheXMgYnV0dG9ucyBhdCBlYWNoIHNpZGUgb2YgdGhlIHRhYiBoZWFkZXJzIHRvIHNjcm9sbCB0aGUgdGFiIGxpc3QuXG4gICAgICogQGRlZmF1bHRWYWx1ZSBmYWxzZVxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBzY3JvbGxhYmxlOiBib29sZWFuIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBhY3RpdmUgdGFiIHRvIGNoYW5nZSBzZWxlY3RlZCB0YWIgcHJvZ3JhbW1hdGljYWxseS5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoKSBnZXQgYWN0aXZlSW5kZXgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX2FjdGl2ZUluZGV4O1xuICAgIH1cbiAgICBzZXQgYWN0aXZlSW5kZXgodmFsOiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy5fYWN0aXZlSW5kZXggPSB2YWw7XG4gICAgICAgIGlmICh0aGlzLnByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uKSB7XG4gICAgICAgICAgICB0aGlzLnByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uID0gZmFsc2U7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy50YWJzICYmIHRoaXMudGFicy5sZW5ndGggJiYgdGhpcy5fYWN0aXZlSW5kZXggIT0gbnVsbCAmJiB0aGlzLnRhYnMubGVuZ3RoID4gdGhpcy5fYWN0aXZlSW5kZXgpIHtcbiAgICAgICAgICAgICh0aGlzLmZpbmRTZWxlY3RlZFRhYigpIGFzIFRhYlBhbmVsKS5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVUYWJJbmRleCA9IHRoaXMuX2FjdGl2ZUluZGV4O1xuICAgICAgICAgICAgdGhpcy50YWJzW3RoaXMuX2FjdGl2ZUluZGV4XS5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICB0aGlzLnRhYkNoYW5nZWQgPSB0cnVlO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNjcm9sbEJhcih2YWwpO1xuICAgICAgICB9XG4gICAgfVxuICAgIC8qKlxuICAgICAqIFdoZW4gZW5hYmxlZCwgdGhlIGZvY3VzZWQgdGFiIGlzIGFjdGl2YXRlZC5cbiAgICAgKiBAZ3JvdXAgUHJvcHNcbiAgICAgKi9cbiAgICBASW5wdXQoeyB0cmFuc2Zvcm06IGJvb2xlYW5BdHRyaWJ1dGUgfSkgc2VsZWN0T25Gb2N1czogYm9vbGVhbiA9IGZhbHNlO1xuICAgIC8qKlxuICAgICAqIFVzZWQgdG8gZGVmaW5lIGEgc3RyaW5nIGFyaWEgbGFiZWwgYXR0cmlidXRlIHRoZSBmb3J3YXJkIG5hdmlnYXRpb24gYnV0dG9uLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCgpIG5leHRCdXR0b25BcmlhTGFiZWw6IHN0cmluZyB8IHVuZGVmaW5lZDtcbiAgICAvKipcbiAgICAgKiBVc2VkIHRvIGRlZmluZSBhIHN0cmluZyBhcmlhIGxhYmVsIGF0dHJpYnV0ZSB0aGUgYmFja3dhcmQgbmF2aWdhdGlvbiBidXR0b24uXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KCkgcHJldkJ1dHRvbkFyaWFMYWJlbDogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIC8qKlxuICAgICAqIFdoZW4gYWN0aXZhdGVkLCBuYXZpZ2F0aW9uIGJ1dHRvbnMgd2lsbCBhdXRvbWF0aWNhbGx5IGhpZGUgb3Igc2hvdyBiYXNlZCBvbiB0aGUgYXZhaWxhYmxlIHNwYWNlIHdpdGhpbiB0aGUgY29udGFpbmVyLlxuICAgICAqIEBncm91cCBQcm9wc1xuICAgICAqL1xuICAgIEBJbnB1dCh7IHRyYW5zZm9ybTogYm9vbGVhbkF0dHJpYnV0ZSB9KSBhdXRvSGlkZUJ1dHRvbnM6IGJvb2xlYW4gPSB0cnVlO1xuICAgIC8qKlxuICAgICAqIEluZGV4IG9mIHRoZSBlbGVtZW50IGluIHRhYmJpbmcgb3JkZXIuXG4gICAgICogQGdyb3VwIFByb3BzXG4gICAgICovXG4gICAgQElucHV0KHsgdHJhbnNmb3JtOiBudW1iZXJBdHRyaWJ1dGUgfSkgdGFiaW5kZXg6IG51bWJlciA9IDA7XG4gICAgQElucHV0KCkgYWN0aW9uQnV0dG9uOiBhbnk7XG4gICAgQElucHV0KCkgYWN0aW9uQnV0dG9uU2V2ZXJpdHk6ICdzdWNjZXNzJyB8ICdpbmZvJyB8ICd3YXJuaW5nJyB8ICdkYW5nZXInIHwgJ2hlbHAnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAnY29udHJhc3QnID0gJ3ByaW1hcnknO1xuICAgIEBJbnB1dCgpIGFjdGlvbkJ1dHRvblNpemU6ICdzbWFsbCcgfCAnbGFyZ2UnIHwgbnVsbCA9IG51bGw7XG4gICAgQElucHV0KCkgYWN0aW9uQnV0dG9uT3V0bGluZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhY3Rpb25CdXR0b25Sb3VuZGVkOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgYWN0aW9uQnV0dG9uSWNvbjogc3RyaW5nIHwgdW5kZWZpbmVkO1xuICAgIEBJbnB1dCgpIGFjdGlvbkJ1dHRvbkxvYWRpbmc6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICBASW5wdXQoKSBhY3Rpb25CdXR0b25MaW5rOiBib29sZWFuID0gZmFsc2U7XG4gICAgQElucHV0KCkgYWN0aW9uQnV0dG9uRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGFiIGNoYW5nZS5cbiAgICAgKiBAcGFyYW0ge1RhYlZpZXdDaGFuZ2VFdmVudH0gZXZlbnQgLSBDdXN0b20gdGFiIGNoYW5nZSBldmVudFxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNoYW5nZTogRXZlbnRFbWl0dGVyPFRhYlZpZXdDaGFuZ2VFdmVudD4gPSBuZXcgRXZlbnRFbWl0dGVyPFRhYlZpZXdDaGFuZ2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGFiIGNsb3NlLlxuICAgICAqIEBwYXJhbSB7VGFiVmlld0Nsb3NlRXZlbnR9IGV2ZW50IC0gQ3VzdG9tIHRhYiBjbG9zZSBldmVudFxuICAgICAqIEBncm91cCBFbWl0c1xuICAgICAqL1xuICAgIEBPdXRwdXQoKSBvbkNsb3NlOiBFdmVudEVtaXR0ZXI8VGFiVmlld0Nsb3NlRXZlbnQ+ID0gbmV3IEV2ZW50RW1pdHRlcjxUYWJWaWV3Q2xvc2VFdmVudD4oKTtcbiAgICAvKipcbiAgICAgKiBDYWxsYmFjayB0byBpbnZva2Ugb24gdGhlIGFjdGl2ZSB0YWIgY2hhbmdlLlxuICAgICAqIEBwYXJhbSB7bnVtYmVyfSBpbmRleCAtIE5ldyBhY3RpdmUgaW5kZXhcbiAgICAgKiBAZ3JvdXAgRW1pdHNcbiAgICAgKi9cbiAgICBAT3V0cHV0KCkgYWN0aXZlSW5kZXhDaGFuZ2U6IEV2ZW50RW1pdHRlcjxudW1iZXI+ID0gbmV3IEV2ZW50RW1pdHRlcjxudW1iZXI+KCk7XG5cbiAgICBAVmlld0NoaWxkKCdjb250ZW50JykgY29udGVudD86IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnbmF2YmFyJykgbmF2YmFyPzogRWxlbWVudFJlZjxIVE1MVUxpc3RFbGVtZW50PjtcblxuICAgIEBWaWV3Q2hpbGQoJ3ByZXZCdG4nKSBwcmV2QnRuPzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ25leHRCdG4nKSBuZXh0QnRuPzogRWxlbWVudFJlZjtcblxuICAgIEBWaWV3Q2hpbGQoJ2lua2JhcicpIGlua2Jhcj86IEVsZW1lbnRSZWY7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKFRhYlBhbmVsKSB0YWJQYW5lbHM6IFF1ZXJ5TGlzdDxUYWJQYW5lbD4gfCB1bmRlZmluZWQ7XG5cbiAgICBAQ29udGVudENoaWxkcmVuKENheFRlbXBsYXRlKSB0ZW1wbGF0ZXM6IFF1ZXJ5TGlzdDxDYXhUZW1wbGF0ZT4gfCB1bmRlZmluZWQ7XG5cbiAgICBASW5wdXQoKSBtb2RlOiAnbGluZScgfCAnc2VnbWVudCc7XG4gICAgQElucHV0KCkgcGlubmVkSW5kZXhlczogbnVtYmVyW10gPSBbXTtcbiAgICBpbml0aWFsaXplZDogYm9vbGVhbiB8IHVuZGVmaW5lZDtcblxuICAgIHRhYnMhOiBUYWJQYW5lbFtdO1xuXG4gICAgX2FjdGl2ZUluZGV4ITogbnVtYmVyO1xuICAgIGFjdGl2ZVRhYkluZGV4ID0gMDsgLy8gS2VlcHMgdHJhY2sgb2YgdGhlIGFjdGl2ZSB0YWJcblxuICAgIHByZXZlbnRBY3RpdmVJbmRleFByb3BhZ2F0aW9uITogYm9vbGVhbjtcblxuICAgIHRhYkNoYW5nZWQ6IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG5cbiAgICBiYWNrd2FyZElzRGlzYWJsZWQ6IGJvb2xlYW4gPSB0cnVlO1xuXG4gICAgZm9yd2FyZElzRGlzYWJsZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICAgIHByaXZhdGUgdGFiQ2hhbmdlc1N1YnNjcmlwdGlvbiE6IFN1YnNjcmlwdGlvbjtcblxuICAgIG5leHRJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT4gfCB1bmRlZmluZWQ7XG5cbiAgICBwcmV2aW91c0ljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PiB8IHVuZGVmaW5lZDtcblxuICAgIHJlc2l6ZU9ic2VydmVyOiBOdWxsYWJsZTxSZXNpemVPYnNlcnZlcj47XG5cbiAgICBjb250YWluZXI6IEhUTUxEaXZFbGVtZW50IHwgdW5kZWZpbmVkO1xuXG4gICAgbGlzdDogSFRNTFVMaXN0RWxlbWVudCB8IHVuZGVmaW5lZDtcblxuICAgIGJ1dHRvblZpc2libGU6IGJvb2xlYW47XG5cbiAgICBAVmlld0NoaWxkKCdlbGVtZW50VG9PYnNlcnZlJykgZWxlbWVudFRvT2JzZXJ2ZTogRWxlbWVudFJlZjtcblxuICAgIGNvbnN0cnVjdG9yKFxuICAgICAgICBASW5qZWN0KFBMQVRGT1JNX0lEKSBwcml2YXRlIHBsYXRmb3JtSWQ6IGFueSxcbiAgICAgICAgcHVibGljIGVsOiBFbGVtZW50UmVmLFxuICAgICAgICBwdWJsaWMgY2Q6IENoYW5nZURldGVjdG9yUmVmLFxuICAgICAgICBwcml2YXRlIHJlbmRlcmVyOiBSZW5kZXJlcjJcbiAgICApIHt9XG5cbiAgICBuZ0FmdGVyQ29udGVudEluaXQoKSB7XG4gICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcblxuICAgICAgICB0aGlzLnRhYkNoYW5nZXNTdWJzY3JpcHRpb24gPSAodGhpcy50YWJQYW5lbHMgYXMgUXVlcnlMaXN0PFRhYlBhbmVsPikuY2hhbmdlcy5zdWJzY3JpYmUoKF8pID0+IHtcbiAgICAgICAgICAgIHRoaXMuaW5pdFRhYnMoKTtcbiAgICAgICAgICAgIHRoaXMucmVmcmVzaEJ1dHRvblN0YXRlKCk7XG4gICAgICAgICAgICB0aGlzLmNhbGxSZXNpemVPYnNlcnZlcigpO1xuICAgICAgICB9KTtcblxuICAgICAgICAodGhpcy50ZW1wbGF0ZXMgYXMgUXVlcnlMaXN0PENheFRlbXBsYXRlPikuZm9yRWFjaCgoaXRlbSkgPT4ge1xuICAgICAgICAgICAgc3dpdGNoIChpdGVtLmdldFR5cGUoKSkge1xuICAgICAgICAgICAgICAgIGNhc2UgJ3ByZXZpb3VzaWNvbic6XG4gICAgICAgICAgICAgICAgICAgIHRoaXMucHJldmlvdXNJY29uVGVtcGxhdGUgPSBpdGVtLnRlbXBsYXRlO1xuICAgICAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgICAgIGNhc2UgJ25leHRpY29uJzpcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5uZXh0SWNvblRlbXBsYXRlID0gaXRlbS50ZW1wbGF0ZTtcbiAgICAgICAgICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGNhbGxSZXNpemVPYnNlcnZlcigpIHtcbiAgICAgICAgaWYgKGlzUGxhdGZvcm1Ccm93c2VyKHRoaXMucGxhdGZvcm1JZCkpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmF1dG9IaWRlQnV0dG9ucykge1xuICAgICAgICAgICAgICAgIHRoaXMuYmluZFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0luaXQoKSB7XG4gICAgICAgIHRoaXMuY2FsbFJlc2l6ZU9ic2VydmVyKCk7XG4gICAgICAgIHRoaXMuY2hlY2tTY3JvbGxhYmxlVGFicygpO1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoJ3Jlc2l6ZScsIHRoaXMuaGFuZGxlUmVzaXplKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoYW5kbGVSZXNpemUgPSAoKSA9PiB7XG4gICAgICAgIHRoaXMudXBkYXRlSW5rQmFyKCk7XG4gICAgfTtcblxuICAgIGJpbmRSZXNpemVPYnNlcnZlcigpIHtcbiAgICAgICAgdGhpcy5jb250YWluZXIgPSBEb21IYW5kbGVyLmZpbmRTaW5nbGUodGhpcy5lbC5uYXRpdmVFbGVtZW50LCAnW2RhdGEtcGMtc2VjdGlvbj1cIm5hdmNvbnRlbnRcIl0nKTtcbiAgICAgICAgdGhpcy5saXN0ID0gRG9tSGFuZGxlci5maW5kU2luZ2xlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJuYXZcIl0nKTtcblxuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbmV3IFJlc2l6ZU9ic2VydmVyKCgpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3Qub2Zmc2V0V2lkdGggPj0gdGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xuICAgICAgICB9KTtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuY29udGFpbmVyKTtcbiAgICB9XG5cbiAgICB1bmJpbmRSZXNpemVPYnNlcnZlcigpIHtcbiAgICAgICAgdGhpcy5yZXNpemVPYnNlcnZlci51bm9ic2VydmUodGhpcy5lbGVtZW50VG9PYnNlcnZlLm5hdGl2ZUVsZW1lbnQpO1xuICAgICAgICB0aGlzLnJlc2l6ZU9ic2VydmVyID0gbnVsbDtcbiAgICB9XG5cbiAgICBuZ0FmdGVyVmlld0NoZWNrZWQoKSB7XG4gICAgICAgIGlmIChpc1BsYXRmb3JtQnJvd3Nlcih0aGlzLnBsYXRmb3JtSWQpKSB7XG4gICAgICAgICAgICBpZiAodGhpcy5mdWxsTW9kZSkgdGhpcy51cGRhdGVJbmtCYXIoKTtcbiAgICAgICAgICAgIGlmICh0aGlzLnRhYkNoYW5nZWQpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUlua0JhcigpO1xuICAgICAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlZCA9IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmF2aWdhdGUgdG8gdGhlIG5leHQgdGFiXG4gICAgYXJyb3dSaWdodCgpIHtcbiAgICAgICAgbGV0IG5leHRJbmRleCA9ICt0aGlzLmFjdGl2ZVRhYkluZGV4ICsgMTtcbiAgICAgICAgd2hpbGUgKG5leHRJbmRleCA8IHRoaXMudGFicy5sZW5ndGggJiYgdGhpcy50YWJzW25leHRJbmRleF0uZGlzYWJsZWQpIHtcbiAgICAgICAgICAgIG5leHRJbmRleCsrOyAvLyBTa2lwIGRpc2FibGVkIHRhYnNcbiAgICAgICAgfVxuICAgICAgICBpZiAobmV4dEluZGV4IDwgdGhpcy50YWJzLmxlbmd0aCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVUYWIobmV4dEluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5hdmlnYXRlIHRvIHRoZSBwcmV2aW91cyB0YWJcbiAgICBhcnJvd0xlZnQoKSB7XG4gICAgICAgIGxldCBwcmV2SW5kZXggPSArdGhpcy5hY3RpdmVUYWJJbmRleCAtIDE7XG4gICAgICAgIHdoaWxlIChwcmV2SW5kZXggPj0gMCAmJiB0aGlzLnRhYnNbcHJldkluZGV4XS5kaXNhYmxlZCkge1xuICAgICAgICAgICAgcHJldkluZGV4LS07IC8vIFNraXAgZGlzYWJsZWQgdGFic1xuICAgICAgICB9XG4gICAgICAgIC8vIFVwZGF0ZSBhY3RpdmUgdGFiIG9ubHkgaWYgcHJldkluZGV4IGlzIHZhbGlkXG4gICAgICAgIGlmIChwcmV2SW5kZXggPj0gMCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVBY3RpdmVUYWIocHJldkluZGV4KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFVwZGF0ZSBhY3RpdmUgdGFiXG4gICAgdXBkYXRlQWN0aXZlVGFiKGluZGV4OiBudW1iZXIpIHtcbiAgICAgICAgdGhpcy50YWJzW3RoaXMuYWN0aXZlVGFiSW5kZXhdLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgIHRoaXMuYWN0aXZlVGFiSW5kZXggPSBpbmRleDtcbiAgICAgICAgdGhpcy50YWJzW3RoaXMuYWN0aXZlVGFiSW5kZXhdLnNlbGVjdGVkID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcbiAgICAgICAgaWYgKHRoaXMudGFiQ2hhbmdlc1N1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgdGhpcy50YWJDaGFuZ2VzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAodGhpcy5yZXNpemVPYnNlcnZlcikge1xuICAgICAgICAgICAgdGhpcy51bmJpbmRSZXNpemVPYnNlcnZlcigpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VGFiSGVhZGVyQWN0aW9uSWQodGFiSWQpIHtcbiAgICAgICAgcmV0dXJuIGAke3RhYklkfV9oZWFkZXJfYWN0aW9uYDtcbiAgICB9XG5cbiAgICBnZXRUYWJDb250ZW50SWQodGFiSWQpIHtcbiAgICAgICAgcmV0dXJuIGAke3RhYklkfV9jb250ZW50YDtcbiAgICB9XG5cbiAgICBpbml0VGFicygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy50YWJzID0gKHRoaXMudGFiUGFuZWxzIGFzIFF1ZXJ5TGlzdDxUYWJQYW5lbD4pLnRvQXJyYXkoKTtcbiAgICAgICAgbGV0IHBpbm5lZFdpZHRoID0gMDtcbiAgICAgICAgY29uc3QgcGlubmVkVGFicyA9IHRoaXMucGlubmVkSW5kZXhlc1xuICAgICAgICAgICAgLmZpbHRlcigoaW5kZXgpID0+IGluZGV4ID49IDAgJiYgaW5kZXggPCB0aGlzLnRhYnMubGVuZ3RoKVxuICAgICAgICAgICAgLm1hcCgoaW5kZXgpID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YWIgPSB0aGlzLnRhYnNbaW5kZXhdO1xuICAgICAgICAgICAgICAgIHRhYi5waW5uZWQgPSB0cnVlOyAvLyBNYXJrIHRoZXNlIHRhYnMgYXMgcGlubmVkXG4gICAgICAgICAgICAgICAgcmV0dXJuIHRhYjtcbiAgICAgICAgICAgIH0pO1xuXG4gICAgICAgIGNvbnN0IG5vblBpbm5lZFRhYnMgPSB0aGlzLnRhYnNcbiAgICAgICAgICAgIC5maWx0ZXIoKF8sIGluZGV4KSA9PiAhdGhpcy5waW5uZWRJbmRleGVzLmluY2x1ZGVzKGluZGV4KSlcbiAgICAgICAgICAgIC5tYXAoKHRhYikgPT4ge1xuICAgICAgICAgICAgICAgIHRhYi5waW5uZWQgPSBmYWxzZTsgLy8gRW5zdXJlIG5vbi1waW5uZWQgdGFicyBhcmUgbm90IG1hcmtlZCBhcyBwaW5uZWRcbiAgICAgICAgICAgICAgICByZXR1cm4gdGFiO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIHRoaXMudGFicy5mb3JFYWNoKCh0YWIsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICBpZiAodGhpcy5waW5uZWRJbmRleGVzLmluY2x1ZGVzKGluZGV4KSkge1xuICAgICAgICAgICAgICAgIHRhYi5waW5uZWQgPSB0cnVlO1xuICAgICAgICAgICAgICAgIHRhYi5jbG9zYWJsZSA9IGZhbHNlOyAvLyBFbnN1cmUgcGlubmVkIHRhYnMgYXJlIG5vdCBjbG9zYWJsZVxuICAgICAgICAgICAgICAgIGlmICh0YWIuaWNvbiAmJiAhdGFiLmhlYWRlcikge1xuICAgICAgICAgICAgICAgICAgICB0YWIuaGVhZGVyU3R5bGUgPSB7ICctLXBpbm5lZC1sZWZ0JzogYCR7cGlubmVkV2lkdGh9cHhgIH07XG4gICAgICAgICAgICAgICAgICAgIHBpbm5lZFdpZHRoICs9IDU2O1xuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHRhYi5oZWFkZXJTdHlsZSA9IHsgJy0tcGlubmVkLWxlZnQnOiBgJHtwaW5uZWRXaWR0aH1weGAgfTsgLy8gU2V0IGR5bmFtaWMgbGVmdCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICBwaW5uZWRXaWR0aCArPSA1NjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHRhYi5waW5uZWQgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICAvLyBLZWVwIGNsb3NhYmxlIHByb3BlcnR5IHVuY2hhbmdlZCBmb3Igbm9uLXBpbm5lZCB0YWJzXG4gICAgICAgICAgICB9XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLnRhYnMgPSBbLi4ucGlubmVkVGFicywgLi4ubm9uUGlubmVkVGFic107XG4gICAgICAgIGxldCBzZWxlY3RlZFRhYjogVGFiUGFuZWwgPSB0aGlzLmZpbmRTZWxlY3RlZFRhYigpIGFzIFRhYlBhbmVsO1xuICAgICAgICBpZiAoIXNlbGVjdGVkVGFiICYmIHRoaXMudGFicy5sZW5ndGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmFjdGl2ZUluZGV4ICE9IG51bGwgJiYgdGhpcy50YWJzLmxlbmd0aCA+IHRoaXMuYWN0aXZlSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gdGhpcy5hY3RpdmVJbmRleDtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNbdGhpcy5hY3RpdmVJbmRleF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmFjdGl2ZVRhYkluZGV4ID0gMDtcbiAgICAgICAgICAgICAgICB0aGlzLnRhYnNbMF0uc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLnRhYkNoYW5nZWQgPSB0cnVlO1xuICAgICAgICB9XG5cbiAgICAgICAgdGhpcy5jZC5tYXJrRm9yQ2hlY2soKTtcbiAgICB9XG5cbiAgICBvblRhYktleURvd24oZXZlbnQ6IEtleWJvYXJkRXZlbnQsIHRhYjogVGFiUGFuZWwpOiB2b2lkIHtcbiAgICAgICAgc3dpdGNoIChldmVudC5jb2RlKSB7XG4gICAgICAgICAgICBjYXNlICdBcnJvd0xlZnQnOlxuICAgICAgICAgICAgICAgIHRoaXMub25UYWJBcnJvd0xlZnRLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdBcnJvd1JpZ2h0JzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiQXJyb3dSaWdodEtleShldmVudCk7XG4gICAgICAgICAgICAgICAgYnJlYWs7XG5cbiAgICAgICAgICAgIGNhc2UgJ0hvbWUnOlxuICAgICAgICAgICAgICAgIHRoaXMub25UYWJIb21lS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnRW5kJzpcbiAgICAgICAgICAgICAgICB0aGlzLm9uVGFiRW5kS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnUGFnZURvd24nOlxuICAgICAgICAgICAgICAgIHRoaXMub25UYWJFbmRLZXkoZXZlbnQpO1xuICAgICAgICAgICAgICAgIGJyZWFrO1xuXG4gICAgICAgICAgICBjYXNlICdQYWdlVXAnOlxuICAgICAgICAgICAgICAgIHRoaXMub25UYWJIb21lS2V5KGV2ZW50KTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgY2FzZSAnRW50ZXInOlxuICAgICAgICAgICAgY2FzZSAnU3BhY2UnOlxuICAgICAgICAgICAgICAgIHRoaXMub3BlbihldmVudCwgdGFiKTtcbiAgICAgICAgICAgICAgICBicmVhaztcblxuICAgICAgICAgICAgZGVmYXVsdDpcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9uVGFiQXJyb3dMZWZ0S2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IHByZXZIZWFkZXJBY3Rpb24gPSB0aGlzLmZpbmRQcmV2SGVhZGVyQWN0aW9uKCg8SFRNTEVsZW1lbnQ+ZXZlbnQudGFyZ2V0KS5wYXJlbnRFbGVtZW50KTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShwcmV2SGVhZGVyQWN0aW9uLCAnZGF0YS1wYy1pbmRleCcpO1xuXG4gICAgICAgIHByZXZIZWFkZXJBY3Rpb24gPyB0aGlzLmNoYW5nZUZvY3VzZWRUYWIoZXZlbnQsIHByZXZIZWFkZXJBY3Rpb24sIGluZGV4KSA6IHRoaXMub25UYWJFbmRLZXkoZXZlbnQpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIG9uVGFiQXJyb3dSaWdodEtleShldmVudDogS2V5Ym9hcmRFdmVudCkge1xuICAgICAgICBjb25zdCBuZXh0SGVhZGVyQWN0aW9uID0gdGhpcy5maW5kTmV4dEhlYWRlckFjdGlvbigoPEhUTUxFbGVtZW50PmV2ZW50LnRhcmdldCkucGFyZW50RWxlbWVudCk7XG4gICAgICAgIGNvbnN0IGluZGV4ID0gRG9tSGFuZGxlci5nZXRBdHRyaWJ1dGUobmV4dEhlYWRlckFjdGlvbiwgJ2RhdGEtcGMtaW5kZXgnKTtcblxuICAgICAgICBuZXh0SGVhZGVyQWN0aW9uID8gdGhpcy5jaGFuZ2VGb2N1c2VkVGFiKGV2ZW50LCBuZXh0SGVhZGVyQWN0aW9uLCBpbmRleCkgOiB0aGlzLm9uVGFiSG9tZUtleShldmVudCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25UYWJIb21lS2V5KGV2ZW50OiBLZXlib2FyZEV2ZW50KSB7XG4gICAgICAgIGNvbnN0IGZpcnN0SGVhZGVyQWN0aW9uID0gdGhpcy5maW5kRmlyc3RIZWFkZXJBY3Rpb24oKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShmaXJzdEhlYWRlckFjdGlvbiwgJ2RhdGEtcGMtaW5kZXgnKTtcblxuICAgICAgICB0aGlzLmNoYW5nZUZvY3VzZWRUYWIoZXZlbnQsIGZpcnN0SGVhZGVyQWN0aW9uLCBpbmRleCk7XG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgb25UYWJFbmRLZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICAgICAgY29uc3QgbGFzdEhlYWRlckFjdGlvbiA9IHRoaXMuZmluZExhc3RIZWFkZXJBY3Rpb24oKTtcbiAgICAgICAgY29uc3QgaW5kZXggPSBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShsYXN0SGVhZGVyQWN0aW9uLCAnZGF0YS1wYy1pbmRleCcpO1xuXG4gICAgICAgIHRoaXMuY2hhbmdlRm9jdXNlZFRhYihldmVudCwgbGFzdEhlYWRlckFjdGlvbiwgaW5kZXgpO1xuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH1cblxuICAgIGNoYW5nZUZvY3VzZWRUYWIoZXZlbnQ6IEtleWJvYXJkRXZlbnQsIGVsZW1lbnQ6IGFueSwgaW5kZXg6IG51bWJlcikge1xuICAgICAgICBpZiAoZWxlbWVudCkge1xuICAgICAgICAgICAgRG9tSGFuZGxlci5mb2N1cyhlbGVtZW50KTtcbiAgICAgICAgICAgIGVsZW1lbnQuc2Nyb2xsSW50b1ZpZXcoeyBibG9jazogJ25lYXJlc3QnIH0pO1xuXG4gICAgICAgICAgICBpZiAodGhpcy5zZWxlY3RPbkZvY3VzKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiID0gdGhpcy50YWJzW2luZGV4XTtcbiAgICAgICAgICAgICAgICB0aGlzLm9wZW4oZXZlbnQsIHRhYik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBmaW5kTmV4dEhlYWRlckFjdGlvbih0YWJFbGVtZW50OiBhbnksIHNlbGZDaGVjayA9IGZhbHNlKSB7XG4gICAgICAgIGNvbnN0IGhlYWRlckVsZW1lbnQgPSBzZWxmQ2hlY2sgPyB0YWJFbGVtZW50IDogdGFiRWxlbWVudC5uZXh0RWxlbWVudFNpYmxpbmc7XG4gICAgICAgIHJldHVybiBoZWFkZXJFbGVtZW50XG4gICAgICAgICAgICA/IERvbUhhbmRsZXIuZ2V0QXR0cmlidXRlKGhlYWRlckVsZW1lbnQsICdkYXRhLWNheC1kaXNhYmxlZCcpIHx8IERvbUhhbmRsZXIuZ2V0QXR0cmlidXRlKGhlYWRlckVsZW1lbnQsICdkYXRhLXBjLXNlY3Rpb24nKSA9PT0gJ2lua2JhcidcbiAgICAgICAgICAgICAgICA/IHRoaXMuZmluZE5leHRIZWFkZXJBY3Rpb24oaGVhZGVyRWxlbWVudClcbiAgICAgICAgICAgICAgICA6IERvbUhhbmRsZXIuZmluZFNpbmdsZShoZWFkZXJFbGVtZW50LCAnW2RhdGEtcGMtc2VjdGlvbj1cImhlYWRlcmFjdGlvblwiXScpXG4gICAgICAgICAgICA6IG51bGw7XG4gICAgfVxuXG4gICAgZmluZFByZXZIZWFkZXJBY3Rpb24odGFiRWxlbWVudDogYW55LCBzZWxmQ2hlY2sgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBoZWFkZXJFbGVtZW50ID0gc2VsZkNoZWNrID8gdGFiRWxlbWVudCA6IHRhYkVsZW1lbnQucHJldmlvdXNFbGVtZW50U2libGluZztcblxuICAgICAgICByZXR1cm4gaGVhZGVyRWxlbWVudFxuICAgICAgICAgICAgPyBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShoZWFkZXJFbGVtZW50LCAnZGF0YS1jYXgtZGlzYWJsZWQnKSB8fCBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShoZWFkZXJFbGVtZW50LCAnZGF0YS1wYy1zZWN0aW9uJykgPT09ICdpbmtiYXInXG4gICAgICAgICAgICAgICAgPyB0aGlzLmZpbmRQcmV2SGVhZGVyQWN0aW9uKGhlYWRlckVsZW1lbnQpXG4gICAgICAgICAgICAgICAgOiBEb21IYW5kbGVyLmZpbmRTaW5nbGUoaGVhZGVyRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJoZWFkZXJhY3Rpb25cIl0nKVxuICAgICAgICAgICAgOiBudWxsO1xuICAgIH1cblxuICAgIGZpbmRGaXJzdEhlYWRlckFjdGlvbigpIHtcbiAgICAgICAgY29uc3QgZmlyc3RFbCA9IHRoaXMubmF2YmFyLm5hdGl2ZUVsZW1lbnQuZmlyc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIHJldHVybiB0aGlzLmZpbmROZXh0SGVhZGVyQWN0aW9uKGZpcnN0RWwsIHRydWUpO1xuICAgIH1cblxuICAgIGZpbmRMYXN0SGVhZGVyQWN0aW9uKCkge1xuICAgICAgICBjb25zdCBsYXN0RWwgPSB0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50Lmxhc3RFbGVtZW50Q2hpbGQ7XG4gICAgICAgIGNvbnN0IGxhc3RIZWFkZXJBY3Rpb24gPSBEb21IYW5kbGVyLmdldEF0dHJpYnV0ZShsYXN0RWwsICdkYXRhLXBjLXNlY3Rpb24nKSA9PT0gJ2lua2JhcicgPyBsYXN0RWwucHJldmlvdXNFbGVtZW50U2libGluZyA6IGxhc3RFbDtcbiAgICAgICAgcmV0dXJuIHRoaXMuZmluZFByZXZIZWFkZXJBY3Rpb24obGFzdEhlYWRlckFjdGlvbiwgdHJ1ZSk7XG4gICAgfVxuXG4gICAgb3BlbihldmVudDogRXZlbnQsIHRhYjogVGFiUGFuZWwpIHtcbiAgICAgICAgaWYgKHRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgaWYgKGV2ZW50KSB7XG4gICAgICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghdGFiLnNlbGVjdGVkKSB7XG4gICAgICAgICAgICBsZXQgc2VsZWN0ZWRUYWI6IFRhYlBhbmVsID0gdGhpcy5maW5kU2VsZWN0ZWRUYWIoKSBhcyBUYWJQYW5lbDtcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZFRhYikge1xuICAgICAgICAgICAgICAgIHNlbGVjdGVkVGFiLnNlbGVjdGVkID0gZmFsc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudGFiQ2hhbmdlZCA9IHRydWU7XG4gICAgICAgICAgICB0YWIuc2VsZWN0ZWQgPSB0cnVlO1xuICAgICAgICAgICAgbGV0IHNlbGVjdGVkVGFiSW5kZXggPSB0aGlzLmZpbmRUYWJJbmRleCh0YWIpO1xuICAgICAgICAgICAgaWYgKHNlbGVjdGVkVGFiSW5kZXggIT09IHRoaXMuYWN0aXZlVGFiSW5kZXgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUFjdGl2ZVRhYihzZWxlY3RlZFRhYkluZGV4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMucHJldmVudEFjdGl2ZUluZGV4UHJvcGFnYXRpb24gPSB0cnVlO1xuICAgICAgICAgICAgdGhpcy5hY3RpdmVJbmRleENoYW5nZS5lbWl0KHNlbGVjdGVkVGFiSW5kZXgpO1xuICAgICAgICAgICAgdGhpcy5vbkNoYW5nZS5lbWl0KHsgb3JpZ2luYWxFdmVudDogZXZlbnQsIGluZGV4OiBzZWxlY3RlZFRhYkluZGV4IH0pO1xuXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZVNjcm9sbEJhcihzZWxlY3RlZFRhYkluZGV4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChldmVudCkge1xuICAgICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGNsb3NlKGV2ZW50OiBFdmVudCwgdGFiOiBUYWJQYW5lbCkge1xuICAgICAgICBpZiAodGhpcy5jb250cm9sQ2xvc2UpIHtcbiAgICAgICAgICAgIHRoaXMub25DbG9zZS5lbWl0KHtcbiAgICAgICAgICAgICAgICBvcmlnaW5hbEV2ZW50OiBldmVudCxcbiAgICAgICAgICAgICAgICBpbmRleDogdGhpcy5maW5kVGFiSW5kZXgodGFiKSxcbiAgICAgICAgICAgICAgICBjbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLmNsb3NlVGFiKHRhYik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNsb3NlVGFiKHRhYik7XG4gICAgICAgICAgICB0aGlzLm9uQ2xvc2UuZW1pdCh7XG4gICAgICAgICAgICAgICAgb3JpZ2luYWxFdmVudDogZXZlbnQsXG4gICAgICAgICAgICAgICAgaW5kZXg6IHRoaXMuZmluZFRhYkluZGV4KHRhYilcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgY2xvc2VUYWIodGFiOiBUYWJQYW5lbCkge1xuICAgICAgICBpZiAodGFiLmRpc2FibGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgaWYgKHRhYi5zZWxlY3RlZCkge1xuICAgICAgICAgICAgdGhpcy50YWJDaGFuZ2VkID0gdHJ1ZTtcbiAgICAgICAgICAgIHRhYi5zZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLnRhYnMubGVuZ3RoOyBpKyspIHtcbiAgICAgICAgICAgICAgICBsZXQgdGFiUGFuZWwgPSB0aGlzLnRhYnNbaV07XG4gICAgICAgICAgICAgICAgaWYgKCF0YWJQYW5lbC5jbG9zZWQgJiYgIXRhYi5kaXNhYmxlZCkge1xuICAgICAgICAgICAgICAgICAgICB0YWJQYW5lbC5zZWxlY3RlZCA9IHRydWU7XG4gICAgICAgICAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRhYi5jbG9zZWQgPSB0cnVlO1xuICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlSW5rQmFyKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIGZpbmRTZWxlY3RlZFRhYigpOiBUYWJQYW5lbCB8IG51bGwge1xuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IHRoaXMudGFicy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgaWYgKHRoaXMudGFic1tpXS5zZWxlY3RlZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnRhYnNbaV07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgZmluZFRhYkluZGV4KHRhYjogVGFiUGFuZWwpIHtcbiAgICAgICAgbGV0IGluZGV4ID0gLTE7XG4gICAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy50YWJzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBpZiAodGhpcy50YWJzW2ldID09IHRhYikge1xuICAgICAgICAgICAgICAgIGluZGV4ID0gaTtcbiAgICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaW5kZXg7XG4gICAgfVxuXG4gICAgZ2V0QmxvY2thYmxlRWxlbWVudCgpOiBIVE1MRWxlbWVudCB7XG4gICAgICAgIHJldHVybiB0aGlzLmVsLm5hdGl2ZUVsZW1lbnQuY2hpbGRyZW5bMF07XG4gICAgfVxuXG4gICAgdXBkYXRlSW5rQmFyKCkge1xuICAgICAgICBpZiAoaXNQbGF0Zm9ybUJyb3dzZXIodGhpcy5wbGF0Zm9ybUlkKSkge1xuICAgICAgICAgICAgaWYgKHRoaXMubmF2YmFyKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFiSGVhZGVyOiBIVE1MRWxlbWVudCB8IG51bGwgPSBEb21IYW5kbGVyLmZpbmRTaW5nbGUodGhpcy5uYXZiYXIubmF0aXZlRWxlbWVudCwgJ2xpLmNheC1oaWdobGlnaHQnKTtcblxuICAgICAgICAgICAgICAgIGlmICghdGFiSGVhZGVyKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuaW5rYmFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmICh0aGlzLmZ1bGxNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBpbmtiYXJFbGVtZW50ID0gKHRoaXMuaW5rYmFyIGFzIEVsZW1lbnRSZWYpLm5hdGl2ZUVsZW1lbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBSZWNhbGN1bGF0ZSB0aGUgd2lkdGggYW5kIHBvc2l0aW9uIHJlbGF0aXZlIHRvIHRoZSBuYXZiYXJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhYldpZHRoID0gRG9tSGFuZGxlci5nZXRXaWR0aCh0YWJIZWFkZXIpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFiT2Zmc2V0TGVmdCA9IERvbUhhbmRsZXIuZ2V0T2Zmc2V0KHRhYkhlYWRlcikubGVmdDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IG5hdmJhck9mZnNldExlZnQgPSBEb21IYW5kbGVyLmdldE9mZnNldCh0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50KS5sZWZ0O1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAvLyBEeW5hbWljYWxseSBzZXQgdGhlIHdpZHRoIGFuZCBwb3NpdGlvblxuICAgICAgICAgICAgICAgICAgICAgICAgaW5rYmFyRWxlbWVudC5zdHlsZS53aWR0aCA9IGAke3RhYldpZHRofXB4YDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGlua2JhckVsZW1lbnQuc3R5bGUubGVmdCA9IGAke3RhYk9mZnNldExlZnQgLSBuYXZiYXJPZmZzZXRMZWZ0fXB4YDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmlua2JhciBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnN0eWxlLndpZHRoID0gRG9tSGFuZGxlci5nZXRXaWR0aCh0YWJIZWFkZXIpICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgICAgICh0aGlzLmlua2JhciBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50LnN0eWxlLmxlZnQgPSBEb21IYW5kbGVyLmdldE9mZnNldCh0YWJIZWFkZXIpLmxlZnQgLSBEb21IYW5kbGVyLmdldE9mZnNldCh0aGlzLm5hdmJhci5uYXRpdmVFbGVtZW50KS5sZWZ0ICsgJ3B4JztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZVNjcm9sbEJhcihpbmRleDogbnVtYmVyKSB7XG4gICAgICAgIGxldCB0YWJIZWFkZXIgPSAodGhpcy5uYXZiYXIgYXMgRWxlbWVudFJlZikubmF0aXZlRWxlbWVudC5jaGlsZHJlbltpbmRleF07XG5cbiAgICAgICAgaWYgKHRhYkhlYWRlcikge1xuICAgICAgICAgICAgdGFiSGVhZGVyLnNjcm9sbEludG9WaWV3KHsgYmxvY2s6ICduZWFyZXN0JyB9KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVwZGF0ZUJ1dHRvblN0YXRlKCkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gKHRoaXMuY29udGVudCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB7IHNjcm9sbExlZnQsIHNjcm9sbFdpZHRoIH0gPSBjb250ZW50O1xuICAgICAgICBjb25zdCB3aWR0aCA9IERvbUhhbmRsZXIuZ2V0V2lkdGgoY29udGVudCk7XG5cbiAgICAgICAgdGhpcy5iYWNrd2FyZElzRGlzYWJsZWQgPSBzY3JvbGxMZWZ0ID09PSAwO1xuICAgICAgICB0aGlzLmZvcndhcmRJc0Rpc2FibGVkID0gTWF0aC5yb3VuZChzY3JvbGxMZWZ0KSA9PT0gc2Nyb2xsV2lkdGggLSB3aWR0aDtcbiAgICB9XG5cbiAgICByZWZyZXNoQnV0dG9uU3RhdGUoKSB7XG4gICAgICAgIHRoaXMuY29udGFpbmVyID0gRG9tSGFuZGxlci5maW5kU2luZ2xlKHRoaXMuZWwubmF0aXZlRWxlbWVudCwgJ1tkYXRhLXBjLXNlY3Rpb249XCJuYXZjb250ZW50XCJdJyk7XG4gICAgICAgIHRoaXMubGlzdCA9IERvbUhhbmRsZXIuZmluZFNpbmdsZSh0aGlzLmVsLm5hdGl2ZUVsZW1lbnQsICdbZGF0YS1wYy1zZWN0aW9uPVwibmF2XCJdJyk7XG4gICAgICAgIGlmICh0aGlzLmxpc3Qub2Zmc2V0V2lkdGggPj0gdGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmxpc3Qub2Zmc2V0V2lkdGggPj0gdGhpcy5jb250YWluZXIub2Zmc2V0V2lkdGgpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmJ1dHRvblZpc2libGUgPSBmYWxzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcbiAgICAgICAgICAgIHRoaXMuY2QubWFya0ZvckNoZWNrKCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBvblNjcm9sbChldmVudDogRXZlbnQpIHtcbiAgICAgICAgdGhpcy5zY3JvbGxhYmxlICYmIHRoaXMudXBkYXRlQnV0dG9uU3RhdGUoKTtcbiAgICAgICAgY29uc3Qgc2Nyb2xsTGVmdCA9IChldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQpLnNjcm9sbExlZnQ7XG5cbiAgICAgICAgLy8gQWRqdXN0IHRoZSBtYXJnaW4gb3IgdHJhbnNmb3JtIG9mIHRoZSBmaXhlZCBlbGVtZW50c1xuICAgICAgICBjb25zdCBvZmZzZXQgPSBNYXRoLm1pbihzY3JvbGxMZWZ0LCA1MCk7IC8vIExpbWl0IHRoZSBvZmZzZXQgdG8gYSBtYXhpbXVtIHZhbHVlIChlLmcuLCA1MHB4KVxuXG4gICAgICAgIC8vIEFkanVzdCB0aGUgc3R5bGVzIGZvciBmaXhlZCBlbGVtZW50c1xuICAgICAgICBjb25zdCBwaW5uZWRFbGVtZW50cyA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5jYXgtbGVmdC1hcnJvdywgLmNheC1yaWdodC1hcnJvdywgLmNheC10YWJ2aWV3LW5hdi1jb250ZW50LCAuY2F4LWxpbmUsIC5jYXgtc2VnbWVudCcpIGFzIE5vZGVMaXN0T2Y8SFRNTEVsZW1lbnQ+O1xuICAgICAgICBwaW5uZWRFbGVtZW50cy5mb3JFYWNoKChlbGVtZW50KSA9PiB7XG4gICAgICAgICAgICBlbGVtZW50LnN0eWxlLnRyYW5zZm9ybSA9IGB0cmFuc2xhdGVYKCR7b2Zmc2V0fXB4KWA7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmNoZWNrU2Nyb2xsYWJsZVRhYnMoKTsgLy8gQ2hlY2sgYW5kIHVwZGF0ZSBwYWRkaW5nXG4gICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7XG4gICAgfVxuXG4gICAgY2hlY2tTY3JvbGxhYmxlVGFicygpIHtcbiAgICAgICAgaWYgKCF0aGlzLmNvbnRlbnQpIHJldHVybjtcblxuICAgICAgICBjb25zdCB0YWJDb250YWluZXIgPSB0aGlzLmNvbnRlbnQubmF0aXZlRWxlbWVudDtcbiAgICAgICAgaWYgKHRhYkNvbnRhaW5lci5zY3JvbGxXaWR0aCA+IHRhYkNvbnRhaW5lci5jbGllbnRXaWR0aCkge1xuICAgICAgICAgICAgdGFiQ29udGFpbmVyLmNsYXNzTGlzdC5hZGQoJ3Njcm9sbGFibGUtdGFicycpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGFiQ29udGFpbmVyLmNsYXNzTGlzdC5yZW1vdmUoJ3Njcm9sbGFibGUtdGFicycpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0VmlzaWJsZUJ1dHRvbldpZHRocygpIHtcbiAgICAgICAgcmV0dXJuIFt0aGlzLnByZXZCdG4/Lm5hdGl2ZUVsZW1lbnQsIHRoaXMubmV4dEJ0bj8ubmF0aXZlRWxlbWVudF0ucmVkdWNlKChhY2MsIGVsKSA9PiAoZWwgPyBhY2MgKyBEb21IYW5kbGVyLmdldFdpZHRoKGVsKSA6IGFjYyksIDApO1xuICAgIH1cblxuICAgIG5hdkJhY2t3YXJkKCkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gKHRoaXMuY29udGVudCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB3aWR0aCA9IERvbUhhbmRsZXIuZ2V0V2lkdGgoY29udGVudCkgLSB0aGlzLmdldFZpc2libGVCdXR0b25XaWR0aHMoKTtcbiAgICAgICAgY29uc3QgcG9zID0gY29udGVudC5zY3JvbGxMZWZ0IC0gd2lkdGg7XG4gICAgICAgIGNvbnRlbnQuc2Nyb2xsTGVmdCA9IHBvcyA8PSAwID8gMCA6IHBvcztcbiAgICB9XG5cbiAgICBuYXZGb3J3YXJkKCkge1xuICAgICAgICBjb25zdCBjb250ZW50ID0gKHRoaXMuY29udGVudCBhcyBFbGVtZW50UmVmKS5uYXRpdmVFbGVtZW50O1xuICAgICAgICBjb25zdCB3aWR0aCA9IERvbUhhbmRsZXIuZ2V0V2lkdGgoY29udGVudCkgLSB0aGlzLmdldFZpc2libGVCdXR0b25XaWR0aHMoKTtcbiAgICAgICAgY29uc3QgcG9zID0gY29udGVudC5zY3JvbGxMZWZ0ICsgd2lkdGg7XG4gICAgICAgIGNvbnN0IGxhc3RQb3MgPSBjb250ZW50LnNjcm9sbFdpZHRoIC0gd2lkdGg7XG5cbiAgICAgICAgY29udGVudC5zY3JvbGxMZWZ0ID0gcG9zID49IGxhc3RQb3MgPyBsYXN0UG9zIDogcG9zO1xuICAgIH1cbn1cbiIsIjxkaXYgKm5nSWY9XCIhY2xvc2VkXCIgY2xhc3M9XCJjYXgtdGFidmlldy1wYW5lbFwiIHJvbGU9XCJ0YWJwYW5lbFwiIFtoaWRkZW5dPVwiIXNlbGVjdGVkXCIgW2F0dHIuaWRdPVwidGFiVmlldy5nZXRUYWJDb250ZW50SWQoaWQpXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwiIXNlbGVjdGVkXCIgW2F0dHIuYXJpYS1sYWJlbGxlZGJ5XT1cInRhYlZpZXcuZ2V0VGFiSGVhZGVyQWN0aW9uSWQoaWQpXCIgW2F0dHIuZGF0YS1wYy1uYW1lXT1cIid0YWJwYW5lbCdcIj5cclxuICAgIDxuZy1jb250ZW50PjwvbmctY29udGVudD5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjb250ZW50VGVtcGxhdGUgJiYgKGNhY2hlID8gbG9hZGVkIDogc2VsZWN0ZWQpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImNvbnRlbnRUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cInsgJ2NheC10YWJ2aWV3IGNheC1jb21wb25lbnQnOiB0cnVlLCAnY2F4LXRhYnZpZXctc2Nyb2xsYWJsZSc6IHNjcm9sbGFibGUgfVwiIFtuZ1N0eWxlXT1cInN0eWxlXCIgW2NsYXNzXT1cInN0eWxlQ2xhc3NcIiBbYXR0ci5kYXRhLXBjLW5hbWVdPVwiJ3RhYnZpZXcnXCI+XHJcbiAgICA8ZGl2ICNlbGVtZW50VG9PYnNlcnZlIGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZSA9PSAnbGluZSdcIiBbbmdDbGFzc109XCJmdWxsTW9kZSA/ICdibG9jay1tb2RlJyA6ICdmbGV4LW1vZGUnXCI+XHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInNjcm9sbGFibGUgJiYgIWJhY2t3YXJkSXNEaXNhYmxlZCAmJiBhdXRvSGlkZUJ1dHRvbnNcIlxyXG4gICAgICAgICAgICAjcHJldkJ0blxyXG4gICAgICAgICAgICBjbGFzcz1cImNheC10YWJ2aWV3LW5hdi1wcmV2IGNheC10YWJ2aWV3LW5hdi1idG4gY2F4LWxpbmtcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwibmF2QmFja3dhcmQoKVwiXHJcbiAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCJcclxuICAgICAgICAgICAgW2F0dHIuYXJpYS1sYWJlbF09XCJwcmV2QnV0dG9uQXJpYUxhYmVsXCJcclxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXHJcbiAgICAgICAgICAgIGNheFJpcHBsZVxyXG4gICAgICAgID5cclxuICAgICAgICAgICAgPENoZXZyb25MZWZ0SWNvbiAqbmdJZj1cIiFwcmV2aW91c0ljb25UZW1wbGF0ZVwiIFthdHRyLmFyaWEtaGlkZGVuXT1cInRydWVcIiAvPlxyXG4gICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJwcmV2aW91c0ljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgPGRpdiAjY29udGVudCBjbGFzcz1cImNheC10YWJ2aWV3LW5hdi1jb250ZW50XCIgKHNjcm9sbCk9XCJvblNjcm9sbCgkZXZlbnQpXCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIiduYXZjb250ZW50J1wiPlxyXG4gICAgICAgICAgICA8dWwgI25hdmJhciBjbGFzcz1cImNheC10YWJ2aWV3LW5hdlwiIHJvbGU9XCJ0YWJsaXN0XCIgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIiduYXYnXCI+XHJcbiAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXRhYiBbbmdGb3JPZl09XCJ0YWJzXCIgbGV0LWk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxsaSByb2xlPVwicHJlc2VudGF0aW9uXCIgW25nQ2xhc3NdPVwieyAnY2F4LWhpZ2hsaWdodCc6IHRhYi5zZWxlY3RlZCwgJ2NheC1kaXNhYmxlZCc6IHRhYi5kaXNhYmxlZCB9XCIgW2F0dHIuZGF0YS1jYXgtZGlzYWJsZWRdPVwidGFiLmRpc2FibGVkXCIgW25nU3R5bGVdPVwidGFiLmhlYWRlclN0eWxlXCIgW2NsYXNzXT1cInRhYi5oZWFkZXJTdHlsZUNsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICBbY2xhc3MuZnVsbC1tb2RlXT1cImZ1bGxNb2RlXCIgW2NsYXNzLmhhbGYtbW9kZV09XCIhZnVsbE1vZGVcIiAqbmdJZj1cIiF0YWIuY2xvc2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxhXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2NheFRvb2x0aXBdPVwidGFiLnRvb2x0aXBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBQb3NpdGlvbl09XCJ0YWIudG9vbHRpcFBvc2l0aW9uXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvblN0eWxlXT1cInRhYi50b29sdGlwUG9zaXRpb25TdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFN0eWxlQ2xhc3NdPVwidGFiLnRvb2x0aXBTdHlsZUNsYXNzXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLmlkXT1cImdldFRhYkhlYWRlckFjdGlvbklkKHRhYi5pZClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRUYWJDb250ZW50SWQodGFiLmlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLXNlbGVjdGVkXT1cInRhYi5zZWxlY3RlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWIuZGlzYWJsZWQgfHwgIXRhYi5zZWxlY3RlZCA/ICctMScgOiB0YWJpbmRleFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLWluZGV4XT1cImlcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1zZWN0aW9uXT1cIidoZWFkZXJhY3Rpb24nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuKCRldmVudCwgdGFiKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoa2V5ZG93bik9XCJvblRhYktleURvd24oJGV2ZW50LCB0YWIpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNheFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiIXRhYi5oZWFkZXJUZW1wbGF0ZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F4LXRhYnZpZXctbGVmdC1pY29uXCIgW25nQ2xhc3NdPVwidGFiLmxlZnRJY29uXCIgKm5nSWY9XCJ0YWIubGVmdEljb24gJiYgIXRhYi5sZWZ0SWNvblRlbXBsYXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmxlZnRJY29uVGVtcGxhdGVcIiBjbGFzcz1cImNheC10YWJ2aWV3LWxlZnQtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIubGVmdEljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25cIiBjbGFzcz1cImNheC1keW5hbWljLWljb25cIiBbY2xhc3NdPVwidGFiLmljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXgtdGFidmlldy10aXRsZVwiPnt7IHRhYi5oZWFkZXIgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXgtdGFidmlldy1yaWdodC1pY29uXCIgW25nQ2xhc3NdPVwidGFiLnJpZ2h0SWNvblwiICpuZ0lmPVwidGFiLnJpZ2h0SWNvbiAmJiAhdGFiLnJpZ2h0SWNvblRlbXBsYXRlXCI+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLnJpZ2h0SWNvblRlbXBsYXRlXCIgY2xhc3M9XCJjYXgtdGFidmlldy1yaWdodC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5yaWdodEljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmhlYWRlclRlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidGFiLmNsb3NhYmxlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpbWVzSWNvbiAqbmdJZj1cIiF0YWIuY2xvc2VJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCInY2F4LXRhYnZpZXctY2xvc2UnXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudCwgdGFiKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWIuY2xvc2VJY29uVGVtcGxhdGVcIiAqbmdJZj1cInRhYi5jbG9zZUljb25UZW1wbGF0ZVwiPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIuY2xvc2VJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDxsaSAjaW5rYmFyIGNsYXNzPVwiY2F4LXRhYnZpZXctaW5rLWJhclwiIHJvbGU9XCJwcmVzZW50YXRpb25cIiBhcmlhLWhpZGRlbj1cInRydWVcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2lua2JhcidcIj48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgIDwhLS0gQ29uZmlndXJhYmxlIEJ1dHRvbnMgLS0+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNheC10YWJ2aWV3LWFjdGlvbi1idXR0b25zXCIgKm5nSWY9XCJhY3Rpb25CdXR0b24/Lmxlbmd0aCAmJiAhZnVsbE1vZGVcIj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGFjdGlvbkJ1dHRvblwiID5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtdGFidmlldy1zZXBhcmF0b3JcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNheEJ1dHRvbiBcclxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F4LXRhYnZpZXctZXh0cmEtYnRuXCIgXHJcbiAgICAgICAgICAgICAgICBbbGFiZWxdPVwiYnV0dG9uLmxhYmVsXCJcclxuICAgICAgICAgICAgICAgIFtzZXZlcml0eV09XCJidXR0b24uYWN0aW9uQnV0dG9uU2V2ZXJpdHlcIlxyXG4gICAgICAgICAgICAgICAgW2xpbmtdPVwiYnV0dG9uLmFjdGlvbkJ1dHRvbkxpbmtcIlxyXG4gICAgICAgICAgICAgICAgW2ljb25dPVwiYnV0dG9uLmFjdGlvbkJ1dHRvbkljb25cIlxyXG4gICAgICAgICAgICAgICAgW2Rpc2FibGVkXT1cImJ1dHRvbi5hY3Rpb25CdXR0b25EaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICBbb3V0bGluZWRdPVwiYnV0dG9uLmFjdGlvbkJ1dHRvbk91dGxpbmVkXCJcclxuICAgICAgICAgICAgICAgIFtyb3VuZGVkXT1cImJ1dHRvbi5hY3Rpb25CdXR0b25Sb3VuZGVkXCJcclxuICAgICAgICAgICAgICAgIFtzaXplXT1cImJ1dHRvbi5hY3Rpb25CdXR0b25TaXplXCJcclxuICAgICAgICAgICAgICAgIFtsb2FkaW5nXT1cImJ1dHRvbi5hY3Rpb25CdXR0b25Mb2FkaW5nXCJcclxuICAgICAgICAgICAgICAgIChjbGljayk9XCJidXR0b24uYWN0aW9uKClcIj5cclxuICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgXHJcbiAgICAgICAgPGJ1dHRvblxyXG4gICAgICAgICAgICAqbmdJZj1cInNjcm9sbGFibGUgJiYgIWZvcndhcmRJc0Rpc2FibGVkICYmIGJ1dHRvblZpc2libGVcIlxyXG4gICAgICAgICAgICAjbmV4dEJ0blxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwibmV4dEJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LW5leHQgY2F4LXRhYnZpZXctbmF2LWJ0biBjYXgtbGlua1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZGb3J3YXJkKClcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2F4UmlwcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8Q2hldnJvblJpZ2h0SWNvbiAqbmdJZj1cIiFuZXh0SWNvblRlbXBsYXRlXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICNlbGVtZW50VG9PYnNlcnZlIGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LWNvbnRhaW5lciBjYXgtc2VnbWVudC10YWJ2aWV3LWNvbnRhaW5lclwiICpuZ0lmPVwibW9kZSA9PSAnc2VnbWVudCdcIj5cclxuICAgICAgICA8YnV0dG9uXHJcbiAgICAgICAgICAgICpuZ0lmPVwic2Nyb2xsYWJsZSAmJiAhYmFja3dhcmRJc0Rpc2FibGVkICYmIGF1dG9IaWRlQnV0dG9uc1wiXHJcbiAgICAgICAgICAgICNwcmV2QnRuXHJcbiAgICAgICAgICAgIGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LXByZXYgY2F4LXNlZ21lbnQtdGFidmlldy1uYXYtYnRuIGNheC1saW5rXCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cIm5hdkJhY2t3YXJkKClcIlxyXG4gICAgICAgICAgICBbYXR0ci50YWJpbmRleF09XCJ0YWJpbmRleFwiXHJcbiAgICAgICAgICAgIFthdHRyLmFyaWEtbGFiZWxdPVwicHJldkJ1dHRvbkFyaWFMYWJlbFwiXHJcbiAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjYXhSaXBwbGVcclxuICAgICAgICA+XHJcbiAgICAgICAgICAgIDxDaGV2cm9uTGVmdEljb24gKm5nSWY9XCIhcHJldmlvdXNJY29uVGVtcGxhdGVcIiBbYXR0ci5hcmlhLWhpZGRlbl09XCJ0cnVlXCIgLz5cclxuICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwicHJldmlvdXNJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXgtc2VnbWVudC10YWJ2aWV3LWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC1hcnJvdy1idXR0b25zXCI+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICNwcmV2QnRuIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJwcmV2QnV0dG9uQXJpYUxhYmVsXCIgY2xhc3M9XCJjYXggY2F4LWFycm93LWxlZnQgY2F4LWxlZnQtYXJyb3dcIiAoY2xpY2spPVwiYXJyb3dMZWZ0KClcIiB0eXBlPVwiYnV0dG9uXCIgW2Rpc2FibGVkXT1cImFjdGl2ZVRhYkluZGV4ID09PSAwXCI+PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8YnV0dG9uICNuZXh0QnRuIFthdHRyLnRhYmluZGV4XT1cInRhYmluZGV4XCIgW2F0dHIuYXJpYS1sYWJlbF09XCJuZXh0QnV0dG9uQXJpYUxhYmVsXCIgY2xhc3M9XCJjYXggY2F4LWFycm93LXJpZ2h0IGNheC1yaWdodC1hcnJvd1wiIFtkaXNhYmxlZF09XCJhY3RpdmVUYWJJbmRleCA9PT0gdGFicy5sZW5ndGggLSAxXCIgKGNsaWNrKT1cImFycm93UmlnaHQoKVwiIHR5cGU9XCJidXR0b25cIj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICA8ZGl2ICNjb250ZW50IGNsYXNzPVwiY2F4LXRhYnZpZXctbmF2LWNvbnRlbnRcIiAoc2Nyb2xsKT1cIm9uU2Nyb2xsKCRldmVudClcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ25hdmNvbnRlbnQnXCI+XHJcbiAgICAgICAgICAgICAgICA8dWwgI25hdmJhciBjbGFzcz1cImNheC1zZWdtZW50LXRhYnZpZXctbmF2XCIgcm9sZT1cInRhYmxpc3RcIiBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ25hdidcIj5cclxuICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbmdGb3IgbGV0LXRhYiBbbmdGb3JPZl09XCJ0YWJzXCIgbGV0LWk9XCJpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bGlcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJvbGU9XCJwcmVzZW50YXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnY2F4LWhpZ2hsaWdodCc6IHRhYi5zZWxlY3RlZCwgJ2NheC1kaXNhYmxlZCc6IHRhYi5kaXNhYmxlZCwgJ3Bpbm5lZCc6IHRhYi5waW5uZWQgfVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLWNheC1kaXNhYmxlZF09XCJ0YWIuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwidGFiLmhlYWRlclN0eWxlXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjbGFzc109XCJ0YWIuaGVhZGVyU3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbmdJZj1cIiF0YWIuY2xvc2VkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGFcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByb2xlPVwidGFiXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNheC1zZWdtZW50LXRhYnZpZXctbmF2LWxpbmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtjYXhUb29sdGlwXT1cInRhYi50b29sdGlwXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbdG9vbHRpcFBvc2l0aW9uXT1cInRhYi50b29sdGlwUG9zaXRpb25cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFtwb3NpdGlvblN0eWxlXT1cInRhYi50b29sdGlwUG9zaXRpb25TdHlsZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW3Rvb2x0aXBTdHlsZUNsYXNzXT1cInRhYi50b29sdGlwU3R5bGVDbGFzc1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuaWRdPVwiZ2V0VGFiSGVhZGVyQWN0aW9uSWQodGFiLmlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1jb250cm9sc109XCJnZXRUYWJDb250ZW50SWQodGFiLmlkKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuYXJpYS1zZWxlY3RlZF09XCJ0YWIuc2VsZWN0ZWRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnRhYmluZGV4XT1cInRhYi5kaXNhYmxlZCB8fCAhdGFiLnNlbGVjdGVkID8gJy0xJyA6IHRhYmluZGV4XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5hcmlhLWRpc2FibGVkXT1cInRhYi5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuZGF0YS1wYy1pbmRleF09XCJpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5kYXRhLXBjLXNlY3Rpb25dPVwiJ2hlYWRlcmFjdGlvbidcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChjbGljayk9XCJvcGVuKCRldmVudCwgdGFiKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGtleWRvd24pPVwib25UYWJLZXlEb3duKCRldmVudCwgdGFiKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2F4UmlwcGxlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIiF0YWIuaGVhZGVyVGVtcGxhdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXgtdGFidmlldy1sZWZ0LWljb25cIiBbbmdDbGFzc109XCJ0YWIubGVmdEljb25cIiAqbmdJZj1cInRhYi5sZWZ0SWNvbiAmJiAhdGFiLmxlZnRJY29uVGVtcGxhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmxlZnRJY29uVGVtcGxhdGVcIiBjbGFzcz1cImNheC10YWJ2aWV3LWxlZnQtaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlICpuZ1RlbXBsYXRlT3V0bGV0PVwidGFiLmxlZnRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmljb25cIiBjbGFzcz1cImNheC1keW5hbWljLWljb25cIiBbY2xhc3NdPVwidGFiLmljb25cIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLmhlYWRlclwiIGNsYXNzPVwiY2F4LXRhYnZpZXctdGl0bGVcIj57eyB0YWIuaGVhZGVyIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNheC10YWJ2aWV3LXJpZ2h0LWljb25cIiBbbmdDbGFzc109XCJ0YWIucmlnaHRJY29uXCIgKm5nSWY9XCJ0YWIucmlnaHRJY29uICYmICF0YWIucmlnaHRJY29uVGVtcGxhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidGFiLnJpZ2h0SWNvblRlbXBsYXRlXCIgY2xhc3M9XCJjYXgtdGFidmlldy1yaWdodC1pY29uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ0YWIucmlnaHRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5oZWFkZXJUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJ0YWIuY2xvc2FibGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPFRpbWVzSWNvbiAqbmdJZj1cIiF0YWIuY2xvc2VJY29uVGVtcGxhdGVcIiBbc3R5bGVDbGFzc109XCInY2F4LXRhYnZpZXctY2xvc2UnXCIgKGNsaWNrKT1cImNsb3NlKCRldmVudCwgdGFiKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFiLmNsb3NlSWNvblRlbXBsYXRlXCIgKm5nSWY9XCJ0YWIuY2xvc2VJY29uVGVtcGxhdGVcIj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cInRhYi5jbG9zZUljb25UZW1wbGF0ZVwiPjwvbmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxidXR0b25cclxuICAgICAgICAgICAgKm5nSWY9XCJzY3JvbGxhYmxlICYmICFmb3J3YXJkSXNEaXNhYmxlZCAmJiBidXR0b25WaXNpYmxlXCJcclxuICAgICAgICAgICAgI25leHRCdG5cclxuICAgICAgICAgICAgW2F0dHIudGFiaW5kZXhdPVwidGFiaW5kZXhcIlxyXG4gICAgICAgICAgICBbYXR0ci5hcmlhLWxhYmVsXT1cIm5leHRCdXR0b25BcmlhTGFiZWxcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImNheC10YWJ2aWV3LW5hdi1uZXh0IGNheC1zZWdtZW50LXRhYnZpZXctbmF2LWJ0biBjYXgtbGlua1wiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJuYXZGb3J3YXJkKClcIlxyXG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcclxuICAgICAgICAgICAgY2F4UmlwcGxlXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgICA8Q2hldnJvblJpZ2h0SWNvbiAqbmdJZj1cIiFuZXh0SWNvblRlbXBsYXRlXCIgW2F0dHIuYXJpYS1oaWRkZW5dPVwidHJ1ZVwiIC8+XHJcbiAgICAgICAgICAgIDxuZy10ZW1wbGF0ZSAqbmdUZW1wbGF0ZU91dGxldD1cIm5leHRJY29uVGVtcGxhdGVcIj48L25nLXRlbXBsYXRlPlxyXG4gICAgICAgIDwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2F4LXRhYnZpZXctcGFuZWxzXCI+XHJcbiAgICAgICAgPG5nLWNvbnRlbnQ+PC9uZy1jb250ZW50PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
|