@ng-nest/ui 18.0.5 → 18.0.7
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/checkbox/checkbox.component.d.ts +1 -1
- package/core/config/config.d.ts +6 -0
- package/esm2022/affix/affix.component.mjs +4 -4
- package/esm2022/affix/affix.module.mjs +4 -4
- package/esm2022/affix/affix.property.mjs +3 -3
- package/esm2022/alert/alert.component.mjs +5 -5
- package/esm2022/alert/alert.module.mjs +4 -4
- package/esm2022/alert/alert.property.mjs +3 -3
- package/esm2022/anchor/anchor-inner.component.mjs +3 -3
- package/esm2022/anchor/anchor.component.mjs +5 -5
- package/esm2022/anchor/anchor.module.mjs +4 -4
- package/esm2022/anchor/anchor.property.mjs +6 -6
- package/esm2022/api/api.component.mjs +4 -4
- package/esm2022/api/api.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +3 -3
- package/esm2022/auto-complete/auto-complete.component.mjs +5 -5
- package/esm2022/auto-complete/auto-complete.module.mjs +4 -4
- package/esm2022/auto-complete/auto-complete.property.mjs +3 -3
- package/esm2022/avatar/avatar-group.component.mjs +3 -3
- package/esm2022/avatar/avatar.component.mjs +5 -5
- package/esm2022/avatar/avatar.module.mjs +4 -4
- package/esm2022/avatar/avatar.property.mjs +6 -6
- package/esm2022/back-top/back-top.component.mjs +5 -5
- package/esm2022/back-top/back-top.module.mjs +4 -4
- package/esm2022/back-top/back-top.property.mjs +3 -3
- package/esm2022/badge/badge.component.mjs +5 -5
- package/esm2022/badge/badge.module.mjs +4 -4
- package/esm2022/badge/badge.property.mjs +3 -3
- package/esm2022/base-form/base-form.module.mjs +4 -4
- package/esm2022/base-form/base-form.property.mjs +6 -6
- package/esm2022/button/button.component.mjs +5 -5
- package/esm2022/button/button.module.mjs +4 -4
- package/esm2022/button/button.property.mjs +6 -6
- package/esm2022/button/buttons.component.mjs +4 -4
- package/esm2022/calendar/calendar.component.mjs +5 -5
- package/esm2022/calendar/calendar.module.mjs +4 -4
- package/esm2022/calendar/calendar.property.mjs +3 -3
- package/esm2022/card/card.component.mjs +5 -5
- package/esm2022/card/card.module.mjs +4 -4
- package/esm2022/card/card.property.mjs +3 -3
- package/esm2022/carousel/carousel-panel.component.mjs +5 -5
- package/esm2022/carousel/carousel.component.mjs +5 -5
- package/esm2022/carousel/carousel.module.mjs +4 -4
- package/esm2022/carousel/carousel.property.mjs +6 -6
- package/esm2022/cascade/cascade-portal.component.mjs +3 -3
- package/esm2022/cascade/cascade.component.mjs +5 -5
- package/esm2022/cascade/cascade.module.mjs +4 -4
- package/esm2022/cascade/cascade.property.mjs +3 -3
- package/esm2022/checkbox/checkbox.component.mjs +5 -5
- package/esm2022/checkbox/checkbox.module.mjs +4 -4
- package/esm2022/checkbox/checkbox.property.mjs +3 -3
- package/esm2022/collapse/collapse-panel.component.mjs +5 -5
- package/esm2022/collapse/collapse.component.mjs +4 -4
- package/esm2022/collapse/collapse.module.mjs +4 -4
- package/esm2022/collapse/collapse.property.mjs +6 -6
- package/esm2022/color/color.component.mjs +4 -4
- package/esm2022/color/color.module.mjs +4 -4
- package/esm2022/color/color.property.mjs +3 -3
- package/esm2022/color-picker/color-picker-portal.component.mjs +4 -4
- package/esm2022/color-picker/color-picker.component.mjs +5 -5
- package/esm2022/color-picker/color-picker.module.mjs +4 -4
- package/esm2022/color-picker/color-picker.property.mjs +3 -3
- package/esm2022/comment/comment-reply.component.mjs +3 -3
- package/esm2022/comment/comment.component.mjs +5 -5
- package/esm2022/comment/comment.module.mjs +4 -4
- package/esm2022/comment/comment.property.mjs +6 -6
- package/esm2022/container/aside.component.mjs +4 -4
- package/esm2022/container/container.component.mjs +4 -4
- package/esm2022/container/container.module.mjs +4 -4
- package/esm2022/container/container.property.mjs +12 -12
- package/esm2022/container/footer.component.mjs +4 -4
- package/esm2022/container/header.component.mjs +4 -4
- package/esm2022/container/main.component.mjs +4 -4
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/core/config/config.service.mjs +3 -3
- package/esm2022/core/services/http.service.mjs +3 -3
- package/esm2022/core/services/preloading-strategy.service.mjs +3 -3
- package/esm2022/core/services/storage.service.mjs +3 -3
- package/esm2022/core/theme/theme.service.mjs +3 -3
- package/esm2022/crumb/crumb.component.mjs +5 -5
- package/esm2022/crumb/crumb.module.mjs +4 -4
- package/esm2022/crumb/crumb.property.mjs +3 -3
- package/esm2022/date-picker/date-picker-portal.component.mjs +3 -3
- package/esm2022/date-picker/date-picker.component.mjs +5 -5
- package/esm2022/date-picker/date-picker.module.mjs +4 -4
- package/esm2022/date-picker/date-picker.property.mjs +18 -18
- package/esm2022/date-picker/date-quarter.pipe.mjs +3 -3
- package/esm2022/date-picker/date-range-portal.component.mjs +3 -3
- package/esm2022/date-picker/date-range.component.mjs +5 -5
- package/esm2022/date-picker/picker-date.component.mjs +3 -3
- package/esm2022/date-picker/picker-month.component.mjs +3 -3
- package/esm2022/date-picker/picker-quarter.component.mjs +3 -3
- package/esm2022/date-picker/picker-year.component.mjs +3 -3
- package/esm2022/description/description-item.component.mjs +3 -3
- package/esm2022/description/description.component.mjs +3 -3
- package/esm2022/description/description.module.mjs +4 -4
- package/esm2022/description/description.property.mjs +6 -6
- package/esm2022/dialog/dialog-container.component.mjs +5 -5
- package/esm2022/dialog/dialog-portal.component.mjs +5 -5
- package/esm2022/dialog/dialog-portal.directives.mjs +18 -18
- package/esm2022/dialog/dialog.component.mjs +5 -5
- package/esm2022/dialog/dialog.module.mjs +4 -4
- package/esm2022/dialog/dialog.property.mjs +6 -6
- package/esm2022/dialog/dialog.service.mjs +3 -3
- package/esm2022/doc/doc.component.mjs +4 -4
- package/esm2022/doc/doc.module.mjs +4 -4
- package/esm2022/drag/drag.directive.mjs +3 -3
- package/esm2022/drag/drag.module.mjs +4 -4
- package/esm2022/drag/drag.property.mjs +3 -3
- package/esm2022/drawer/drawer-container.component.mjs +5 -5
- package/esm2022/drawer/drawer-portal.component.mjs +5 -5
- package/esm2022/drawer/drawer-portal.directives.mjs +9 -9
- package/esm2022/drawer/drawer.component.mjs +5 -5
- package/esm2022/drawer/drawer.module.mjs +4 -4
- package/esm2022/drawer/drawer.property.mjs +6 -6
- package/esm2022/drawer/drawer.service.mjs +3 -3
- package/esm2022/dropdown/dropdown-portal.component.mjs +3 -3
- package/esm2022/dropdown/dropdown.component.mjs +4 -4
- package/esm2022/dropdown/dropdown.module.mjs +4 -4
- package/esm2022/dropdown/dropdown.property.mjs +3 -3
- package/esm2022/empty/empty.component.mjs +5 -5
- package/esm2022/empty/empty.module.mjs +4 -4
- package/esm2022/empty/empty.property.mjs +3 -3
- package/esm2022/examples/examples.component.mjs +4 -4
- package/esm2022/examples/examples.module.mjs +4 -4
- package/esm2022/find/find.component.mjs +5 -5
- package/esm2022/find/find.module.mjs +4 -4
- package/esm2022/find/find.property.mjs +3 -3
- package/esm2022/form/control.component.mjs +3 -3
- package/esm2022/form/form.component.mjs +5 -5
- package/esm2022/form/form.module.mjs +4 -4
- package/esm2022/form/form.property.mjs +6 -6
- package/esm2022/highlight/highlight.component.mjs +5 -5
- package/esm2022/highlight/highlight.module.mjs +4 -4
- package/esm2022/highlight/highlight.property.mjs +3 -3
- package/esm2022/highlight/highlight.service.mjs +3 -3
- package/esm2022/i18n/i18n.directive.mjs +3 -3
- package/esm2022/i18n/i18n.module.mjs +4 -4
- package/esm2022/i18n/i18n.pipe.mjs +3 -3
- package/esm2022/i18n/i18n.property.mjs +1 -1
- package/esm2022/i18n/i18n.service.mjs +3 -3
- package/esm2022/i18n/languages/ar_EG.mjs +8 -2
- package/esm2022/i18n/languages/bg_BG.mjs +8 -2
- package/esm2022/i18n/languages/ca_ES.mjs +8 -2
- package/esm2022/i18n/languages/cs_CZ.mjs +8 -2
- package/esm2022/i18n/languages/da_DK.mjs +8 -2
- package/esm2022/i18n/languages/de_DE.mjs +8 -2
- package/esm2022/i18n/languages/el_GR.mjs +8 -2
- package/esm2022/i18n/languages/en_GB.mjs +8 -2
- package/esm2022/i18n/languages/en_US.mjs +8 -2
- package/esm2022/i18n/languages/es_ES.mjs +8 -2
- package/esm2022/i18n/languages/et_EE.mjs +8 -2
- package/esm2022/i18n/languages/fa_IR.mjs +8 -2
- package/esm2022/i18n/languages/fi_FI.mjs +8 -2
- package/esm2022/i18n/languages/fr_BE.mjs +8 -2
- package/esm2022/i18n/languages/fr_FR.mjs +8 -2
- package/esm2022/i18n/languages/he_IL.mjs +8 -2
- package/esm2022/i18n/languages/hi_IN.mjs +8 -2
- package/esm2022/i18n/languages/hr_HR.mjs +8 -2
- package/esm2022/i18n/languages/hu_HU.mjs +8 -2
- package/esm2022/i18n/languages/hy_AM.mjs +8 -2
- package/esm2022/i18n/languages/id_ID.mjs +8 -2
- package/esm2022/i18n/languages/is_IS.mjs +8 -2
- package/esm2022/i18n/languages/it_IT.mjs +8 -2
- package/esm2022/i18n/languages/ja_JP.mjs +8 -2
- package/esm2022/i18n/languages/ka_GE.mjs +8 -2
- package/esm2022/i18n/languages/kn_IN.mjs +8 -2
- package/esm2022/i18n/languages/ko_KR.mjs +8 -2
- package/esm2022/i18n/languages/ku_IQ.mjs +8 -2
- package/esm2022/i18n/languages/lv_LV.mjs +8 -2
- package/esm2022/i18n/languages/mn_MN.mjs +8 -2
- package/esm2022/i18n/languages/ms_MY.mjs +8 -2
- package/esm2022/i18n/languages/nb_NO.mjs +8 -2
- package/esm2022/i18n/languages/ne_NP.mjs +8 -2
- package/esm2022/i18n/languages/nl_BE.mjs +8 -2
- package/esm2022/i18n/languages/nl_NL.mjs +8 -2
- package/esm2022/i18n/languages/pl_PL.mjs +8 -2
- package/esm2022/i18n/languages/pt_BR.mjs +8 -2
- package/esm2022/i18n/languages/pt_PT.mjs +8 -2
- package/esm2022/i18n/languages/ro_RO.mjs +8 -2
- package/esm2022/i18n/languages/ru_RU.mjs +8 -2
- package/esm2022/i18n/languages/sk_SK.mjs +8 -2
- package/esm2022/i18n/languages/sl_SI.mjs +8 -2
- package/esm2022/i18n/languages/sr_RS.mjs +8 -2
- package/esm2022/i18n/languages/sv_SE.mjs +8 -2
- package/esm2022/i18n/languages/ta_IN.mjs +8 -2
- package/esm2022/i18n/languages/th_TH.mjs +8 -2
- package/esm2022/i18n/languages/tr_TR.mjs +8 -2
- package/esm2022/i18n/languages/uk_UA.mjs +8 -2
- package/esm2022/i18n/languages/vi_VN.mjs +8 -2
- package/esm2022/i18n/languages/zh_CN.mjs +8 -2
- package/esm2022/i18n/languages/zh_TW.mjs +8 -2
- package/esm2022/icon/icon.component.mjs +4 -4
- package/esm2022/icon/icon.module.mjs +4 -4
- package/esm2022/icon/icon.property.mjs +3 -3
- package/esm2022/icon/icon.service.mjs +3 -3
- package/esm2022/image/image-group.component.mjs +3 -3
- package/esm2022/image/image-preview.component.mjs +5 -5
- package/esm2022/image/image.component.mjs +5 -5
- package/esm2022/image/image.module.mjs +4 -4
- package/esm2022/image/image.property.mjs +6 -6
- package/esm2022/inner/inner.component.mjs +4 -4
- package/esm2022/inner/inner.module.mjs +4 -4
- package/esm2022/inner/inner.property.mjs +3 -3
- package/esm2022/input/input-group.component.mjs +3 -3
- package/esm2022/input/input.component.mjs +5 -5
- package/esm2022/input/input.module.mjs +4 -4
- package/esm2022/input/input.property.mjs +6 -6
- package/esm2022/input-number/input-number.component.mjs +5 -5
- package/esm2022/input-number/input-number.module.mjs +4 -4
- package/esm2022/input-number/input-number.property.mjs +3 -3
- package/esm2022/keyword/keyword.directive.mjs +3 -3
- package/esm2022/keyword/keyword.module.mjs +4 -4
- package/esm2022/keyword/keyword.property.mjs +3 -3
- package/esm2022/layout/col.component.mjs +3 -3
- package/esm2022/layout/layout.module.mjs +4 -4
- package/esm2022/layout/layout.property.mjs +6 -6
- package/esm2022/layout/row.component.mjs +3 -3
- package/esm2022/link/link.component.mjs +5 -5
- package/esm2022/link/link.module.mjs +4 -4
- package/esm2022/link/link.property.mjs +3 -3
- package/esm2022/list/list-drop-group.directive.mjs +3 -3
- package/esm2022/list/list-option.component.mjs +3 -3
- package/esm2022/list/list.component.mjs +11 -11
- package/esm2022/list/list.module.mjs +4 -4
- package/esm2022/list/list.property.mjs +6 -6
- package/esm2022/loading/loading.component.mjs +5 -5
- package/esm2022/loading/loading.module.mjs +4 -4
- package/esm2022/loading/loading.property.mjs +3 -3
- package/esm2022/menu/menu-node.component.mjs +3 -3
- package/esm2022/menu/menu.component.mjs +3 -3
- package/esm2022/menu/menu.module.mjs +4 -4
- package/esm2022/menu/menu.property.mjs +6 -6
- package/esm2022/message/message.component.mjs +3 -3
- package/esm2022/message/message.module.mjs +4 -4
- package/esm2022/message/message.service.mjs +3 -3
- package/esm2022/message-box/message-box.component.mjs +3 -3
- package/esm2022/message-box/message-box.module.mjs +4 -4
- package/esm2022/message-box/message-box.service.mjs +3 -3
- package/esm2022/notification/notification.component.mjs +3 -3
- package/esm2022/notification/notification.module.mjs +4 -4
- package/esm2022/notification/notification.service.mjs +3 -3
- package/esm2022/outlet/outlet.directive.mjs +3 -3
- package/esm2022/outlet/outlet.module.mjs +4 -4
- package/esm2022/page-header/page-header.component.mjs +5 -5
- package/esm2022/page-header/page-header.module.mjs +4 -4
- package/esm2022/page-header/page-header.property.mjs +3 -3
- package/esm2022/pagination/pagination.component.mjs +91 -29
- package/esm2022/pagination/pagination.module.mjs +4 -4
- package/esm2022/pagination/pagination.property.mjs +23 -8
- package/esm2022/pattern/pattern.component.mjs +4 -4
- package/esm2022/pattern/pattern.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.component.mjs +5 -5
- package/esm2022/popconfirm/popconfirm.module.mjs +4 -4
- package/esm2022/popconfirm/popconfirm.property.mjs +3 -3
- package/esm2022/popover/popover-portal.component.mjs +5 -5
- package/esm2022/popover/popover.directive.mjs +3 -3
- package/esm2022/popover/popover.module.mjs +4 -4
- package/esm2022/popover/popover.property.mjs +3 -3
- package/esm2022/portal/portal.module.mjs +4 -4
- package/esm2022/portal/portal.service.mjs +3 -3
- package/esm2022/progress/progress.component.mjs +5 -5
- package/esm2022/progress/progress.module.mjs +4 -4
- package/esm2022/progress/progress.property.mjs +3 -3
- package/esm2022/radio/radio.component.mjs +5 -5
- package/esm2022/radio/radio.module.mjs +4 -4
- package/esm2022/radio/radio.property.mjs +3 -3
- package/esm2022/rate/rate.component.mjs +5 -5
- package/esm2022/rate/rate.module.mjs +4 -4
- package/esm2022/rate/rate.property.mjs +3 -3
- package/esm2022/resizable/resizable.directive.mjs +3 -3
- package/esm2022/resizable/resizable.module.mjs +4 -4
- package/esm2022/resizable/resizable.property.mjs +3 -3
- package/esm2022/result/result.component.mjs +5 -5
- package/esm2022/result/result.module.mjs +4 -4
- package/esm2022/result/result.property.mjs +3 -3
- package/esm2022/ripple/ripple.directive.mjs +3 -3
- package/esm2022/ripple/ripple.module.mjs +4 -4
- package/esm2022/ripple/ripple.property.mjs +3 -3
- package/esm2022/select/select-portal.component.mjs +3 -3
- package/esm2022/select/select.component.mjs +5 -5
- package/esm2022/select/select.module.mjs +4 -4
- package/esm2022/select/select.property.mjs +5 -5
- package/esm2022/skeleton/skeleton.component.mjs +3 -3
- package/esm2022/skeleton/skeleton.module.mjs +4 -4
- package/esm2022/skeleton/skeleton.property.mjs +3 -3
- package/esm2022/slider/slider.component.mjs +5 -5
- package/esm2022/slider/slider.module.mjs +4 -4
- package/esm2022/slider/slider.property.mjs +3 -3
- package/esm2022/slider-select/slider-select.component.mjs +5 -5
- package/esm2022/slider-select/slider-select.module.mjs +4 -4
- package/esm2022/slider-select/slider-select.property.mjs +3 -3
- package/esm2022/statistic/countdown.component.mjs +3 -3
- package/esm2022/statistic/statistic.component.mjs +3 -3
- package/esm2022/statistic/statistic.module.mjs +4 -4
- package/esm2022/statistic/statistic.property.mjs +6 -6
- package/esm2022/steps/steps.component.mjs +5 -5
- package/esm2022/steps/steps.module.mjs +4 -4
- package/esm2022/steps/steps.property.mjs +3 -3
- package/esm2022/switch/switch.component.mjs +5 -5
- package/esm2022/switch/switch.module.mjs +4 -4
- package/esm2022/switch/switch.property.mjs +3 -3
- package/esm2022/table/table-body.component.mjs +3 -3
- package/esm2022/table/table-foot.component.mjs +3 -3
- package/esm2022/table/table-head.component.mjs +4 -4
- package/esm2022/table/table.component.mjs +5 -5
- package/esm2022/table/table.module.mjs +4 -4
- package/esm2022/table/table.property.mjs +28 -13
- package/esm2022/tabs/tab-content.component.mjs +3 -3
- package/esm2022/tabs/tab-link.directive.mjs +6 -6
- package/esm2022/tabs/tab.component.mjs +3 -3
- package/esm2022/tabs/tabs.component.mjs +5 -5
- package/esm2022/tabs/tabs.module.mjs +4 -4
- package/esm2022/tabs/tabs.property.mjs +6 -6
- package/esm2022/tag/tag.component.mjs +5 -5
- package/esm2022/tag/tag.module.mjs +4 -4
- package/esm2022/tag/tag.property.mjs +3 -3
- package/esm2022/text-retract/text-retract.component.mjs +5 -5
- package/esm2022/text-retract/text-retract.module.mjs +4 -4
- package/esm2022/text-retract/text-retract.property.mjs +3 -3
- package/esm2022/textarea/textarea.component.mjs +5 -5
- package/esm2022/textarea/textarea.module.mjs +4 -4
- package/esm2022/textarea/textarea.property.mjs +3 -3
- package/esm2022/theme/theme.component.mjs +5 -5
- package/esm2022/theme/theme.module.mjs +4 -4
- package/esm2022/theme/theme.property.mjs +3 -3
- package/esm2022/time-ago/time-ago.module.mjs +4 -4
- package/esm2022/time-ago/time-ago.pipe.mjs +3 -3
- package/esm2022/time-picker/time-picker-frame.component.mjs +5 -5
- package/esm2022/time-picker/time-picker-portal.component.mjs +3 -3
- package/esm2022/time-picker/time-picker.component.mjs +5 -5
- package/esm2022/time-picker/time-picker.module.mjs +4 -4
- package/esm2022/time-picker/time-picker.property.mjs +3 -3
- package/esm2022/time-range/time-range.module.mjs +4 -4
- package/esm2022/time-range/time-range.pipe.mjs +3 -3
- package/esm2022/timeline/timeline.component.mjs +5 -5
- package/esm2022/timeline/timeline.module.mjs +4 -4
- package/esm2022/timeline/timeline.property.mjs +3 -3
- package/esm2022/tooltip/tooltip-portal.component.mjs +5 -5
- package/esm2022/tooltip/tooltip.directive.mjs +3 -3
- package/esm2022/tooltip/tooltip.module.mjs +4 -4
- package/esm2022/tooltip/tooltip.property.mjs +3 -3
- package/esm2022/transfer/transfer.component.mjs +5 -5
- package/esm2022/transfer/transfer.module.mjs +4 -4
- package/esm2022/transfer/transfer.property.mjs +3 -3
- package/esm2022/tree/tree-node.component.mjs +5 -5
- package/esm2022/tree/tree.component.mjs +4 -4
- package/esm2022/tree/tree.module.mjs +4 -4
- package/esm2022/tree/tree.property.mjs +6 -6
- package/esm2022/tree/tree.service.mjs +3 -3
- package/esm2022/tree-file/tree-file.component.mjs +5 -5
- package/esm2022/tree-file/tree-file.module.mjs +4 -4
- package/esm2022/tree-file/tree-file.property.mjs +3 -3
- package/esm2022/tree-select/tree-select-portal.component.mjs +3 -3
- package/esm2022/tree-select/tree-select.component.mjs +5 -5
- package/esm2022/tree-select/tree-select.module.mjs +4 -4
- package/esm2022/tree-select/tree-select.property.mjs +3 -3
- package/esm2022/typography/typography.component.mjs +4 -4
- package/esm2022/typography/typography.module.mjs +4 -4
- package/esm2022/typography/typography.property.mjs +3 -3
- package/esm2022/upload/upload-portal.component.mjs +5 -5
- package/esm2022/upload/upload.component.mjs +5 -5
- package/esm2022/upload/upload.module.mjs +4 -4
- package/esm2022/upload/upload.property.mjs +3 -3
- package/fesm2022/ng-nest-ui-affix.mjs +11 -11
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +11 -11
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +17 -17
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +8 -8
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +14 -14
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +17 -17
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +11 -11
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +11 -11
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +10 -10
- package/fesm2022/ng-nest-ui-button.mjs +18 -18
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +11 -11
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +11 -11
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +18 -18
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +14 -14
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +11 -11
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +18 -18
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +14 -14
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +11 -11
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +17 -17
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +36 -36
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +15 -15
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +11 -11
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +51 -51
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +16 -16
- package/fesm2022/ng-nest-ui-dialog.mjs +44 -44
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +8 -8
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +10 -10
- package/fesm2022/ng-nest-ui-drawer.mjs +35 -35
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +14 -14
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +11 -11
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +8 -8
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +11 -11
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +17 -17
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +14 -14
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +370 -64
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +14 -14
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +21 -21
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +11 -11
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +11 -11
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +17 -17
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +10 -10
- package/fesm2022/ng-nest-ui-layout.mjs +16 -16
- package/fesm2022/ng-nest-ui-link.mjs +11 -11
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +26 -26
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +11 -11
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +16 -16
- package/fesm2022/ng-nest-ui-message-box.mjs +10 -10
- package/fesm2022/ng-nest-ui-message.mjs +10 -10
- package/fesm2022/ng-nest-ui-notification.mjs +10 -10
- package/fesm2022/ng-nest-ui-outlet.mjs +7 -7
- package/fesm2022/ng-nest-ui-page-header.mjs +11 -11
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +116 -39
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +8 -8
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +11 -11
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +14 -14
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +7 -7
- package/fesm2022/ng-nest-ui-progress.mjs +11 -11
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +11 -11
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +11 -11
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +10 -10
- package/fesm2022/ng-nest-ui-result.mjs +11 -11
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +10 -10
- package/fesm2022/ng-nest-ui-select.mjs +15 -15
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +10 -10
- package/fesm2022/ng-nest-ui-slider-select.mjs +11 -11
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +11 -11
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +16 -16
- package/fesm2022/ng-nest-ui-steps.mjs +11 -11
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +11 -11
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +44 -29
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +26 -26
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +11 -11
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +11 -11
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +11 -11
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +11 -11
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +7 -7
- package/fesm2022/ng-nest-ui-time-picker.mjs +18 -18
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +7 -7
- package/fesm2022/ng-nest-ui-timeline.mjs +11 -11
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +14 -14
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +11 -11
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +11 -11
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +14 -14
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +20 -20
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +11 -11
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +15 -15
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/i18n/i18n.property.d.ts +6 -0
- package/i18n/languages/ar_EG.d.ts +6 -0
- package/i18n/languages/bg_BG.d.ts +6 -0
- package/i18n/languages/ca_ES.d.ts +6 -0
- package/i18n/languages/cs_CZ.d.ts +6 -0
- package/i18n/languages/da_DK.d.ts +6 -0
- package/i18n/languages/de_DE.d.ts +6 -0
- package/i18n/languages/el_GR.d.ts +6 -0
- package/i18n/languages/en_GB.d.ts +6 -0
- package/i18n/languages/en_US.d.ts +6 -0
- package/i18n/languages/es_ES.d.ts +6 -0
- package/i18n/languages/et_EE.d.ts +6 -0
- package/i18n/languages/fa_IR.d.ts +6 -0
- package/i18n/languages/fi_FI.d.ts +6 -0
- package/i18n/languages/fr_BE.d.ts +6 -0
- package/i18n/languages/fr_FR.d.ts +6 -0
- package/i18n/languages/he_IL.d.ts +6 -0
- package/i18n/languages/hi_IN.d.ts +6 -0
- package/i18n/languages/hr_HR.d.ts +6 -0
- package/i18n/languages/hu_HU.d.ts +6 -0
- package/i18n/languages/hy_AM.d.ts +6 -0
- package/i18n/languages/id_ID.d.ts +6 -0
- package/i18n/languages/is_IS.d.ts +6 -0
- package/i18n/languages/it_IT.d.ts +6 -0
- package/i18n/languages/ja_JP.d.ts +6 -0
- package/i18n/languages/ka_GE.d.ts +6 -0
- package/i18n/languages/kn_IN.d.ts +6 -0
- package/i18n/languages/ko_KR.d.ts +6 -0
- package/i18n/languages/ku_IQ.d.ts +6 -0
- package/i18n/languages/lv_LV.d.ts +6 -0
- package/i18n/languages/mn_MN.d.ts +6 -0
- package/i18n/languages/ms_MY.d.ts +6 -0
- package/i18n/languages/nb_NO.d.ts +6 -0
- package/i18n/languages/ne_NP.d.ts +6 -0
- package/i18n/languages/nl_BE.d.ts +6 -0
- package/i18n/languages/nl_NL.d.ts +6 -0
- package/i18n/languages/pl_PL.d.ts +6 -0
- package/i18n/languages/pt_BR.d.ts +6 -0
- package/i18n/languages/pt_PT.d.ts +6 -0
- package/i18n/languages/ro_RO.d.ts +6 -0
- package/i18n/languages/ru_RU.d.ts +6 -0
- package/i18n/languages/sk_SK.d.ts +6 -0
- package/i18n/languages/sl_SI.d.ts +6 -0
- package/i18n/languages/sr_RS.d.ts +6 -0
- package/i18n/languages/sv_SE.d.ts +6 -0
- package/i18n/languages/ta_IN.d.ts +6 -0
- package/i18n/languages/th_TH.d.ts +6 -0
- package/i18n/languages/tr_TR.d.ts +6 -0
- package/i18n/languages/uk_UA.d.ts +6 -0
- package/i18n/languages/vi_VN.d.ts +6 -0
- package/i18n/languages/zh_CN.d.ts +6 -0
- package/i18n/languages/zh_TW.d.ts +6 -0
- package/package.json +115 -115
- package/pagination/pagination.component.d.ts +24 -0
- package/pagination/pagination.property.d.ts +31 -5
- package/radio/radio.component.d.ts +1 -1
- package/select/select.property.d.ts +1 -4
- package/style/mixins/reset.scss +4 -2
- package/table/table.property.d.ts +17 -1
|
@@ -262,10 +262,10 @@ export class XTreeNodeComponent extends XTreeNodeProperty {
|
|
|
262
262
|
trackByAction(_index, item) {
|
|
263
263
|
return item.id;
|
|
264
264
|
}
|
|
265
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.
|
|
266
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.6", type: XTreeNodeComponent, isStandalone: true, selector: "x-tree-node, [x-tree-node]", outputs: { nodeMouseenter: "nodeMouseenter" }, host: { listeners: { "mouseenter": "onMouseenter($event)", "mouseleave": "onMouseleave()" }, properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block;margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
265
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTreeNodeComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
266
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.2", type: XTreeNodeComponent, isStandalone: true, selector: "x-tree-node, [x-tree-node]", outputs: { nodeMouseenter: "nodeMouseenter" }, host: { listeners: { "mouseenter": "onMouseenter($event)", "mouseleave": "onMouseleave()" }, properties: { "class.x-tree-node": "this.rootClass" } }, usesInheritance: true, ngImport: i0, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block}.x-tree-node{margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"], dependencies: [{ kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "component", type: XCheckboxComponent, selector: "x-checkbox" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }, { kind: "component", type: XLinkComponent, selector: "x-link" }, { kind: "directive", type: XKeywordDirective, selector: "[x-keyword]" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
267
267
|
}
|
|
268
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.
|
|
268
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.2", ngImport: i0, type: XTreeNodeComponent, decorators: [{
|
|
269
269
|
type: Component,
|
|
270
270
|
args: [{ selector: `${XTreeNodePrefix}, [${XTreeNodePrefix}]`, standalone: true, imports: [
|
|
271
271
|
NgStyle,
|
|
@@ -275,7 +275,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
275
275
|
XOutletDirective,
|
|
276
276
|
XLinkComponent,
|
|
277
277
|
XKeywordDirective
|
|
278
|
-
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block
|
|
278
|
+
], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div\r\n class=\"x-tree-node-content\"\r\n [class.x-activated]=\"activated()\"\r\n [class.x-disabled]=\"disabled()\"\r\n [class.x-tree-node-sub]=\"!leaf()\"\r\n [class.x-tree-node-last]=\"isChildrenLast()\"\r\n [style.padding-left.px]=\"paddingLeft() + fontSize() / 2\"\r\n [style.height]=\"height() ? height() : nodeHeight() ? nodeHeight() : ''\"\r\n [style.align-items]=\"alignItems() ? alignItems() : nodeAlignItems()\"\r\n (click)=\"!disabled() && onActivate($event, node())\"\r\n>\r\n @if (tree.showLine() && level()! > 0) {\r\n <div class=\"x-tree-node-line\" [style.width.px]=\"paddingLeft()\">\r\n @for (i of verticalLevel(); track i) {\r\n <div\r\n class=\"x-tree-node-line-vertical\"\r\n [hidden]=\"isParentLast()[i - 1]\"\r\n [class.is-last]=\"i === verticalLevel().length\"\r\n [style.left.px]=\"getVerticalLeft(i)\"\r\n ></div>\r\n }\r\n <div\r\n class=\"x-tree-node-line-horizontal\"\r\n [style.width.px]=\"verticalWidth()\"\r\n [style.left.px]=\"getVerticalLeft(verticalLevel().length)\"\r\n ></div>\r\n </div>\r\n }\r\n @if (showDragIndicator()) {\r\n <div class=\"x-tree-node-drag-indicator\" [style.width]=\"indicatorWidth()\" [ngStyle]=\"indicatorStyle()\"></div>\r\n }\r\n @if (loading()) {\r\n <x-icon class=\"x-tree-node-loading\" type=\"fto-loader\" [spin]=\"loading()!\"></x-icon>\r\n } @else {\r\n <div\r\n class=\"x-tree-node-right\"\r\n [class.is-leaf]=\"leaf()\"\r\n [class.is-open]=\"open()\"\r\n [class.is-template]=\"tree.expandedIcon()\"\r\n [style.width.px]=\"verticalWidth() * 2\"\r\n (click)=\"!tree.nodeOpen() && onToggle($event, node())\"\r\n >\r\n @if (tree.expandedIcon()) {\r\n <ng-container *xOutlet=\"tree.expandedIcon(); context: { $node: node() }\"></ng-container>\r\n } @else {\r\n <x-icon type=\"fto-chevron-right\"></x-icon>\r\n }\r\n </div>\r\n }\r\n @if (tree.checkbox()) {\r\n <x-checkbox\r\n [data]=\"[{ label: '', id: id() }]\"\r\n [(ngModel)]=\"checked\"\r\n (ngModelChange)=\"onCheckboxChange()\"\r\n [indeterminate]=\"indeterminate()!\"\r\n [disabled]=\"disabled()!\"\r\n (click)=\"$event.stopPropagation()\"\r\n single\r\n ></x-checkbox>\r\n }\r\n @if (!tree.labelTpl()) {\r\n <span\r\n class=\"x-tree-node-label\"\r\n [class.nowrap]=\"nowrap() === false || nowrap() === true ? nowrap() : nodeNowrap()\"\r\n [title]=\"label()\"\r\n x-keyword\r\n [text]=\"tree.keywordText()\"\r\n [caseSensitive]=\"tree.caseSensitive()\"\r\n >{{ label() }}</span\r\n >\r\n } @else {\r\n <ng-container *xOutlet=\"tree.labelTpl(); context: { $node: node() }\"></ng-container>\r\n }\r\n <span class=\"x-tree-node-operations\">\r\n @for (action of tree.actions(); track action.id) {\r\n <x-link [icon]=\"action.icon\" [title]=\"action.label\" (click)=\"onAction($event, action, node())\"></x-link>\r\n }\r\n </span>\r\n @if (tree.multiple() && activated()) {\r\n <x-icon class=\"x-tree-node-checked\" type=\"fto-check\"></x-icon>\r\n }\r\n</div>\r\n", styles: ["x-tree-node{display:block}.x-tree-node{display:block}.x-tree-node{margin:0;padding:0}.x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}.x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}.x-tree-node-content x-icon:hover{color:var(--x-text-200)}.x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}.x-tree-node-content.x-disabled{color:var(--x-text-400)}.x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}.x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}.x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}.x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}.x-tree-node-right,.x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}.x-tree-node-right{display:flex;align-items:center;justify-content:center}.x-tree-node-right.is-leaf{visibility:hidden}.x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}.x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}.x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}.x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}.x-tree-node-operations{display:none}.x-tree-node-operations .x-link{padding:0 .125rem}.x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}.x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}.x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node{display:block}body>x-tree-node.cdk-drag-preview .x-tree-node-content{position:relative;display:flex;border-radius:var(--x-border-radius);margin:.125rem 0;padding-right:.5rem;line-height:var(--x-height-small);cursor:pointer}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon{padding:.25rem;font-size:1.25rem;transition:var(--x-animation-duration-base)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-icon:hover{color:var(--x-text-200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content x-checkbox{margin-right:.325rem;padding:.25rem 0}body>x-tree-node.cdk-drag-preview .x-tree-node-content.x-disabled{color:var(--x-text-400)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover{background-color:var(--x-background-a200)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled):hover .x-tree-node-operations{display:flex;align-items:center}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-activated{background-color:var(--x-primary-900);color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-content:not(.x-disabled).x-tree-node-checked{color:var(--x-primary)}body>x-tree-node.cdk-drag-preview .x-tree-node-right,body>x-tree-node.cdk-drag-preview .x-tree-node-loading{color:var(--x-text-300);margin-right:.125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-right{display:flex;align-items:center;justify-content:center}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-leaf{visibility:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-right.is-open:not(.is-template) x-icon{transform:rotate(90deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-line{position:absolute;left:.5rem;height:calc(100% + .25rem);display:flex;align-items:center;justify-content:space-between}body>x-tree-node.cdk-drag-preview .x-tree-node-line-vertical{position:absolute;height:100%;border-right:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-line-horizontal{position:absolute;border-bottom:var(--x-border-width) var(--x-border-style) var(--x-border)}body>x-tree-node.cdk-drag-preview .x-tree-node-last .x-tree-node-line-vertical.is-last{height:50%;top:0}body>x-tree-node.cdk-drag-preview .x-tree-node-operations{display:none}body>x-tree-node.cdk-drag-preview .x-tree-node-operations .x-link{padding:0 .125rem}body>x-tree-node.cdk-drag-preview .x-tree-node-label{flex:1;-webkit-user-select:none;user-select:none}body>x-tree-node.cdk-drag-preview .x-tree-node-label.nowrap{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator{position:absolute;height:.0625rem;border-radius:var(--x-border-radius);background-color:var(--x-primary);right:0;z-index:1}body>x-tree-node.cdk-drag-preview .x-tree-node-drag-indicator:before{position:absolute;top:-.125rem;left:-.2625rem;width:.325rem;height:.325rem;background-color:transparent;border-color:var(--x-primary);border-style:solid;border-width:.0625rem .0625rem 0 0;content:\" \";transform:rotate(45deg)}body>x-tree-node.cdk-drag-preview .x-tree-node-content{border-color:var(--x-border);color:var(--x-text-400);background-color:var(--x-background-a100);opacity:.5}\n"] }]
|
|
279
279
|
}], propDecorators: { rootClass: [{
|
|
280
280
|
type: HostBinding,
|
|
281
281
|
args: ['class.x-tree-node']
|
|
@@ -286,4 +286,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.6", ngImpor
|
|
|
286
286
|
type: HostListener,
|
|
287
287
|
args: ['mouseleave']
|
|
288
288
|
}] } });
|
|
289
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWEsaUJBQWlCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUFZLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9C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QjtnQkFLUSxZQUFZO3NCQUFuRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJVixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIG91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVHJlZU5vZGVQcmVmaXgsIFhUcmVlTm9kZSwgWFRyZWVOb2RlUHJvcGVydHksIFhUcmVlQWN0aW9uIH0gZnJvbSAnLi90cmVlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhCb29sZWFuLCBYQ29tcHV0ZWRTdHlsZSwgWFRvQ3NzUHgsIFhJc09iamVjdEFycmF5LCBYSXNBcnJheSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jaGVja2JveCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYS2V5d29yZERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2tleXdvcmQnO1xyXG5pbXBvcnQgeyBYTGlua0NvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2xpbmsnO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVHJlZU5vZGVQcmVmaXh9LCBbJHtYVHJlZU5vZGVQcmVmaXh9XWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1N0eWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYSWNvbkNvbXBvbmVudCxcclxuICAgIFhDaGVja2JveENvbXBvbmVudCxcclxuICAgIFhPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBYTGlua0NvbXBvbmVudCxcclxuICAgIFhLZXl3b3JkRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVDb21wb25lbnQgZXh0ZW5kcyBYVHJlZU5vZGVQcm9wZXJ0eSB7XHJcbiAgdHJlZSA9IGluamVjdChYVHJlZUNvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSwgaG9zdDogdHJ1ZSB9KSE7XHJcbiAgbm9kZU1vdXNlZW50ZXIgPSBvdXRwdXQ8eyBldmVudDogTW91c2VFdmVudDsgbm9kZTogWFRyZWVOb2RlOyBlbGU6IEVsZW1lbnRSZWYgfT4oKTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtdHJlZS1ub2RlJykgcm9vdENsYXNzID0gdHJ1ZTtcclxuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBmb250U2l6ZSA9IGNvbXB1dGVkKCgpID0+IHBhcnNlRmxvYXQoWENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICdmb250LXNpemUnKSkpO1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pIG9uTW91c2VlbnRlcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KHsgZXZlbnQ6IGV2ZW50LCBub2RlOiB0aGlzLm5vZGUoKSwgZWxlOiB0aGlzLmVsZW1lbnRSZWYgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgb25Nb3VzZWxlYXZlKF9ldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUuZHJhZ2dpbmcoKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgaG92ZXJUcmVlTm9kZSA9IHRoaXMudHJlZS5ob3ZlclRyZWVOb2RlKCk7XHJcbiAgICBob3ZlclRyZWVOb2RlICYmIGhvdmVyVHJlZU5vZGUuY2hhbmdlICYmIGhvdmVyVHJlZU5vZGUuY2hhbmdlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzaG93RHJhZ0luZGljYXRvciA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRyZWUuZHJhZ2dpbmcoKSAmJiB0aGlzLnRyZWUuaG92ZXJUcmVlTm9kZSgpPy5pZCA9PT0gdGhpcy5pZCgpO1xyXG4gIH0pO1xyXG5cclxuICBpc0NoaWxkcmVuTGFzdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGxldCBwYXJlbnQgPSB0aGlzLnRyZWUubm9kZXMoKS5maW5kKCh4OiBYVHJlZU5vZGUpID0+IHguaWQgPT09IHRoaXMucGlkKCkpO1xyXG4gICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC5jaGlsZHJlbikgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgaW5kZXggPSBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzLm5vZGUoKSk7XHJcbiAgICByZXR1cm4gaW5kZXggKyAxID09PSBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xyXG4gIH0pO1xyXG5cclxuICBpc1BhcmVudExhc3QgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBsZXQgcGFyZW50cyA9IHRoaXMudHJlZVNlcnZpY2UuZ2V0UGFyZW50cyh0aGlzLnRyZWUubm9kZXMoKSwgdGhpcy5ub2RlKCkpO1xyXG4gICAgaWYgKHBhcmVudHMubGVuZ3RoIDw9IDEpIHJldHVybiBbXTtcclxuICAgIGNvbnN0IHJlczogYm9vbGVhbltdID0gW107XHJcbiAgICBwYXJlbnRzLnJlZHVjZSgocHJlOiBYVHJlZU5vZGUsIGN1cnI6IFhUcmVlTm9kZSkgPT4ge1xyXG4gICAgICBpZiAocHJlID09PSBudWxsKSByZXR1cm4gY3VycjtcclxuICAgICAgY29uc3QgaW5kZXggPSBjdXJyLmNoaWxkcmVuPy5pbmRleE9mKHByZSkhO1xyXG4gICAgICByZXMucHVzaChpbmRleCArIDEgPT09IGN1cnIuY2hpbGRyZW4/Lmxlbmd0aCEpO1xyXG4gICAgICByZXR1cm4gY3VycjtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXMucmV2ZXJzZSgpO1xyXG4gIH0pO1xyXG5cclxuICB2ZXJ0aWNhbExldmVsID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMubGV2ZWwoKSEgPiAwKSB7XHJcbiAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmxldmVsKCkhIH0pLm1hcCgoX3gsIGluZGV4KSA9PiBpbmRleCArIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICB2ZXJ0aWNhbFdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIFhUb0Nzc1B4KHRoaXMudHJlZS5zcGFjaW5nKCksIHRoaXMuZm9udFNpemUoKSkgLyAyO1xyXG4gIH0pO1xyXG5cclxuICBwYWRkaW5nTGVmdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxldmVsKCkhID8gdGhpcy5sZXZlbCgpISA6IDApICogWFRvQ3NzUHgodGhpcy50cmVlLnNwYWNpbmcoKSwgdGhpcy5mb250U2l6ZSgpKSk7XHJcblxyXG4gIGluZGljYXRvcldpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMucGFkZGluZ0xlZnQoKSArICh0aGlzLmxlYWYoKSA/IHRoaXMuZm9udFNpemUoKSAqIDEuNSA6IDApfXB4KWA7XHJcbiAgfSk7XHJcblxyXG4gIGluZGljYXRvclN0eWxlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudHJlZS5kcmFnUG9zaXRpb24oKSA9PT0gMSkge1xyXG4gICAgICByZXR1cm4geyBib3R0b206IGAtJHswLjA2MjUgKiB0aGlzLmZvbnRTaXplKCl9cHhgIH07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHJlZS5kcmFnUG9zaXRpb24oKSA9PT0gLTEpIHtcclxuICAgICAgcmV0dXJuIHsgdG9wOiBgLSR7MC4wNjI1ICogdGhpcy5mb250U2l6ZSgpfXB4YCB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH0pO1xyXG5cclxuICBjaGFuZ2VkID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgYWN0aXZhdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgdGhpcy5jaGFuZ2VkKCk7XHJcbiAgICBjb25zdCBhY3RpdmF0ZWRJZCA9IHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpO1xyXG4gICAgaWYgKHRoaXMudHJlZS5tdWx0aXBsZSgpKSB7XHJcbiAgICAgIGlmICh0aGlzLnRyZWUub2JqZWN0QXJyYXkoKSkge1xyXG4gICAgICAgIHJldHVybiBYSXNPYmplY3RBcnJheTxYVHJlZU5vZGVbXT4oYWN0aXZhdGVkSWQpICYmIGFjdGl2YXRlZElkLm1hcCgoeDogWFRyZWVOb2RlKSA9PiB4LmlkKS5pbmNsdWRlcyh0aGlzLmlkKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBYSXNBcnJheTxhbnlbXT4oYWN0aXZhdGVkSWQpICYmIGFjdGl2YXRlZElkLmluY2x1ZGVzKHRoaXMuaWQoKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhY3RpdmF0ZWRJZCA9PT0gdGhpcy5pZCgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSB0cmVlU2VydmljZSA9IGluamVjdChYVHJlZVNlcnZpY2UpO1xyXG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMubm9kZSgpO1xyXG4gICAgbm9kZS5jaGFuZ2UgPSAoY2hlY2s6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGNoZWNrKSB0aGlzLnNldENoZWNrYm94KCk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICBpZiAoIXRoaXMudHJlZS5sZXZlbENoZWNrKCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmNoZWNrZWQoKSkgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlKHRoaXMubm9kZSgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG9uQWN0aXZhdGUoZXZlbnQ6IEV2ZW50LCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IGNoYW5nZTogRnVuY3Rpb24gPSB0aGlzLnRyZWUuYWN0aXZhdGVkTm9kZSgpPy5jaGFuZ2UgYXMgRnVuY3Rpb247XHJcbiAgICB0aGlzLnRyZWUubm9kZU9wZW4oKSAmJiAhdGhpcy5sZWFmKCkgJiYgdGhpcy5vblRvZ2dsZShldmVudCwgbm9kZSk7XHJcbiAgICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgY2hhbmdlICYmIGNoYW5nZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnRyZWUub25seUxlYWYoKSAmJiAhdGhpcy5sZWFmKCkpIHtcclxuICAgICAgb25DaGFuZ2UoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHJlZS5tdWx0aXBsZSgpKSB7XHJcbiAgICAgIGlmICghdGhpcy50cmVlLmFjdGl2YXRlZElkKCkpIHRoaXMudHJlZS5hY3RpdmF0ZWRJZC5zZXQoW10pO1xyXG4gICAgICBpZiAodGhpcy50cmVlLm9iamVjdEFycmF5KCkpIHtcclxuICAgICAgICBjb25zdCBpZHMgPSB0aGlzLnRyZWUuYWN0aXZhdGVkSWQoKS5tYXAoKHg6IFhUcmVlTm9kZSkgPT4geC5pZCk7XHJcbiAgICAgICAgaWYgKGlkcy5pbmNsdWRlcyhub2RlLmlkKSkge1xyXG4gICAgICAgICAgdGhpcy50cmVlLmFjdGl2YXRlZElkLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4LnNwbGljZShpZHMuaW5kZXhPZihub2RlLmlkKSwgMSk7XHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ueF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50cmVlLmFjdGl2YXRlZElkLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4LnB1c2gobm9kZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ueF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpLmluY2x1ZGVzKG5vZGUuaWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnRyZWUuYWN0aXZhdGVkSWQudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHguc3BsaWNlKHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpLmluZGV4T2Yobm9kZS5pZCksIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gWy4uLnhdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudHJlZS5hY3RpdmF0ZWRJZC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeC5wdXNoKG5vZGUuaWQpO1xyXG4gICAgICAgICAgICByZXR1cm4gWy4uLnhdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyZWUuYWN0aXZhdGVkSWQuc2V0KG5vZGUuaWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKCkpIHtcclxuICAgICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKCk/LmlkID09PSBub2RlLmlkICYmICF0aGlzLnRyZWUuYWxsb3dNYW55QWN0aXZhdGVkKCkpIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlLnNldChub2RlKTtcclxuICAgIHRoaXMuY2hhbmdlZC51cGRhdGUoKHgpID0+ICF4KTtcclxuICAgIHRoaXMudHJlZS5hY3RpdmF0ZWRDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgIHRoaXMudHJlZS5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgIG9uQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy50cmVlLmNoZWNrYm94Q2hhbmdlLmVtaXQodGhpcy5ub2RlKCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmVydGljYWxMZWZ0KGk6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3BhY2luZyA9IFhUb0Nzc1B4KHRoaXMudHJlZS5zcGFjaW5nKCksIHRoaXMuZm9udFNpemUoKSk7XHJcbiAgICByZXR1cm4gKGkgLSAxKSAqIHNwYWNpbmcgKyBzcGFjaW5nIC8gMjtcclxuICB9XHJcblxyXG4gIHNldENoZWNrYm94KCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUubGV2ZWxDaGVjaygpKSByZXR1cm47XHJcbiAgICB0aGlzLm5vZGUoKS5pbmRldGVybWluYXRlID0gdGhpcy5jaGVja2VkKCk7XHJcbiAgICB0aGlzLm5vZGUoKS5jaGlsZHJlbiAmJiB0aGlzLnNldENoaWxkcmVuQ2hlY2tib3godGhpcy5jaGVja2VkKCkhKTtcclxuICAgIGNvbnN0IHNldFBhcmVudCA9IChub2RlOiBYVHJlZU5vZGUpID0+IHtcclxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMudHJlZS5ub2RlcygpLmZpbmQoKHg6IFhUcmVlTm9kZSkgPT4geC5pZCA9PT0gbm9kZS5waWQpO1xyXG4gICAgICBpZiAoIXBhcmVudCB8fCBYSXNFbXB0eShwYXJlbnQuY2hpbGRyZW4pKSByZXR1cm47XHJcbiAgICAgIGxldCBjaGVja2VkTGlzdCA9IHBhcmVudC5jaGlsZHJlbj8uZmlsdGVyKCh5OiBYVHJlZU5vZGUpID0+IHkuY2hlY2tlZCk7XHJcbiAgICAgIGxldCBpbmRldGVybWluYXRlTGlzdCA9IHBhcmVudC5jaGlsZHJlbj8uZmlsdGVyKCh5OiBYVHJlZU5vZGUpID0+IHkuaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICAgIHBhcmVudC5jaGVja2VkID0gY2hlY2tlZExpc3Q/Lmxlbmd0aCA9PT0gcGFyZW50LmNoaWxkcmVuPy5sZW5ndGg7XHJcbiAgICAgIHBhcmVudC5pbmRldGVybWluYXRlID0gKGNoZWNrZWRMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwIHx8IChpbmRldGVybWluYXRlTGlzdCBhcyBYVHJlZU5vZGVbXSkubGVuZ3RoID4gMDtcclxuICAgICAgcGFyZW50LmNoYW5nZSAmJiBwYXJlbnQuY2hhbmdlKCk7XHJcbiAgICAgIHNldFBhcmVudChwYXJlbnQpO1xyXG4gICAgfTtcclxuICAgIHNldFBhcmVudCh0aGlzLm5vZGUoKSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGlsZHJlbkNoZWNrYm94KGNoZWNrZWQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKGNoaWxkcmVuOiBYVHJlZU5vZGVbXSwgaXNDaGVja2VkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZHJlbikpIHJldHVybjtcclxuICAgICAgZm9yIChsZXQgeCBvZiBjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh4LmRpc2FibGVkKSBjb250aW51ZTtcclxuICAgICAgICB4LmNoZWNrZWQgPSBpc0NoZWNrZWQ7XHJcbiAgICAgICAgeC5pbmRldGVybWluYXRlID0gaXNDaGVja2VkO1xyXG4gICAgICAgIHguY2hhbmdlICYmIHguY2hhbmdlKCk7XHJcbiAgICAgICAgc2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSwgaXNDaGVja2VkKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHNldENoaWxkcmVuKHRoaXMubm9kZSgpLmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBjaGVja2VkKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhcmVudENoZWNrYm94KCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubm9kZSgpLmNoaWxkcmVuKSkgcmV0dXJuO1xyXG4gICAgbGV0IGNoZWNrZWRMaXN0ID0gdGhpcy5ub2RlKCkuY2hpbGRyZW4/LmZpbHRlcigoeCkgPT4geC5jaGVja2VkKTtcclxuICAgIGxldCBpbmRldGVybWluYXRlTGlzdCA9IHRoaXMubm9kZSgpLmNoaWxkcmVuPy5maWx0ZXIoKHgpID0+IHguaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICB0aGlzLm5vZGUoKS5jaGVja2VkID0gY2hlY2tlZExpc3Q/Lmxlbmd0aCA9PT0gdGhpcy5ub2RlKCkuY2hpbGRyZW4/Lmxlbmd0aDtcclxuICAgIHRoaXMubm9kZSgpLmluZGV0ZXJtaW5hdGUgPVxyXG4gICAgICAoY2hlY2tlZExpc3QgYXMgWFRyZWVOb2RlW10pLmxlbmd0aCA+IDAgfHwgKGluZGV0ZXJtaW5hdGVMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5kZXRlcm1pbmF0ZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IGdldENoaWxkcmVuID0gKGNoaWxkcmVuOiBYVHJlZU5vZGVbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkoY2hpbGRyZW4pKSByZXR1cm47XHJcbiAgICAgIGNoaWxkcmVuLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICBpZiAoeC5pbmRldGVybWluYXRlIHx8IHguY2hlY2tlZCkge1xyXG4gICAgICAgICAgbm9kZS5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZ2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIGdldENoaWxkcmVuKG5vZGUuY2hpbGRyZW4gYXMgWFRyZWVOb2RlW10pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm9kZURpc2FibGVkKGRpc2FibGVkPzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGRpc2FibGVkIGFzIFhCb29sZWFuO1xyXG4gIH1cclxuXHJcbiAgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IFhUcmVlQWN0aW9uLCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGFjdGlvbi5oYW5kbGVyICYmIGFjdGlvbi5oYW5kbGVyKG5vZGUpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgdGhpcy50b2dnbGUuZW1pdChub2RlKTtcclxuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUl0ZW0oX2luZGV4OiBudW1iZXIsIGl0ZW06IFhUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuIGAke2l0ZW0uaWR9LSR7aXRlbS5sZXZlbH1gO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUFjdGlvbihfaW5kZXg6IG51bWJlciwgaXRlbTogWFRyZWVBY3Rpb24pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJ4LXRyZWUtbm9kZS1jb250ZW50XCJcclxuICBbY2xhc3MueC1hY3RpdmF0ZWRdPVwiYWN0aXZhdGVkKClcIlxyXG4gIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gIFtjbGFzcy54LXRyZWUtbm9kZS1zdWJdPVwiIWxlYWYoKVwiXHJcbiAgW2NsYXNzLngtdHJlZS1ub2RlLWxhc3RdPVwiaXNDaGlsZHJlbkxhc3QoKVwiXHJcbiAgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJwYWRkaW5nTGVmdCgpICsgZm9udFNpemUoKSAvIDJcIlxyXG4gIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KCkgPyBoZWlnaHQoKSA6IG5vZGVIZWlnaHQoKSA/IG5vZGVIZWlnaHQoKSA6ICcnXCJcclxuICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYWxpZ25JdGVtcygpID8gYWxpZ25JdGVtcygpIDogbm9kZUFsaWduSXRlbXMoKVwiXHJcbiAgKGNsaWNrKT1cIiFkaXNhYmxlZCgpICYmIG9uQWN0aXZhdGUoJGV2ZW50LCBub2RlKCkpXCJcclxuPlxyXG4gIEBpZiAodHJlZS5zaG93TGluZSgpICYmIGxldmVsKCkhID4gMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtdHJlZS1ub2RlLWxpbmVcIiBbc3R5bGUud2lkdGgucHhdPVwicGFkZGluZ0xlZnQoKVwiPlxyXG4gICAgICBAZm9yIChpIG9mIHZlcnRpY2FsTGV2ZWwoKTsgdHJhY2sgaSkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwieC10cmVlLW5vZGUtbGluZS12ZXJ0aWNhbFwiXHJcbiAgICAgICAgICBbaGlkZGVuXT1cImlzUGFyZW50TGFzdCgpW2kgLSAxXVwiXHJcbiAgICAgICAgICBbY2xhc3MuaXMtbGFzdF09XCJpID09PSB2ZXJ0aWNhbExldmVsKCkubGVuZ3RoXCJcclxuICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFZlcnRpY2FsTGVmdChpKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLWxpbmUtaG9yaXpvbnRhbFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInZlcnRpY2FsV2lkdGgoKVwiXHJcbiAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0VmVydGljYWxMZWZ0KHZlcnRpY2FsTGV2ZWwoKS5sZW5ndGgpXCJcclxuICAgICAgPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoc2hvd0RyYWdJbmRpY2F0b3IoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtdHJlZS1ub2RlLWRyYWctaW5kaWNhdG9yXCIgW3N0eWxlLndpZHRoXT1cImluZGljYXRvcldpZHRoKClcIiBbbmdTdHlsZV09XCJpbmRpY2F0b3JTdHlsZSgpXCI+PC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAobG9hZGluZygpKSB7XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC10cmVlLW5vZGUtbG9hZGluZ1wiIHR5cGU9XCJmdG8tbG9hZGVyXCIgW3NwaW5dPVwibG9hZGluZygpIVwiPjwveC1pY29uPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLXJpZ2h0XCJcclxuICAgICAgW2NsYXNzLmlzLWxlYWZdPVwibGVhZigpXCJcclxuICAgICAgW2NsYXNzLmlzLW9wZW5dPVwib3BlbigpXCJcclxuICAgICAgW2NsYXNzLmlzLXRlbXBsYXRlXT1cInRyZWUuZXhwYW5kZWRJY29uKClcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwidmVydGljYWxXaWR0aCgpICogMlwiXHJcbiAgICAgIChjbGljayk9XCIhdHJlZS5ub2RlT3BlbigpICYmIG9uVG9nZ2xlKCRldmVudCwgbm9kZSgpKVwiXHJcbiAgICA+XHJcbiAgICAgIEBpZiAodHJlZS5leHBhbmRlZEljb24oKSkge1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0cmVlLmV4cGFuZGVkSWNvbigpOyBjb250ZXh0OiB7ICRub2RlOiBub2RlKCkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh0cmVlLmNoZWNrYm94KCkpIHtcclxuICAgIDx4LWNoZWNrYm94XHJcbiAgICAgIFtkYXRhXT1cIlt7IGxhYmVsOiAnJywgaWQ6IGlkKCkgfV1cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImNoZWNrZWRcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKClcIlxyXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKCkhXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKCkhXCJcclxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgIHNpbmdsZVxyXG4gICAgPjwveC1jaGVja2JveD5cclxuICB9XHJcbiAgQGlmICghdHJlZS5sYWJlbFRwbCgpKSB7XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLWxhYmVsXCJcclxuICAgICAgW2NsYXNzLm5vd3JhcF09XCJub3dyYXAoKSA9PT0gZmFsc2UgfHwgbm93cmFwKCkgPT09IHRydWUgPyBub3dyYXAoKSA6IG5vZGVOb3dyYXAoKVwiXHJcbiAgICAgIFt0aXRsZV09XCJsYWJlbCgpXCJcclxuICAgICAgeC1rZXl3b3JkXHJcbiAgICAgIFt0ZXh0XT1cInRyZWUua2V5d29yZFRleHQoKVwiXHJcbiAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cInRyZWUuY2FzZVNlbnNpdGl2ZSgpXCJcclxuICAgICAgPnt7IGxhYmVsKCkgfX08L3NwYW5cclxuICAgID5cclxuICB9IEBlbHNlIHtcclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0cmVlLmxhYmVsVHBsKCk7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUoKSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG4gIDxzcGFuIGNsYXNzPVwieC10cmVlLW5vZGUtb3BlcmF0aW9uc1wiPlxyXG4gICAgQGZvciAoYWN0aW9uIG9mIHRyZWUuYWN0aW9ucygpOyB0cmFjayBhY3Rpb24uaWQpIHtcclxuICAgICAgPHgtbGluayBbaWNvbl09XCJhY3Rpb24uaWNvblwiIFt0aXRsZV09XCJhY3Rpb24ubGFiZWxcIiAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCBhY3Rpb24sIG5vZGUoKSlcIj48L3gtbGluaz5cclxuICAgIH1cclxuICA8L3NwYW4+XHJcbiAgQGlmICh0cmVlLm11bHRpcGxlKCkgJiYgYWN0aXZhdGVkKCkpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LXRyZWUtbm9kZS1jaGVja2VkXCIgdHlwZT1cImZ0by1jaGVja1wiPjwveC1pY29uPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|
|
289
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1ub2RlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEVBQ2pCLFVBQVUsRUFDVixpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLFdBQVcsRUFDWCxZQUFZLEVBQ1osTUFBTSxFQUNOLFFBQVEsRUFDUixNQUFNLEVBQ04sTUFBTSxFQUNQLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxlQUFlLEVBQWEsaUJBQWlCLEVBQWUsTUFBTSxpQkFBaUIsQ0FBQztBQUM3RixPQUFPLEVBQUUsUUFBUSxFQUFZLGNBQWMsRUFBRSxRQUFRLEVBQUUsY0FBYyxFQUFFLFFBQVEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQzFHLE9BQU8sRUFBRSxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDL0IsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDcEQsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQzFELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sb0JBQW9C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QjtnQkFLUSxZQUFZO3NCQUFuRCxZQUFZO3VCQUFDLFlBQVksRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFJVixZQUFZO3NCQUF2QyxZQUFZO3VCQUFDLFlBQVkiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBWaWV3RW5jYXBzdWxhdGlvbixcclxuICBFbGVtZW50UmVmLFxyXG4gIENoYW5nZURldGVjdG9yUmVmLFxyXG4gIENoYW5nZURldGVjdGlvblN0cmF0ZWd5LFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBpbmplY3QsXHJcbiAgY29tcHV0ZWQsXHJcbiAgc2lnbmFsLFxyXG4gIG91dHB1dFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYVHJlZU5vZGVQcmVmaXgsIFhUcmVlTm9kZSwgWFRyZWVOb2RlUHJvcGVydHksIFhUcmVlQWN0aW9uIH0gZnJvbSAnLi90cmVlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhCb29sZWFuLCBYQ29tcHV0ZWRTdHlsZSwgWFRvQ3NzUHgsIFhJc09iamVjdEFycmF5LCBYSXNBcnJheSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0IH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFhUcmVlU2VydmljZSB9IGZyb20gJy4vdHJlZS5zZXJ2aWNlJztcclxuaW1wb3J0IHsgRE9DVU1FTlQsIE5nU3R5bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYQ2hlY2tib3hDb21wb25lbnQgfSBmcm9tICdAbmctbmVzdC91aS9jaGVja2JveCc7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYS2V5d29yZERpcmVjdGl2ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2tleXdvcmQnO1xyXG5pbXBvcnQgeyBYTGlua0NvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2xpbmsnO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuaW1wb3J0IHsgWFRyZWVDb21wb25lbnQgfSBmcm9tICcuL3RyZWUuY29tcG9uZW50JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYVHJlZU5vZGVQcmVmaXh9LCBbJHtYVHJlZU5vZGVQcmVmaXh9XWAsXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuICBpbXBvcnRzOiBbXHJcbiAgICBOZ1N0eWxlLFxyXG4gICAgRm9ybXNNb2R1bGUsXHJcbiAgICBYSWNvbkNvbXBvbmVudCxcclxuICAgIFhDaGVja2JveENvbXBvbmVudCxcclxuICAgIFhPdXRsZXREaXJlY3RpdmUsXHJcbiAgICBYTGlua0NvbXBvbmVudCxcclxuICAgIFhLZXl3b3JkRGlyZWN0aXZlXHJcbiAgXSxcclxuICB0ZW1wbGF0ZVVybDogJy4vdHJlZS1ub2RlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi90cmVlLW5vZGUuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVDb21wb25lbnQgZXh0ZW5kcyBYVHJlZU5vZGVQcm9wZXJ0eSB7XHJcbiAgdHJlZSA9IGluamVjdChYVHJlZUNvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSwgaG9zdDogdHJ1ZSB9KSE7XHJcbiAgbm9kZU1vdXNlZW50ZXIgPSBvdXRwdXQ8eyBldmVudDogTW91c2VFdmVudDsgbm9kZTogWFRyZWVOb2RlOyBlbGU6IEVsZW1lbnRSZWYgfT4oKTtcclxuICBASG9zdEJpbmRpbmcoJ2NsYXNzLngtdHJlZS1ub2RlJykgcm9vdENsYXNzID0gdHJ1ZTtcclxuICBwcml2YXRlIGRvY3VtZW50ID0gaW5qZWN0KERPQ1VNRU5UKTtcclxuICBmb250U2l6ZSA9IGNvbXB1dGVkKCgpID0+IHBhcnNlRmxvYXQoWENvbXB1dGVkU3R5bGUodGhpcy5kb2N1bWVudC5kb2N1bWVudEVsZW1lbnQsICdmb250LXNpemUnKSkpO1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignbW91c2VlbnRlcicsIFsnJGV2ZW50J10pIG9uTW91c2VlbnRlcihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgdGhpcy5ub2RlTW91c2VlbnRlci5lbWl0KHsgZXZlbnQ6IGV2ZW50LCBub2RlOiB0aGlzLm5vZGUoKSwgZWxlOiB0aGlzLmVsZW1lbnRSZWYgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKCdtb3VzZWxlYXZlJykgb25Nb3VzZWxlYXZlKF9ldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUuZHJhZ2dpbmcoKSkgcmV0dXJuO1xyXG4gICAgY29uc3QgaG92ZXJUcmVlTm9kZSA9IHRoaXMudHJlZS5ob3ZlclRyZWVOb2RlKCk7XHJcbiAgICBob3ZlclRyZWVOb2RlICYmIGhvdmVyVHJlZU5vZGUuY2hhbmdlICYmIGhvdmVyVHJlZU5vZGUuY2hhbmdlKCk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzaG93RHJhZ0luZGljYXRvciA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiB0aGlzLnRyZWUuZHJhZ2dpbmcoKSAmJiB0aGlzLnRyZWUuaG92ZXJUcmVlTm9kZSgpPy5pZCA9PT0gdGhpcy5pZCgpO1xyXG4gIH0pO1xyXG5cclxuICBpc0NoaWxkcmVuTGFzdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGxldCBwYXJlbnQgPSB0aGlzLnRyZWUubm9kZXMoKS5maW5kKCh4OiBYVHJlZU5vZGUpID0+IHguaWQgPT09IHRoaXMucGlkKCkpO1xyXG4gICAgaWYgKCFwYXJlbnQgfHwgIXBhcmVudC5jaGlsZHJlbikgcmV0dXJuIGZhbHNlO1xyXG4gICAgY29uc3QgaW5kZXggPSBwYXJlbnQuY2hpbGRyZW4uaW5kZXhPZih0aGlzLm5vZGUoKSk7XHJcbiAgICByZXR1cm4gaW5kZXggKyAxID09PSBwYXJlbnQuY2hpbGRyZW4ubGVuZ3RoO1xyXG4gIH0pO1xyXG5cclxuICBpc1BhcmVudExhc3QgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICBsZXQgcGFyZW50cyA9IHRoaXMudHJlZVNlcnZpY2UuZ2V0UGFyZW50cyh0aGlzLnRyZWUubm9kZXMoKSwgdGhpcy5ub2RlKCkpO1xyXG4gICAgaWYgKHBhcmVudHMubGVuZ3RoIDw9IDEpIHJldHVybiBbXTtcclxuICAgIGNvbnN0IHJlczogYm9vbGVhbltdID0gW107XHJcbiAgICBwYXJlbnRzLnJlZHVjZSgocHJlOiBYVHJlZU5vZGUsIGN1cnI6IFhUcmVlTm9kZSkgPT4ge1xyXG4gICAgICBpZiAocHJlID09PSBudWxsKSByZXR1cm4gY3VycjtcclxuICAgICAgY29uc3QgaW5kZXggPSBjdXJyLmNoaWxkcmVuPy5pbmRleE9mKHByZSkhO1xyXG4gICAgICByZXMucHVzaChpbmRleCArIDEgPT09IGN1cnIuY2hpbGRyZW4/Lmxlbmd0aCEpO1xyXG4gICAgICByZXR1cm4gY3VycjtcclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiByZXMucmV2ZXJzZSgpO1xyXG4gIH0pO1xyXG5cclxuICB2ZXJ0aWNhbExldmVsID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMubGV2ZWwoKSEgPiAwKSB7XHJcbiAgICAgIHJldHVybiBBcnJheS5mcm9tKHsgbGVuZ3RoOiB0aGlzLmxldmVsKCkhIH0pLm1hcCgoX3gsIGluZGV4KSA9PiBpbmRleCArIDEpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIFtdO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICB2ZXJ0aWNhbFdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIFhUb0Nzc1B4KHRoaXMudHJlZS5zcGFjaW5nKCksIHRoaXMuZm9udFNpemUoKSkgLyAyO1xyXG4gIH0pO1xyXG5cclxuICBwYWRkaW5nTGVmdCA9IGNvbXB1dGVkKCgpID0+ICh0aGlzLmxldmVsKCkhID8gdGhpcy5sZXZlbCgpISA6IDApICogWFRvQ3NzUHgodGhpcy50cmVlLnNwYWNpbmcoKSwgdGhpcy5mb250U2l6ZSgpKSk7XHJcblxyXG4gIGluZGljYXRvcldpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMucGFkZGluZ0xlZnQoKSArICh0aGlzLmxlYWYoKSA/IHRoaXMuZm9udFNpemUoKSAqIDEuNSA6IDApfXB4KWA7XHJcbiAgfSk7XHJcblxyXG4gIGluZGljYXRvclN0eWxlID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMudHJlZS5kcmFnUG9zaXRpb24oKSA9PT0gMSkge1xyXG4gICAgICByZXR1cm4geyBib3R0b206IGAtJHswLjA2MjUgKiB0aGlzLmZvbnRTaXplKCl9cHhgIH07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHJlZS5kcmFnUG9zaXRpb24oKSA9PT0gLTEpIHtcclxuICAgICAgcmV0dXJuIHsgdG9wOiBgLSR7MC4wNjI1ICogdGhpcy5mb250U2l6ZSgpfXB4YCB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHt9O1xyXG4gIH0pO1xyXG5cclxuICBjaGFuZ2VkID0gc2lnbmFsKGZhbHNlKTtcclxuXHJcbiAgYWN0aXZhdGVkID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgdGhpcy5jaGFuZ2VkKCk7XHJcbiAgICBjb25zdCBhY3RpdmF0ZWRJZCA9IHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpO1xyXG4gICAgaWYgKHRoaXMudHJlZS5tdWx0aXBsZSgpKSB7XHJcbiAgICAgIGlmICh0aGlzLnRyZWUub2JqZWN0QXJyYXkoKSkge1xyXG4gICAgICAgIHJldHVybiBYSXNPYmplY3RBcnJheTxYVHJlZU5vZGVbXT4oYWN0aXZhdGVkSWQpICYmIGFjdGl2YXRlZElkLm1hcCgoeDogWFRyZWVOb2RlKSA9PiB4LmlkKS5pbmNsdWRlcyh0aGlzLmlkKCkpO1xyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIHJldHVybiBYSXNBcnJheTxhbnlbXT4oYWN0aXZhdGVkSWQpICYmIGFjdGl2YXRlZElkLmluY2x1ZGVzKHRoaXMuaWQoKSk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBhY3RpdmF0ZWRJZCA9PT0gdGhpcy5pZCgpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG5cclxuICBwcml2YXRlIGNkciA9IGluamVjdChDaGFuZ2VEZXRlY3RvclJlZik7XHJcbiAgcHJpdmF0ZSB0cmVlU2VydmljZSA9IGluamVjdChYVHJlZVNlcnZpY2UpO1xyXG4gIGVsZW1lbnRSZWYgPSBpbmplY3QoRWxlbWVudFJlZik7XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgY29uc3Qgbm9kZSA9IHRoaXMubm9kZSgpO1xyXG4gICAgbm9kZS5jaGFuZ2UgPSAoY2hlY2s6IGJvb2xlYW4pID0+IHtcclxuICAgICAgaWYgKGNoZWNrKSB0aGlzLnNldENoZWNrYm94KCk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH07XHJcbiAgICBpZiAoIXRoaXMudHJlZS5sZXZlbENoZWNrKCkpIHJldHVybjtcclxuICAgIGlmICh0aGlzLmNoZWNrZWQoKSkgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy5zZXRJbmRldGVybWluYXRlKHRoaXMubm9kZSgpKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG9uQWN0aXZhdGUoZXZlbnQ6IEV2ZW50LCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IGNoYW5nZTogRnVuY3Rpb24gPSB0aGlzLnRyZWUuYWN0aXZhdGVkTm9kZSgpPy5jaGFuZ2UgYXMgRnVuY3Rpb247XHJcbiAgICB0aGlzLnRyZWUubm9kZU9wZW4oKSAmJiAhdGhpcy5sZWFmKCkgJiYgdGhpcy5vblRvZ2dsZShldmVudCwgbm9kZSk7XHJcbiAgICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcclxuICAgICAgY2hhbmdlICYmIGNoYW5nZSgpO1xyXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLnRyZWUub25seUxlYWYoKSAmJiAhdGhpcy5sZWFmKCkpIHtcclxuICAgICAgb25DaGFuZ2UoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHJlZS5tdWx0aXBsZSgpKSB7XHJcbiAgICAgIGlmICghdGhpcy50cmVlLmFjdGl2YXRlZElkKCkpIHRoaXMudHJlZS5hY3RpdmF0ZWRJZC5zZXQoW10pO1xyXG4gICAgICBpZiAodGhpcy50cmVlLm9iamVjdEFycmF5KCkpIHtcclxuICAgICAgICBjb25zdCBpZHMgPSB0aGlzLnRyZWUuYWN0aXZhdGVkSWQoKS5tYXAoKHg6IFhUcmVlTm9kZSkgPT4geC5pZCk7XHJcbiAgICAgICAgaWYgKGlkcy5pbmNsdWRlcyhub2RlLmlkKSkge1xyXG4gICAgICAgICAgdGhpcy50cmVlLmFjdGl2YXRlZElkLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4LnNwbGljZShpZHMuaW5kZXhPZihub2RlLmlkKSwgMSk7XHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ueF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy50cmVlLmFjdGl2YXRlZElkLnVwZGF0ZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICB4LnB1c2gobm9kZSk7XHJcbiAgICAgICAgICAgIHJldHVybiBbLi4ueF07XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpLmluY2x1ZGVzKG5vZGUuaWQpKSB7XHJcbiAgICAgICAgICB0aGlzLnRyZWUuYWN0aXZhdGVkSWQudXBkYXRlKCh4KSA9PiB7XHJcbiAgICAgICAgICAgIHguc3BsaWNlKHRoaXMudHJlZS5hY3RpdmF0ZWRJZCgpLmluZGV4T2Yobm9kZS5pZCksIDEpO1xyXG4gICAgICAgICAgICByZXR1cm4gWy4uLnhdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMudHJlZS5hY3RpdmF0ZWRJZC51cGRhdGUoKHgpID0+IHtcclxuICAgICAgICAgICAgeC5wdXNoKG5vZGUuaWQpO1xyXG4gICAgICAgICAgICByZXR1cm4gWy4uLnhdO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnRyZWUuYWN0aXZhdGVkSWQuc2V0KG5vZGUuaWQpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKCkpIHtcclxuICAgICAgaWYgKHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlKCk/LmlkID09PSBub2RlLmlkICYmICF0aGlzLnRyZWUuYWxsb3dNYW55QWN0aXZhdGVkKCkpIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMudHJlZS5hY3RpdmF0ZWROb2RlLnNldChub2RlKTtcclxuICAgIHRoaXMuY2hhbmdlZC51cGRhdGUoKHgpID0+ICF4KTtcclxuICAgIHRoaXMudHJlZS5hY3RpdmF0ZWRDaGFuZ2UuZW1pdChub2RlKTtcclxuICAgIHRoaXMudHJlZS5ub2RlQ2xpY2suZW1pdChub2RlKTtcclxuICAgIG9uQ2hhbmdlKCk7XHJcbiAgfVxyXG5cclxuICBvbkNoZWNrYm94Q2hhbmdlKCkge1xyXG4gICAgdGhpcy5zZXRDaGVja2JveCgpO1xyXG4gICAgdGhpcy50cmVlLmNoZWNrYm94Q2hhbmdlLmVtaXQodGhpcy5ub2RlKCkpO1xyXG4gIH1cclxuXHJcbiAgZ2V0VmVydGljYWxMZWZ0KGk6IG51bWJlcikge1xyXG4gICAgY29uc3Qgc3BhY2luZyA9IFhUb0Nzc1B4KHRoaXMudHJlZS5zcGFjaW5nKCksIHRoaXMuZm9udFNpemUoKSk7XHJcbiAgICByZXR1cm4gKGkgLSAxKSAqIHNwYWNpbmcgKyBzcGFjaW5nIC8gMjtcclxuICB9XHJcblxyXG4gIHNldENoZWNrYm94KCkge1xyXG4gICAgaWYgKCF0aGlzLnRyZWUubGV2ZWxDaGVjaygpKSByZXR1cm47XHJcbiAgICB0aGlzLm5vZGUoKS5pbmRldGVybWluYXRlID0gdGhpcy5jaGVja2VkKCk7XHJcbiAgICB0aGlzLm5vZGUoKS5jaGlsZHJlbiAmJiB0aGlzLnNldENoaWxkcmVuQ2hlY2tib3godGhpcy5jaGVja2VkKCkhKTtcclxuICAgIGNvbnN0IHNldFBhcmVudCA9IChub2RlOiBYVHJlZU5vZGUpID0+IHtcclxuICAgICAgbGV0IHBhcmVudCA9IHRoaXMudHJlZS5ub2RlcygpLmZpbmQoKHg6IFhUcmVlTm9kZSkgPT4geC5pZCA9PT0gbm9kZS5waWQpO1xyXG4gICAgICBpZiAoIXBhcmVudCB8fCBYSXNFbXB0eShwYXJlbnQuY2hpbGRyZW4pKSByZXR1cm47XHJcbiAgICAgIGxldCBjaGVja2VkTGlzdCA9IHBhcmVudC5jaGlsZHJlbj8uZmlsdGVyKCh5OiBYVHJlZU5vZGUpID0+IHkuY2hlY2tlZCk7XHJcbiAgICAgIGxldCBpbmRldGVybWluYXRlTGlzdCA9IHBhcmVudC5jaGlsZHJlbj8uZmlsdGVyKCh5OiBYVHJlZU5vZGUpID0+IHkuaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICAgIHBhcmVudC5jaGVja2VkID0gY2hlY2tlZExpc3Q/Lmxlbmd0aCA9PT0gcGFyZW50LmNoaWxkcmVuPy5sZW5ndGg7XHJcbiAgICAgIHBhcmVudC5pbmRldGVybWluYXRlID0gKGNoZWNrZWRMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwIHx8IChpbmRldGVybWluYXRlTGlzdCBhcyBYVHJlZU5vZGVbXSkubGVuZ3RoID4gMDtcclxuICAgICAgcGFyZW50LmNoYW5nZSAmJiBwYXJlbnQuY2hhbmdlKCk7XHJcbiAgICAgIHNldFBhcmVudChwYXJlbnQpO1xyXG4gICAgfTtcclxuICAgIHNldFBhcmVudCh0aGlzLm5vZGUoKSk7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDaGlsZHJlbkNoZWNrYm94KGNoZWNrZWQ6IGJvb2xlYW4pIHtcclxuICAgIGNvbnN0IHNldENoaWxkcmVuID0gKGNoaWxkcmVuOiBYVHJlZU5vZGVbXSwgaXNDaGVja2VkOiBib29sZWFuKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZHJlbikpIHJldHVybjtcclxuICAgICAgZm9yIChsZXQgeCBvZiBjaGlsZHJlbikge1xyXG4gICAgICAgIGlmICh4LmRpc2FibGVkKSBjb250aW51ZTtcclxuICAgICAgICB4LmNoZWNrZWQgPSBpc0NoZWNrZWQ7XHJcbiAgICAgICAgeC5pbmRldGVybWluYXRlID0gaXNDaGVja2VkO1xyXG4gICAgICAgIHguY2hhbmdlICYmIHguY2hhbmdlKCk7XHJcbiAgICAgICAgc2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSwgaXNDaGVja2VkKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIHNldENoaWxkcmVuKHRoaXMubm9kZSgpLmNoaWxkcmVuIGFzIFhUcmVlTm9kZVtdLCBjaGVja2VkKTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldFBhcmVudENoZWNrYm94KCkge1xyXG4gICAgaWYgKFhJc0VtcHR5KHRoaXMubm9kZSgpLmNoaWxkcmVuKSkgcmV0dXJuO1xyXG4gICAgbGV0IGNoZWNrZWRMaXN0ID0gdGhpcy5ub2RlKCkuY2hpbGRyZW4/LmZpbHRlcigoeCkgPT4geC5jaGVja2VkKTtcclxuICAgIGxldCBpbmRldGVybWluYXRlTGlzdCA9IHRoaXMubm9kZSgpLmNoaWxkcmVuPy5maWx0ZXIoKHgpID0+IHguaW5kZXRlcm1pbmF0ZSk7XHJcbiAgICB0aGlzLm5vZGUoKS5jaGVja2VkID0gY2hlY2tlZExpc3Q/Lmxlbmd0aCA9PT0gdGhpcy5ub2RlKCkuY2hpbGRyZW4/Lmxlbmd0aDtcclxuICAgIHRoaXMubm9kZSgpLmluZGV0ZXJtaW5hdGUgPVxyXG4gICAgICAoY2hlY2tlZExpc3QgYXMgWFRyZWVOb2RlW10pLmxlbmd0aCA+IDAgfHwgKGluZGV0ZXJtaW5hdGVMaXN0IGFzIFhUcmVlTm9kZVtdKS5sZW5ndGggPiAwO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0SW5kZXRlcm1pbmF0ZShub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IGdldENoaWxkcmVuID0gKGNoaWxkcmVuOiBYVHJlZU5vZGVbXSkgPT4ge1xyXG4gICAgICBpZiAoWElzRW1wdHkoY2hpbGRyZW4pKSByZXR1cm47XHJcbiAgICAgIGNoaWxkcmVuLmZvckVhY2goKHgpID0+IHtcclxuICAgICAgICBpZiAoeC5pbmRldGVybWluYXRlIHx8IHguY2hlY2tlZCkge1xyXG4gICAgICAgICAgbm9kZS5pbmRldGVybWluYXRlID0gdHJ1ZTtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgZ2V0Q2hpbGRyZW4oeC5jaGlsZHJlbiBhcyBYVHJlZU5vZGVbXSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfTtcclxuICAgIGdldENoaWxkcmVuKG5vZGUuY2hpbGRyZW4gYXMgWFRyZWVOb2RlW10pO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm9kZURpc2FibGVkKGRpc2FibGVkPzogYm9vbGVhbikge1xyXG4gICAgcmV0dXJuIGRpc2FibGVkIGFzIFhCb29sZWFuO1xyXG4gIH1cclxuXHJcbiAgb25BY3Rpb24oZXZlbnQ6IEV2ZW50LCBhY3Rpb246IFhUcmVlQWN0aW9uLCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGFjdGlvbi5oYW5kbGVyICYmIGFjdGlvbi5oYW5kbGVyKG5vZGUpO1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBvblRvZ2dsZShldmVudDogRXZlbnQsIG5vZGU6IFhUcmVlTm9kZSkge1xyXG4gICAgdGhpcy50b2dnbGUuZW1pdChub2RlKTtcclxuICAgIGV2ZW50Py5wcmV2ZW50RGVmYXVsdCgpO1xyXG4gICAgZXZlbnQ/LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUl0ZW0oX2luZGV4OiBudW1iZXIsIGl0ZW06IFhUcmVlTm9kZSkge1xyXG4gICAgcmV0dXJuIGAke2l0ZW0uaWR9LSR7aXRlbS5sZXZlbH1gO1xyXG4gIH1cclxuXHJcbiAgdHJhY2tCeUFjdGlvbihfaW5kZXg6IG51bWJlciwgaXRlbTogWFRyZWVBY3Rpb24pIHtcclxuICAgIHJldHVybiBpdGVtLmlkO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgY2xhc3M9XCJ4LXRyZWUtbm9kZS1jb250ZW50XCJcclxuICBbY2xhc3MueC1hY3RpdmF0ZWRdPVwiYWN0aXZhdGVkKClcIlxyXG4gIFtjbGFzcy54LWRpc2FibGVkXT1cImRpc2FibGVkKClcIlxyXG4gIFtjbGFzcy54LXRyZWUtbm9kZS1zdWJdPVwiIWxlYWYoKVwiXHJcbiAgW2NsYXNzLngtdHJlZS1ub2RlLWxhc3RdPVwiaXNDaGlsZHJlbkxhc3QoKVwiXHJcbiAgW3N0eWxlLnBhZGRpbmctbGVmdC5weF09XCJwYWRkaW5nTGVmdCgpICsgZm9udFNpemUoKSAvIDJcIlxyXG4gIFtzdHlsZS5oZWlnaHRdPVwiaGVpZ2h0KCkgPyBoZWlnaHQoKSA6IG5vZGVIZWlnaHQoKSA/IG5vZGVIZWlnaHQoKSA6ICcnXCJcclxuICBbc3R5bGUuYWxpZ24taXRlbXNdPVwiYWxpZ25JdGVtcygpID8gYWxpZ25JdGVtcygpIDogbm9kZUFsaWduSXRlbXMoKVwiXHJcbiAgKGNsaWNrKT1cIiFkaXNhYmxlZCgpICYmIG9uQWN0aXZhdGUoJGV2ZW50LCBub2RlKCkpXCJcclxuPlxyXG4gIEBpZiAodHJlZS5zaG93TGluZSgpICYmIGxldmVsKCkhID4gMCkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtdHJlZS1ub2RlLWxpbmVcIiBbc3R5bGUud2lkdGgucHhdPVwicGFkZGluZ0xlZnQoKVwiPlxyXG4gICAgICBAZm9yIChpIG9mIHZlcnRpY2FsTGV2ZWwoKTsgdHJhY2sgaSkge1xyXG4gICAgICAgIDxkaXZcclxuICAgICAgICAgIGNsYXNzPVwieC10cmVlLW5vZGUtbGluZS12ZXJ0aWNhbFwiXHJcbiAgICAgICAgICBbaGlkZGVuXT1cImlzUGFyZW50TGFzdCgpW2kgLSAxXVwiXHJcbiAgICAgICAgICBbY2xhc3MuaXMtbGFzdF09XCJpID09PSB2ZXJ0aWNhbExldmVsKCkubGVuZ3RoXCJcclxuICAgICAgICAgIFtzdHlsZS5sZWZ0LnB4XT1cImdldFZlcnRpY2FsTGVmdChpKVwiXHJcbiAgICAgICAgPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLWxpbmUtaG9yaXpvbnRhbFwiXHJcbiAgICAgICAgW3N0eWxlLndpZHRoLnB4XT1cInZlcnRpY2FsV2lkdGgoKVwiXHJcbiAgICAgICAgW3N0eWxlLmxlZnQucHhdPVwiZ2V0VmVydGljYWxMZWZ0KHZlcnRpY2FsTGV2ZWwoKS5sZW5ndGgpXCJcclxuICAgICAgPjwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAoc2hvd0RyYWdJbmRpY2F0b3IoKSkge1xyXG4gICAgPGRpdiBjbGFzcz1cIngtdHJlZS1ub2RlLWRyYWctaW5kaWNhdG9yXCIgW3N0eWxlLndpZHRoXT1cImluZGljYXRvcldpZHRoKClcIiBbbmdTdHlsZV09XCJpbmRpY2F0b3JTdHlsZSgpXCI+PC9kaXY+XHJcbiAgfVxyXG4gIEBpZiAobG9hZGluZygpKSB7XHJcbiAgICA8eC1pY29uIGNsYXNzPVwieC10cmVlLW5vZGUtbG9hZGluZ1wiIHR5cGU9XCJmdG8tbG9hZGVyXCIgW3NwaW5dPVwibG9hZGluZygpIVwiPjwveC1pY29uPlxyXG4gIH0gQGVsc2Uge1xyXG4gICAgPGRpdlxyXG4gICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLXJpZ2h0XCJcclxuICAgICAgW2NsYXNzLmlzLWxlYWZdPVwibGVhZigpXCJcclxuICAgICAgW2NsYXNzLmlzLW9wZW5dPVwib3BlbigpXCJcclxuICAgICAgW2NsYXNzLmlzLXRlbXBsYXRlXT1cInRyZWUuZXhwYW5kZWRJY29uKClcIlxyXG4gICAgICBbc3R5bGUud2lkdGgucHhdPVwidmVydGljYWxXaWR0aCgpICogMlwiXHJcbiAgICAgIChjbGljayk9XCIhdHJlZS5ub2RlT3BlbigpICYmIG9uVG9nZ2xlKCRldmVudCwgbm9kZSgpKVwiXHJcbiAgICA+XHJcbiAgICAgIEBpZiAodHJlZS5leHBhbmRlZEljb24oKSkge1xyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0cmVlLmV4cGFuZGVkSWNvbigpOyBjb250ZXh0OiB7ICRub2RlOiBub2RlKCkgfVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICB9IEBlbHNlIHtcclxuICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiPjwveC1pY29uPlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICB9XHJcbiAgQGlmICh0cmVlLmNoZWNrYm94KCkpIHtcclxuICAgIDx4LWNoZWNrYm94XHJcbiAgICAgIFtkYXRhXT1cIlt7IGxhYmVsOiAnJywgaWQ6IGlkKCkgfV1cIlxyXG4gICAgICBbKG5nTW9kZWwpXT1cImNoZWNrZWRcIlxyXG4gICAgICAobmdNb2RlbENoYW5nZSk9XCJvbkNoZWNrYm94Q2hhbmdlKClcIlxyXG4gICAgICBbaW5kZXRlcm1pbmF0ZV09XCJpbmRldGVybWluYXRlKCkhXCJcclxuICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkKCkhXCJcclxuICAgICAgKGNsaWNrKT1cIiRldmVudC5zdG9wUHJvcGFnYXRpb24oKVwiXHJcbiAgICAgIHNpbmdsZVxyXG4gICAgPjwveC1jaGVja2JveD5cclxuICB9XHJcbiAgQGlmICghdHJlZS5sYWJlbFRwbCgpKSB7XHJcbiAgICA8c3BhblxyXG4gICAgICBjbGFzcz1cIngtdHJlZS1ub2RlLWxhYmVsXCJcclxuICAgICAgW2NsYXNzLm5vd3JhcF09XCJub3dyYXAoKSA9PT0gZmFsc2UgfHwgbm93cmFwKCkgPT09IHRydWUgPyBub3dyYXAoKSA6IG5vZGVOb3dyYXAoKVwiXHJcbiAgICAgIFt0aXRsZV09XCJsYWJlbCgpXCJcclxuICAgICAgeC1rZXl3b3JkXHJcbiAgICAgIFt0ZXh0XT1cInRyZWUua2V5d29yZFRleHQoKVwiXHJcbiAgICAgIFtjYXNlU2Vuc2l0aXZlXT1cInRyZWUuY2FzZVNlbnNpdGl2ZSgpXCJcclxuICAgICAgPnt7IGxhYmVsKCkgfX08L3NwYW5cclxuICAgID5cclxuICB9IEBlbHNlIHtcclxuICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJ0cmVlLmxhYmVsVHBsKCk7IGNvbnRleHQ6IHsgJG5vZGU6IG5vZGUoKSB9XCI+PC9uZy1jb250YWluZXI+XHJcbiAgfVxyXG4gIDxzcGFuIGNsYXNzPVwieC10cmVlLW5vZGUtb3BlcmF0aW9uc1wiPlxyXG4gICAgQGZvciAoYWN0aW9uIG9mIHRyZWUuYWN0aW9ucygpOyB0cmFjayBhY3Rpb24uaWQpIHtcclxuICAgICAgPHgtbGluayBbaWNvbl09XCJhY3Rpb24uaWNvblwiIFt0aXRsZV09XCJhY3Rpb24ubGFiZWxcIiAoY2xpY2spPVwib25BY3Rpb24oJGV2ZW50LCBhY3Rpb24sIG5vZGUoKSlcIj48L3gtbGluaz5cclxuICAgIH1cclxuICA8L3NwYW4+XHJcbiAgQGlmICh0cmVlLm11bHRpcGxlKCkgJiYgYWN0aXZhdGVkKCkpIHtcclxuICAgIDx4LWljb24gY2xhc3M9XCJ4LXRyZWUtbm9kZS1jaGVja2VkXCIgdHlwZT1cImZ0by1jaGVja1wiPjwveC1pY29uPlxyXG4gIH1cclxuPC9kaXY+XHJcbiJdfQ==
|