@ng-nest/ui 17.0.12 → 18.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/affix/affix.component.d.ts +0 -2
- package/affix/affix.property.d.ts +12 -7
- package/alert/alert.component.d.ts +12 -11
- package/alert/alert.property.d.ts +36 -35
- package/anchor/anchor.component.d.ts +15 -18
- package/anchor/anchor.property.d.ts +17 -8
- package/api/api.component.d.ts +2 -7
- package/auto-complete/auto-complete-portal.component.d.ts +20 -25
- package/auto-complete/auto-complete.component.d.ts +17 -34
- package/auto-complete/auto-complete.property.d.ts +282 -20
- package/avatar/avatar.component.d.ts +29 -19
- package/avatar/avatar.property.d.ts +78 -12
- package/back-top/back-top.component.d.ts +12 -17
- package/back-top/back-top.property.d.ts +12 -8
- package/badge/badge.component.d.ts +9 -16
- package/badge/badge.property.d.ts +95 -13
- package/base-form/base-form.component.d.ts +53 -26
- package/base-form/base-form.module.d.ts +1 -2
- package/base-form/base-form.property.d.ts +173 -45
- package/button/button.component.d.ts +16 -14
- package/button/button.property.d.ts +242 -100
- package/button/buttons.component.d.ts +8 -10
- package/calendar/calendar.component.d.ts +41 -27
- package/calendar/calendar.property.d.ts +69 -10
- package/card/card.component.d.ts +4 -6
- package/card/card.property.d.ts +50 -9
- package/carousel/carousel-panel.component.d.ts +15 -14
- package/carousel/carousel.component.d.ts +18 -19
- package/carousel/carousel.property.d.ts +168 -28
- package/cascade/cascade-portal.component.d.ts +28 -28
- package/cascade/cascade.component.d.ts +24 -30
- package/cascade/cascade.property.d.ts +292 -20
- package/checkbox/checkbox.component.d.ts +17 -17
- package/checkbox/checkbox.property.d.ts +274 -35
- package/collapse/collapse-panel.component.d.ts +5 -2
- package/collapse/collapse.component.d.ts +3 -7
- package/collapse/collapse.property.d.ts +113 -20
- package/color/color.component.d.ts +4 -9
- package/color/color.property.d.ts +36 -8
- package/color-picker/color-picker-portal.component.d.ts +40 -52
- package/color-picker/color-picker.component.d.ts +19 -28
- package/color-picker/color-picker.property.d.ts +260 -10
- package/comment/comment-reply.component.d.ts +1 -8
- package/comment/comment.component.d.ts +4 -14
- package/comment/comment.property.d.ts +21 -15
- package/container/aside.component.d.ts +3 -8
- package/container/container.component.d.ts +5 -9
- package/container/container.property.d.ts +33 -19
- package/container/footer.component.d.ts +2 -5
- package/container/header.component.d.ts +2 -5
- package/container/main.component.d.ts +2 -7
- package/core/animation/badge.d.ts +8 -0
- package/core/animation/connect.d.ts +8 -1
- package/core/animation/consts.d.ts +4 -0
- package/core/animation/drop.d.ts +4 -0
- package/core/animation/fade.d.ts +4 -0
- package/core/animation/move.d.ts +4 -0
- package/core/animation/opacity.d.ts +4 -0
- package/core/animation/slide.d.ts +4 -1
- package/core/config/config.d.ts +174 -108
- package/core/config/config.service.d.ts +5 -5
- package/core/config/index.d.ts +1 -0
- package/core/functions/chunk.d.ts +12 -1
- package/core/functions/clone-deep.d.ts +16 -0
- package/core/functions/convert.d.ts +77 -4
- package/core/functions/csspx.d.ts +5 -0
- package/core/functions/date.d.ts +59 -3
- package/core/functions/drop.d.ts +13 -1
- package/core/functions/flex.d.ts +4 -0
- package/core/functions/group-by.d.ts +5 -1
- package/core/functions/guid.d.ts +2 -1
- package/core/functions/has-in.d.ts +4 -0
- package/core/functions/order-by.d.ts +5 -1
- package/core/functions/parent-path.d.ts +8 -0
- package/core/functions/property.d.ts +12 -6
- package/core/functions/public-api.d.ts +1 -0
- package/core/functions/remove.d.ts +5 -1
- package/core/functions/resize.d.ts +13 -1
- package/core/interfaces/data.type.d.ts +172 -3
- package/core/interfaces/identify.type.d.ts +60 -0
- package/core/interfaces/layout.type.d.ts +88 -37
- package/core/interfaces/result-list.type.d.ts +91 -3
- package/core/services/http.service.d.ts +0 -22
- package/core/services/repository.service.d.ts +1 -1
- package/core/services/reuse-strategy.service.d.ts +0 -22
- package/core/services/storage.service.d.ts +0 -21
- package/core/theme/theme.d.ts +45 -1
- package/core/theme/theme.service.d.ts +46 -11
- package/core/util/animation.d.ts +1 -1
- package/core/util/camel-to-kebab.d.ts +13 -0
- package/core/util/check.d.ts +10 -2
- package/core/util/computed-style.d.ts +8 -0
- package/core/util/host.d.ts +3 -2
- package/core/util/html.d.ts +3 -2
- package/core/util/kebab-to-camel.d.ts +13 -0
- package/core/util/log.d.ts +10 -2
- package/core/util/option.d.ts +3 -4
- package/core/util/public-api.d.ts +2 -0
- package/crumb/crumb.component.d.ts +1 -10
- package/crumb/crumb.property.d.ts +12 -8
- package/date-picker/date-picker-portal.component.d.ts +80 -33
- package/date-picker/date-picker.component.d.ts +74 -32
- package/date-picker/date-picker.property.d.ts +662 -214
- package/date-picker/date-range-portal.component.d.ts +102 -49
- package/date-picker/date-range.component.d.ts +87 -43
- package/date-picker/picker-date.component.d.ts +63 -17
- package/date-picker/picker-month.component.d.ts +59 -13
- package/date-picker/picker-quarter.component.d.ts +61 -15
- package/date-picker/picker-year.component.d.ts +8 -11
- package/description/description-item.component.d.ts +1 -1
- package/description/description.component.d.ts +6 -10
- package/description/description.property.d.ts +135 -16
- package/dialog/dialog-portal.component.d.ts +5 -6
- package/dialog/dialog-portal.directives.d.ts +1 -1
- package/dialog/dialog.component.d.ts +30 -23
- package/dialog/dialog.property.d.ts +77 -134
- package/doc/doc.component.d.ts +2 -5
- package/drag/drag.directive.d.ts +1 -1
- package/drag/drag.property.d.ts +4 -5
- package/drawer/drawer-container.component.d.ts +1 -1
- package/drawer/drawer-portal.component.d.ts +1 -1
- package/drawer/drawer.component.d.ts +15 -14
- package/drawer/drawer.property.d.ts +26 -18
- package/dropdown/dropdown-portal.component.d.ts +36 -45
- package/dropdown/dropdown.component.d.ts +17 -21
- package/dropdown/dropdown.property.d.ts +24 -21
- package/empty/empty.component.d.ts +0 -7
- package/empty/empty.property.d.ts +27 -4
- package/esm2022/affix/affix.component.mjs +6 -11
- package/esm2022/affix/affix.module.mjs +5 -5
- package/esm2022/affix/affix.property.mjs +22 -20
- package/esm2022/alert/alert.component.mjs +39 -44
- package/esm2022/alert/alert.module.mjs +5 -5
- package/esm2022/alert/alert.property.mjs +102 -107
- package/esm2022/anchor/anchor-inner.component.mjs +4 -4
- package/esm2022/anchor/anchor.component.mjs +73 -95
- package/esm2022/anchor/anchor.module.mjs +5 -5
- package/esm2022/anchor/anchor.property.mjs +45 -35
- package/esm2022/api/api.component.mjs +11 -14
- package/esm2022/api/api.module.mjs +5 -5
- package/esm2022/auto-complete/auto-complete-portal.component.mjs +36 -47
- package/esm2022/auto-complete/auto-complete.component.mjs +122 -162
- package/esm2022/auto-complete/auto-complete.module.mjs +5 -5
- package/esm2022/auto-complete/auto-complete.property.mjs +142 -55
- package/esm2022/avatar/avatar-group.component.mjs +4 -4
- package/esm2022/avatar/avatar.component.mjs +75 -81
- package/esm2022/avatar/avatar.module.mjs +5 -5
- package/esm2022/avatar/avatar.property.mjs +116 -45
- package/esm2022/back-top/back-top.component.mjs +57 -73
- package/esm2022/back-top/back-top.module.mjs +5 -5
- package/esm2022/back-top/back-top.property.mjs +37 -29
- package/esm2022/badge/badge.component.mjs +51 -59
- package/esm2022/badge/badge.module.mjs +5 -5
- package/esm2022/badge/badge.property.mjs +111 -38
- package/esm2022/base-form/base-form.component.mjs +89 -81
- package/esm2022/base-form/base-form.module.mjs +7 -8
- package/esm2022/base-form/base-form.property.mjs +200 -89
- package/esm2022/button/button.component.mjs +50 -59
- package/esm2022/button/button.module.mjs +5 -5
- package/esm2022/button/button.property.mjs +293 -98
- package/esm2022/button/buttons.component.mjs +35 -21
- package/esm2022/calendar/calendar.component.mjs +56 -84
- package/esm2022/calendar/calendar.module.mjs +5 -5
- package/esm2022/calendar/calendar.property.mjs +78 -24
- package/esm2022/card/card.component.mjs +10 -14
- package/esm2022/card/card.module.mjs +5 -5
- package/esm2022/card/card.property.mjs +57 -22
- package/esm2022/carousel/carousel-panel.component.mjs +98 -76
- package/esm2022/carousel/carousel.component.mjs +55 -65
- package/esm2022/carousel/carousel.module.mjs +5 -5
- package/esm2022/carousel/carousel.property.mjs +215 -85
- package/esm2022/cascade/cascade-portal.component.mjs +77 -69
- package/esm2022/cascade/cascade.component.mjs +107 -135
- package/esm2022/cascade/cascade.module.mjs +5 -5
- package/esm2022/cascade/cascade.property.mjs +137 -48
- package/esm2022/checkbox/checkbox.component.mjs +68 -83
- package/esm2022/checkbox/checkbox.module.mjs +5 -5
- package/esm2022/checkbox/checkbox.property.mjs +136 -73
- package/esm2022/collapse/collapse-panel.component.mjs +31 -21
- package/esm2022/collapse/collapse.component.mjs +16 -21
- package/esm2022/collapse/collapse.module.mjs +5 -5
- package/esm2022/collapse/collapse.property.mjs +156 -66
- package/esm2022/color/color.component.mjs +25 -26
- package/esm2022/color/color.module.mjs +5 -5
- package/esm2022/color/color.property.mjs +47 -27
- package/esm2022/color-picker/color-picker-portal.component.mjs +120 -130
- package/esm2022/color-picker/color-picker.component.mjs +76 -117
- package/esm2022/color-picker/color-picker.module.mjs +5 -5
- package/esm2022/color-picker/color-picker.property.mjs +123 -27
- package/esm2022/comment/comment-reply.component.mjs +9 -24
- package/esm2022/comment/comment.component.mjs +11 -40
- package/esm2022/comment/comment.module.mjs +5 -5
- package/esm2022/comment/comment.property.mjs +27 -50
- package/esm2022/container/aside.component.mjs +12 -15
- package/esm2022/container/container.component.mjs +21 -24
- package/esm2022/container/container.module.mjs +5 -5
- package/esm2022/container/container.property.mjs +55 -51
- package/esm2022/container/footer.component.mjs +14 -16
- package/esm2022/container/header.component.mjs +14 -16
- package/esm2022/container/main.component.mjs +10 -13
- package/esm2022/core/animation/badge.mjs +17 -3
- package/esm2022/core/animation/connect.mjs +17 -99
- package/esm2022/core/animation/consts.mjs +5 -1
- package/esm2022/core/animation/drop.mjs +5 -1
- package/esm2022/core/animation/fade.mjs +13 -3
- package/esm2022/core/animation/move.mjs +5 -1
- package/esm2022/core/animation/opacity.mjs +5 -1
- package/esm2022/core/animation/slide.mjs +5 -23
- package/esm2022/core/config/config.mjs +1 -1
- package/esm2022/core/config/config.service.mjs +11 -59
- package/esm2022/core/config/index.mjs +2 -0
- package/esm2022/core/functions/chunk.mjs +12 -1
- package/esm2022/core/functions/clone-deep.mjs +17 -1
- package/esm2022/core/functions/convert.mjs +110 -13
- package/esm2022/core/functions/csspx.mjs +17 -0
- package/esm2022/core/functions/date.mjs +80 -4
- package/esm2022/core/functions/drop.mjs +13 -1
- package/esm2022/core/functions/flex.mjs +5 -1
- package/esm2022/core/functions/group-by.mjs +5 -1
- package/esm2022/core/functions/guid.mjs +3 -2
- package/esm2022/core/functions/has-in.mjs +5 -1
- package/esm2022/core/functions/order-by.mjs +5 -1
- package/esm2022/core/functions/parent-path.mjs +9 -1
- package/esm2022/core/functions/property.mjs +16 -8
- package/esm2022/core/functions/public-api.mjs +2 -1
- package/esm2022/core/functions/remove.mjs +5 -1
- package/esm2022/core/functions/resize.mjs +7 -5
- package/esm2022/core/interfaces/data.type.mjs +97 -8
- package/esm2022/core/interfaces/identify.type.mjs +5 -2
- package/esm2022/core/interfaces/layout.type.mjs +1 -1
- package/esm2022/core/interfaces/result-list.type.mjs +1 -1
- package/esm2022/core/services/http.service.mjs +4 -33
- package/esm2022/core/services/preloading-strategy.service.mjs +4 -6
- package/esm2022/core/services/repository.service.mjs +1 -1
- package/esm2022/core/services/reuse-strategy.service.mjs +1 -26
- package/esm2022/core/services/storage.service.mjs +4 -26
- package/esm2022/core/theme/theme.mjs +55 -11
- package/esm2022/core/theme/theme.service.mjs +92 -20
- package/esm2022/core/util/animation.mjs +2 -23
- package/esm2022/core/util/camel-to-kebab.mjs +16 -0
- package/esm2022/core/util/check.mjs +11 -3
- package/esm2022/core/util/computed-style.mjs +9 -1
- package/esm2022/core/util/host.mjs +4 -3
- package/esm2022/core/util/html.mjs +5 -4
- package/esm2022/core/util/kebab-to-camel.mjs +16 -0
- package/esm2022/core/util/log.mjs +11 -3
- package/esm2022/core/util/option.mjs +4 -5
- package/esm2022/core/util/public-api.mjs +3 -1
- package/esm2022/crumb/crumb.component.mjs +6 -29
- package/esm2022/crumb/crumb.module.mjs +5 -5
- package/esm2022/crumb/crumb.property.mjs +21 -26
- package/esm2022/date-picker/date-picker-portal.component.mjs +86 -102
- package/esm2022/date-picker/date-picker.component.mjs +157 -191
- package/esm2022/date-picker/date-picker.module.mjs +5 -5
- package/esm2022/date-picker/date-picker.property.mjs +440 -462
- package/esm2022/date-picker/date-quarter.pipe.mjs +4 -4
- package/esm2022/date-picker/date-range-portal.component.mjs +172 -186
- package/esm2022/date-picker/date-range.component.mjs +224 -266
- package/esm2022/date-picker/picker-date.component.mjs +150 -150
- package/esm2022/date-picker/picker-month.component.mjs +115 -118
- package/esm2022/date-picker/picker-quarter.component.mjs +120 -119
- package/esm2022/date-picker/picker-year.component.mjs +121 -108
- package/esm2022/description/description-item.component.mjs +12 -11
- package/esm2022/description/description.component.mjs +33 -48
- package/esm2022/description/description.module.mjs +5 -5
- package/esm2022/description/description.property.mjs +175 -52
- package/esm2022/dialog/dialog-container.component.mjs +4 -4
- package/esm2022/dialog/dialog-portal.component.mjs +29 -35
- package/esm2022/dialog/dialog-portal.directives.mjs +20 -20
- package/esm2022/dialog/dialog-ref.mjs +3 -3
- package/esm2022/dialog/dialog.component.mjs +119 -133
- package/esm2022/dialog/dialog.module.mjs +5 -5
- package/esm2022/dialog/dialog.property.mjs +149 -139
- package/esm2022/dialog/dialog.service.mjs +8 -8
- package/esm2022/doc/doc.component.mjs +11 -12
- package/esm2022/doc/doc.module.mjs +5 -5
- package/esm2022/drag/drag.directive.mjs +8 -21
- package/esm2022/drag/drag.module.mjs +5 -5
- package/esm2022/drag/drag.property.mjs +10 -16
- package/esm2022/drawer/drawer-container.component.mjs +9 -9
- package/esm2022/drawer/drawer-portal.component.mjs +11 -13
- package/esm2022/drawer/drawer-portal.directives.mjs +10 -10
- package/esm2022/drawer/drawer.component.mjs +40 -59
- package/esm2022/drawer/drawer.module.mjs +5 -5
- package/esm2022/drawer/drawer.property.mjs +47 -54
- package/esm2022/drawer/drawer.service.mjs +6 -6
- package/esm2022/dropdown/dropdown-portal.component.mjs +90 -91
- package/esm2022/dropdown/dropdown.component.mjs +75 -91
- package/esm2022/dropdown/dropdown.module.mjs +5 -5
- package/esm2022/dropdown/dropdown.property.mjs +62 -59
- package/esm2022/empty/empty.component.mjs +6 -26
- package/esm2022/empty/empty.module.mjs +5 -5
- package/esm2022/empty/empty.property.mjs +41 -20
- package/esm2022/examples/examples.component.mjs +11 -12
- package/esm2022/examples/examples.module.mjs +5 -5
- package/esm2022/find/find.component.mjs +188 -232
- package/esm2022/find/find.module.mjs +5 -5
- package/esm2022/find/find.property.mjs +234 -193
- package/esm2022/form/control.component.mjs +136 -114
- package/esm2022/form/form.component.mjs +28 -36
- package/esm2022/form/form.module.mjs +5 -5
- package/esm2022/form/form.property.mjs +57 -55
- package/esm2022/highlight/highlight.component.mjs +54 -59
- package/esm2022/highlight/highlight.module.mjs +5 -5
- package/esm2022/highlight/highlight.property.mjs +25 -21
- package/esm2022/highlight/highlight.service.mjs +17 -0
- package/esm2022/highlight/public-api.mjs +2 -1
- package/esm2022/i18n/i18n.directive.mjs +17 -31
- package/esm2022/i18n/i18n.module.mjs +5 -5
- package/esm2022/i18n/i18n.pipe.mjs +4 -4
- package/esm2022/i18n/i18n.property.mjs +2 -2
- package/esm2022/i18n/i18n.service.mjs +4 -4
- package/esm2022/i18n/languages/ar_EG.mjs +122 -77
- package/esm2022/i18n/languages/bg_BG.mjs +135 -87
- package/esm2022/i18n/languages/ca_ES.mjs +130 -82
- package/esm2022/i18n/languages/cs_CZ.mjs +127 -79
- package/esm2022/i18n/languages/da_DK.mjs +129 -81
- package/esm2022/i18n/languages/de_DE.mjs +125 -77
- package/esm2022/i18n/languages/el_GR.mjs +132 -84
- package/esm2022/i18n/languages/en_GB.mjs +5 -2
- package/esm2022/i18n/languages/en_US.mjs +5 -2
- package/esm2022/i18n/languages/es_ES.mjs +131 -83
- package/esm2022/i18n/languages/et_EE.mjs +130 -82
- package/esm2022/i18n/languages/fa_IR.mjs +109 -61
- package/esm2022/i18n/languages/fi_FI.mjs +134 -86
- package/esm2022/i18n/languages/fr_BE.mjs +128 -80
- package/esm2022/i18n/languages/fr_FR.mjs +127 -79
- package/esm2022/i18n/languages/he_IL.mjs +119 -74
- package/esm2022/i18n/languages/hi_IN.mjs +104 -56
- package/esm2022/i18n/languages/hr_HR.mjs +133 -85
- package/esm2022/i18n/languages/hu_HU.mjs +132 -84
- package/esm2022/i18n/languages/hy_AM.mjs +133 -85
- package/esm2022/i18n/languages/id_ID.mjs +119 -71
- package/esm2022/i18n/languages/is_IS.mjs +125 -77
- package/esm2022/i18n/languages/it_IT.mjs +127 -79
- package/esm2022/i18n/languages/ja_JP.mjs +95 -47
- package/esm2022/i18n/languages/ka_GE.mjs +106 -58
- package/esm2022/i18n/languages/kn_IN.mjs +110 -62
- package/esm2022/i18n/languages/ko_KR.mjs +126 -70
- package/esm2022/i18n/languages/ku_IQ.mjs +117 -85
- package/esm2022/i18n/languages/lv_LV.mjs +128 -72
- package/esm2022/i18n/languages/mn_MN.mjs +138 -82
- package/esm2022/i18n/languages/ms_MY.mjs +124 -68
- package/esm2022/i18n/languages/nb_NO.mjs +133 -77
- package/esm2022/i18n/languages/ne_NP.mjs +117 -61
- package/esm2022/i18n/languages/nl_BE.mjs +134 -78
- package/esm2022/i18n/languages/nl_NL.mjs +134 -78
- package/esm2022/i18n/languages/pl_PL.mjs +132 -76
- package/esm2022/i18n/languages/pt_BR.mjs +133 -77
- package/esm2022/i18n/languages/pt_PT.mjs +133 -77
- package/esm2022/i18n/languages/ro_RO.mjs +130 -74
- package/esm2022/i18n/languages/ru_RU.mjs +131 -75
- package/esm2022/i18n/languages/sk_SK.mjs +130 -83
- package/esm2022/i18n/languages/sl_SI.mjs +121 -73
- package/esm2022/i18n/languages/sr_RS.mjs +138 -90
- package/esm2022/i18n/languages/sv_SE.mjs +132 -84
- package/esm2022/i18n/languages/ta_IN.mjs +117 -61
- package/esm2022/i18n/languages/th_TH.mjs +99 -43
- package/esm2022/i18n/languages/tr_TR.mjs +126 -70
- package/esm2022/i18n/languages/uk_UA.mjs +124 -68
- package/esm2022/i18n/languages/vi_VN.mjs +133 -77
- package/esm2022/i18n/languages/zh_CN.mjs +5 -2
- package/esm2022/i18n/languages/zh_TW.mjs +5 -2
- package/esm2022/icon/icon.component.mjs +48 -77
- package/esm2022/icon/icon.module.mjs +5 -5
- package/esm2022/icon/icon.property.mjs +52 -30
- package/esm2022/icon/icon.service.mjs +15 -14
- package/esm2022/image/image-group.component.mjs +15 -15
- package/esm2022/image/image-preview.component.mjs +47 -46
- package/esm2022/image/image.component.mjs +34 -53
- package/esm2022/image/image.module.mjs +5 -5
- package/esm2022/image/image.property.mjs +152 -38
- package/esm2022/index.mjs +1 -3
- package/esm2022/inner/inner.component.mjs +15 -20
- package/esm2022/inner/inner.module.mjs +5 -5
- package/esm2022/inner/inner.property.mjs +17 -15
- package/esm2022/input/input-group.component.mjs +5 -7
- package/esm2022/input/input.component.mjs +130 -143
- package/esm2022/input/input.module.mjs +5 -5
- package/esm2022/input/input.property.mjs +205 -143
- package/esm2022/input-number/input-number.component.mjs +68 -86
- package/esm2022/input-number/input-number.module.mjs +5 -5
- package/esm2022/input-number/input-number.property.mjs +130 -60
- package/esm2022/keyword/keyword.directive.mjs +46 -54
- package/esm2022/keyword/keyword.module.mjs +5 -5
- package/esm2022/keyword/keyword.property.mjs +32 -28
- package/esm2022/layout/col.component.mjs +48 -51
- package/esm2022/layout/layout.module.mjs +5 -5
- package/esm2022/layout/layout.property.mjs +125 -63
- package/esm2022/layout/row.component.mjs +36 -27
- package/esm2022/link/link.component.mjs +18 -45
- package/esm2022/link/link.module.mjs +5 -5
- package/esm2022/link/link.property.mjs +101 -41
- package/esm2022/list/list-drop-group.directive.mjs +9 -18
- package/esm2022/list/list-option.component.mjs +16 -33
- package/esm2022/list/list.component.mjs +160 -164
- package/esm2022/list/list.module.mjs +5 -5
- package/esm2022/list/list.property.mjs +195 -188
- package/esm2022/loading/loading.component.mjs +44 -45
- package/esm2022/loading/loading.module.mjs +5 -5
- package/esm2022/loading/loading.property.mjs +50 -52
- package/esm2022/menu/menu-node.component.mjs +21 -21
- package/esm2022/menu/menu.component.mjs +57 -76
- package/esm2022/menu/menu.module.mjs +5 -5
- package/esm2022/menu/menu.property.mjs +56 -73
- package/esm2022/message/message.component.mjs +8 -8
- package/esm2022/message/message.module.mjs +5 -5
- package/esm2022/message/message.property.mjs +1 -1
- package/esm2022/message/message.service.mjs +7 -7
- package/esm2022/message-box/message-box.component.mjs +5 -5
- package/esm2022/message-box/message-box.module.mjs +5 -5
- package/esm2022/message-box/message-box.service.mjs +6 -6
- package/esm2022/notification/notification.component.mjs +8 -8
- package/esm2022/notification/notification.module.mjs +5 -5
- package/esm2022/notification/notification.property.mjs +1 -1
- package/esm2022/notification/notification.service.mjs +8 -8
- package/esm2022/outlet/outlet.directive.mjs +12 -14
- package/esm2022/outlet/outlet.module.mjs +5 -5
- package/esm2022/outlet/outlet.property.mjs +2 -2
- package/esm2022/page-header/page-header.component.mjs +12 -28
- package/esm2022/page-header/page-header.module.mjs +5 -5
- package/esm2022/page-header/page-header.property.mjs +31 -27
- package/esm2022/pagination/pagination.component.mjs +74 -100
- package/esm2022/pagination/pagination.module.mjs +5 -5
- package/esm2022/pagination/pagination.property.mjs +99 -136
- package/esm2022/pattern/pattern.component.mjs +12 -13
- package/esm2022/pattern/pattern.module.mjs +5 -5
- package/esm2022/pattern/pattern.property.mjs +2 -2
- package/esm2022/popconfirm/popconfirm.component.mjs +35 -47
- package/esm2022/popconfirm/popconfirm.module.mjs +5 -5
- package/esm2022/popconfirm/popconfirm.property.mjs +76 -62
- package/esm2022/popover/popover-portal.component.mjs +24 -75
- package/esm2022/popover/popover.directive.mjs +70 -86
- package/esm2022/popover/popover.module.mjs +5 -5
- package/esm2022/popover/popover.property.mjs +71 -58
- package/esm2022/portal/portal.module.mjs +5 -5
- package/esm2022/portal/portal.property.mjs +3 -3
- package/esm2022/portal/portal.service.mjs +4 -4
- package/esm2022/progress/progress.component.mjs +173 -167
- package/esm2022/progress/progress.module.mjs +5 -5
- package/esm2022/progress/progress.property.mjs +67 -71
- package/esm2022/radio/radio.component.mjs +45 -61
- package/esm2022/radio/radio.module.mjs +5 -5
- package/esm2022/radio/radio.property.mjs +139 -66
- package/esm2022/rate/rate.component.mjs +61 -79
- package/esm2022/rate/rate.module.mjs +5 -5
- package/esm2022/rate/rate.property.mjs +121 -29
- package/esm2022/resizable/resizable.directive.mjs +30 -45
- package/esm2022/resizable/resizable.module.mjs +5 -5
- package/esm2022/resizable/resizable.property.mjs +16 -46
- package/esm2022/result/result.component.mjs +13 -17
- package/esm2022/result/result.module.mjs +5 -5
- package/esm2022/result/result.property.mjs +25 -17
- package/esm2022/ripple/ripple.directive.mjs +40 -27
- package/esm2022/ripple/ripple.module.mjs +5 -5
- package/esm2022/ripple/ripple.property.mjs +27 -20
- package/esm2022/select/select-portal.component.mjs +52 -67
- package/esm2022/select/select.component.mjs +301 -289
- package/esm2022/select/select.module.mjs +5 -5
- package/esm2022/select/select.property.mjs +195 -102
- package/esm2022/skeleton/skeleton.component.mjs +12 -23
- package/esm2022/skeleton/skeleton.module.mjs +5 -5
- package/esm2022/skeleton/skeleton.property.mjs +31 -28
- package/esm2022/slider/slider.component.mjs +103 -149
- package/esm2022/slider/slider.module.mjs +5 -5
- package/esm2022/slider/slider.property.mjs +60 -79
- package/esm2022/slider-select/slider-select.component.mjs +201 -220
- package/esm2022/slider-select/slider-select.module.mjs +5 -5
- package/esm2022/slider-select/slider-select.property.mjs +143 -70
- package/esm2022/statistic/countdown.component.mjs +13 -16
- package/esm2022/statistic/statistic.component.mjs +23 -21
- package/esm2022/statistic/statistic.module.mjs +5 -5
- package/esm2022/statistic/statistic.property.mjs +68 -34
- package/esm2022/steps/steps.component.mjs +33 -63
- package/esm2022/steps/steps.module.mjs +5 -5
- package/esm2022/steps/steps.property.mjs +28 -39
- package/esm2022/switch/switch.component.mjs +22 -37
- package/esm2022/switch/switch.module.mjs +5 -5
- package/esm2022/switch/switch.property.mjs +122 -32
- package/esm2022/table/table-body.component.mjs +134 -139
- package/esm2022/table/table-foot.component.mjs +15 -18
- package/esm2022/table/table-head.component.mjs +60 -91
- package/esm2022/table/table.component.mjs +192 -222
- package/esm2022/table/table.module.mjs +5 -5
- package/esm2022/table/table.property.mjs +396 -341
- package/esm2022/tabs/tab-content.component.mjs +13 -16
- package/esm2022/tabs/tab-link.directive.mjs +7 -7
- package/esm2022/tabs/tab.component.mjs +9 -17
- package/esm2022/tabs/tabs.component.mjs +83 -135
- package/esm2022/tabs/tabs.module.mjs +5 -5
- package/esm2022/tabs/tabs.property.mjs +80 -91
- package/esm2022/tag/tag.component.mjs +19 -33
- package/esm2022/tag/tag.module.mjs +5 -5
- package/esm2022/tag/tag.property.mjs +44 -68
- package/esm2022/text-retract/text-retract.component.mjs +29 -46
- package/esm2022/text-retract/text-retract.module.mjs +5 -5
- package/esm2022/text-retract/text-retract.property.mjs +22 -18
- package/esm2022/textarea/textarea.component.mjs +49 -79
- package/esm2022/textarea/textarea.module.mjs +5 -5
- package/esm2022/textarea/textarea.property.mjs +124 -47
- package/esm2022/theme/theme.component.mjs +86 -81
- package/esm2022/theme/theme.module.mjs +5 -5
- package/esm2022/theme/theme.property.mjs +35 -46
- package/esm2022/time-ago/time-ago.module.mjs +5 -5
- package/esm2022/time-ago/time-ago.pipe.mjs +12 -11
- package/esm2022/time-ago/time-ago.property.mjs +2 -2
- package/esm2022/time-picker/time-picker-frame.component.mjs +173 -188
- package/esm2022/time-picker/time-picker-portal.component.mjs +35 -42
- package/esm2022/time-picker/time-picker.component.mjs +139 -170
- package/esm2022/time-picker/time-picker.module.mjs +5 -5
- package/esm2022/time-picker/time-picker.property.mjs +158 -70
- package/esm2022/time-range/time-range.module.mjs +5 -5
- package/esm2022/time-range/time-range.pipe.mjs +10 -10
- package/esm2022/time-range/time-range.property.mjs +2 -2
- package/esm2022/timeline/timeline.component.mjs +14 -38
- package/esm2022/timeline/timeline.module.mjs +5 -5
- package/esm2022/timeline/timeline.property.mjs +30 -30
- package/esm2022/tooltip/tooltip-portal.component.mjs +51 -65
- package/esm2022/tooltip/tooltip.directive.mjs +65 -62
- package/esm2022/tooltip/tooltip.module.mjs +5 -5
- package/esm2022/tooltip/tooltip.property.mjs +53 -47
- package/esm2022/transfer/transfer.component.mjs +225 -184
- package/esm2022/transfer/transfer.module.mjs +5 -5
- package/esm2022/transfer/transfer.property.mjs +84 -76
- package/esm2022/tree/tree-node.component.mjs +142 -132
- package/esm2022/tree/tree.component.mjs +236 -232
- package/esm2022/tree/tree.module.mjs +5 -5
- package/esm2022/tree/tree.property.mjs +228 -226
- package/esm2022/tree/tree.service.mjs +4 -4
- package/esm2022/tree-file/tree-file.component.mjs +34 -43
- package/esm2022/tree-file/tree-file.module.mjs +5 -5
- package/esm2022/tree-file/tree-file.property.mjs +45 -56
- package/esm2022/tree-select/tree-select-portal.component.mjs +45 -78
- package/esm2022/tree-select/tree-select.component.mjs +283 -296
- package/esm2022/tree-select/tree-select.module.mjs +5 -5
- package/esm2022/tree-select/tree-select.property.mjs +203 -125
- package/esm2022/typography/typography.component.mjs +13 -10
- package/esm2022/typography/typography.module.mjs +5 -5
- package/esm2022/typography/typography.property.mjs +12 -11
- package/esm2022/upload/upload-portal.component.mjs +54 -57
- package/esm2022/upload/upload.component.mjs +79 -98
- package/esm2022/upload/upload.module.mjs +5 -5
- package/esm2022/upload/upload.property.mjs +73 -68
- package/examples/examples.component.d.ts +2 -5
- package/fesm2022/ng-nest-ui-affix.mjs +30 -32
- package/fesm2022/ng-nest-ui-affix.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-alert.mjs +142 -152
- package/fesm2022/ng-nest-ui-alert.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-anchor.mjs +121 -133
- package/fesm2022/ng-nest-ui-anchor.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-api.mjs +14 -17
- package/fesm2022/ng-nest-ui-api.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-auto-complete.mjs +296 -260
- package/fesm2022/ng-nest-ui-auto-complete.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-avatar.mjs +195 -130
- package/fesm2022/ng-nest-ui-avatar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-back-top.mjs +95 -103
- package/fesm2022/ng-nest-ui-back-top.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-badge.mjs +161 -96
- package/fesm2022/ng-nest-ui-badge.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-base-form.mjs +286 -166
- package/fesm2022/ng-nest-ui-base-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-button.mjs +376 -175
- package/fesm2022/ng-nest-ui-button.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-calendar.mjs +134 -108
- package/fesm2022/ng-nest-ui-calendar.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-card.mjs +67 -36
- package/fesm2022/ng-nest-ui-card.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-carousel.mjs +365 -223
- package/fesm2022/ng-nest-ui-carousel.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-cascade.mjs +318 -249
- package/fesm2022/ng-nest-ui-cascade.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-checkbox.mjs +203 -155
- package/fesm2022/ng-nest-ui-checkbox.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-collapse.mjs +202 -106
- package/fesm2022/ng-nest-ui-collapse.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color-picker.mjs +316 -270
- package/fesm2022/ng-nest-ui-color-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-color.mjs +73 -54
- package/fesm2022/ng-nest-ui-color.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-comment.mjs +44 -108
- package/fesm2022/ng-nest-ui-comment.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-container.mjs +119 -123
- package/fesm2022/ng-nest-ui-container.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-core.mjs +985 -664
- package/fesm2022/ng-nest-ui-core.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-crumb.mjs +28 -55
- package/fesm2022/ng-nest-ui-crumb.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-date-picker.mjs +1552 -1671
- package/fesm2022/ng-nest-ui-date-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-description.mjs +218 -109
- package/fesm2022/ng-nest-ui-description.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dialog.mjs +325 -334
- package/fesm2022/ng-nest-ui-dialog.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-doc.mjs +14 -15
- package/fesm2022/ng-nest-ui-doc.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drag.mjs +20 -39
- package/fesm2022/ng-nest-ui-drag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-drawer.mjs +116 -145
- package/fesm2022/ng-nest-ui-drawer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-dropdown.mjs +223 -238
- package/fesm2022/ng-nest-ui-dropdown.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-empty.mjs +49 -46
- package/fesm2022/ng-nest-ui-empty.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-examples.mjs +14 -15
- package/fesm2022/ng-nest-ui-examples.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-find.mjs +422 -425
- package/fesm2022/ng-nest-ui-find.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-form.mjs +216 -201
- package/fesm2022/ng-nest-ui-form.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-highlight.mjs +93 -81
- package/fesm2022/ng-nest-ui-highlight.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-i18n.mjs +5892 -3516
- package/fesm2022/ng-nest-ui-i18n.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-icon.mjs +114 -120
- package/fesm2022/ng-nest-ui-icon.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-image.mjs +244 -147
- package/fesm2022/ng-nest-ui-image.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-inner.mjs +33 -35
- package/fesm2022/ng-nest-ui-inner.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input-number.mjs +198 -146
- package/fesm2022/ng-nest-ui-input-number.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-input.mjs +340 -292
- package/fesm2022/ng-nest-ui-input.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-keyword.mjs +78 -82
- package/fesm2022/ng-nest-ui-keyword.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-layout.mjs +205 -140
- package/fesm2022/ng-nest-ui-layout.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-link.mjs +119 -86
- package/fesm2022/ng-nest-ui-link.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-list.mjs +376 -400
- package/fesm2022/ng-nest-ui-list.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-loading.mjs +94 -97
- package/fesm2022/ng-nest-ui-loading.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-menu.mjs +131 -167
- package/fesm2022/ng-nest-ui-menu.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message-box.mjs +13 -13
- package/fesm2022/ng-nest-ui-message-box.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-message.mjs +17 -17
- package/fesm2022/ng-nest-ui-message.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-notification.mjs +18 -18
- package/fesm2022/ng-nest-ui-notification.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-outlet.mjs +16 -18
- package/fesm2022/ng-nest-ui-outlet.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-page-header.mjs +44 -55
- package/fesm2022/ng-nest-ui-page-header.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pagination.mjs +173 -236
- package/fesm2022/ng-nest-ui-pagination.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-pattern.mjs +16 -17
- package/fesm2022/ng-nest-ui-pattern.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popconfirm.mjs +110 -107
- package/fesm2022/ng-nest-ui-popconfirm.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-popover.mjs +163 -215
- package/fesm2022/ng-nest-ui-popover.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-portal.mjs +10 -10
- package/fesm2022/ng-nest-ui-portal.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-progress.mjs +240 -238
- package/fesm2022/ng-nest-ui-progress.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-radio.mjs +184 -127
- package/fesm2022/ng-nest-ui-radio.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-rate.mjs +182 -108
- package/fesm2022/ng-nest-ui-rate.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-resizable.mjs +46 -91
- package/fesm2022/ng-nest-ui-resizable.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-result.mjs +38 -34
- package/fesm2022/ng-nest-ui-result.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-ripple.mjs +68 -48
- package/fesm2022/ng-nest-ui-ripple.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-select.mjs +547 -459
- package/fesm2022/ng-nest-ui-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-skeleton.mjs +44 -52
- package/fesm2022/ng-nest-ui-skeleton.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider-select.mjs +344 -290
- package/fesm2022/ng-nest-ui-slider-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-slider.mjs +163 -228
- package/fesm2022/ng-nest-ui-slider.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-statistic.mjs +102 -68
- package/fesm2022/ng-nest-ui-statistic.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-steps.mjs +61 -102
- package/fesm2022/ng-nest-ui-steps.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-switch.mjs +145 -69
- package/fesm2022/ng-nest-ui-switch.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-table.mjs +784 -800
- package/fesm2022/ng-nest-ui-table.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tabs.mjs +185 -259
- package/fesm2022/ng-nest-ui-tabs.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tag.mjs +63 -101
- package/fesm2022/ng-nest-ui-tag.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-text-retract.mjs +52 -64
- package/fesm2022/ng-nest-ui-text-retract.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-textarea.mjs +173 -126
- package/fesm2022/ng-nest-ui-textarea.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-theme.mjs +123 -129
- package/fesm2022/ng-nest-ui-theme.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-ago.mjs +16 -15
- package/fesm2022/ng-nest-ui-time-ago.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-picker.mjs +498 -463
- package/fesm2022/ng-nest-ui-time-picker.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-time-range.mjs +14 -14
- package/fesm2022/ng-nest-ui-time-range.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-timeline.mjs +44 -68
- package/fesm2022/ng-nest-ui-timeline.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tooltip.mjs +168 -170
- package/fesm2022/ng-nest-ui-tooltip.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-transfer.mjs +311 -262
- package/fesm2022/ng-nest-ui-transfer.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-file.mjs +80 -99
- package/fesm2022/ng-nest-ui-tree-file.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree-select.mjs +527 -495
- package/fesm2022/ng-nest-ui-tree-select.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-tree.mjs +601 -587
- package/fesm2022/ng-nest-ui-tree.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-typography.mjs +26 -22
- package/fesm2022/ng-nest-ui-typography.mjs.map +1 -1
- package/fesm2022/ng-nest-ui-upload.mjs +204 -220
- package/fesm2022/ng-nest-ui-upload.mjs.map +1 -1
- package/fesm2022/ng-nest-ui.mjs +0 -2
- package/fesm2022/ng-nest-ui.mjs.map +1 -1
- package/find/find.component.d.ts +30 -34
- package/find/find.property.d.ts +321 -108
- package/form/control.component.d.ts +37 -18
- package/form/form.component.d.ts +8 -10
- package/form/form.property.d.ts +111 -27
- package/highlight/highlight.component.d.ts +10 -17
- package/highlight/highlight.property.d.ts +40 -11
- package/highlight/highlight.service.d.ts +8 -0
- package/highlight/public-api.d.ts +1 -0
- package/i18n/i18n.directive.d.ts +6 -9
- package/i18n/i18n.property.d.ts +6 -2
- package/i18n/i18n.service.d.ts +2 -2
- package/i18n/languages/ar_EG.d.ts +56 -0
- package/i18n/languages/bg_BG.d.ts +56 -0
- package/i18n/languages/ca_ES.d.ts +56 -0
- package/i18n/languages/cs_CZ.d.ts +56 -0
- package/i18n/languages/da_DK.d.ts +56 -0
- package/i18n/languages/de_DE.d.ts +56 -0
- package/i18n/languages/el_GR.d.ts +56 -0
- package/i18n/languages/en_GB.d.ts +3 -0
- package/i18n/languages/en_US.d.ts +3 -0
- package/i18n/languages/es_ES.d.ts +56 -0
- package/i18n/languages/et_EE.d.ts +56 -0
- package/i18n/languages/fa_IR.d.ts +56 -0
- package/i18n/languages/fi_FI.d.ts +56 -0
- package/i18n/languages/fr_BE.d.ts +60 -4
- package/i18n/languages/fr_FR.d.ts +56 -0
- package/i18n/languages/he_IL.d.ts +56 -0
- package/i18n/languages/hi_IN.d.ts +56 -0
- package/i18n/languages/hr_HR.d.ts +56 -0
- package/i18n/languages/hu_HU.d.ts +56 -0
- package/i18n/languages/hy_AM.d.ts +56 -0
- package/i18n/languages/id_ID.d.ts +56 -0
- package/i18n/languages/is_IS.d.ts +56 -0
- package/i18n/languages/it_IT.d.ts +56 -0
- package/i18n/languages/ja_JP.d.ts +56 -0
- package/i18n/languages/ka_GE.d.ts +56 -0
- package/i18n/languages/kn_IN.d.ts +56 -0
- package/i18n/languages/ko_KR.d.ts +56 -0
- package/i18n/languages/ku_IQ.d.ts +32 -0
- package/i18n/languages/lv_LV.d.ts +56 -0
- package/i18n/languages/mn_MN.d.ts +56 -0
- package/i18n/languages/ms_MY.d.ts +56 -0
- package/i18n/languages/nb_NO.d.ts +56 -0
- package/i18n/languages/ne_NP.d.ts +56 -0
- package/i18n/languages/nl_BE.d.ts +56 -0
- package/i18n/languages/nl_NL.d.ts +56 -0
- package/i18n/languages/pl_PL.d.ts +56 -0
- package/i18n/languages/pt_BR.d.ts +56 -0
- package/i18n/languages/pt_PT.d.ts +56 -0
- package/i18n/languages/ro_RO.d.ts +56 -0
- package/i18n/languages/ru_RU.d.ts +56 -0
- package/i18n/languages/sk_SK.d.ts +56 -1
- package/i18n/languages/sl_SI.d.ts +56 -0
- package/i18n/languages/sr_RS.d.ts +56 -0
- package/i18n/languages/sv_SE.d.ts +56 -0
- package/i18n/languages/ta_IN.d.ts +56 -0
- package/i18n/languages/th_TH.d.ts +56 -0
- package/i18n/languages/tr_TR.d.ts +56 -0
- package/i18n/languages/uk_UA.d.ts +56 -0
- package/i18n/languages/vi_VN.d.ts +56 -0
- package/i18n/languages/zh_CN.d.ts +3 -0
- package/i18n/languages/zh_TW.d.ts +3 -0
- package/icon/icon.component.d.ts +8 -14
- package/icon/icon.property.d.ts +31 -13
- package/icon/icon.service.d.ts +1 -1
- package/image/image-group.component.d.ts +1 -3
- package/image/image-preview.component.d.ts +11 -13
- package/image/image.component.d.ts +10 -11
- package/image/image.property.d.ts +117 -16
- package/index.d.ts +0 -2
- package/inner/inner.component.d.ts +3 -10
- package/inner/inner.property.d.ts +8 -4
- package/input/input-group.component.d.ts +0 -2
- package/input/input.component.d.ts +32 -30
- package/input/input.property.d.ts +347 -65
- package/input-number/input-number.component.d.ts +14 -19
- package/input-number/input-number.property.d.ts +292 -26
- package/keyword/keyword.directive.d.ts +4 -12
- package/keyword/keyword.property.d.ts +11 -7
- package/layout/col.component.d.ts +8 -11
- package/layout/layout.property.d.ts +79 -18
- package/layout/row.component.d.ts +7 -8
- package/link/link.component.d.ts +7 -13
- package/link/link.property.d.ts +64 -11
- package/list/list-drop-group.directive.d.ts +3 -5
- package/list/list-option.component.d.ts +7 -9
- package/list/list.component.d.ts +35 -30
- package/list/list.property.d.ts +126 -61
- package/loading/loading.component.d.ts +12 -12
- package/loading/loading.property.d.ts +20 -11
- package/menu/menu-node.component.d.ts +11 -8
- package/menu/menu.component.d.ts +18 -19
- package/menu/menu.property.d.ts +23 -28
- package/message/message.property.d.ts +1 -1
- package/notification/notification.property.d.ts +1 -1
- package/outlet/outlet.directive.d.ts +4 -4
- package/outlet/outlet.property.d.ts +1 -1
- package/package.json +117 -123
- package/page-header/page-header.component.d.ts +4 -8
- package/page-header/page-header.property.d.ts +11 -8
- package/pagination/pagination.component.d.ts +15 -22
- package/pagination/pagination.property.d.ts +34 -66
- package/pattern/pattern.component.d.ts +2 -5
- package/pattern/pattern.property.d.ts +1 -1
- package/popconfirm/popconfirm.component.d.ts +12 -14
- package/popconfirm/popconfirm.property.d.ts +32 -19
- package/popover/popover-portal.component.d.ts +16 -33
- package/popover/popover.directive.d.ts +6 -12
- package/popover/popover.property.d.ts +31 -22
- package/portal/portal.property.d.ts +4 -4
- package/portal/portal.service.d.ts +2 -2
- package/progress/progress.component.d.ts +25 -30
- package/progress/progress.property.d.ts +29 -20
- package/radio/radio.component.d.ts +14 -15
- package/radio/radio.property.d.ts +271 -31
- package/rate/rate.component.d.ts +14 -17
- package/rate/rate.property.d.ts +259 -12
- package/resizable/resizable.directive.d.ts +5 -5
- package/resizable/resizable.property.d.ts +14 -14
- package/result/result.component.d.ts +5 -7
- package/result/result.property.d.ts +11 -7
- package/ripple/ripple.directive.d.ts +5 -4
- package/ripple/ripple.property.d.ts +14 -5
- package/select/select-portal.component.d.ts +39 -43
- package/select/select.component.d.ts +53 -56
- package/select/select.property.d.ts +317 -37
- package/skeleton/skeleton.component.d.ts +4 -8
- package/skeleton/skeleton.property.d.ts +17 -8
- package/slider/slider.component.d.ts +34 -31
- package/slider/slider.property.d.ts +26 -22
- package/slider-select/slider-select.component.d.ts +38 -38
- package/slider-select/slider-select.property.d.ts +302 -28
- package/statistic/countdown.component.d.ts +2 -5
- package/statistic/statistic.component.d.ts +3 -8
- package/statistic/statistic.property.d.ts +44 -13
- package/steps/steps.component.d.ts +6 -16
- package/steps/steps.property.d.ts +15 -10
- package/style/core/index.css +0 -38
- package/style/core/index.css.map +1 -1
- package/style/core/var.scss +0 -4
- package/style/mixins/compatibility.scss +0 -1
- package/style/mixins/form.scss +8 -2
- package/style/params/index.scss +0 -1
- package/style/params/primary.scss +7 -28
- package/switch/switch.component.d.ts +9 -10
- package/switch/switch.property.d.ts +265 -16
- package/table/table-body.component.d.ts +21 -20
- package/table/table-foot.component.d.ts +7 -5
- package/table/table-head.component.d.ts +17 -19
- package/table/table.component.d.ts +62 -50
- package/table/table.property.d.ts +180 -178
- package/tabs/tab-content.component.d.ts +6 -8
- package/tabs/tab.component.d.ts +3 -5
- package/tabs/tabs.component.d.ts +17 -24
- package/tabs/tabs.property.d.ts +28 -24
- package/tag/tag.component.d.ts +7 -8
- package/tag/tag.property.d.ts +19 -21
- package/text-retract/text-retract.component.d.ts +4 -14
- package/text-retract/text-retract.property.d.ts +9 -5
- package/textarea/textarea.component.d.ts +17 -20
- package/textarea/textarea.property.d.ts +266 -30
- package/theme/theme.component.d.ts +24 -13
- package/theme/theme.property.d.ts +67 -16
- package/time-ago/time-ago.pipe.d.ts +7 -3
- package/time-ago/time-ago.property.d.ts +1 -1
- package/time-picker/time-picker-frame.component.d.ts +52 -39
- package/time-picker/time-picker-portal.component.d.ts +29 -29
- package/time-picker/time-picker.component.d.ts +29 -30
- package/time-picker/time-picker.property.d.ts +314 -23
- package/time-range/time-range.property.d.ts +1 -1
- package/timeline/timeline.component.d.ts +5 -13
- package/timeline/timeline.property.d.ts +12 -8
- package/tooltip/tooltip-portal.component.d.ts +23 -29
- package/tooltip/tooltip.directive.d.ts +10 -9
- package/tooltip/tooltip.property.d.ts +18 -14
- package/transfer/transfer.component.d.ts +23 -20
- package/transfer/transfer.property.d.ts +81 -25
- package/tree/tree-node.component.d.ts +21 -21
- package/tree/tree.component.d.ts +29 -28
- package/tree/tree.property.d.ts +129 -79
- package/tree-file/tree-file.component.d.ts +7 -9
- package/tree-file/tree-file.property.d.ts +40 -16
- package/tree-select/tree-select-portal.component.d.ts +38 -49
- package/tree-select/tree-select.component.d.ts +50 -53
- package/tree-select/tree-select.property.d.ts +328 -39
- package/typography/typography.component.d.ts +1 -1
- package/typography/typography.property.d.ts +3 -3
- package/upload/upload-portal.component.d.ts +14 -14
- package/upload/upload.component.d.ts +18 -17
- package/upload/upload.property.d.ts +73 -24
- package/border/border.component.d.ts +0 -11
- package/border/border.module.d.ts +0 -7
- package/border/border.property.d.ts +0 -6
- package/border/index.d.ts +0 -5
- package/border/public-api.d.ts +0 -3
- package/esm2022/border/border.component.mjs +0 -21
- package/esm2022/border/border.module.mjs +0 -16
- package/esm2022/border/border.property.mjs +0 -7
- package/esm2022/border/ng-nest-ui-border.mjs +0 -5
- package/esm2022/border/public-api.mjs +0 -4
- package/fesm2022/ng-nest-ui-border.mjs +0 -47
- package/fesm2022/ng-nest-ui-border.mjs.map +0 -1
- package/style/params/colors.scss +0 -38
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef,
|
|
1
|
+
import { Component, ViewEncapsulation, ChangeDetectionStrategy, ChangeDetectorRef, ElementRef, TemplateRef, HostBinding, inject, viewChild, signal, computed } from '@angular/core';
|
|
2
2
|
import { XInputPrefix, XInputProperty } from './input.property';
|
|
3
|
-
import { XIsEmpty,
|
|
3
|
+
import { XIsEmpty, XIsUndefined, XIsFunction } from '@ng-nest/ui/core';
|
|
4
4
|
import { Subject, distinctUntilChanged, fromEvent, takeUntil } from 'rxjs';
|
|
5
5
|
import { XValueAccessor } from '@ng-nest/ui/base-form';
|
|
6
6
|
import { XInputGroupComponent } from './input-group.component';
|
|
@@ -13,84 +13,128 @@ import * as i1 from "@angular/forms";
|
|
|
13
13
|
export class XInputComponent extends XInputProperty {
|
|
14
14
|
constructor() {
|
|
15
15
|
super(...arguments);
|
|
16
|
-
this.
|
|
17
|
-
this.
|
|
18
|
-
this.
|
|
19
|
-
this.
|
|
20
|
-
this.
|
|
21
|
-
|
|
16
|
+
this.inputElement = viewChild.required('inputElement', { read: (ElementRef) });
|
|
17
|
+
this.inputRef = viewChild.required('inputRef', { read: (ElementRef) });
|
|
18
|
+
this.inputValueRef = viewChild('inputValueRef', { read: (ElementRef) });
|
|
19
|
+
this.maxLengthRef = viewChild('maxLengthRef', { read: (ElementRef) });
|
|
20
|
+
this.classMap = computed(() => ({
|
|
21
|
+
[`${XInputPrefix}-${this.size()}`]: !!this.size(),
|
|
22
|
+
[`x-justify-${this.justify()}`]: !!this.justify(),
|
|
23
|
+
[`x-align-${this.align()}`]: !!this.align(),
|
|
24
|
+
[`x-direction-${this.direction()}`]: !!this.direction()
|
|
25
|
+
}));
|
|
26
|
+
this.labelMapSignal = computed(() => ({
|
|
27
|
+
[`x-text-align-${this.labelAlign()}`]: !!this.labelAlign()
|
|
28
|
+
}));
|
|
29
|
+
this.valueLength = signal(0);
|
|
30
|
+
this.lengthTotal = signal('');
|
|
31
|
+
this.paddingLeft = computed(() => {
|
|
32
|
+
return this.maxlength() && this.icon() && this.iconLayout() === 'right'
|
|
33
|
+
? (this.lengthTotal().length + 2) * 0.5 + 'rem'
|
|
34
|
+
: this.icon() && this.iconLayout() === 'left'
|
|
35
|
+
? this.inputIconPadding()
|
|
36
|
+
: this.inputPadding();
|
|
37
|
+
});
|
|
38
|
+
this.paddingRight = computed(() => {
|
|
39
|
+
return this.maxlength() && this.icon() && this.iconLayout() === 'left'
|
|
40
|
+
? (this.lengthTotal().length + 2) * 0.5 + 'rem'
|
|
41
|
+
: ((this.icon() || this.clearShow()) && this.iconLayout() === 'right') ||
|
|
42
|
+
(this.clearShow() && this.iconLayout() === 'left')
|
|
43
|
+
? this.inputIconPadding()
|
|
44
|
+
: this.maxlength() && !this.icon()
|
|
45
|
+
? (this.lengthTotal().length + 2) * 0.5 + 'rem'
|
|
46
|
+
: this.inputPadding();
|
|
47
|
+
});
|
|
48
|
+
this.clearShow = computed(() => {
|
|
49
|
+
if (this.clearable() && !this.disabledComputed()) {
|
|
50
|
+
return !XIsEmpty(this.value());
|
|
51
|
+
}
|
|
52
|
+
else {
|
|
53
|
+
return false;
|
|
54
|
+
}
|
|
55
|
+
});
|
|
22
56
|
this.valueChange = new Subject();
|
|
23
|
-
this.isComposition = false;
|
|
24
|
-
this.isWriteValue = false;
|
|
25
|
-
this.
|
|
26
|
-
this.
|
|
27
|
-
|
|
57
|
+
this.isComposition = signal(false);
|
|
58
|
+
this.isWriteValue = signal(false);
|
|
59
|
+
this.unSubject = new Subject();
|
|
60
|
+
this.getIcon = computed(() => {
|
|
61
|
+
return !XIsEmpty(this.icon());
|
|
62
|
+
});
|
|
63
|
+
this.getIconLayoutLeft = computed(() => {
|
|
64
|
+
return !XIsEmpty(this.icon()) && this.iconLayout() === 'left';
|
|
65
|
+
});
|
|
66
|
+
this.getIconLayoutRight = computed(() => {
|
|
67
|
+
return !XIsEmpty(this.icon()) && this.iconLayout() === 'right';
|
|
68
|
+
});
|
|
69
|
+
this.getMaxLengthWidth = computed(() => {
|
|
70
|
+
if (this.getIconLayoutRight()) {
|
|
71
|
+
return this.paddingLeft();
|
|
72
|
+
}
|
|
73
|
+
else {
|
|
74
|
+
return this.paddingRight();
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
this.beforeIsTemplate = computed(() => this.before() instanceof TemplateRef);
|
|
78
|
+
this.afterIsTemplate = computed(() => this.after() instanceof TemplateRef);
|
|
79
|
+
this.getTemplateWidth = computed(() => {
|
|
80
|
+
return `calc(100% - ${this.paddingLeft()} - ${this.paddingRight()})`;
|
|
81
|
+
});
|
|
82
|
+
this.focused = signal(false);
|
|
83
|
+
this.groupSize = signal(null);
|
|
84
|
+
this.groupBordered = signal(null);
|
|
28
85
|
this.cdr = inject(ChangeDetectorRef);
|
|
29
86
|
this.inputGroup = inject(XInputGroupComponent, { optional: true });
|
|
30
87
|
this.elementRef = inject(ElementRef);
|
|
31
|
-
this.configService = inject(XConfigService);
|
|
32
88
|
}
|
|
33
89
|
get getWidth() {
|
|
34
|
-
return this.width;
|
|
90
|
+
return this.width();
|
|
35
91
|
}
|
|
36
92
|
writeValue(value) {
|
|
37
|
-
this.value
|
|
38
|
-
this.isWriteValue
|
|
93
|
+
this.value.set(value);
|
|
94
|
+
this.isWriteValue.set(true);
|
|
39
95
|
this.valueChange.next(value);
|
|
40
|
-
this.isWriteValue
|
|
41
|
-
this.cdr.detectChanges();
|
|
42
|
-
}
|
|
43
|
-
get getIcon() {
|
|
44
|
-
return !XIsEmpty(this.icon);
|
|
45
|
-
}
|
|
46
|
-
get getIconLayoutLeft() {
|
|
47
|
-
return !XIsEmpty(this.icon) && this.iconLayout === 'left';
|
|
48
|
-
}
|
|
49
|
-
get getIconLayoutRight() {
|
|
50
|
-
return !XIsEmpty(this.icon) && this.iconLayout === 'right';
|
|
51
|
-
}
|
|
52
|
-
get beforeIsTemplate() {
|
|
53
|
-
return this.before instanceof TemplateRef;
|
|
54
|
-
}
|
|
55
|
-
get afterIsTemplate() {
|
|
56
|
-
return this.after instanceof TemplateRef;
|
|
57
|
-
}
|
|
58
|
-
get getTemplateWidth() {
|
|
59
|
-
return `calc(100% - ${this.paddingLeft + this.paddingRight}rem)`;
|
|
96
|
+
this.isWriteValue.set(false);
|
|
60
97
|
}
|
|
61
98
|
ngOnInit() {
|
|
62
|
-
this.setPadding();
|
|
63
|
-
this.setFlexClass();
|
|
64
99
|
this.setInheritedValue();
|
|
65
|
-
this.setClassMap();
|
|
66
100
|
this.setEvent();
|
|
67
101
|
}
|
|
68
|
-
ngOnChanges(changes) {
|
|
69
|
-
const { clearable, size, labelAlign, justify, align, direction, icon, iconSpin, clearShow } = changes;
|
|
70
|
-
XIsChange(clearable) && this.setClearable();
|
|
71
|
-
XIsChange(size, labelAlign) && this.setClassMap();
|
|
72
|
-
XIsChange(justify, align, direction) && this.setFlexClass();
|
|
73
|
-
XIsChange(icon, iconSpin, clearShow) && this.cdr.detectChanges();
|
|
74
|
-
}
|
|
75
102
|
ngOnDestroy() {
|
|
76
|
-
this.
|
|
77
|
-
this.
|
|
103
|
+
this.unSubject.next();
|
|
104
|
+
this.unSubject.complete();
|
|
78
105
|
}
|
|
79
106
|
setEvent() {
|
|
80
|
-
|
|
81
|
-
|
|
107
|
+
const inputRef = this.inputRef().nativeElement;
|
|
108
|
+
fromEvent(inputRef, 'compositionstart')
|
|
109
|
+
.pipe(takeUntil(this.unSubject))
|
|
110
|
+
.subscribe(() => {
|
|
111
|
+
this.isComposition.set(true);
|
|
82
112
|
});
|
|
83
|
-
fromEvent(
|
|
84
|
-
this.
|
|
113
|
+
fromEvent(inputRef, 'compositionend')
|
|
114
|
+
.pipe(takeUntil(this.unSubject))
|
|
115
|
+
.subscribe((x) => {
|
|
116
|
+
this.isComposition.set(false);
|
|
85
117
|
this.inputCheckValue(x);
|
|
86
118
|
});
|
|
87
|
-
fromEvent(
|
|
88
|
-
|
|
119
|
+
fromEvent(inputRef, 'focus')
|
|
120
|
+
.pipe(takeUntil(this.unSubject))
|
|
121
|
+
.subscribe(() => {
|
|
122
|
+
this.focused.set(true);
|
|
123
|
+
});
|
|
124
|
+
fromEvent(inputRef, 'blur')
|
|
125
|
+
.pipe(takeUntil(this.unSubject))
|
|
126
|
+
.subscribe(() => {
|
|
127
|
+
this.focused.set(false);
|
|
128
|
+
});
|
|
129
|
+
fromEvent(inputRef, 'input')
|
|
130
|
+
.pipe(takeUntil(this.unSubject))
|
|
131
|
+
.subscribe((x) => {
|
|
132
|
+
if (!this.isComposition()) {
|
|
89
133
|
this.inputCheckValue(x);
|
|
90
134
|
}
|
|
91
135
|
});
|
|
92
136
|
this.valueChange
|
|
93
|
-
.pipe(distinctUntilChanged((a, b) => a === b || (!!this.maxlength && `${b}`.length > Number(this.maxlength))), takeUntil(this.
|
|
137
|
+
.pipe(distinctUntilChanged((a, b) => a === b || (!!this.maxlength() && `${b}`.length > Number(this.maxlength()))), takeUntil(this.unSubject))
|
|
94
138
|
.subscribe((x) => {
|
|
95
139
|
this.change(x);
|
|
96
140
|
});
|
|
@@ -98,27 +142,22 @@ export class XInputComponent extends XInputProperty {
|
|
|
98
142
|
inputCheckValue(x) {
|
|
99
143
|
const input = x.target;
|
|
100
144
|
let value = input.value;
|
|
101
|
-
if (this.type === 'number') {
|
|
145
|
+
if (this.type() === 'number') {
|
|
102
146
|
const len = XIsEmpty(value) ? 0 : `${value}`.length;
|
|
103
|
-
if (len > Number(this.maxlength)) {
|
|
104
|
-
input.value = value.slice(0,
|
|
147
|
+
if (len > Number(this.maxlength())) {
|
|
148
|
+
input.value = value.slice(0, this.maxlength());
|
|
105
149
|
}
|
|
106
150
|
}
|
|
107
151
|
this.xInput.emit(x);
|
|
108
152
|
this.valueChange.next(input.value);
|
|
109
153
|
}
|
|
110
154
|
change(value) {
|
|
111
|
-
if (this._required && !this.disabled) {
|
|
112
|
-
this.required = XIsEmpty(value);
|
|
113
|
-
}
|
|
114
|
-
this.setClearable();
|
|
115
155
|
if (this.maxlength) {
|
|
116
|
-
this.valueLength
|
|
117
|
-
this.lengthTotal
|
|
156
|
+
this.valueLength.set(XIsEmpty(value) ? 0 : `${value}`.length);
|
|
157
|
+
this.lengthTotal.set(`${this.valueLength()}/${this.maxlength()}`);
|
|
118
158
|
}
|
|
119
|
-
this.
|
|
120
|
-
|
|
121
|
-
if (this.type === 'number') {
|
|
159
|
+
if (this.onChange && !this.isWriteValue()) {
|
|
160
|
+
if (this.type() === 'number') {
|
|
122
161
|
if (['', undefined, null].includes(value)) {
|
|
123
162
|
value = null;
|
|
124
163
|
}
|
|
@@ -128,102 +167,50 @@ export class XInputComponent extends XInputProperty {
|
|
|
128
167
|
}
|
|
129
168
|
this.onChange(value);
|
|
130
169
|
}
|
|
131
|
-
if (this.
|
|
132
|
-
this.invalidInputValidator
|
|
170
|
+
if (this.validatorComputed() && XIsFunction(this.inputValidator())) {
|
|
171
|
+
this.invalidInputValidator.set(!this.inputValidator()(value));
|
|
133
172
|
}
|
|
134
|
-
this.cdr.detectChanges();
|
|
135
173
|
}
|
|
136
174
|
onClear() {
|
|
137
|
-
const clearValue = this.value;
|
|
138
|
-
this.value
|
|
139
|
-
this.valueChange.next(this.value);
|
|
140
|
-
this.inputRef.nativeElement.focus();
|
|
175
|
+
const clearValue = this.value();
|
|
176
|
+
this.value.set('');
|
|
177
|
+
this.valueChange.next(this.value());
|
|
178
|
+
this.inputRef().nativeElement.focus();
|
|
141
179
|
this.clearEmit.emit(clearValue);
|
|
142
180
|
}
|
|
143
|
-
setFlexClass() {
|
|
144
|
-
if (this.flexClass.length > 0) {
|
|
145
|
-
for (let cls of this.flexClass) {
|
|
146
|
-
this.renderer.removeClass(this.inputElement.nativeElement, cls);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
this.flexClass = this.setFlex(this.inputElement.nativeElement, this.renderer, this.justify, this.align, this.direction);
|
|
150
|
-
}
|
|
151
|
-
setClearable() {
|
|
152
|
-
if (this.clearable && !this.disabled) {
|
|
153
|
-
this.clearShow = !XIsEmpty(this.value);
|
|
154
|
-
}
|
|
155
|
-
else {
|
|
156
|
-
this.clearShow = false;
|
|
157
|
-
}
|
|
158
|
-
this.setPadding();
|
|
159
|
-
}
|
|
160
181
|
setInheritedValue() {
|
|
161
182
|
if (!this.inputGroup)
|
|
162
183
|
return;
|
|
163
|
-
if (!XIsUndefined(this.inputGroup.size)) {
|
|
164
|
-
this.
|
|
184
|
+
if (!XIsUndefined(this.inputGroup.size())) {
|
|
185
|
+
this.groupSize.set(this.inputGroup.size());
|
|
165
186
|
}
|
|
166
|
-
if (!XIsUndefined(this.inputGroup.bordered)) {
|
|
167
|
-
this.
|
|
187
|
+
if (!XIsUndefined(this.inputGroup.bordered())) {
|
|
188
|
+
this.groupBordered.set(this.inputGroup.bordered());
|
|
168
189
|
}
|
|
169
190
|
}
|
|
170
|
-
setPadding() {
|
|
171
|
-
this.paddingLeft =
|
|
172
|
-
this.maxlength && this.icon && this.iconLayout === 'right'
|
|
173
|
-
? (this.lengthTotal.length + 2) * 0.385
|
|
174
|
-
: this.icon && this.iconLayout === 'left'
|
|
175
|
-
? Number(this.inputIconPadding)
|
|
176
|
-
: Number(this.inputPadding);
|
|
177
|
-
this.paddingRight =
|
|
178
|
-
this.maxlength && this.icon && this.iconLayout === 'left'
|
|
179
|
-
? (this.lengthTotal.length + 2) * 0.385
|
|
180
|
-
: (this.icon || this.clearShow) && this.iconLayout === 'right'
|
|
181
|
-
? Number(this.inputIconPadding)
|
|
182
|
-
: this.maxlength && !this.icon
|
|
183
|
-
? (this.lengthTotal.length + 2) * 0.385
|
|
184
|
-
: Number(this.inputPadding);
|
|
185
|
-
}
|
|
186
191
|
inputFocus(type = 'after') {
|
|
187
|
-
this.inputRef.nativeElement.focus();
|
|
188
|
-
if (!this.value)
|
|
192
|
+
this.inputRef().nativeElement.focus();
|
|
193
|
+
if (!this.value())
|
|
189
194
|
return;
|
|
190
195
|
if (type === 'after') {
|
|
191
|
-
this.inputRef.nativeElement.setSelectionRange(this.value.length, this.value.length);
|
|
196
|
+
this.inputRef().nativeElement.setSelectionRange(this.value().length, this.value().length);
|
|
192
197
|
}
|
|
193
198
|
else if (type === 'before') {
|
|
194
|
-
this.inputRef.nativeElement.setSelectionRange(0, 0);
|
|
199
|
+
this.inputRef().nativeElement.setSelectionRange(0, 0);
|
|
195
200
|
}
|
|
196
201
|
else if (type === 'select') {
|
|
197
|
-
this.inputRef.nativeElement.setSelectionRange(0, this.value.length);
|
|
202
|
+
this.inputRef().nativeElement.setSelectionRange(0, this.value().length);
|
|
198
203
|
}
|
|
199
204
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
this.classMap[`${XInputPrefix}-${this.size}`] = this.size ? true : false;
|
|
203
|
-
this.labelMap[`x-text-align-${this.labelAlign}`] = this.labelAlign ? true : false;
|
|
204
|
-
}
|
|
205
|
-
formControlChanges() {
|
|
206
|
-
this.valueChange.next(this.value);
|
|
207
|
-
this.ngOnInit();
|
|
208
|
-
this.cdr.detectChanges();
|
|
209
|
-
}
|
|
210
|
-
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: XInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
211
|
-
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.3.10", type: XInputComponent, isStandalone: true, selector: "x-input", host: { properties: { "style.width.px": "this.getWidth" } }, providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, static: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, static: true }, { propertyName: "inputValueRef", first: true, predicate: ["inputValueRef"], descendants: true }], usesInheritance: true, usesOnChanges: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n @if (label) {\r\n <label [class.x-input-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left.rem]=\"paddingLeft\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl\"\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [min]=\"min\"\r\n [min]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.next(true)\"\r\n (compositionend)=\"xComposition.next(false)\"\r\n />\r\n @if (clearShow && !iconSpin) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft || iconSpin)) {\r\n <x-icon [type]=\"icon\" [spin]=\"iconSpin\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength) {\r\n <span class=\"x-input-max-length\">{{ lengthTotal }}</span>\r\n }\r\n @if (invalid) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage }}</span>\r\n }\r\n @if (requiredIsEmpty || invalid) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-before-template .x-button:hover,.x-input-row .x-input-row-before-template .x-button:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus,.x-input-row .x-input-row-after-template .x-button:hover,.x-input-row .x-input-row-after-template .x-button:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);padding:.4rem;right:0;left:inherit;opacity:0;cursor:pointer;z-index:2}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>input{padding-right:calc(var(--x-font-size-medium) + .4rem * 2)!important}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);padding:.4rem}.x-input-icon>.x-input-row>.x-input-input>x-icon.x-icon-spin{padding:0;margin:.4rem}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input{margin-left:calc(var(--x-border-width) * -1)}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input{margin-right:calc(var(--x-border-width) * -1)}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
205
|
+
formControlChanges() { }
|
|
206
|
+
/** @nocollapse */ static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XInputComponent, deps: null, target: i0.ɵɵFactoryTarget.Component }); }
|
|
207
|
+
/** @nocollapse */ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.0.1", type: XInputComponent, isStandalone: true, selector: "x-input", host: { properties: { "style.width": "this.getWidth" } }, providers: [XValueAccessor(XInputComponent)], viewQueries: [{ propertyName: "inputElement", first: true, predicate: ["inputElement"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputRef", first: true, predicate: ["inputRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "inputValueRef", first: true, predicate: ["inputValueRef"], descendants: true, read: ElementRef, isSignal: true }, { propertyName: "maxLengthRef", first: true, predicate: ["maxLengthRef"], descendants: true, read: ElementRef, isSignal: true }], usesInheritance: true, ngImport: i0, template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [min]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"], dependencies: [{ kind: "directive", type: NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "ngmodule", type: FormsModule }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.RequiredValidator, selector: ":not([type=checkbox])[required][formControlName],:not([type=checkbox])[required][formControl],:not([type=checkbox])[required][ngModel]", inputs: ["required"] }, { kind: "directive", type: i1.MaxLengthValidator, selector: "[maxlength][formControlName],[maxlength][formControl],[maxlength][ngModel]", inputs: ["maxlength"] }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "ngmodule", type: ReactiveFormsModule }, { kind: "component", type: XIconComponent, selector: "x-icon" }, { kind: "directive", type: XOutletDirective, selector: "[xOutlet]", inputs: ["xOutletContext", "xOutlet"] }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None }); }
|
|
212
208
|
}
|
|
213
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "
|
|
209
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.0.1", ngImport: i0, type: XInputComponent, decorators: [{
|
|
214
210
|
type: Component,
|
|
215
|
-
args: [{ selector: `${XInputPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, FormsModule, ReactiveFormsModule, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputComponent)], template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify || align || direction\"\r\n [class.x-disabled]=\"disabled\"\r\n [class.x-required]=\"requiredIsEmpty\"\r\n [class.x-invalid]=\"invalid\"\r\n [class.x-clearable]=\"clearable\"\r\n [class.x-clear-show]=\"clearShow\"\r\n [class.x-input-icon]=\"getIcon\"\r\n [class.x-input-active]=\"active\"\r\n [class.x-input-pointer]=\"pointer\"\r\n [class.x-input-bordered]=\"bordered\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight\"\r\n [class.x-input-after]=\"after\"\r\n [class.x-input-before]=\"before\"\r\n [class.x-input-after-template]=\"afterIsTemplate\"\r\n [class.x-input-before-template]=\"beforeIsTemplate\"\r\n [class.x-input-value-template]=\"valueTpl\"\r\n [ngClass]=\"classMap\"\r\n>\r\n @if (label) {\r\n <label [class.x-input-label-required]=\"required\" [style.width]=\"labelWidth\" [ngClass]=\"labelMap\">{{ label }}</label>\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate\">\r\n <ng-container *xOutlet=\"before\">{{ before }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left.rem]=\"paddingLeft\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl; context: valueTplContext ? valueTplContext : { $value: value }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl\"\r\n [ngStyle]=\"inputStyle\"\r\n [type]=\"type\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [disabled]=\"disabled\"\r\n [readonly]=\"readonly\"\r\n [maxlength]=\"maxlength\"\r\n [min]=\"min\"\r\n [min]=\"max\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left.rem]=\"paddingLeft\"\r\n [style.padding-right.rem]=\"paddingRight\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.next(true)\"\r\n (compositionend)=\"xComposition.next(false)\"\r\n />\r\n @if (clearShow && !iconSpin) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon && ((!clearShow && getIconLayoutRight) || getIconLayoutLeft || iconSpin)) {\r\n <x-icon [type]=\"icon\" [spin]=\"iconSpin\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength) {\r\n <span class=\"x-input-max-length\">{{ lengthTotal }}</span>\r\n }\r\n @if (invalid) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage }}</span>\r\n }\r\n @if (requiredIsEmpty || invalid) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate\">\r\n <ng-container *xOutlet=\"after\">{{ after }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-before-template .x-button:hover,.x-input-row .x-input-row-before-template .x-button:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus,.x-input-row .x-input-row-after-template .x-button:hover,.x-input-row .x-input-row-after-template .x-button:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size) + .45rem) * -1);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.5rem;width:.5rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);padding:.4rem;right:0;left:inherit;opacity:0;cursor:pointer;z-index:2}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>input{padding-right:calc(var(--x-font-size-medium) + .4rem * 2)!important}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);padding:.4rem}.x-input-icon>.x-input-row>.x-input-input>x-icon.x-icon-spin{padding:0;margin:.4rem}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input{margin-left:calc(var(--x-border-width) * -1)}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input{margin-right:calc(var(--x-border-width) * -1)}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
|
|
216
|
-
}], propDecorators: {
|
|
217
|
-
type: ViewChild,
|
|
218
|
-
args: ['inputElement', { static: true }]
|
|
219
|
-
}], inputRef: [{
|
|
220
|
-
type: ViewChild,
|
|
221
|
-
args: ['inputRef', { static: true }]
|
|
222
|
-
}], inputValueRef: [{
|
|
223
|
-
type: ViewChild,
|
|
224
|
-
args: ['inputValueRef']
|
|
225
|
-
}], getWidth: [{
|
|
211
|
+
args: [{ selector: `${XInputPrefix}`, standalone: true, imports: [NgClass, NgStyle, NgTemplateOutlet, FormsModule, ReactiveFormsModule, XIconComponent, XOutletDirective], encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, providers: [XValueAccessor(XInputComponent)], template: "<div\r\n #inputElement\r\n class=\"x-input\"\r\n [class.x-flex]=\"justify() || align() || direction()\"\r\n [class.x-disabled]=\"disabledComputed()\"\r\n [class.x-required]=\"requiredIsEmpty()\"\r\n [class.x-invalid]=\"invalid()\"\r\n [class.x-clearable]=\"clearable()\"\r\n [class.x-clear-show]=\"clearShow()\"\r\n [class.x-input-icon]=\"getIcon()\"\r\n [class.x-input-active]=\"active()\"\r\n [class.x-input-focus]=\"focused()\"\r\n [class.x-input-pointer]=\"pointer()\"\r\n [class.x-input-bordered]=\"bordered()\"\r\n [class.x-input-icon-left]=\"getIconLayoutLeft()\"\r\n [class.x-input-icon-right]=\"getIconLayoutRight()\"\r\n [class.x-input-after]=\"after()\"\r\n [class.x-input-before]=\"before()\"\r\n [class.x-input-after-template]=\"afterIsTemplate()\"\r\n [class.x-input-before-template]=\"beforeIsTemplate()\"\r\n [class.x-input-value-template]=\"valueTpl()\"\r\n [ngClass]=\"classMap()\"\r\n>\r\n @if (label()) {\r\n <label\r\n [class.x-input-label-required]=\"requiredComputed()\"\r\n [style.width]=\"labelWidth()\"\r\n [ngClass]=\"labelMapSignal()\"\r\n >{{ label() }}</label\r\n >\r\n }\r\n <div class=\"x-input-row\">\r\n @if (before()) {\r\n <div class=\"x-input-row-before\" [class.x-input-row-before-template]=\"beforeIsTemplate()\">\r\n <ng-container *xOutlet=\"before()\">{{ before() }}</ng-container>\r\n </div>\r\n }\r\n <div class=\"x-input-input\" (mouseenter)=\"xMouseenter.emit($event)\" (mouseleave)=\"xMouseleave.emit($event)\">\r\n @if (valueTpl()) {\r\n <div\r\n #inputValueRef\r\n class=\"x-input-value-template-value\"\r\n [style.left]=\"paddingLeft()\"\r\n [style.padding-left]=\"0\"\r\n [style.padding-right]=\"0\"\r\n [style.width]=\"getTemplateWidth()\"\r\n (click)=\"xClick.emit($event)\"\r\n >\r\n <ng-container\r\n *ngTemplateOutlet=\"valueTpl()!; context: valueTplContext() ? valueTplContext() : { $value: value() }\"\r\n ></ng-container>\r\n </div>\r\n }\r\n <input\r\n #inputRef\r\n autocomplete=\"off\"\r\n [class.x-input-has-value-template]=\"valueTpl()\"\r\n [ngStyle]=\"inputStyle()\"\r\n [type]=\"type()\"\r\n [placeholder]=\"placeholder()\"\r\n [required]=\"requiredComputed()\"\r\n [disabled]=\"disabledComputed()\"\r\n [readonly]=\"readonly()\"\r\n [maxlength]=\"maxlength()\"\r\n [min]=\"min()\"\r\n [min]=\"max()\"\r\n [(ngModel)]=\"value\"\r\n (ngModelChange)=\"valueChange.next($event)\"\r\n [style.padding-left]=\"paddingLeft()\"\r\n [style.padding-right]=\"paddingRight()\"\r\n (focus)=\"xFocus.emit($event)\"\r\n (blur)=\"xBlur.emit($event)\"\r\n (keydown)=\"formControlValidator(); xKeydown.emit($event)\"\r\n (click)=\"xClick.emit($event)\"\r\n (compositionstart)=\"xComposition.emit($event)\"\r\n (compositionend)=\"xComposition.emit($event)\"\r\n />\r\n @if (clearShow() && !iconSpin()) {\r\n <x-icon class=\"x-input-clear\" type=\"fto-x\" (click)=\"onClear()\"></x-icon>\r\n }\r\n @if (icon() && ((!clearShow() && getIconLayoutRight()) || getIconLayoutLeft() || iconSpin())) {\r\n <x-icon [type]=\"icon()\" [spin]=\"iconSpin()\" (click)=\"xClick.emit($event)\"></x-icon>\r\n }\r\n @if (maxlength() && lengthTotal()) {\r\n <span class=\"x-input-max-length\" [style.width]=\"getMaxLengthWidth()\">{{ lengthTotal() }}</span>\r\n }\r\n @if (invalid()) {\r\n <span class=\"x-input-error-message\">{{ invalidMessage() }}</span>\r\n }\r\n @if (requiredIsEmpty() || invalid()) {\r\n <div class=\"x-border-error x-top-left\"></div>\r\n <div class=\"x-border-error x-top-right\"></div>\r\n <div class=\"x-border-error x-bottom-left\"></div>\r\n <div class=\"x-border-error x-bottom-right\"></div>\r\n }\r\n </div>\r\n @if (after()) {\r\n <div class=\"x-input-row-after\" [class.x-input-row-after-template]=\"afterIsTemplate()\">\r\n <ng-container *xOutlet=\"after()\">{{ after() }}</ng-container>\r\n </div>\r\n }\r\n </div>\r\n</div>\r\n", styles: ["@charset \"UTF-8\";x-input{display:inline-block;width:12rem}.x-input{width:100%;margin:0;padding:0}.x-input.x-flex{display:flex}.x-input.x-justify-start{justify-content:flex-start}.x-input.x-justify-center{justify-content:center}.x-input.x-justify-end{justify-content:flex-end}.x-input.x-justify-space-between{justify-content:space-between}.x-input.x-justify-space-around{justify-content:space-around}.x-input.x-align-start{align-items:flex-start}.x-input.x-align-center{align-items:center}.x-input.x-align-end{align-items:flex-end}.x-input.x-direction-column{flex-direction:column}.x-input.x-direction-column-reverse{flex-direction:column-reverse}.x-input.x-direction-row{flex-direction:row}.x-input.x-direction-row-reverse{flex-direction:row-reverse}.x-input>label{display:inline-block;white-space:nowrap;position:relative;color:var(--x-text-300);font-weight:600}.x-input>label.x-text-align-start{text-align:start}.x-input>label.x-text-align-center{text-align:center}.x-input>label.x-text-align-end{text-align:end}.x-input-row{flex:1;display:flex;align-items:center}.x-input-row .x-input-row-before:not(.x-input-row-before-template),.x-input-row .x-input-row-after:not(.x-input-row-after-template){border:var(--x-border-width) var(--x-border-style) var(--x-border);background-color:var(--x-background-a100);border-width:0}.x-input-row .x-input-row-before:not(.x-input-row-before-template){border-top-left-radius:var(--x-border-radius);border-bottom-left-radius:var(--x-border-radius)}.x-input-row .x-input-row-after:not(.x-input-row-before-template){border-top-right-radius:var(--x-border-radius);border-bottom-right-radius:var(--x-border-radius)}.x-input-row .x-input-row-before-template{display:contents}.x-input-row .x-input-row-before-template input,.x-input-row .x-input-row-before-template .x-button{border-top-right-radius:0!important;border-bottom-right-radius:0!important}.x-input-row .x-input-row-before-template input{margin-right:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-after-template{display:contents}.x-input-row .x-input-row-after-template input,.x-input-row .x-input-row-after-template .x-button{border-top-left-radius:0!important;border-bottom-left-radius:0!important}.x-input-row .x-input-row-after-template input{margin-left:calc(var(--x-border-width) * -1)}.x-input-row .x-input-row-before-template:hover,.x-input-row .x-input-row-before-template:focus{z-index:1}.x-input-row .x-input-row-before-template input:hover,.x-input-row .x-input-row-before-template input:focus,.x-input-row .x-input-row-after-template input:hover,.x-input-row .x-input-row-after-template input:focus{z-index:1}.x-input-row>.x-input-input{position:relative;width:100%;display:inline-flex;align-items:center}.x-input-row>.x-input-input>input{flex:1;width:100%;font-size:var(--x-font-size);background-color:var(--x-background-a200);background-image:none;border:var(--x-border-width) var(--x-border-style) var(--x-border);border-radius:var(--x-border-radius);border-width:0;box-shadow:var(--x-box-shadow) transparent;transition-property:background-color,border-color;transition-duration:var(--x-animation-duration-slow)}.x-input-row>.x-input-input>input::-moz-placeholder{color:var(--x-text-700);opacity:1}.x-input-row>.x-input-input>input:-ms-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input::-webkit-input-placeholder{color:var(--x-text-700)}.x-input-row>.x-input-input>input[disabled]{color:var(--x-text-500)}.x-input-row>.x-input-input>input:focus{border-color:var(--x-primary);outline:0}.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);transition:all var(--x-animation-duration-base);z-index:2}.x-input-row>.x-input-input:hover>input{border-color:var(--x-primary-300)}.x-input-row>.x-input-input:focus>input{border-color:var(--x-primary);outline:0}.x-input-label-required:before{display:inline-block;margin-right:.25rem;color:var(--x-danger);line-height:1;font-size:var(--x-font-size-small);content:\"*\"}.x-input-value-template .x-input-input>input.x-input-has-value-template{color:transparent!important}.x-input-value-template-value{position:absolute;display:inline-block;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;width:100%}.x-input-value-template-value:hover+input{border-color:var(--x-primary-300)}.x-input-error-message{position:absolute;bottom:0;left:0;font-size:var(--x-font-size)-.125rem;color:var(--x-danger);margin-bottom:calc((var(--x-font-size)) * -2);width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.x-input.x-invalid>label,.x-input.x-required>label{color:var(--x-danger)}.x-input.x-invalid .x-input-input>x-icon,.x-input.x-required .x-input-input>x-icon{color:var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error,.x-input.x-required .x-input-input .x-border-error{position:absolute;height:.75rem;width:.75rem;z-index:10}.x-input.x-invalid .x-input-input .x-border-error.x-top-left,.x-input.x-required .x-input-input .x-border-error.x-top-left{border-top-left-radius:var(--x-border-radius);top:0;left:0;border-top:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-top-right,.x-input.x-required .x-input-input .x-border-error.x-top-right{border-top-right-radius:var(--x-border-radius);top:0;right:0;border-top:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-left,.x-input.x-required .x-input-input .x-border-error.x-bottom-left{border-bottom-left-radius:var(--x-border-radius);bottom:0;left:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-left:var(--x-border-width) solid var(--x-danger)}.x-input.x-invalid .x-input-input .x-border-error.x-bottom-right,.x-input.x-required .x-input-input .x-border-error.x-bottom-right{border-bottom-right-radius:var(--x-border-radius);bottom:0;right:0;border-bottom:var(--x-border-width) solid var(--x-danger);border-right:var(--x-border-width) solid var(--x-danger)}.x-input.x-disabled>.x-input-row>.x-input-input>x-icon{color:var(--x-text-400);cursor:not-allowed}.x-input.x-disabled>.x-input-row>.x-input-input>input{color:var(--x-text-400);cursor:not-allowed;border-color:var(--x-border-100);background-color:var(--x-background-a100)}.x-input.x-disabled>.x-input-row>.x-input-input>.x-input-value-template-value{color:var(--x-text-400);cursor:not-allowed}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear{position:absolute;color:var(--x-text-400);font-size:var(--x-font-size-medium);right:0;left:inherit;opacity:0;cursor:pointer;z-index:2;display:inline-flex;align-items:center;justify-content:center}.x-input.x-clearable>.x-input-row>.x-input-input>.x-input-clear:hover{color:var(--x-text-300)}.x-input.x-clearable>.x-input-row>.x-input-input:hover>input .x-input-clear,.x-input.x-clearable>.x-input-row>.x-input-input:hover>.x-input-value-template-value .x-input-clear{opacity:1}.x-input.x-clearable.x-clear-show>.x-input-row>.x-input-input>.x-input-clear{opacity:1}.x-input-max-length{position:absolute;font-size:var(--x-font-size-small);color:var(--x-text-400);padding:0 .4rem;right:0;width:3rem;display:inline-flex;text-align:center;justify-content:center}.x-input.x-direction-row>label{padding:0 .5rem 0 0}.x-input.x-direction-row-reverse>label{padding:0 0 0 .5rem}.x-input.x-direction-column,.x-input.x-direction-column-reverse{align-items:inherit}.x-input-icon>.x-input-row>.x-input-input>x-icon{position:absolute;font-size:var(--x-font-size-medium);display:inline-flex;align-items:center;justify-content:center}.x-input-icon-left>.x-input-row>.x-input-input>input,.x-input-icon-left>.x-input-row>.x-input-input>.x-input-value-template-value{padding-left:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-left>.x-input-row>.x-input-input>x-icon{left:0}.x-input-icon-right>.x-input-row>.x-input-input>input,.x-input-icon-right>.x-input-row>.x-input-input>.x-input-value-template-value{padding-right:calc(var(--x-font-size-medium) + .8rem)}.x-input-icon-right>.x-input-row>.x-input-input>x-icon{right:0}.x-input-icon-right>.x-input-row>.x-input-input>.x-input-max-length{right:inherit;left:0}.x-input-bordered>.x-input-row>.x-input-input>input{border-width:var(--x-border-width);background-color:var(--x-background)}.x-input-bordered .x-input-row .x-input-row-before:not(.x-input-row-before-template){border-width:var(--x-border-width);border-right-width:0}.x-input-bordered .x-input-row .x-input-row-after:not(.x-input-row-after-template){border-width:var(--x-border-width);border-left-width:0}.x-input-before>.x-input-row>.x-input-input>input{border-top-left-radius:0;border-bottom-left-radius:0}.x-input-before-template .x-input-input>input:hover,.x-input-before-template .x-input-input>input:focus{z-index:1}.x-input-after>.x-input-row>.x-input-input>input{border-top-right-radius:0;border-bottom-right-radius:0}.x-input-after-template>.x-input-row>.x-input-input>input:hover,.x-input-after-template>.x-input-row>.x-input-input>input:focus{z-index:1}.x-input-active .x-input-row>.x-input-input>input{border-color:var(--x-primary)}.x-input-pointer .x-input-row>.x-input-input>input,.x-input-pointer .x-input-row>.x-input-input>x-icon,.x-input-pointer .x-input-row>.x-input-input>.x-input-value-template-value{cursor:pointer}.x-input-big>.x-input-row>.x-input-input>input,.x-input-big>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-input>x-icon{height:var(--x-height-big);width:var(--x-height-big)}.x-input-big>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-big>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-big);line-height:var(--x-height-big);padding:0 var(--x-padding-big)}.x-input-big>label{height:var(--x-height-big);line-height:var(--x-height-big)}.x-input-large>.x-input-row>.x-input-input>input,.x-input-large>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-input>x-icon{height:var(--x-height-large);width:var(--x-height-large)}.x-input-large>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-large>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-large);line-height:var(--x-height-large);padding:0 var(--x-padding-large)}.x-input-large>label{height:var(--x-height-large);line-height:var(--x-height-large)}.x-input-medium>.x-input-row>.x-input-input>input,.x-input-medium>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-input>x-icon{height:var(--x-height-medium);width:var(--x-height-medium)}.x-input-medium>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-medium>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-medium);line-height:var(--x-height-medium);padding:0 var(--x-padding-medium)}.x-input-medium>label{height:var(--x-height-medium);line-height:var(--x-height-medium)}.x-input-small>.x-input-row>.x-input-input>input,.x-input-small>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-input>x-icon{height:var(--x-height-small);width:var(--x-height-small)}.x-input-small>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-small>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-small);line-height:var(--x-height-small);padding:0 var(--x-padding-small)}.x-input-small>label{height:var(--x-height-small);line-height:var(--x-height-small)}.x-input-mini>.x-input-row>.x-input-input>input,.x-input-mini>.x-input-row>.x-input-input>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-input>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-value-template-value{min-height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>.x-input-row>.x-input-input>.x-input-max-length{height:var(--x-height-mini);line-height:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-input>x-icon{height:var(--x-height-mini);width:var(--x-height-mini)}.x-input-mini>.x-input-row>.x-input-row-before:not(.x-input-row-before-template),.x-input-mini>.x-input-row>.x-input-row-after:not(.x-input-row-after-template){height:var(--x-height-mini);line-height:var(--x-height-mini);padding:0 var(--x-padding-mini)}.x-input-mini>label{height:var(--x-height-mini);line-height:var(--x-height-mini)}\n"] }]
|
|
212
|
+
}], propDecorators: { getWidth: [{
|
|
226
213
|
type: HostBinding,
|
|
227
|
-
args: ['style.width
|
|
214
|
+
args: ['style.width']
|
|
228
215
|
}] } });
|
|
229
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsVUFBVSxFQUNWLFNBQVMsRUFHVCxXQUFXLEVBQ1gsV0FBVyxFQUNYLE1BQU0sRUFDUCxNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2hFLE9BQU8sRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxjQUFjLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQy9HLE9BQU8sRUFBRSxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDdkQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDL0QsT0FBTyxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDbEUsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2xELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDOzs7QUFZdEQsTUFBTSxPQUFPLGVBQWdCLFNBQVEsY0FBYztJQVZu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QUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7SUFDcEYsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQ2hCLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDM0IsQ0FBQztrSUEvTlUsZUFBZTtzSEFBZixlQUFlLG1IQUZmLENBQUMsY0FBYyxDQUFDLGVBQWUsQ0FBQyxDQUFDLHdZQ2pDOUMsZzVIQWlHQSwwNGJEckVZLE9BQU8sb0ZBQUUsT0FBTywyRUFBRSxnQkFBZ0IsbUpBQUUsV0FBVyw4K0JBQUUsbUJBQW1CLCtCQUFFLGNBQWMsbURBQUUsZ0JBQWdCOzs0RkFPckcsZUFBZTtrQkFWM0IsU0FBUzsrQkFDRSxHQUFHLFlBQVksRUFBRSxjQUNmLElBQUksV0FDUCxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsV0FBVyxFQUFFLG1CQUFtQixFQUFFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxpQkFHbEcsaUJBQWlCLENBQUMsSUFBSSxtQkFDcEIsdUJBQXVCLENBQUMsTUFBTSxhQUNwQyxDQUFDLGNBQWMsaUJBQWlCLENBQUM7OEJBR0MsWUFBWTtzQkFBeEQsU0FBUzt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFO2dCQUNGLFFBQVE7c0JBQWhELFNBQVM7dUJBQUMsVUFBVSxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRTtnQkFDWCxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBRVMsUUFBUTtzQkFBMUMsV0FBVzt1QkFBQyxnQkFBZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgUmVuZGVyZXIyLFxyXG4gIEVsZW1lbnRSZWYsXHJcbiAgVmlld0NoaWxkLFxyXG4gIE9uQ2hhbmdlcyxcclxuICBTaW1wbGVDaGFuZ2VzLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEhvc3RCaW5kaW5nLFxyXG4gIGluamVjdFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRQcmVmaXgsIFhJbnB1dFByb3BlcnR5IH0gZnJvbSAnLi9pbnB1dC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYSXNDaGFuZ2UsIFhDbGVhckNsYXNzLCBYQ29uZmlnU2VydmljZSwgWElzVW5kZWZpbmVkLCBYSXNGdW5jdGlvbiB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSW5wdXRQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhJbnB1dENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBYSW5wdXRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzIHtcclxuICBAVmlld0NoaWxkKCdpbnB1dEVsZW1lbnQnLCB7IHN0YXRpYzogdHJ1ZSB9KSBpbnB1dEVsZW1lbnQhOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFJlZicsIHsgc3RhdGljOiB0cnVlIH0pIGlucHV0UmVmITogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PjtcclxuICBAVmlld0NoaWxkKCdpbnB1dFZhbHVlUmVmJykgaW5wdXRWYWx1ZVJlZiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+O1xyXG5cclxuICBASG9zdEJpbmRpbmcoJ3N0eWxlLndpZHRoLnB4JykgZ2V0IGdldFdpZHRoKCkge1xyXG4gICAgcmV0dXJuIHRoaXMud2lkdGg7XHJcbiAgfVxyXG5cclxuICBvdmVycmlkZSB3cml0ZVZhbHVlKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMudmFsdWUgPSB2YWx1ZTtcclxuICAgIHRoaXMuaXNXcml0ZVZhbHVlID0gdHJ1ZTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2UubmV4dCh2YWx1ZSk7XHJcbiAgICB0aGlzLmlzV3JpdGVWYWx1ZSA9IGZhbHNlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgdmFsdWVMZW5ndGg6IG51bWJlciA9IDA7XHJcbiAgbGVuZ3RoVG90YWw6IHN0cmluZyA9ICcnO1xyXG4gIHBhZGRpbmdMZWZ0OiBudW1iZXIgPSAwLjQ7XHJcbiAgcGFkZGluZ1JpZ2h0OiBudW1iZXIgPSAwLjQ7XHJcbiAgY2xlYXJTaG93OiBib29sZWFuID0gZmFsc2U7XHJcbiAgZmxleENsYXNzOiBzdHJpbmdbXSA9IFtdO1xyXG4gIHZhbHVlQ2hhbmdlID0gbmV3IFN1YmplY3Q8YW55PigpO1xyXG4gIGlzQ29tcG9zaXRpb24gPSBmYWxzZTtcclxuICBpc1dyaXRlVmFsdWUgPSBmYWxzZTtcclxuICBwcml2YXRlIF9yZXF1aXJlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHByaXZhdGUgX3VuU3ViamVjdCA9IG5ldyBTdWJqZWN0PHZvaWQ+KCk7XHJcblxyXG4gIGdldCBnZXRJY29uKCkge1xyXG4gICAgcmV0dXJuICFYSXNFbXB0eSh0aGlzLmljb24pO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEljb25MYXlvdXRMZWZ0KCkge1xyXG4gICAgcmV0dXJuICFYSXNFbXB0eSh0aGlzLmljb24pICYmIHRoaXMuaWNvbkxheW91dCA9PT0gJ2xlZnQnO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGdldEljb25MYXlvdXRSaWdodCgpIHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKSAmJiB0aGlzLmljb25MYXlvdXQgPT09ICdyaWdodCc7XHJcbiAgfVxyXG5cclxuICBnZXQgYmVmb3JlSXNUZW1wbGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmJlZm9yZSBpbnN0YW5jZW9mIFRlbXBsYXRlUmVmO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFmdGVySXNUZW1wbGF0ZSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFmdGVyIGluc3RhbmNlb2YgVGVtcGxhdGVSZWY7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0VGVtcGxhdGVXaWR0aCgpIHtcclxuICAgIHJldHVybiBgY2FsYygxMDAlIC0gJHt0aGlzLnBhZGRpbmdMZWZ0ICsgdGhpcy5wYWRkaW5nUmlnaHR9cmVtKWA7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHJlbmRlcmVyID0gaW5qZWN0KFJlbmRlcmVyMik7XHJcbiAgb3ZlcnJpZGUgY2RyID0gaW5qZWN0KENoYW5nZURldGVjdG9yUmVmKTtcclxuICBwcml2YXRlIGlucHV0R3JvdXAgPSBpbmplY3QoWElucHV0R3JvdXBDb21wb25lbnQsIHsgb3B0aW9uYWw6IHRydWUgfSk7XHJcbiAgZWxlbWVudFJlZiA9IGluamVjdChFbGVtZW50UmVmKTtcclxuICBjb25maWdTZXJ2aWNlID0gaW5qZWN0KFhDb25maWdTZXJ2aWNlKTtcclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldFBhZGRpbmcoKTtcclxuICAgIHRoaXMuc2V0RmxleENsYXNzKCk7XHJcbiAgICB0aGlzLnNldEluaGVyaXRlZFZhbHVlKCk7XHJcbiAgICB0aGlzLnNldENsYXNzTWFwKCk7XHJcbiAgICB0aGlzLnNldEV2ZW50KCk7XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcyhjaGFuZ2VzOiBTaW1wbGVDaGFuZ2VzKTogdm9pZCB7XHJcbiAgICBjb25zdCB7IGNsZWFyYWJsZSwgc2l6ZSwgbGFiZWxBbGlnbiwganVzdGlmeSwgYWxpZ24sIGRpcmVjdGlvbiwgaWNvbiwgaWNvblNwaW4sIGNsZWFyU2hvdyB9ID0gY2hhbmdlcztcclxuICAgIFhJc0NoYW5nZShjbGVhcmFibGUpICYmIHRoaXMuc2V0Q2xlYXJhYmxlKCk7XHJcbiAgICBYSXNDaGFuZ2Uoc2l6ZSwgbGFiZWxBbGlnbikgJiYgdGhpcy5zZXRDbGFzc01hcCgpO1xyXG4gICAgWElzQ2hhbmdlKGp1c3RpZnksIGFsaWduLCBkaXJlY3Rpb24pICYmIHRoaXMuc2V0RmxleENsYXNzKCk7XHJcbiAgICBYSXNDaGFuZ2UoaWNvbiwgaWNvblNwaW4sIGNsZWFyU2hvdykgJiYgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLl91blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy5fdW5TdWJqZWN0LnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBzZXRFdmVudCgpIHtcclxuICAgIGZyb21FdmVudCh0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICdjb21wb3NpdGlvbnN0YXJ0Jykuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgdGhpcy5pc0NvbXBvc2l0aW9uID0gdHJ1ZTtcclxuICAgIH0pO1xyXG4gICAgZnJvbUV2ZW50KHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudCwgJ2NvbXBvc2l0aW9uZW5kJykuc3Vic2NyaWJlKCh4OiBFdmVudCkgPT4ge1xyXG4gICAgICB0aGlzLmlzQ29tcG9zaXRpb24gPSBmYWxzZTtcclxuICAgICAgdGhpcy5pbnB1dENoZWNrVmFsdWUoeCk7XHJcbiAgICB9KTtcclxuICAgIGZyb21FdmVudDxJbnB1dEV2ZW50Pih0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQsICdpbnB1dCcpLnN1YnNjcmliZSgoeDogSW5wdXRFdmVudCkgPT4ge1xyXG4gICAgICBpZiAoIXRoaXMuaXNDb21wb3NpdGlvbikge1xyXG4gICAgICAgIHRoaXMuaW5wdXRDaGVja1ZhbHVlKHgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudmFsdWVDaGFuZ2VcclxuICAgICAgLnBpcGUoXHJcbiAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKGEsIGIpID0+IGEgPT09IGIgfHwgKCEhdGhpcy5tYXhsZW5ndGggJiYgYCR7Yn1gLmxlbmd0aCA+IE51bWJlcih0aGlzLm1heGxlbmd0aCkpKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy5fdW5TdWJqZWN0KVxyXG4gICAgICApXHJcbiAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICB0aGlzLmNoYW5nZSh4KTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBpbnB1dENoZWNrVmFsdWUoeDogRXZlbnQpIHtcclxuICAgIGNvbnN0IGlucHV0ID0geC50YXJnZXQgYXMgSFRNTElucHV0RWxlbWVudDtcclxuICAgIGxldCB2YWx1ZSA9IGlucHV0LnZhbHVlO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgY29uc3QgbGVuID0gWElzRW1wdHkodmFsdWUpID8gMCA6IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICBpZiAobGVuID4gTnVtYmVyKHRoaXMubWF4bGVuZ3RoKSkge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgTnVtYmVyKHRoaXMubWF4bGVuZ3RoKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMueElucHV0LmVtaXQoeCk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQoaW5wdXQudmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh0aGlzLl9yZXF1aXJlZCAmJiAhdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLnJlcXVpcmVkID0gWElzRW1wdHkodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRDbGVhcmFibGUoKTtcclxuICAgIGlmICh0aGlzLm1heGxlbmd0aCkge1xyXG4gICAgICB0aGlzLnZhbHVlTGVuZ3RoID0gWElzRW1wdHkodmFsdWUpID8gMCA6IGAke3ZhbHVlfWAubGVuZ3RoO1xyXG4gICAgICB0aGlzLmxlbmd0aFRvdGFsID0gYCR7dGhpcy52YWx1ZUxlbmd0aH0vJHt0aGlzLm1heGxlbmd0aH1gO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRQYWRkaW5nKCk7XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSAmJiAhdGhpcy5pc1dyaXRlVmFsdWUpIHtcclxuICAgICAgaWYgKHRoaXMudHlwZSA9PT0gJ251bWJlcicpIHtcclxuICAgICAgICBpZiAoWycnLCB1bmRlZmluZWQsIG51bGxdLmluY2x1ZGVzKHZhbHVlKSkge1xyXG4gICAgICAgICAgdmFsdWUgPSBudWxsO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB2YWx1ZSA9IE51bWJlcih2YWx1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIHRoaXMub25DaGFuZ2UodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMudmFsaWRhdG9yICYmIFhJc0Z1bmN0aW9uKHRoaXMuaW5wdXRWYWxpZGF0b3IpKSB7XHJcbiAgICAgIHRoaXMuaW52YWxpZElucHV0VmFsaWRhdG9yID0gIXRoaXMuaW5wdXRWYWxpZGF0b3IodmFsdWUpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxuXHJcbiAgb25DbGVhcigpIHtcclxuICAgIGNvbnN0IGNsZWFyVmFsdWUgPSB0aGlzLnZhbHVlO1xyXG4gICAgdGhpcy52YWx1ZSA9ICcnO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICB0aGlzLmNsZWFyRW1pdC5lbWl0KGNsZWFyVmFsdWUpO1xyXG4gIH1cclxuXHJcbiAgc2V0RmxleENsYXNzKCkge1xyXG4gICAgaWYgKHRoaXMuZmxleENsYXNzLmxlbmd0aCA+IDApIHtcclxuICAgICAgZm9yIChsZXQgY2xzIG9mIHRoaXMuZmxleENsYXNzKSB7XHJcbiAgICAgICAgdGhpcy5yZW5kZXJlci5yZW1vdmVDbGFzcyh0aGlzLmlucHV0RWxlbWVudC5uYXRpdmVFbGVtZW50LCBjbHMpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmZsZXhDbGFzcyA9IHRoaXMuc2V0RmxleChcclxuICAgICAgdGhpcy5pbnB1dEVsZW1lbnQubmF0aXZlRWxlbWVudCxcclxuICAgICAgdGhpcy5yZW5kZXJlcixcclxuICAgICAgdGhpcy5qdXN0aWZ5LFxyXG4gICAgICB0aGlzLmFsaWduLFxyXG4gICAgICB0aGlzLmRpcmVjdGlvblxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHNldENsZWFyYWJsZSgpIHtcclxuICAgIGlmICh0aGlzLmNsZWFyYWJsZSAmJiAhdGhpcy5kaXNhYmxlZCkge1xyXG4gICAgICB0aGlzLmNsZWFyU2hvdyA9ICFYSXNFbXB0eSh0aGlzLnZhbHVlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuY2xlYXJTaG93ID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldFBhZGRpbmcoKTtcclxuICB9XHJcblxyXG4gIHNldEluaGVyaXRlZFZhbHVlKCkge1xyXG4gICAgaWYgKCF0aGlzLmlucHV0R3JvdXApIHJldHVybjtcclxuICAgIGlmICghWElzVW5kZWZpbmVkKHRoaXMuaW5wdXRHcm91cC5zaXplKSkge1xyXG4gICAgICB0aGlzLnNpemUgPSB0aGlzLmlucHV0R3JvdXAuc2l6ZTtcclxuICAgIH1cclxuICAgIGlmICghWElzVW5kZWZpbmVkKHRoaXMuaW5wdXRHcm91cC5ib3JkZXJlZCkpIHtcclxuICAgICAgdGhpcy5ib3JkZXJlZCA9IHRoaXMuaW5wdXRHcm91cC5ib3JkZXJlZDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldFBhZGRpbmcoKSB7XHJcbiAgICB0aGlzLnBhZGRpbmdMZWZ0ID1cclxuICAgICAgdGhpcy5tYXhsZW5ndGggJiYgdGhpcy5pY29uICYmIHRoaXMuaWNvbkxheW91dCA9PT0gJ3JpZ2h0J1xyXG4gICAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwubGVuZ3RoICsgMikgKiAwLjM4NVxyXG4gICAgICAgIDogdGhpcy5pY29uICYmIHRoaXMuaWNvbkxheW91dCA9PT0gJ2xlZnQnXHJcbiAgICAgICAgICA/IE51bWJlcih0aGlzLmlucHV0SWNvblBhZGRpbmcpXHJcbiAgICAgICAgICA6IE51bWJlcih0aGlzLmlucHV0UGFkZGluZyk7XHJcbiAgICB0aGlzLnBhZGRpbmdSaWdodCA9XHJcbiAgICAgIHRoaXMubWF4bGVuZ3RoICYmIHRoaXMuaWNvbiAmJiB0aGlzLmljb25MYXlvdXQgPT09ICdsZWZ0J1xyXG4gICAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwubGVuZ3RoICsgMikgKiAwLjM4NVxyXG4gICAgICAgIDogKHRoaXMuaWNvbiB8fCB0aGlzLmNsZWFyU2hvdykgJiYgdGhpcy5pY29uTGF5b3V0ID09PSAncmlnaHQnXHJcbiAgICAgICAgICA/IE51bWJlcih0aGlzLmlucHV0SWNvblBhZGRpbmcpXHJcbiAgICAgICAgICA6IHRoaXMubWF4bGVuZ3RoICYmICF0aGlzLmljb25cclxuICAgICAgICAgICAgPyAodGhpcy5sZW5ndGhUb3RhbC5sZW5ndGggKyAyKSAqIDAuMzg1XHJcbiAgICAgICAgICAgIDogTnVtYmVyKHRoaXMuaW5wdXRQYWRkaW5nKTtcclxuICB9XHJcblxyXG4gIGlucHV0Rm9jdXModHlwZTogJ2ZvY3VzJyB8ICdzZWxlY3QnIHwgJ2JlZm9yZScgfCAnYWZ0ZXInID0gJ2FmdGVyJykge1xyXG4gICAgdGhpcy5pbnB1dFJlZi5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XHJcbiAgICBpZiAoIXRoaXMudmFsdWUpIHJldHVybjtcclxuICAgIGlmICh0eXBlID09PSAnYWZ0ZXInKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSh0aGlzLnZhbHVlLmxlbmd0aCwgdGhpcy52YWx1ZS5sZW5ndGgpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnYmVmb3JlJykge1xyXG4gICAgICB0aGlzLmlucHV0UmVmLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgMCk7XHJcbiAgICB9IGVsc2UgaWYgKHR5cGUgPT09ICdzZWxlY3QnKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRSZWYubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCB0aGlzLnZhbHVlLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZXRDbGFzc01hcCgpIHtcclxuICAgIFhDbGVhckNsYXNzKHRoaXMuY2xhc3NNYXAsIHRoaXMubGFiZWxNYXApO1xyXG4gICAgdGhpcy5jbGFzc01hcFtgJHtYSW5wdXRQcmVmaXh9LSR7dGhpcy5zaXplfWBdID0gdGhpcy5zaXplID8gdHJ1ZSA6IGZhbHNlO1xyXG4gICAgdGhpcy5sYWJlbE1hcFtgeC10ZXh0LWFsaWduLSR7dGhpcy5sYWJlbEFsaWdufWBdID0gdGhpcy5sYWJlbEFsaWduID8gdHJ1ZSA6IGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgZm9ybUNvbnRyb2xDaGFuZ2VzKCkge1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUpO1xyXG4gICAgdGhpcy5uZ09uSW5pdCgpO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2XHJcbiAgI2lucHV0RWxlbWVudFxyXG4gIGNsYXNzPVwieC1pbnB1dFwiXHJcbiAgW2NsYXNzLngtZmxleF09XCJqdXN0aWZ5IHx8IGFsaWduIHx8IGRpcmVjdGlvblwiXHJcbiAgW2NsYXNzLngtZGlzYWJsZWRdPVwiZGlzYWJsZWRcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eVwiXHJcbiAgW2NsYXNzLngtaW52YWxpZF09XCJpbnZhbGlkXCJcclxuICBbY2xhc3MueC1jbGVhcmFibGVdPVwiY2xlYXJhYmxlXCJcclxuICBbY2xhc3MueC1jbGVhci1zaG93XT1cImNsZWFyU2hvd1wiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbl09XCJnZXRJY29uXCJcclxuICBbY2xhc3MueC1pbnB1dC1hY3RpdmVdPVwiYWN0aXZlXCJcclxuICBbY2xhc3MueC1pbnB1dC1wb2ludGVyXT1cInBvaW50ZXJcIlxyXG4gIFtjbGFzcy54LWlucHV0LWJvcmRlcmVkXT1cImJvcmRlcmVkXCJcclxuICBbY2xhc3MueC1pbnB1dC1pY29uLWxlZnRdPVwiZ2V0SWNvbkxheW91dExlZnRcIlxyXG4gIFtjbGFzcy54LWlucHV0LWljb24tcmlnaHRdPVwiZ2V0SWNvbkxheW91dFJpZ2h0XCJcclxuICBbY2xhc3MueC1pbnB1dC1hZnRlcl09XCJhZnRlclwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYmVmb3JlXT1cImJlZm9yZVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYWZ0ZXItdGVtcGxhdGVdPVwiYWZ0ZXJJc1RlbXBsYXRlXCJcclxuICBbY2xhc3MueC1pbnB1dC1iZWZvcmUtdGVtcGxhdGVdPVwiYmVmb3JlSXNUZW1wbGF0ZVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtdmFsdWUtdGVtcGxhdGVdPVwidmFsdWVUcGxcIlxyXG4gIFtuZ0NsYXNzXT1cImNsYXNzTWFwXCJcclxuPlxyXG4gIEBpZiAobGFiZWwpIHtcclxuICAgIDxsYWJlbCBbY2xhc3MueC1pbnB1dC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZFwiIFtzdHlsZS53aWR0aF09XCJsYWJlbFdpZHRoXCIgW25nQ2xhc3NdPVwibGFiZWxNYXBcIj57eyBsYWJlbCB9fTwvbGFiZWw+XHJcbiAgfVxyXG4gIDxkaXYgY2xhc3M9XCJ4LWlucHV0LXJvd1wiPlxyXG4gICAgQGlmIChiZWZvcmUpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93LWJlZm9yZVwiIFtjbGFzcy54LWlucHV0LXJvdy1iZWZvcmUtdGVtcGxhdGVdPVwiYmVmb3JlSXNUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJiZWZvcmVcIj57eyBiZWZvcmUgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1pbnB1dC1pbnB1dFwiIChtb3VzZWVudGVyKT1cInhNb3VzZWVudGVyLmVtaXQoJGV2ZW50KVwiIChtb3VzZWxlYXZlKT1cInhNb3VzZWxlYXZlLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICBAaWYgKHZhbHVlVHBsKSB7XHJcbiAgICAgICAgPGRpdlxyXG4gICAgICAgICAgI2lucHV0VmFsdWVSZWZcclxuICAgICAgICAgIGNsYXNzPVwieC1pbnB1dC12YWx1ZS10ZW1wbGF0ZS12YWx1ZVwiXHJcbiAgICAgICAgICBbc3R5bGUubGVmdC5yZW1dPVwicGFkZGluZ0xlZnRcIlxyXG4gICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCIwXCJcclxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cIjBcIlxyXG4gICAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldFRlbXBsYXRlV2lkdGhcIlxyXG4gICAgICAgICAgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgID5cclxuICAgICAgICAgIDxuZy1jb250YWluZXJcclxuICAgICAgICAgICAgKm5nVGVtcGxhdGVPdXRsZXQ9XCJ2YWx1ZVRwbDsgY29udGV4dDogdmFsdWVUcGxDb250ZXh0ID8gdmFsdWVUcGxDb250ZXh0IDogeyAkdmFsdWU6IHZhbHVlIH1cIlxyXG4gICAgICAgICAgPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICB9XHJcbiAgICAgIDxpbnB1dFxyXG4gICAgICAgICNpbnB1dFJlZlxyXG4gICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiXHJcbiAgICAgICAgW2NsYXNzLngtaW5wdXQtaGFzLXZhbHVlLXRlbXBsYXRlXT1cInZhbHVlVHBsXCJcclxuICAgICAgICBbbmdTdHlsZV09XCJpbnB1dFN0eWxlXCJcclxuICAgICAgICBbdHlwZV09XCJ0eXBlXCJcclxuICAgICAgICBbcGxhY2Vob2xkZXJdPVwicGxhY2Vob2xkZXJcIlxyXG4gICAgICAgIFtyZXF1aXJlZF09XCJyZXF1aXJlZFwiXHJcbiAgICAgICAgW2Rpc2FibGVkXT1cImRpc2FibGVkXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHlcIlxyXG4gICAgICAgIFttYXhsZW5ndGhdPVwibWF4bGVuZ3RoXCJcclxuICAgICAgICBbbWluXT1cIm1pblwiXHJcbiAgICAgICAgW21pbl09XCJtYXhcIlxyXG4gICAgICAgIFsobmdNb2RlbCldPVwidmFsdWVcIlxyXG4gICAgICAgIChuZ01vZGVsQ2hhbmdlKT1cInZhbHVlQ2hhbmdlLm5leHQoJGV2ZW50KVwiXHJcbiAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdC5yZW1dPVwicGFkZGluZ0xlZnRcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0LnJlbV09XCJwYWRkaW5nUmlnaHRcIlxyXG4gICAgICAgIChmb2N1cyk9XCJ4Rm9jdXMuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoYmx1cik9XCJ4Qmx1ci5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChrZXlkb3duKT1cImZvcm1Db250cm9sVmFsaWRhdG9yKCk7IHhLZXlkb3duLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChjb21wb3NpdGlvbnN0YXJ0KT1cInhDb21wb3NpdGlvbi5uZXh0KHRydWUpXCJcclxuICAgICAgICAoY29tcG9zaXRpb25lbmQpPVwieENvbXBvc2l0aW9uLm5leHQoZmFsc2UpXCJcclxuICAgICAgLz5cclxuICAgICAgQGlmIChjbGVhclNob3cgJiYgIWljb25TcGluKSB7XHJcbiAgICAgICAgPHgtaWNvbiBjbGFzcz1cIngtaW5wdXQtY2xlYXJcIiB0eXBlPVwiZnRvLXhcIiAoY2xpY2spPVwib25DbGVhcigpXCI+PC94LWljb24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpY29uICYmICgoIWNsZWFyU2hvdyAmJiBnZXRJY29uTGF5b3V0UmlnaHQpIHx8IGdldEljb25MYXlvdXRMZWZ0IHx8IGljb25TcGluKSkge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvblwiIFtzcGluXT1cImljb25TcGluXCIgKGNsaWNrKT1cInhDbGljay5lbWl0KCRldmVudClcIj48L3gtaWNvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKG1heGxlbmd0aCkge1xyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwieC1pbnB1dC1tYXgtbGVuZ3RoXCI+e3sgbGVuZ3RoVG90YWwgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpbnZhbGlkKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LWlucHV0LWVycm9yLW1lc3NhZ2VcIj57eyBpbnZhbGlkTWVzc2FnZSB9fTwvc3Bhbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKHJlcXVpcmVkSXNFbXB0eSB8fCBpbnZhbGlkKSB7XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtdG9wLWxlZnRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC10b3AtcmlnaHRcIj48L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC1ib3R0b20tbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LWJvdHRvbS1yaWdodFwiPjwvZGl2PlxyXG4gICAgICB9XHJcbiAgICA8L2Rpdj5cclxuICAgIEBpZiAoYWZ0ZXIpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93LWFmdGVyXCIgW2NsYXNzLngtaW5wdXQtcm93LWFmdGVyLXRlbXBsYXRlXT1cImFmdGVySXNUZW1wbGF0ZVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJhZnRlclwiPnt7IGFmdGVyIH19PC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuIl19
|
|
216
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvaW5wdXQvaW5wdXQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFFVCxpQkFBaUIsRUFDakIsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixVQUFVLEVBQ1YsV0FBVyxFQUNYLFdBQVcsRUFDWCxNQUFNLEVBQ04sU0FBUyxFQUNULE1BQU0sRUFDTixRQUFRLEVBQ1QsTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFFLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNoRSxPQUFPLEVBQUUsUUFBUSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQVMsTUFBTSxrQkFBa0IsQ0FBQztBQUM5RSxPQUFPLEVBQUUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0UsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDckUsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUNsRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQzs7O0FBWXRELE1BQU0sT0FBTyxlQUFnQixTQUFRLGNBQWM7SUFWbkQ7O1FBV0UsaUJBQVksR0FBRyxT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UUFBUSxFQUFFLENBQUMsYUFBYSxDQUFDLGlCQUFpQixDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDMUUsQ0FBQztJQUNILENBQUM7SUFFRCxrQkFBa0IsS0FBSSxDQUFDO2lJQTlNWixlQUFlO3FIQUFmLGVBQWUsZ0hBRmYsQ0FBQyxjQUFjLENBQUMsZUFBZSxDQUFDLENBQUMsbUhBR2MsVUFBVSwrR0FDbEIsVUFBVSx5SEFDVCxVQUFVLHVIQUNaLFVBQVUsb0VDdEM3RCxpc0lBdUdBLHk3Y0Q1RVksT0FBTyxvRkFBRSxPQUFPLDJFQUFFLGdCQUFnQixtSkFBRSxXQUFXLDgrQkFBRSxtQkFBbUIsK0JBQUUsY0FBYyxtREFBRSxnQkFBZ0I7OzJGQU9yRyxlQUFlO2tCQVYzQixTQUFTOytCQUNFLEdBQUcsWUFBWSxFQUFFLGNBQ2YsSUFBSSxXQUNQLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxXQUFXLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixDQUFDLGlCQUdsRyxpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNLGFBQ3BDLENBQUMsY0FBYyxpQkFBaUIsQ0FBQzs4QkFRWixRQUFRO3NCQUF2QyxXQUFXO3VCQUFDLGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBPbkluaXQsXHJcbiAgVmlld0VuY2Fwc3VsYXRpb24sXHJcbiAgQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3ksXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgRWxlbWVudFJlZixcclxuICBUZW1wbGF0ZVJlZixcclxuICBIb3N0QmluZGluZyxcclxuICBpbmplY3QsXHJcbiAgdmlld0NoaWxkLFxyXG4gIHNpZ25hbCxcclxuICBjb21wdXRlZFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBYSW5wdXRQcmVmaXgsIFhJbnB1dFByb3BlcnR5IH0gZnJvbSAnLi9pbnB1dC5wcm9wZXJ0eSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYSXNVbmRlZmluZWQsIFhJc0Z1bmN0aW9uLCBYU2l6ZSB9IGZyb20gJ0BuZy1uZXN0L3VpL2NvcmUnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZnJvbUV2ZW50LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgWFZhbHVlQWNjZXNzb3IgfSBmcm9tICdAbmctbmVzdC91aS9iYXNlLWZvcm0nO1xyXG5pbXBvcnQgeyBYSW5wdXRHcm91cENvbXBvbmVudCB9IGZyb20gJy4vaW5wdXQtZ3JvdXAuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTmdDbGFzcywgTmdTdHlsZSwgTmdUZW1wbGF0ZU91dGxldCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IEZvcm1zTW9kdWxlLCBSZWFjdGl2ZUZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xyXG5pbXBvcnQgeyBYSWNvbkNvbXBvbmVudCB9IGZyb20gJ0BuZy1uZXN0L3VpL2ljb24nO1xyXG5pbXBvcnQgeyBYT3V0bGV0RGlyZWN0aXZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvb3V0bGV0JztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBgJHtYSW5wdXRQcmVmaXh9YCxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtOZ0NsYXNzLCBOZ1N0eWxlLCBOZ1RlbXBsYXRlT3V0bGV0LCBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSwgWEljb25Db21wb25lbnQsIFhPdXRsZXREaXJlY3RpdmVdLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9pbnB1dC5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vaW5wdXQuY29tcG9uZW50LnNjc3MnXSxcclxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxyXG4gIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxyXG4gIHByb3ZpZGVyczogW1hWYWx1ZUFjY2Vzc29yKFhJbnB1dENvbXBvbmVudCldXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBYSW5wdXRDb21wb25lbnQgZXh0ZW5kcyBYSW5wdXRQcm9wZXJ0eSBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgaW5wdXRFbGVtZW50ID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dEVsZW1lbnQnLCB7IHJlYWQ6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IH0pO1xyXG4gIGlucHV0UmVmID0gdmlld0NoaWxkLnJlcXVpcmVkKCdpbnB1dFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MSW5wdXRFbGVtZW50PiB9KTtcclxuICBpbnB1dFZhbHVlUmVmID0gdmlld0NoaWxkKCdpbnB1dFZhbHVlUmVmJywgeyByZWFkOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB9KTtcclxuICBtYXhMZW5ndGhSZWYgPSB2aWV3Q2hpbGQoJ21heExlbmd0aFJlZicsIHsgcmVhZDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4gfSk7XHJcblxyXG4gIEBIb3N0QmluZGluZygnc3R5bGUud2lkdGgnKSBnZXQgZ2V0V2lkdGgoKSB7XHJcbiAgICByZXR1cm4gdGhpcy53aWR0aCgpO1xyXG4gIH1cclxuXHJcbiAgb3ZlcnJpZGUgd3JpdGVWYWx1ZSh2YWx1ZTogYW55KSB7XHJcbiAgICB0aGlzLnZhbHVlLnNldCh2YWx1ZSk7XHJcbiAgICB0aGlzLmlzV3JpdGVWYWx1ZS5zZXQodHJ1ZSk7XHJcbiAgICB0aGlzLnZhbHVlQ2hhbmdlLm5leHQodmFsdWUpO1xyXG4gICAgdGhpcy5pc1dyaXRlVmFsdWUuc2V0KGZhbHNlKTtcclxuICB9XHJcblxyXG4gIGNsYXNzTWFwID0gY29tcHV0ZWQoKCkgPT4gKHtcclxuICAgIFtgJHtYSW5wdXRQcmVmaXh9LSR7dGhpcy5zaXplKCl9YF06ICEhdGhpcy5zaXplKCksXHJcbiAgICBbYHgtanVzdGlmeS0ke3RoaXMuanVzdGlmeSgpfWBdOiAhIXRoaXMuanVzdGlmeSgpLFxyXG4gICAgW2B4LWFsaWduLSR7dGhpcy5hbGlnbigpfWBdOiAhIXRoaXMuYWxpZ24oKSxcclxuICAgIFtgeC1kaXJlY3Rpb24tJHt0aGlzLmRpcmVjdGlvbigpfWBdOiAhIXRoaXMuZGlyZWN0aW9uKClcclxuICB9KSk7XHJcbiAgbGFiZWxNYXBTaWduYWwgPSBjb21wdXRlZCgoKSA9PiAoe1xyXG4gICAgW2B4LXRleHQtYWxpZ24tJHt0aGlzLmxhYmVsQWxpZ24oKX1gXTogISF0aGlzLmxhYmVsQWxpZ24oKVxyXG4gIH0pKTtcclxuXHJcbiAgdmFsdWVMZW5ndGggPSBzaWduYWwoMCk7XHJcbiAgbGVuZ3RoVG90YWwgPSBzaWduYWwoJycpO1xyXG4gIHBhZGRpbmdMZWZ0ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIHRoaXMubWF4bGVuZ3RoKCkgJiYgdGhpcy5pY29uKCkgJiYgdGhpcy5pY29uTGF5b3V0KCkgPT09ICdyaWdodCdcclxuICAgICAgPyAodGhpcy5sZW5ndGhUb3RhbCgpLmxlbmd0aCArIDIpICogMC41ICsgJ3JlbSdcclxuICAgICAgOiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5pbnB1dFBhZGRpbmcoKTtcclxuICB9KTtcclxuICBwYWRkaW5nUmlnaHQgPSBjb21wdXRlZCgoKSA9PiB7XHJcbiAgICByZXR1cm4gdGhpcy5tYXhsZW5ndGgoKSAmJiB0aGlzLmljb24oKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ2xlZnQnXHJcbiAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgIDogKCh0aGlzLmljb24oKSB8fCB0aGlzLmNsZWFyU2hvdygpKSAmJiB0aGlzLmljb25MYXlvdXQoKSA9PT0gJ3JpZ2h0JykgfHxcclxuICAgICAgICAgICh0aGlzLmNsZWFyU2hvdygpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCcpXHJcbiAgICAgICAgPyB0aGlzLmlucHV0SWNvblBhZGRpbmcoKVxyXG4gICAgICAgIDogdGhpcy5tYXhsZW5ndGgoKSAmJiAhdGhpcy5pY29uKClcclxuICAgICAgICAgID8gKHRoaXMubGVuZ3RoVG90YWwoKS5sZW5ndGggKyAyKSAqIDAuNSArICdyZW0nXHJcbiAgICAgICAgICA6IHRoaXMuaW5wdXRQYWRkaW5nKCk7XHJcbiAgfSk7XHJcbiAgY2xlYXJTaG93ID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgaWYgKHRoaXMuY2xlYXJhYmxlKCkgJiYgIXRoaXMuZGlzYWJsZWRDb21wdXRlZCgpKSB7XHJcbiAgICAgIHJldHVybiAhWElzRW1wdHkodGhpcy52YWx1ZSgpKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBmYWxzZTtcclxuICAgIH1cclxuICB9KTtcclxuICB2YWx1ZUNoYW5nZSA9IG5ldyBTdWJqZWN0PGFueT4oKTtcclxuICBpc0NvbXBvc2l0aW9uID0gc2lnbmFsKGZhbHNlKTtcclxuICBpc1dyaXRlVmFsdWUgPSBzaWduYWwoZmFsc2UpO1xyXG4gIHByaXZhdGUgdW5TdWJqZWN0ID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgZ2V0SWNvbiA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpO1xyXG4gIH0pO1xyXG5cclxuICBnZXRJY29uTGF5b3V0TGVmdCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAnbGVmdCc7XHJcbiAgfSk7XHJcblxyXG4gIGdldEljb25MYXlvdXRSaWdodCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIHJldHVybiAhWElzRW1wdHkodGhpcy5pY29uKCkpICYmIHRoaXMuaWNvbkxheW91dCgpID09PSAncmlnaHQnO1xyXG4gIH0pO1xyXG5cclxuICBnZXRNYXhMZW5ndGhXaWR0aCA9IGNvbXB1dGVkKCgpID0+IHtcclxuICAgIGlmICh0aGlzLmdldEljb25MYXlvdXRSaWdodCgpKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnBhZGRpbmdMZWZ0KCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICByZXR1cm4gdGhpcy5wYWRkaW5nUmlnaHQoKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgYmVmb3JlSXNUZW1wbGF0ZSA9IGNvbXB1dGVkKCgpID0+IHRoaXMuYmVmb3JlKCkgaW5zdGFuY2VvZiBUZW1wbGF0ZVJlZik7XHJcbiAgYWZ0ZXJJc1RlbXBsYXRlID0gY29tcHV0ZWQoKCkgPT4gdGhpcy5hZnRlcigpIGluc3RhbmNlb2YgVGVtcGxhdGVSZWYpO1xyXG5cclxuICBnZXRUZW1wbGF0ZVdpZHRoID0gY29tcHV0ZWQoKCkgPT4ge1xyXG4gICAgcmV0dXJuIGBjYWxjKDEwMCUgLSAke3RoaXMucGFkZGluZ0xlZnQoKX0gLSAke3RoaXMucGFkZGluZ1JpZ2h0KCl9KWA7XHJcbiAgfSk7XHJcblxyXG4gIGZvY3VzZWQgPSBzaWduYWwoZmFsc2UpO1xyXG4gIGdyb3VwU2l6ZSA9IHNpZ25hbDxYU2l6ZSB8IG51bGw+KG51bGwpO1xyXG4gIGdyb3VwQm9yZGVyZWQgPSBzaWduYWw8Ym9vbGVhbiB8IG51bGw+KG51bGwpO1xyXG5cclxuICBvdmVycmlkZSBjZHIgPSBpbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpO1xyXG4gIHByaXZhdGUgaW5wdXRHcm91cCA9IGluamVjdChYSW5wdXRHcm91cENvbXBvbmVudCwgeyBvcHRpb25hbDogdHJ1ZSB9KTtcclxuICBlbGVtZW50UmVmID0gaW5qZWN0KEVsZW1lbnRSZWYpO1xyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2V0SW5oZXJpdGVkVmFsdWUoKTtcclxuICAgIHRoaXMuc2V0RXZlbnQoKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51blN1YmplY3QubmV4dCgpO1xyXG4gICAgdGhpcy51blN1YmplY3QuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIHNldEV2ZW50KCkge1xyXG4gICAgY29uc3QgaW5wdXRSZWYgPSB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudDtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uc3RhcnQnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmlzQ29tcG9zaXRpb24uc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2NvbXBvc2l0aW9uZW5kJylcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5TdWJqZWN0KSlcclxuICAgICAgLnN1YnNjcmliZSgoeDogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5pc0NvbXBvc2l0aW9uLnNldChmYWxzZSk7XHJcbiAgICAgICAgdGhpcy5pbnB1dENoZWNrVmFsdWUoeCk7XHJcbiAgICAgIH0pO1xyXG4gICAgZnJvbUV2ZW50KGlucHV0UmVmLCAnZm9jdXMnKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KHRydWUpO1xyXG4gICAgICB9KTtcclxuICAgIGZyb21FdmVudChpbnB1dFJlZiwgJ2JsdXInKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy51blN1YmplY3QpKVxyXG4gICAgICAuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgICB0aGlzLmZvY3VzZWQuc2V0KGZhbHNlKTtcclxuICAgICAgfSk7XHJcbiAgICBmcm9tRXZlbnQ8SW5wdXRFdmVudD4oaW5wdXRSZWYsICdpbnB1dCcpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuU3ViamVjdCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKHg6IElucHV0RXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoIXRoaXMuaXNDb21wb3NpdGlvbigpKSB7XHJcbiAgICAgICAgICB0aGlzLmlucHV0Q2hlY2tWYWx1ZSh4KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZVxyXG4gICAgICAucGlwZShcclxuICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgoYSwgYikgPT4gYSA9PT0gYiB8fCAoISF0aGlzLm1heGxlbmd0aCgpICYmIGAke2J9YC5sZW5ndGggPiBOdW1iZXIodGhpcy5tYXhsZW5ndGgoKSkpKSxcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51blN1YmplY3QpXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgIHRoaXMuY2hhbmdlKHgpO1xyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGlucHV0Q2hlY2tWYWx1ZSh4OiBFdmVudCkge1xyXG4gICAgY29uc3QgaW5wdXQgPSB4LnRhcmdldCBhcyBIVE1MSW5wdXRFbGVtZW50O1xyXG4gICAgbGV0IHZhbHVlID0gaW5wdXQudmFsdWU7XHJcbiAgICBpZiAodGhpcy50eXBlKCkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgIGNvbnN0IGxlbiA9IFhJc0VtcHR5KHZhbHVlKSA/IDAgOiBgJHt2YWx1ZX1gLmxlbmd0aDtcclxuICAgICAgaWYgKGxlbiA+IE51bWJlcih0aGlzLm1heGxlbmd0aCgpKSkge1xyXG4gICAgICAgIGlucHV0LnZhbHVlID0gdmFsdWUuc2xpY2UoMCwgdGhpcy5tYXhsZW5ndGgoKSEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnhJbnB1dC5lbWl0KHgpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KGlucHV0LnZhbHVlKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZSh2YWx1ZTogYW55KSB7XHJcbiAgICBpZiAodGhpcy5tYXhsZW5ndGgpIHtcclxuICAgICAgdGhpcy52YWx1ZUxlbmd0aC5zZXQoWElzRW1wdHkodmFsdWUpID8gMCA6IGAke3ZhbHVlfWAubGVuZ3RoKTtcclxuICAgICAgdGhpcy5sZW5ndGhUb3RhbC5zZXQoYCR7dGhpcy52YWx1ZUxlbmd0aCgpfS8ke3RoaXMubWF4bGVuZ3RoKCl9YCk7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5vbkNoYW5nZSAmJiAhdGhpcy5pc1dyaXRlVmFsdWUoKSkge1xyXG4gICAgICBpZiAodGhpcy50eXBlKCkgPT09ICdudW1iZXInKSB7XHJcbiAgICAgICAgaWYgKFsnJywgdW5kZWZpbmVkLCBudWxsXS5pbmNsdWRlcyh2YWx1ZSkpIHtcclxuICAgICAgICAgIHZhbHVlID0gbnVsbDtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdmFsdWUgPSBOdW1iZXIodmFsdWUpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICB0aGlzLm9uQ2hhbmdlKHZhbHVlKTtcclxuICAgIH1cclxuICAgIGlmICh0aGlzLnZhbGlkYXRvckNvbXB1dGVkKCkgJiYgWElzRnVuY3Rpb24odGhpcy5pbnB1dFZhbGlkYXRvcigpKSkge1xyXG4gICAgICB0aGlzLmludmFsaWRJbnB1dFZhbGlkYXRvci5zZXQoIXRoaXMuaW5wdXRWYWxpZGF0b3IoKSEodmFsdWUpKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG9uQ2xlYXIoKSB7XHJcbiAgICBjb25zdCBjbGVhclZhbHVlID0gdGhpcy52YWx1ZSgpO1xyXG4gICAgdGhpcy52YWx1ZS5zZXQoJycpO1xyXG4gICAgdGhpcy52YWx1ZUNoYW5nZS5uZXh0KHRoaXMudmFsdWUoKSk7XHJcbiAgICB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgdGhpcy5jbGVhckVtaXQuZW1pdChjbGVhclZhbHVlKTtcclxuICB9XHJcblxyXG4gIHNldEluaGVyaXRlZFZhbHVlKCkge1xyXG4gICAgaWYgKCF0aGlzLmlucHV0R3JvdXApIHJldHVybjtcclxuICAgIGlmICghWElzVW5kZWZpbmVkKHRoaXMuaW5wdXRHcm91cC5zaXplKCkpKSB7XHJcbiAgICAgIHRoaXMuZ3JvdXBTaXplLnNldCh0aGlzLmlucHV0R3JvdXAuc2l6ZSgpISk7XHJcbiAgICB9XHJcbiAgICBpZiAoIVhJc1VuZGVmaW5lZCh0aGlzLmlucHV0R3JvdXAuYm9yZGVyZWQoKSkpIHtcclxuICAgICAgdGhpcy5ncm91cEJvcmRlcmVkLnNldCh0aGlzLmlucHV0R3JvdXAuYm9yZGVyZWQoKSEpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW5wdXRGb2N1cyh0eXBlOiAnZm9jdXMnIHwgJ3NlbGVjdCcgfCAnYmVmb3JlJyB8ICdhZnRlcicgPSAnYWZ0ZXInKSB7XHJcbiAgICB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudC5mb2N1cygpO1xyXG4gICAgaWYgKCF0aGlzLnZhbHVlKCkpIHJldHVybjtcclxuICAgIGlmICh0eXBlID09PSAnYWZ0ZXInKSB7XHJcbiAgICAgIHRoaXMuaW5wdXRSZWYoKS5uYXRpdmVFbGVtZW50LnNldFNlbGVjdGlvblJhbmdlKHRoaXMudmFsdWUoKS5sZW5ndGgsIHRoaXMudmFsdWUoKS5sZW5ndGgpO1xyXG4gICAgfSBlbHNlIGlmICh0eXBlID09PSAnYmVmb3JlJykge1xyXG4gICAgICB0aGlzLmlucHV0UmVmKCkubmF0aXZlRWxlbWVudC5zZXRTZWxlY3Rpb25SYW5nZSgwLCAwKTtcclxuICAgIH0gZWxzZSBpZiAodHlwZSA9PT0gJ3NlbGVjdCcpIHtcclxuICAgICAgdGhpcy5pbnB1dFJlZigpLm5hdGl2ZUVsZW1lbnQuc2V0U2VsZWN0aW9uUmFuZ2UoMCwgdGhpcy52YWx1ZSgpLmxlbmd0aCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmb3JtQ29udHJvbENoYW5nZXMoKSB7fVxyXG59XHJcbiIsIjxkaXZcclxuICAjaW5wdXRFbGVtZW50XHJcbiAgY2xhc3M9XCJ4LWlucHV0XCJcclxuICBbY2xhc3MueC1mbGV4XT1cImp1c3RpZnkoKSB8fCBhbGlnbigpIHx8IGRpcmVjdGlvbigpXCJcclxuICBbY2xhc3MueC1kaXNhYmxlZF09XCJkaXNhYmxlZENvbXB1dGVkKClcIlxyXG4gIFtjbGFzcy54LXJlcXVpcmVkXT1cInJlcXVpcmVkSXNFbXB0eSgpXCJcclxuICBbY2xhc3MueC1pbnZhbGlkXT1cImludmFsaWQoKVwiXHJcbiAgW2NsYXNzLngtY2xlYXJhYmxlXT1cImNsZWFyYWJsZSgpXCJcclxuICBbY2xhc3MueC1jbGVhci1zaG93XT1cImNsZWFyU2hvdygpXCJcclxuICBbY2xhc3MueC1pbnB1dC1pY29uXT1cImdldEljb24oKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYWN0aXZlXT1cImFjdGl2ZSgpXCJcclxuICBbY2xhc3MueC1pbnB1dC1mb2N1c109XCJmb2N1c2VkKClcIlxyXG4gIFtjbGFzcy54LWlucHV0LXBvaW50ZXJdPVwicG9pbnRlcigpXCJcclxuICBbY2xhc3MueC1pbnB1dC1ib3JkZXJlZF09XCJib3JkZXJlZCgpXCJcclxuICBbY2xhc3MueC1pbnB1dC1pY29uLWxlZnRdPVwiZ2V0SWNvbkxheW91dExlZnQoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtaWNvbi1yaWdodF09XCJnZXRJY29uTGF5b3V0UmlnaHQoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYWZ0ZXJdPVwiYWZ0ZXIoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYmVmb3JlXT1cImJlZm9yZSgpXCJcclxuICBbY2xhc3MueC1pbnB1dC1hZnRlci10ZW1wbGF0ZV09XCJhZnRlcklzVGVtcGxhdGUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtYmVmb3JlLXRlbXBsYXRlXT1cImJlZm9yZUlzVGVtcGxhdGUoKVwiXHJcbiAgW2NsYXNzLngtaW5wdXQtdmFsdWUtdGVtcGxhdGVdPVwidmFsdWVUcGwoKVwiXHJcbiAgW25nQ2xhc3NdPVwiY2xhc3NNYXAoKVwiXHJcbj5cclxuICBAaWYgKGxhYmVsKCkpIHtcclxuICAgIDxsYWJlbFxyXG4gICAgICBbY2xhc3MueC1pbnB1dC1sYWJlbC1yZXF1aXJlZF09XCJyZXF1aXJlZENvbXB1dGVkKClcIlxyXG4gICAgICBbc3R5bGUud2lkdGhdPVwibGFiZWxXaWR0aCgpXCJcclxuICAgICAgW25nQ2xhc3NdPVwibGFiZWxNYXBTaWduYWwoKVwiXHJcbiAgICAgID57eyBsYWJlbCgpIH19PC9sYWJlbFxyXG4gICAgPlxyXG4gIH1cclxuICA8ZGl2IGNsYXNzPVwieC1pbnB1dC1yb3dcIj5cclxuICAgIEBpZiAoYmVmb3JlKCkpIHtcclxuICAgICAgPGRpdiBjbGFzcz1cIngtaW5wdXQtcm93LWJlZm9yZVwiIFtjbGFzcy54LWlucHV0LXJvdy1iZWZvcmUtdGVtcGxhdGVdPVwiYmVmb3JlSXNUZW1wbGF0ZSgpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqeE91dGxldD1cImJlZm9yZSgpXCI+e3sgYmVmb3JlKCkgfX08L25nLWNvbnRhaW5lcj5cclxuICAgICAgPC9kaXY+XHJcbiAgICB9XHJcbiAgICA8ZGl2IGNsYXNzPVwieC1pbnB1dC1pbnB1dFwiIChtb3VzZWVudGVyKT1cInhNb3VzZWVudGVyLmVtaXQoJGV2ZW50KVwiIChtb3VzZWxlYXZlKT1cInhNb3VzZWxlYXZlLmVtaXQoJGV2ZW50KVwiPlxyXG4gICAgICBAaWYgKHZhbHVlVHBsKCkpIHtcclxuICAgICAgICA8ZGl2XHJcbiAgICAgICAgICAjaW5wdXRWYWx1ZVJlZlxyXG4gICAgICAgICAgY2xhc3M9XCJ4LWlucHV0LXZhbHVlLXRlbXBsYXRlLXZhbHVlXCJcclxuICAgICAgICAgIFtzdHlsZS5sZWZ0XT1cInBhZGRpbmdMZWZ0KClcIlxyXG4gICAgICAgICAgW3N0eWxlLnBhZGRpbmctbGVmdF09XCIwXCJcclxuICAgICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cIjBcIlxyXG4gICAgICAgICAgW3N0eWxlLndpZHRoXT1cImdldFRlbXBsYXRlV2lkdGgoKVwiXHJcbiAgICAgICAgICAoY2xpY2spPVwieENsaWNrLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgPlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICAqbmdUZW1wbGF0ZU91dGxldD1cInZhbHVlVHBsKCkhOyBjb250ZXh0OiB2YWx1ZVRwbENvbnRleHQoKSA/IHZhbHVlVHBsQ29udGV4dCgpIDogeyAkdmFsdWU6IHZhbHVlKCkgfVwiXHJcbiAgICAgICAgICA+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIH1cclxuICAgICAgPGlucHV0XHJcbiAgICAgICAgI2lucHV0UmVmXHJcbiAgICAgICAgYXV0b2NvbXBsZXRlPVwib2ZmXCJcclxuICAgICAgICBbY2xhc3MueC1pbnB1dC1oYXMtdmFsdWUtdGVtcGxhdGVdPVwidmFsdWVUcGwoKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiaW5wdXRTdHlsZSgpXCJcclxuICAgICAgICBbdHlwZV09XCJ0eXBlKClcIlxyXG4gICAgICAgIFtwbGFjZWhvbGRlcl09XCJwbGFjZWhvbGRlcigpXCJcclxuICAgICAgICBbcmVxdWlyZWRdPVwicmVxdWlyZWRDb21wdXRlZCgpXCJcclxuICAgICAgICBbZGlzYWJsZWRdPVwiZGlzYWJsZWRDb21wdXRlZCgpXCJcclxuICAgICAgICBbcmVhZG9ubHldPVwicmVhZG9ubHkoKVwiXHJcbiAgICAgICAgW21heGxlbmd0aF09XCJtYXhsZW5ndGgoKVwiXHJcbiAgICAgICAgW21pbl09XCJtaW4oKVwiXHJcbiAgICAgICAgW21pbl09XCJtYXgoKVwiXHJcbiAgICAgICAgWyhuZ01vZGVsKV09XCJ2YWx1ZVwiXHJcbiAgICAgICAgKG5nTW9kZWxDaGFuZ2UpPVwidmFsdWVDaGFuZ2UubmV4dCgkZXZlbnQpXCJcclxuICAgICAgICBbc3R5bGUucGFkZGluZy1sZWZ0XT1cInBhZGRpbmdMZWZ0KClcIlxyXG4gICAgICAgIFtzdHlsZS5wYWRkaW5nLXJpZ2h0XT1cInBhZGRpbmdSaWdodCgpXCJcclxuICAgICAgICAoZm9jdXMpPVwieEZvY3VzLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgICAgKGJsdXIpPVwieEJsdXIuZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoa2V5ZG93bik9XCJmb3JtQ29udHJvbFZhbGlkYXRvcigpOyB4S2V5ZG93bi5lbWl0KCRldmVudClcIlxyXG4gICAgICAgIChjbGljayk9XCJ4Q2xpY2suZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoY29tcG9zaXRpb25zdGFydCk9XCJ4Q29tcG9zaXRpb24uZW1pdCgkZXZlbnQpXCJcclxuICAgICAgICAoY29tcG9zaXRpb25lbmQpPVwieENvbXBvc2l0aW9uLmVtaXQoJGV2ZW50KVwiXHJcbiAgICAgIC8+XHJcbiAgICAgIEBpZiAoY2xlYXJTaG93KCkgJiYgIWljb25TcGluKCkpIHtcclxuICAgICAgICA8eC1pY29uIGNsYXNzPVwieC1pbnB1dC1jbGVhclwiIHR5cGU9XCJmdG8teFwiIChjbGljayk9XCJvbkNsZWFyKClcIj48L3gtaWNvbj5cclxuICAgICAgfVxyXG4gICAgICBAaWYgKGljb24oKSAmJiAoKCFjbGVhclNob3coKSAmJiBnZXRJY29uTGF5b3V0UmlnaHQoKSkgfHwgZ2V0SWNvbkxheW91dExlZnQoKSB8fCBpY29uU3BpbigpKSkge1xyXG4gICAgICAgIDx4LWljb24gW3R5cGVdPVwiaWNvbigpXCIgW3NwaW5dPVwiaWNvblNwaW4oKVwiIChjbGljayk9XCJ4Q2xpY2suZW1pdCgkZXZlbnQpXCI+PC94LWljb24+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChtYXhsZW5ndGgoKSAmJiBsZW5ndGhUb3RhbCgpKSB7XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJ4LWlucHV0LW1heC1sZW5ndGhcIiBbc3R5bGUud2lkdGhdPVwiZ2V0TWF4TGVuZ3RoV2lkdGgoKVwiPnt7IGxlbmd0aFRvdGFsKCkgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChpbnZhbGlkKCkpIHtcclxuICAgICAgICA8c3BhbiBjbGFzcz1cIngtaW5wdXQtZXJyb3ItbWVzc2FnZVwiPnt7IGludmFsaWRNZXNzYWdlKCkgfX08L3NwYW4+XHJcbiAgICAgIH1cclxuICAgICAgQGlmIChyZXF1aXJlZElzRW1wdHkoKSB8fCBpbnZhbGlkKCkpIHtcclxuICAgICAgICA8ZGl2IGNsYXNzPVwieC1ib3JkZXItZXJyb3IgeC10b3AtbGVmdFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LXRvcC1yaWdodFwiPjwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ4LWJvcmRlci1lcnJvciB4LWJvdHRvbS1sZWZ0XCI+PC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cIngtYm9yZGVyLWVycm9yIHgtYm90dG9tLXJpZ2h0XCI+PC9kaXY+XHJcbiAgICAgIH1cclxuICAgIDwvZGl2PlxyXG4gICAgQGlmIChhZnRlcigpKSB7XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJ4LWlucHV0LXJvdy1hZnRlclwiIFtjbGFzcy54LWlucHV0LXJvdy1hZnRlci10ZW1wbGF0ZV09XCJhZnRlcklzVGVtcGxhdGUoKVwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKnhPdXRsZXQ9XCJhZnRlcigpXCI+e3sgYWZ0ZXIoKSB9fTwvbmctY29udGFpbmVyPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIH1cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|