@taiga-ui/addon-commerce 2.54.0 → 3.0.0-rc.0
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/bundles/taiga-ui-addon-commerce-components-card.umd.js +424 -305
- package/bundles/taiga-ui-addon-commerce-components-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js +623 -466
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js +461 -331
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js +444 -314
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js +432 -306
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js +518 -387
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components.umd.js +15 -27
- package/bundles/taiga-ui-addon-commerce-components.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-constants.umd.js +38 -36
- package/bundles/taiga-ui-addon-commerce-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js +6 -35
- package/bundles/taiga-ui-addon-commerce-enums.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-interfaces.umd.js +2 -2
- package/bundles/taiga-ui-addon-commerce-interfaces.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-pipes.umd.js +63 -274
- package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-tokens.umd.js +11 -7
- package/bundles/taiga-ui-addon-commerce-tokens.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-types.umd.js +2 -2
- package/bundles/taiga-ui-addon-commerce-types.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.js +63 -107
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-validators.umd.js +17 -11
- package/bundles/taiga-ui-addon-commerce-validators.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce.umd.js +31 -33
- package/bundles/taiga-ui-addon-commerce.umd.js.map +1 -1
- package/components/card/card.component.d.ts +5 -2
- package/components/card/card.module.d.ts +7 -0
- package/components/card/package.json +2 -5
- package/components/card/taiga-ui-addon-commerce-components-card.d.ts +1 -0
- package/components/input-card/input-card.component.d.ts +4 -2
- package/components/input-card/input-card.module.d.ts +8 -0
- package/components/input-card/package.json +2 -5
- package/components/input-card/taiga-ui-addon-commerce-components-input-card.d.ts +1 -0
- package/components/input-card-grouped/input-card-grouped.component.d.ts +5 -3
- package/components/input-card-grouped/input-card-grouped.module.d.ts +12 -0
- package/components/input-card-grouped/package.json +2 -5
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.d.ts +1 -0
- package/components/input-cvc/input-cvc.component.d.ts +3 -1
- package/components/input-cvc/input-cvc.module.d.ts +8 -0
- package/components/input-cvc/package.json +2 -5
- package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.d.ts +1 -0
- package/components/input-expire/input-expire.component.d.ts +3 -1
- package/components/input-expire/input-expire.module.d.ts +8 -0
- package/components/input-expire/package.json +2 -5
- package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.d.ts +1 -0
- package/components/money/money-options.d.ts +4 -4
- package/components/money/money.component.d.ts +7 -4
- package/components/money/money.module.d.ts +10 -0
- package/components/money/package.json +2 -5
- package/components/money/pipes/fraction-part.pipe.d.ts +5 -2
- package/components/money/pipes/integer-part.pipe.d.ts +3 -0
- package/components/money/pipes/sign-symbol.pipe.d.ts +5 -2
- package/components/money/taiga-ui-addon-commerce-components-money.d.ts +1 -0
- package/components/money/utils/format-fraction-part.d.ts +2 -2
- package/components/money/utils/format-sign-symbol.d.ts +2 -2
- package/components/package.json +2 -5
- package/components/taiga-ui-addon-commerce-components.d.ts +1 -0
- package/constants/package.json +2 -5
- package/constants/taiga-ui-addon-commerce-constants.d.ts +1 -0
- package/enums/currency-code.d.ts +0 -5
- package/enums/index.d.ts +0 -2
- package/enums/package.json +2 -5
- package/enums/taiga-ui-addon-commerce-enums.d.ts +1 -0
- package/esm2015/components/card/card.component.js +44 -30
- package/esm2015/components/card/card.module.js +15 -12
- package/esm2015/components/card/index.js +1 -1
- package/esm2015/components/card/taiga-ui-addon-commerce-components-card.js +1 -1
- package/esm2015/components/index.js +1 -1
- package/esm2015/components/input-card/index.js +1 -1
- package/esm2015/components/input-card/input-card.component.js +72 -56
- package/esm2015/components/input-card/input-card.module.js +24 -13
- package/esm2015/components/input-card/taiga-ui-addon-commerce-components-input-card.js +1 -1
- package/esm2015/components/input-card-grouped/index.js +1 -1
- package/esm2015/components/input-card-grouped/input-card-grouped.component.js +148 -121
- package/esm2015/components/input-card-grouped/input-card-grouped.module.js +45 -15
- package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +3 -3
- package/esm2015/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +1 -1
- package/esm2015/components/input-cvc/index.js +1 -1
- package/esm2015/components/input-cvc/input-cvc.component.js +56 -43
- package/esm2015/components/input-cvc/input-cvc.module.js +26 -13
- package/esm2015/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +1 -1
- package/esm2015/components/input-expire/index.js +1 -1
- package/esm2015/components/input-expire/input-expire.component.js +49 -38
- package/esm2015/components/input-expire/input-expire.module.js +24 -13
- package/esm2015/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +1 -1
- package/esm2015/components/money/index.js +1 -1
- package/esm2015/components/money/money-options.js +4 -4
- package/esm2015/components/money/money.component.js +50 -37
- package/esm2015/components/money/money.module.js +23 -17
- package/esm2015/components/money/pipes/fraction-part.pipe.js +13 -12
- package/esm2015/components/money/pipes/integer-part.pipe.js +13 -12
- package/esm2015/components/money/pipes/sign-symbol.pipe.js +10 -8
- package/esm2015/components/money/taiga-ui-addon-commerce-components-money.js +1 -1
- package/esm2015/components/money/utils/format-fraction-part.js +4 -4
- package/esm2015/components/money/utils/format-sign-symbol.js +6 -7
- package/esm2015/components/taiga-ui-addon-commerce-components.js +1 -1
- package/esm2015/constants/card-holder-mask.js +27 -27
- package/esm2015/constants/card-mask.js +5 -5
- package/esm2015/constants/default-card-validator.js +3 -3
- package/esm2015/constants/index.js +1 -1
- package/esm2015/constants/taiga-ui-addon-commerce-constants.js +1 -1
- package/esm2015/enums/currency-code.js +1 -7
- package/esm2015/enums/currency.js +1 -1
- package/esm2015/enums/index.js +1 -3
- package/esm2015/enums/taiga-ui-addon-commerce-enums.js +1 -1
- package/esm2015/index.js +3 -1
- package/esm2015/interfaces/card.js +2 -1
- package/esm2015/interfaces/index.js +2 -1
- package/esm2015/interfaces/taiga-ui-addon-commerce-interfaces.js +2 -1
- package/esm2015/pipes/currency/currency.module.js +14 -11
- package/esm2015/pipes/currency/currency.pipe.js +12 -10
- package/esm2015/pipes/format-card/format-card.module.js +14 -11
- package/esm2015/pipes/format-card/format-card.pipe.js +14 -12
- package/esm2015/pipes/index.js +1 -1
- package/esm2015/pipes/taiga-ui-addon-commerce-pipes.js +1 -1
- package/esm2015/taiga-ui-addon-commerce.js +1 -1
- package/esm2015/tokens/i18n.js +6 -6
- package/esm2015/tokens/index.js +1 -1
- package/esm2015/tokens/taiga-ui-addon-commerce-tokens.js +1 -1
- package/esm2015/types/code-length.js +2 -1
- package/esm2015/types/currency-variants.js +2 -1
- package/esm2015/types/index.js +5 -1
- package/esm2015/types/money-sign.js +2 -1
- package/esm2015/types/payment-system.js +2 -0
- package/esm2015/types/taiga-ui-addon-commerce-types.js +2 -1
- package/esm2015/utils/create-auto-corrected-expire-pipe.js +6 -6
- package/esm2015/utils/format-currency.js +7 -7
- package/esm2015/utils/get-currency-symbol.js +21 -26
- package/esm2015/utils/get-payment-system.js +18 -48
- package/esm2015/utils/index.js +1 -1
- package/esm2015/utils/is-card-length-valid.js +9 -11
- package/esm2015/utils/is-card-number-valid.js +4 -6
- package/esm2015/utils/is-expire-valid.js +1 -1
- package/esm2015/utils/taiga-ui-addon-commerce-utils.js +1 -1
- package/esm2015/validators/card-expire.validator.js +2 -2
- package/esm2015/validators/card-number.validator.js +4 -4
- package/esm2015/validators/index.js +1 -1
- package/esm2015/validators/luhn.validator.js +5 -3
- package/esm2015/validators/taiga-ui-addon-commerce-validators.js +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-card.js +58 -39
- package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +196 -136
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js +96 -67
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js +81 -53
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +72 -48
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-money.js +136 -112
- package/fesm2015/taiga-ui-addon-commerce-components-money.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-constants.js +32 -32
- package/fesm2015/taiga-ui-addon-commerce-constants.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js +1 -34
- package/fesm2015/taiga-ui-addon-commerce-enums.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-interfaces.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-pipes.js +47 -33
- package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-tokens.js +5 -5
- package/fesm2015/taiga-ui-addon-commerce-tokens.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-types.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-utils.js +58 -97
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-validators.js +7 -5
- package/fesm2015/taiga-ui-addon-commerce-validators.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce.js +2 -0
- package/fesm2015/taiga-ui-addon-commerce.js.map +1 -1
- package/interfaces/package.json +2 -5
- package/interfaces/taiga-ui-addon-commerce-interfaces.d.ts +1 -0
- package/package.json +12 -15
- package/pipes/currency/currency.module.d.ts +5 -0
- package/pipes/currency/currency.pipe.d.ts +3 -0
- package/pipes/format-card/format-card.module.d.ts +5 -0
- package/pipes/format-card/format-card.pipe.d.ts +3 -0
- package/pipes/package.json +2 -5
- package/pipes/taiga-ui-addon-commerce-pipes.d.ts +1 -0
- package/taiga-ui-addon-commerce.d.ts +1 -0
- package/tokens/package.json +2 -5
- package/tokens/taiga-ui-addon-commerce-tokens.d.ts +1 -0
- package/types/index.d.ts +1 -0
- package/types/money-sign.d.ts +3 -3
- package/types/package.json +2 -5
- package/types/payment-system.d.ts +1 -0
- package/types/taiga-ui-addon-commerce-types.d.ts +1 -0
- package/utils/get-currency-symbol.d.ts +1 -5
- package/utils/get-payment-system.d.ts +7 -31
- package/utils/is-card-length-valid.d.ts +1 -3
- package/utils/is-card-number-valid.d.ts +1 -3
- package/utils/package.json +2 -5
- package/utils/taiga-ui-addon-commerce-utils.d.ts +1 -0
- package/validators/package.json +2 -5
- package/validators/taiga-ui-addon-commerce-validators.d.ts +1 -0
- package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-card.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-input-card-grouped.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-input-card.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-input-cvc.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components-money.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-components.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-components.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-constants.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-constants.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-enums.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-interfaces.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-pipes.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-tokens.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-types.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-types.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-utils.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce-validators.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce-validators.umd.min.js.map +0 -1
- package/bundles/taiga-ui-addon-commerce.umd.min.js +0 -2
- package/bundles/taiga-ui-addon-commerce.umd.min.js.map +0 -1
- package/components/card/taiga-ui-addon-commerce-components-card.metadata.json +0 -1
- package/components/input-card/taiga-ui-addon-commerce-components-input-card.metadata.json +0 -1
- package/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.metadata.json +0 -1
- package/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.metadata.json +0 -1
- package/components/input-expire/taiga-ui-addon-commerce-components-input-expire.metadata.json +0 -1
- package/components/money/taiga-ui-addon-commerce-components-money.metadata.json +0 -1
- package/components/taiga-ui-addon-commerce-components.metadata.json +0 -1
- package/constants/taiga-ui-addon-commerce-constants.metadata.json +0 -1
- package/enums/money-sign.d.ts +0 -16
- package/enums/payment-system.d.ts +0 -8
- package/enums/taiga-ui-addon-commerce-enums.metadata.json +0 -1
- package/esm2015/enums/money-sign.js +0 -18
- package/esm2015/enums/payment-system.js +0 -9
- package/esm5/components/card/card.component.js +0 -73
- package/esm5/components/card/card.module.js +0 -19
- package/esm5/components/card/index.js +0 -3
- package/esm5/components/card/taiga-ui-addon-commerce-components-card.js +0 -5
- package/esm5/components/index.js +0 -7
- package/esm5/components/input-card/index.js +0 -3
- package/esm5/components/input-card/input-card.component.js +0 -167
- package/esm5/components/input-card/input-card.module.js +0 -25
- package/esm5/components/input-card/taiga-ui-addon-commerce-components-input-card.js +0 -5
- package/esm5/components/input-card-grouped/index.js +0 -4
- package/esm5/components/input-card-grouped/input-card-grouped.component.js +0 -511
- package/esm5/components/input-card-grouped/input-card-grouped.module.js +0 -40
- package/esm5/components/input-card-grouped/input-card-grouped.providers.js +0 -34
- package/esm5/components/input-card-grouped/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -5
- package/esm5/components/input-cvc/index.js +0 -3
- package/esm5/components/input-cvc/input-cvc.component.js +0 -113
- package/esm5/components/input-cvc/input-cvc.module.js +0 -26
- package/esm5/components/input-cvc/taiga-ui-addon-commerce-components-input-cvc.js +0 -5
- package/esm5/components/input-expire/index.js +0 -3
- package/esm5/components/input-expire/input-expire.component.js +0 -108
- package/esm5/components/input-expire/input-expire.module.js +0 -25
- package/esm5/components/input-expire/taiga-ui-addon-commerce-components-input-expire.js +0 -5
- package/esm5/components/money/index.js +0 -9
- package/esm5/components/money/money-options.js +0 -18
- package/esm5/components/money/money.component.js +0 -101
- package/esm5/components/money/money.module.js +0 -27
- package/esm5/components/money/pipes/fraction-part.pipe.js +0 -27
- package/esm5/components/money/pipes/integer-part.pipe.js +0 -21
- package/esm5/components/money/pipes/sign-symbol.pipe.js +0 -16
- package/esm5/components/money/taiga-ui-addon-commerce-components-money.js +0 -5
- package/esm5/components/money/utils/format-fraction-part.js +0 -7
- package/esm5/components/money/utils/format-sign-symbol.js +0 -12
- package/esm5/components/taiga-ui-addon-commerce-components.js +0 -5
- package/esm5/constants/card-holder-mask.js +0 -37
- package/esm5/constants/card-mask.js +0 -30
- package/esm5/constants/default-card-validator.js +0 -5
- package/esm5/constants/index.js +0 -4
- package/esm5/constants/taiga-ui-addon-commerce-constants.js +0 -5
- package/esm5/enums/currency-code.js +0 -171
- package/esm5/enums/currency.js +0 -171
- package/esm5/enums/index.js +0 -5
- package/esm5/enums/money-sign.js +0 -18
- package/esm5/enums/payment-system.js +0 -9
- package/esm5/enums/taiga-ui-addon-commerce-enums.js +0 -5
- package/esm5/index.js +0 -8
- package/esm5/interfaces/card.js +0 -1
- package/esm5/interfaces/index.js +0 -1
- package/esm5/interfaces/taiga-ui-addon-commerce-interfaces.js +0 -4
- package/esm5/pipes/currency/currency.module.js +0 -16
- package/esm5/pipes/currency/currency.pipe.js +0 -18
- package/esm5/pipes/format-card/format-card.module.js +0 -16
- package/esm5/pipes/format-card/format-card.pipe.js +0 -22
- package/esm5/pipes/index.js +0 -5
- package/esm5/pipes/taiga-ui-addon-commerce-pipes.js +0 -5
- package/esm5/taiga-ui-addon-commerce.js +0 -5
- package/esm5/tokens/i18n.js +0 -13
- package/esm5/tokens/index.js +0 -2
- package/esm5/tokens/taiga-ui-addon-commerce-tokens.js +0 -5
- package/esm5/types/code-length.js +0 -1
- package/esm5/types/currency-variants.js +0 -1
- package/esm5/types/index.js +0 -1
- package/esm5/types/money-sign.js +0 -1
- package/esm5/types/taiga-ui-addon-commerce-types.js +0 -4
- package/esm5/utils/create-auto-corrected-expire-pipe.js +0 -43
- package/esm5/utils/format-currency.js +0 -17
- package/esm5/utils/get-currency-symbol.js +0 -71
- package/esm5/utils/get-payment-system.js +0 -103
- package/esm5/utils/index.js +0 -8
- package/esm5/utils/is-card-length-valid.js +0 -25
- package/esm5/utils/is-card-number-valid.js +0 -21
- package/esm5/utils/is-expire-valid.js +0 -14
- package/esm5/utils/taiga-ui-addon-commerce-utils.js +0 -5
- package/esm5/validators/card-expire.validator.js +0 -10
- package/esm5/validators/card-number.validator.js +0 -9
- package/esm5/validators/index.js +0 -4
- package/esm5/validators/luhn.validator.js +0 -9
- package/esm5/validators/taiga-ui-addon-commerce-validators.js +0 -5
- package/fesm5/taiga-ui-addon-commerce-components-card.js +0 -94
- package/fesm5/taiga-ui-addon-commerce-components-card.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js +0 -579
- package/fesm5/taiga-ui-addon-commerce-components-input-card-grouped.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-card.js +0 -193
- package/fesm5/taiga-ui-addon-commerce-components-input-card.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js +0 -140
- package/fesm5/taiga-ui-addon-commerce-components-input-cvc.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components-input-expire.js +0 -134
- package/fesm5/taiga-ui-addon-commerce-components-input-expire.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components-money.js +0 -211
- package/fesm5/taiga-ui-addon-commerce-components-money.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-components.js +0 -11
- package/fesm5/taiga-ui-addon-commerce-components.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-constants.js +0 -78
- package/fesm5/taiga-ui-addon-commerce-constants.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-enums.js +0 -375
- package/fesm5/taiga-ui-addon-commerce-enums.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-interfaces.js +0 -4
- package/fesm5/taiga-ui-addon-commerce-interfaces.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-pipes.js +0 -67
- package/fesm5/taiga-ui-addon-commerce-pipes.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-tokens.js +0 -20
- package/fesm5/taiga-ui-addon-commerce-tokens.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-types.js +0 -4
- package/fesm5/taiga-ui-addon-commerce-types.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-utils.js +0 -298
- package/fesm5/taiga-ui-addon-commerce-utils.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce-validators.js +0 -31
- package/fesm5/taiga-ui-addon-commerce-validators.js.map +0 -1
- package/fesm5/taiga-ui-addon-commerce.js +0 -12
- package/fesm5/taiga-ui-addon-commerce.js.map +0 -1
- package/interfaces/taiga-ui-addon-commerce-interfaces.metadata.json +0 -1
- package/pipes/taiga-ui-addon-commerce-pipes.metadata.json +0 -1
- package/taiga-ui-addon-commerce.metadata.json +0 -1
- package/tokens/taiga-ui-addon-commerce-tokens.metadata.json +0 -1
- package/types/taiga-ui-addon-commerce-types.metadata.json +0 -1
- package/utils/taiga-ui-addon-commerce-utils.metadata.json +0 -1
- package/validators/taiga-ui-addon-commerce-validators.metadata.json +0 -1
|
@@ -1,511 +0,0 @@
|
|
|
1
|
-
var _a;
|
|
2
|
-
import { __decorate, __extends, __param } from "tslib";
|
|
3
|
-
import { ChangeDetectionStrategy, ChangeDetectorRef, Component, ContentChild, ElementRef, EventEmitter, forwardRef, HostListener, Inject, Input, Optional, Output, Self, TemplateRef, ViewChild, } from '@angular/core';
|
|
4
|
-
import { NgControl } from '@angular/forms';
|
|
5
|
-
import { TUI_CARD_MASK, tuiDefaultCardValidator } from '@taiga-ui/addon-commerce/constants';
|
|
6
|
-
import { getPaymentSystem, tuiCreateAutoCorrectedExpirePipe, } from '@taiga-ui/addon-commerce/utils';
|
|
7
|
-
import { AbstractTuiNullableControl, isNativeFocused, isNativeFocusedIn, TUI_FOCUSABLE_ITEM_ACCESSOR, tuiAssertIsHTMLElement, tuiDefaultProp, tuiPure, tuiRequiredSetter, } from '@taiga-ui/cdk';
|
|
8
|
-
import { MODE_PROVIDER, TUI_DATA_LIST_HOST, TUI_DIGIT_REGEXP, TUI_MODE, TUI_NON_DIGIT_REGEXP, TUI_TEXTFIELD_APPEARANCE, TuiDataListComponent, TuiDataListDirective, } from '@taiga-ui/core';
|
|
9
|
-
import { Observable } from 'rxjs';
|
|
10
|
-
import { TUI_INPUT_CARD_GROUPED_TEXTS, } from './input-card-grouped.providers';
|
|
11
|
-
var STUB = {
|
|
12
|
-
card: '',
|
|
13
|
-
expire: '',
|
|
14
|
-
cvc: '',
|
|
15
|
-
};
|
|
16
|
-
var ICONS = (_a = {},
|
|
17
|
-
_a["mir" /* Mir */] = 'tuiIconMir',
|
|
18
|
-
_a["visa" /* Visa */] = 'tuiIconVisa',
|
|
19
|
-
_a["electron" /* Electron */] = 'tuiIconElectron',
|
|
20
|
-
_a["mastercard" /* Mastercard */] = 'tuiIconMastercard',
|
|
21
|
-
_a["maestro" /* Maestro */] = 'tuiIconMaestro',
|
|
22
|
-
_a);
|
|
23
|
-
// @dynamic
|
|
24
|
-
var TuiInputCardGroupedComponent = /** @class */ (function (_super) {
|
|
25
|
-
__extends(TuiInputCardGroupedComponent, _super);
|
|
26
|
-
function TuiInputCardGroupedComponent(control, changeDetectorRef, elementRef, mode$, cardGroupedTexts$, appearance) {
|
|
27
|
-
var _this = _super.call(this, control, changeDetectorRef) || this;
|
|
28
|
-
_this.elementRef = elementRef;
|
|
29
|
-
_this.mode$ = mode$;
|
|
30
|
-
_this.cardGroupedTexts$ = cardGroupedTexts$;
|
|
31
|
-
_this.appearance = appearance;
|
|
32
|
-
_this.expireInert = false;
|
|
33
|
-
_this.autocompleteEnabled = false;
|
|
34
|
-
_this.cardSrc = null; // TODO: 3.0 will be deleted `null` in v3.0
|
|
35
|
-
_this.exampleText = '0000 0000 0000 0000';
|
|
36
|
-
_this.cardValidator = tuiDefaultCardValidator;
|
|
37
|
-
_this.autofilledChange = new EventEmitter();
|
|
38
|
-
_this.binChange = new EventEmitter();
|
|
39
|
-
_this.dropdown = '';
|
|
40
|
-
_this.exampleTextCVC = '000';
|
|
41
|
-
_this.maskCVC = {
|
|
42
|
-
mask: new Array(3).fill(TUI_DIGIT_REGEXP),
|
|
43
|
-
guide: false,
|
|
44
|
-
};
|
|
45
|
-
_this.maskCard = {
|
|
46
|
-
mask: TUI_CARD_MASK,
|
|
47
|
-
guide: false,
|
|
48
|
-
pipe: function (conformedValue) { return conformedValue.trim(); },
|
|
49
|
-
};
|
|
50
|
-
_this.maskExpire = {
|
|
51
|
-
mask: [
|
|
52
|
-
TUI_DIGIT_REGEXP,
|
|
53
|
-
TUI_DIGIT_REGEXP,
|
|
54
|
-
'/',
|
|
55
|
-
TUI_DIGIT_REGEXP,
|
|
56
|
-
TUI_DIGIT_REGEXP,
|
|
57
|
-
],
|
|
58
|
-
pipe: tuiCreateAutoCorrectedExpirePipe(),
|
|
59
|
-
guide: false,
|
|
60
|
-
};
|
|
61
|
-
_this.open = false;
|
|
62
|
-
return _this;
|
|
63
|
-
}
|
|
64
|
-
TuiInputCardGroupedComponent_1 = TuiInputCardGroupedComponent;
|
|
65
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "codeLength", {
|
|
66
|
-
set: function (length) {
|
|
67
|
-
this.exampleTextCVC = '0'.repeat(length);
|
|
68
|
-
this.maskCVC = {
|
|
69
|
-
mask: new Array(length).fill(TUI_DIGIT_REGEXP),
|
|
70
|
-
guide: false,
|
|
71
|
-
};
|
|
72
|
-
},
|
|
73
|
-
enumerable: true,
|
|
74
|
-
configurable: true
|
|
75
|
-
});
|
|
76
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "nativeFocusableElement", {
|
|
77
|
-
get: function () {
|
|
78
|
-
return this.inputCard ? this.inputCard.nativeElement : null;
|
|
79
|
-
},
|
|
80
|
-
enumerable: true,
|
|
81
|
-
configurable: true
|
|
82
|
-
});
|
|
83
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "focused", {
|
|
84
|
-
get: function () {
|
|
85
|
-
return this.open || isNativeFocusedIn(this.elementRef.nativeElement);
|
|
86
|
-
},
|
|
87
|
-
enumerable: true,
|
|
88
|
-
configurable: true
|
|
89
|
-
});
|
|
90
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "card", {
|
|
91
|
-
get: function () {
|
|
92
|
-
var _a, _b;
|
|
93
|
-
return (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.card) !== null && _b !== void 0 ? _b : '';
|
|
94
|
-
},
|
|
95
|
-
enumerable: true,
|
|
96
|
-
configurable: true
|
|
97
|
-
});
|
|
98
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "expire", {
|
|
99
|
-
get: function () {
|
|
100
|
-
var _a, _b;
|
|
101
|
-
return (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.expire) !== null && _b !== void 0 ? _b : '';
|
|
102
|
-
},
|
|
103
|
-
enumerable: true,
|
|
104
|
-
configurable: true
|
|
105
|
-
});
|
|
106
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cvc", {
|
|
107
|
-
get: function () {
|
|
108
|
-
var _a, _b;
|
|
109
|
-
return (_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.cvc) !== null && _b !== void 0 ? _b : '';
|
|
110
|
-
},
|
|
111
|
-
enumerable: true,
|
|
112
|
-
configurable: true
|
|
113
|
-
});
|
|
114
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "hasCleaner", {
|
|
115
|
-
get: function () {
|
|
116
|
-
var _a, _b;
|
|
117
|
-
return !!((_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.card) === null || _b === void 0 ? void 0 : _b.trim()) && !this.readOnly && !this.computedDisabled;
|
|
118
|
-
},
|
|
119
|
-
enumerable: true,
|
|
120
|
-
configurable: true
|
|
121
|
-
});
|
|
122
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "hasDropdown", {
|
|
123
|
-
get: function () {
|
|
124
|
-
return !!this.dropdown;
|
|
125
|
-
},
|
|
126
|
-
enumerable: true,
|
|
127
|
-
configurable: true
|
|
128
|
-
});
|
|
129
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "defaultIcon", {
|
|
130
|
-
get: function () {
|
|
131
|
-
var paymentSystem = this.paymentSystem;
|
|
132
|
-
return paymentSystem && ICONS[paymentSystem];
|
|
133
|
-
},
|
|
134
|
-
enumerable: true,
|
|
135
|
-
configurable: true
|
|
136
|
-
});
|
|
137
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "icon", {
|
|
138
|
-
get: function () {
|
|
139
|
-
var _a;
|
|
140
|
-
return (_a = this.cardSrc) !== null && _a !== void 0 ? _a : this.defaultIcon;
|
|
141
|
-
},
|
|
142
|
-
enumerable: true,
|
|
143
|
-
configurable: true
|
|
144
|
-
});
|
|
145
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "bin", {
|
|
146
|
-
get: function () {
|
|
147
|
-
return !this.value || this.value.card.length < 6
|
|
148
|
-
? null
|
|
149
|
-
: this.value.card.slice(0, 6);
|
|
150
|
-
},
|
|
151
|
-
enumerable: true,
|
|
152
|
-
configurable: true
|
|
153
|
-
});
|
|
154
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "placeholderRaised", {
|
|
155
|
-
get: function () {
|
|
156
|
-
return (this.computedFocused && !this.readOnly) || this.hasCardNumber;
|
|
157
|
-
},
|
|
158
|
-
enumerable: true,
|
|
159
|
-
configurable: true
|
|
160
|
-
});
|
|
161
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "hasCardNumber", {
|
|
162
|
-
get: function () {
|
|
163
|
-
var _a, _b;
|
|
164
|
-
return !!((_b = (_a = this.value) === null || _a === void 0 ? void 0 : _a.card) === null || _b === void 0 ? void 0 : _b.trim());
|
|
165
|
-
},
|
|
166
|
-
enumerable: true,
|
|
167
|
-
configurable: true
|
|
168
|
-
});
|
|
169
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "idCard", {
|
|
170
|
-
get: function () {
|
|
171
|
-
return this.id + "_card";
|
|
172
|
-
},
|
|
173
|
-
enumerable: true,
|
|
174
|
-
configurable: true
|
|
175
|
-
});
|
|
176
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "idExpire", {
|
|
177
|
-
get: function () {
|
|
178
|
-
return this.id + "_expire";
|
|
179
|
-
},
|
|
180
|
-
enumerable: true,
|
|
181
|
-
configurable: true
|
|
182
|
-
});
|
|
183
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "idCVC", {
|
|
184
|
-
get: function () {
|
|
185
|
-
return this.id + "_cvc";
|
|
186
|
-
},
|
|
187
|
-
enumerable: true,
|
|
188
|
-
configurable: true
|
|
189
|
-
});
|
|
190
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "isCardCollapsed", {
|
|
191
|
-
get: function () {
|
|
192
|
-
return this.isFocusable(this.card) && !this.cardFocused;
|
|
193
|
-
},
|
|
194
|
-
enumerable: true,
|
|
195
|
-
configurable: true
|
|
196
|
-
});
|
|
197
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "autocompleteCard", {
|
|
198
|
-
get: function () {
|
|
199
|
-
return this.autocompleteEnabled
|
|
200
|
-
? "cc-number" /* CcNumber */
|
|
201
|
-
: "off" /* Off */;
|
|
202
|
-
},
|
|
203
|
-
enumerable: true,
|
|
204
|
-
configurable: true
|
|
205
|
-
});
|
|
206
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "autocompleteExpire", {
|
|
207
|
-
get: function () {
|
|
208
|
-
return this.autocompleteEnabled
|
|
209
|
-
? "cc-exp" /* CcExp */
|
|
210
|
-
: "off" /* Off */;
|
|
211
|
-
},
|
|
212
|
-
enumerable: true,
|
|
213
|
-
configurable: true
|
|
214
|
-
});
|
|
215
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "autocompleteCVC", {
|
|
216
|
-
get: function () {
|
|
217
|
-
return this.autocompleteEnabled
|
|
218
|
-
? "cc-csc" /* CcCsc */
|
|
219
|
-
: "off" /* Off */;
|
|
220
|
-
},
|
|
221
|
-
enumerable: true,
|
|
222
|
-
configurable: true
|
|
223
|
-
});
|
|
224
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "name", {
|
|
225
|
-
// Safari expiration date autofill workaround
|
|
226
|
-
get: function () {
|
|
227
|
-
return this.autocompleteEnabled ? 'ccexpiryyear' : null;
|
|
228
|
-
},
|
|
229
|
-
enumerable: true,
|
|
230
|
-
configurable: true
|
|
231
|
-
});
|
|
232
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cardPrefilled", {
|
|
233
|
-
get: function () {
|
|
234
|
-
return !!this.card.match(TUI_NON_DIGIT_REGEXP);
|
|
235
|
-
},
|
|
236
|
-
enumerable: true,
|
|
237
|
-
configurable: true
|
|
238
|
-
});
|
|
239
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cvcPrefilled", {
|
|
240
|
-
get: function () {
|
|
241
|
-
return !!this.cvc.match(TUI_NON_DIGIT_REGEXP);
|
|
242
|
-
},
|
|
243
|
-
enumerable: true,
|
|
244
|
-
configurable: true
|
|
245
|
-
});
|
|
246
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cardFocusable", {
|
|
247
|
-
get: function () {
|
|
248
|
-
return this.focusable && !this.cardPrefilled;
|
|
249
|
-
},
|
|
250
|
-
enumerable: true,
|
|
251
|
-
configurable: true
|
|
252
|
-
});
|
|
253
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "expireFocusable", {
|
|
254
|
-
get: function () {
|
|
255
|
-
return this.isFocusable(this.card) && !this.expireInert;
|
|
256
|
-
},
|
|
257
|
-
enumerable: true,
|
|
258
|
-
configurable: true
|
|
259
|
-
});
|
|
260
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cvcFocusable", {
|
|
261
|
-
get: function () {
|
|
262
|
-
return this.isFocusable(this.card);
|
|
263
|
-
},
|
|
264
|
-
enumerable: true,
|
|
265
|
-
configurable: true
|
|
266
|
-
});
|
|
267
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "masked", {
|
|
268
|
-
get: function () {
|
|
269
|
-
return this.cardPrefilled ? "*" + this.card.slice(-4) : '*';
|
|
270
|
-
},
|
|
271
|
-
enumerable: true,
|
|
272
|
-
configurable: true
|
|
273
|
-
});
|
|
274
|
-
TuiInputCardGroupedComponent.prototype.onEsc = function () {
|
|
275
|
-
this.open = false;
|
|
276
|
-
};
|
|
277
|
-
TuiInputCardGroupedComponent.prototype.onArrow = function (element, step) {
|
|
278
|
-
var _a;
|
|
279
|
-
this.open = this.hasDropdown;
|
|
280
|
-
this.changeDetectorRef.detectChanges();
|
|
281
|
-
(_a = this.datalist) === null || _a === void 0 ? void 0 : _a.onKeyDownArrow(element, step);
|
|
282
|
-
};
|
|
283
|
-
TuiInputCardGroupedComponent.prototype.handleOption = function (option) {
|
|
284
|
-
var _a, _b;
|
|
285
|
-
var _c = option.card, card = _c === void 0 ? '' : _c, _d = option.expire, expire = _d === void 0 ? '' : _d, _e = option.cvc, cvc = _e === void 0 ? '' : _e;
|
|
286
|
-
var bin = this.bin;
|
|
287
|
-
var element = (!expire && ((_a = this.inputExpire) === null || _a === void 0 ? void 0 : _a.nativeElement)) || ((_b = this.inputCVC) === null || _b === void 0 ? void 0 : _b.nativeElement);
|
|
288
|
-
this.updateValue({ card: card, expire: expire, cvc: cvc });
|
|
289
|
-
this.updateBin(bin);
|
|
290
|
-
this.open = false;
|
|
291
|
-
this.expireInert = !!expire;
|
|
292
|
-
element === null || element === void 0 ? void 0 : element.focus();
|
|
293
|
-
};
|
|
294
|
-
TuiInputCardGroupedComponent.prototype.onCardChange = function (card) {
|
|
295
|
-
var _a = this, value = _a.value, bin = _a.bin;
|
|
296
|
-
var parsed = card.split(' ').join('');
|
|
297
|
-
if (value && value.card === parsed) {
|
|
298
|
-
return;
|
|
299
|
-
}
|
|
300
|
-
this.updateProperty(parsed, 'card');
|
|
301
|
-
this.updateBin(bin);
|
|
302
|
-
if (this.cardValidator(this.card) && !this.expire && this.inputExpire) {
|
|
303
|
-
this.focusExpire();
|
|
304
|
-
}
|
|
305
|
-
};
|
|
306
|
-
TuiInputCardGroupedComponent.prototype.onExpireChange = function (expire) {
|
|
307
|
-
// @bad TODO: Workaround until mask pipe can replace chars and keep caret position
|
|
308
|
-
// @bad TODO: Think about a solution without mask at all
|
|
309
|
-
if (!this.inputExpire) {
|
|
310
|
-
return;
|
|
311
|
-
}
|
|
312
|
-
if (parseInt(expire.slice(0, 2), 10) > 12) {
|
|
313
|
-
expire = "12" + expire.slice(2);
|
|
314
|
-
}
|
|
315
|
-
if (expire.slice(0, 2) === '00') {
|
|
316
|
-
expire = "01" + expire.slice(2);
|
|
317
|
-
}
|
|
318
|
-
this.inputExpire.nativeElement.value = expire;
|
|
319
|
-
this.updateProperty(expire, 'expire');
|
|
320
|
-
if (expire.length === 5) {
|
|
321
|
-
this.focusCVC();
|
|
322
|
-
}
|
|
323
|
-
};
|
|
324
|
-
TuiInputCardGroupedComponent.prototype.onCVCChange = function (cvc) {
|
|
325
|
-
this.updateProperty(cvc, 'cvc');
|
|
326
|
-
};
|
|
327
|
-
TuiInputCardGroupedComponent.prototype.onActiveZoneChange = function (active) {
|
|
328
|
-
this.updateFocused(active);
|
|
329
|
-
this.open = active && this.open;
|
|
330
|
-
};
|
|
331
|
-
TuiInputCardGroupedComponent.prototype.onHovered = function (hovered) {
|
|
332
|
-
this.updateHovered(hovered);
|
|
333
|
-
};
|
|
334
|
-
TuiInputCardGroupedComponent.prototype.onMouseDown = function (event) {
|
|
335
|
-
tuiAssertIsHTMLElement(event.target);
|
|
336
|
-
if (event.target.matches('input')) {
|
|
337
|
-
return;
|
|
338
|
-
}
|
|
339
|
-
event.preventDefault();
|
|
340
|
-
this.focusInput();
|
|
341
|
-
};
|
|
342
|
-
TuiInputCardGroupedComponent.prototype.onScroll = function (_a) {
|
|
343
|
-
var currentTarget = _a.currentTarget;
|
|
344
|
-
tuiAssertIsHTMLElement(currentTarget);
|
|
345
|
-
currentTarget.scrollLeft = 0;
|
|
346
|
-
};
|
|
347
|
-
TuiInputCardGroupedComponent.prototype.clear = function () {
|
|
348
|
-
this.updateValue(null);
|
|
349
|
-
this.focusCard();
|
|
350
|
-
};
|
|
351
|
-
TuiInputCardGroupedComponent.prototype.toggle = function () {
|
|
352
|
-
this.open = !this.open;
|
|
353
|
-
};
|
|
354
|
-
TuiInputCardGroupedComponent.prototype.writeValue = function (value) {
|
|
355
|
-
var bin = this.bin;
|
|
356
|
-
_super.prototype.writeValue.call(this, value);
|
|
357
|
-
this.updateBin(bin);
|
|
358
|
-
this.expireInert = !!this.expire && this.cardPrefilled;
|
|
359
|
-
};
|
|
360
|
-
/** Public API for manual focus management */
|
|
361
|
-
TuiInputCardGroupedComponent.prototype.focusCard = function () {
|
|
362
|
-
var _a;
|
|
363
|
-
(_a = this.inputCard) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
|
|
364
|
-
};
|
|
365
|
-
TuiInputCardGroupedComponent.prototype.focusExpire = function () {
|
|
366
|
-
var _a;
|
|
367
|
-
(_a = this.inputExpire) === null || _a === void 0 ? void 0 : _a.nativeElement.focus({ preventScroll: true });
|
|
368
|
-
};
|
|
369
|
-
TuiInputCardGroupedComponent.prototype.focusCVC = function () {
|
|
370
|
-
var _a;
|
|
371
|
-
(_a = this.inputCVC) === null || _a === void 0 ? void 0 : _a.nativeElement.focus();
|
|
372
|
-
};
|
|
373
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "cardFocused", {
|
|
374
|
-
get: function () {
|
|
375
|
-
return !!this.inputCard && isNativeFocused(this.inputCard.nativeElement);
|
|
376
|
-
},
|
|
377
|
-
enumerable: true,
|
|
378
|
-
configurable: true
|
|
379
|
-
});
|
|
380
|
-
Object.defineProperty(TuiInputCardGroupedComponent.prototype, "paymentSystem", {
|
|
381
|
-
get: function () {
|
|
382
|
-
return this.value && getPaymentSystem(this.value.card);
|
|
383
|
-
},
|
|
384
|
-
enumerable: true,
|
|
385
|
-
configurable: true
|
|
386
|
-
});
|
|
387
|
-
TuiInputCardGroupedComponent.prototype.isFocusable = function (card) {
|
|
388
|
-
return this.focusable && (this.cardValidator(card) || this.cardPrefilled);
|
|
389
|
-
};
|
|
390
|
-
TuiInputCardGroupedComponent.prototype.updateBin = function (oldBin) {
|
|
391
|
-
var bin = this.bin;
|
|
392
|
-
if (bin !== oldBin && !this.cardPrefilled) {
|
|
393
|
-
this.binChange.emit(bin);
|
|
394
|
-
}
|
|
395
|
-
};
|
|
396
|
-
TuiInputCardGroupedComponent.prototype.updateProperty = function (propValue, propName) {
|
|
397
|
-
var _a = this.value || STUB, card = _a.card, expire = _a.expire, cvc = _a.cvc;
|
|
398
|
-
var newValue = {
|
|
399
|
-
card: card,
|
|
400
|
-
expire: expire,
|
|
401
|
-
cvc: cvc,
|
|
402
|
-
};
|
|
403
|
-
newValue[propName] = propValue;
|
|
404
|
-
if (!newValue.expire && !newValue.cvc && !newValue.card) {
|
|
405
|
-
this.updateValue(null);
|
|
406
|
-
}
|
|
407
|
-
else {
|
|
408
|
-
this.updateValue(newValue);
|
|
409
|
-
}
|
|
410
|
-
};
|
|
411
|
-
TuiInputCardGroupedComponent.prototype.focusInput = function () {
|
|
412
|
-
var _a, _b, _c;
|
|
413
|
-
var element = (this.cardFocusable && ((_a = this.inputCard) === null || _a === void 0 ? void 0 : _a.nativeElement)) ||
|
|
414
|
-
(this.expireFocusable && ((_b = this.inputExpire) === null || _b === void 0 ? void 0 : _b.nativeElement)) || ((_c = this.inputCVC) === null || _c === void 0 ? void 0 : _c.nativeElement);
|
|
415
|
-
element === null || element === void 0 ? void 0 : element.focus();
|
|
416
|
-
};
|
|
417
|
-
var TuiInputCardGroupedComponent_1;
|
|
418
|
-
TuiInputCardGroupedComponent.ctorParameters = function () { return [
|
|
419
|
-
{ type: NgControl, decorators: [{ type: Optional }, { type: Self }, { type: Inject, args: [NgControl,] }] },
|
|
420
|
-
{ type: ChangeDetectorRef, decorators: [{ type: Inject, args: [ChangeDetectorRef,] }] },
|
|
421
|
-
{ type: ElementRef, decorators: [{ type: Inject, args: [ElementRef,] }] },
|
|
422
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_MODE,] }] },
|
|
423
|
-
{ type: Observable, decorators: [{ type: Inject, args: [TUI_INPUT_CARD_GROUPED_TEXTS,] }] },
|
|
424
|
-
{ type: String, decorators: [{ type: Inject, args: [TUI_TEXTFIELD_APPEARANCE,] }] }
|
|
425
|
-
]; };
|
|
426
|
-
__decorate([
|
|
427
|
-
ViewChild('inputCard')
|
|
428
|
-
], TuiInputCardGroupedComponent.prototype, "inputCard", void 0);
|
|
429
|
-
__decorate([
|
|
430
|
-
ViewChild('inputExpire')
|
|
431
|
-
], TuiInputCardGroupedComponent.prototype, "inputExpire", void 0);
|
|
432
|
-
__decorate([
|
|
433
|
-
ViewChild('inputCVC')
|
|
434
|
-
], TuiInputCardGroupedComponent.prototype, "inputCVC", void 0);
|
|
435
|
-
__decorate([
|
|
436
|
-
Input(),
|
|
437
|
-
tuiDefaultProp()
|
|
438
|
-
], TuiInputCardGroupedComponent.prototype, "autocompleteEnabled", void 0);
|
|
439
|
-
__decorate([
|
|
440
|
-
Input(),
|
|
441
|
-
tuiDefaultProp()
|
|
442
|
-
], TuiInputCardGroupedComponent.prototype, "cardSrc", void 0);
|
|
443
|
-
__decorate([
|
|
444
|
-
Input(),
|
|
445
|
-
tuiDefaultProp()
|
|
446
|
-
], TuiInputCardGroupedComponent.prototype, "exampleText", void 0);
|
|
447
|
-
__decorate([
|
|
448
|
-
Input(),
|
|
449
|
-
tuiDefaultProp()
|
|
450
|
-
], TuiInputCardGroupedComponent.prototype, "cardValidator", void 0);
|
|
451
|
-
__decorate([
|
|
452
|
-
Input(),
|
|
453
|
-
tuiRequiredSetter()
|
|
454
|
-
], TuiInputCardGroupedComponent.prototype, "codeLength", null);
|
|
455
|
-
__decorate([
|
|
456
|
-
Output()
|
|
457
|
-
], TuiInputCardGroupedComponent.prototype, "autofilledChange", void 0);
|
|
458
|
-
__decorate([
|
|
459
|
-
Output()
|
|
460
|
-
], TuiInputCardGroupedComponent.prototype, "binChange", void 0);
|
|
461
|
-
__decorate([
|
|
462
|
-
ContentChild(TuiDataListDirective, { read: TemplateRef })
|
|
463
|
-
], TuiInputCardGroupedComponent.prototype, "dropdown", void 0);
|
|
464
|
-
__decorate([
|
|
465
|
-
ContentChild(TuiDataListComponent)
|
|
466
|
-
], TuiInputCardGroupedComponent.prototype, "datalist", void 0);
|
|
467
|
-
__decorate([
|
|
468
|
-
HostListener('keydown.esc')
|
|
469
|
-
], TuiInputCardGroupedComponent.prototype, "onEsc", null);
|
|
470
|
-
__decorate([
|
|
471
|
-
HostListener('keydown.arrowDown.prevent', ['$event.target', '1']),
|
|
472
|
-
HostListener('keydown.arrowUp.prevent', ['$event.target', '-1'])
|
|
473
|
-
], TuiInputCardGroupedComponent.prototype, "onArrow", null);
|
|
474
|
-
__decorate([
|
|
475
|
-
tuiPure
|
|
476
|
-
], TuiInputCardGroupedComponent.prototype, "isFocusable", null);
|
|
477
|
-
TuiInputCardGroupedComponent = TuiInputCardGroupedComponent_1 = __decorate([
|
|
478
|
-
Component({
|
|
479
|
-
selector: 'tui-input-card-grouped',
|
|
480
|
-
template: "<tui-wrapper\n *ngIf=\"cardGroupedTexts$ | async as texts\"\n class=\"t-common-wrapper\"\n [appearance]=\"appearance\"\n [readOnly]=\"readOnly\"\n [disabled]=\"computedDisabled\"\n [focused]=\"computedFocused\"\n [hovered]=\"computedHovered\"\n [invalid]=\"computedInvalid\"\n [tuiDropdown]=\"open\"\n [tuiDropdownContent]=\"dropdown || ''\"\n (tuiHoveredChange)=\"onHovered($event)\"\n (tuiActiveZoneChange)=\"onActiveZoneChange($event)\"\n (scroll)=\"onScroll($event)\"\n (mousedown)=\"onMouseDown($event)\"\n>\n <div class=\"t-wrapper\">\n <label\n *tuiLet=\"value?.card | tuiFormatCard: cardPrefilled as formattedCard\"\n tuiPreventDefault=\"click\"\n >\n <input\n #inputCard\n type=\"text\"\n automation-id=\"tui-input-card-grouped__card\"\n tuiInputMode=\"numeric\"\n class=\"t-input t-input_card\"\n [class.t-input_inert]=\"cardPrefilled\"\n [class.t-input_hidden]=\"!card.length && focused\"\n [attr.id]=\"idCard\"\n [attr.aria-invalid]=\"!cardPrefilled && !(this.card | tuiMapper: cardValidator)\"\n [placeholder]=\"cardPrefilled ? '' : exampleText\"\n [autocomplete]=\"autocompleteCard\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [textMask]=\"maskCard\"\n [tuiFocusable]=\"cardFocusable\"\n [ngModel]=\"formattedCard\"\n (ngModelChange)=\"onCardChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n aria-hidden=\"true\"\n class=\"t-collapsed\"\n [attr.data-before]=\"masked\"\n [class.t-collapsed_enable-mask]=\"isCardCollapsed\"\n >\n <span class=\"t-collapsed-wrapper\">\n <span\n class=\"t-value\"\n [class.t-value_collapsed]=\"isCardCollapsed\"\n >\n {{ formattedCard }}\n </span>\n </span>\n </span>\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cardNumberText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_expire\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputExpire\n type=\"text\"\n placeholder=\"00/00\"\n automation-id=\"tui-input-card-grouped__expire\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_inert]=\"!expireFocusable\"\n [attr.id]=\"idExpire\"\n [attr.name]=\"name\"\n [autocomplete]=\"autocompleteExpire\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly\"\n [tuiFocusable]=\"expireFocusable\"\n [textMask]=\"maskExpire\"\n [ngModel]=\"expire\"\n (ngModelChange)=\"onExpireChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.expiryText }}\n </span>\n </label>\n </div>\n <div\n class=\"t-wrapper t-wrapper_cvc\"\n [class.t-wrapper_active]=\"isCardCollapsed\"\n >\n <label tuiPreventDefault=\"click\">\n <input\n #inputCVC\n type=\"text\"\n automation-id=\"tui-input-card-grouped__cvc\"\n tuiInputMode=\"numeric\"\n class=\"t-input\"\n [class.t-input_prefilled]=\"cvcPrefilled\"\n [placeholder]=\"cvcPrefilled ? '\u2022\u2022\u2022' : exampleTextCVC\"\n [attr.id]=\"idCVC\"\n [disabled]=\"computedDisabled\"\n [readOnly]=\"readOnly || cvcPrefilled\"\n [autocomplete]=\"autocompleteCVC\"\n [textMask]=\"maskCVC\"\n [tuiFocusable]=\"cvcFocusable\"\n [ngModel]=\"cvc\"\n (ngModelChange)=\"onCVCChange($event)\"\n (focus)=\"(0)\"\n />\n <span\n class=\"t-placeholder\"\n [class.t-placeholder_raised]=\"placeholderRaised\"\n >\n {{ texts.cvcText }}\n </span>\n </label>\n </div>\n <div class=\"t-icons\">\n <div\n *ngIf=\"icon\"\n polymorpheus-outlet\n class=\"t-icon-outlet\"\n [content]=\"icon\"\n >\n <ng-template let-icon>\n <tui-svg\n automation-id=\"tui-input-card-grouped__icon\"\n class=\"t-card\"\n [src]=\"icon\"\n ></tui-svg>\n </ng-template>\n </div>\n <tui-svg\n *ngIf=\"hasCleaner\"\n src=\"tuiIconCloseLarge\"\n class=\"t-icon\"\n (click)=\"clear()\"\n ></tui-svg>\n <tui-svg\n *ngIf=\"hasDropdown\"\n src=\"tuiIconChevronDownLarge\"\n class=\"t-icon\"\n [class.t-icon_rotated]=\"open\"\n (click)=\"toggle()\"\n ></tui-svg>\n </div>\n</tui-wrapper>\n",
|
|
481
|
-
changeDetection: ChangeDetectionStrategy.OnPush,
|
|
482
|
-
providers: [
|
|
483
|
-
MODE_PROVIDER,
|
|
484
|
-
{
|
|
485
|
-
provide: TUI_FOCUSABLE_ITEM_ACCESSOR,
|
|
486
|
-
useExisting: forwardRef(function () { return TuiInputCardGroupedComponent_1; }),
|
|
487
|
-
},
|
|
488
|
-
{
|
|
489
|
-
provide: TUI_DATA_LIST_HOST,
|
|
490
|
-
useExisting: forwardRef(function () { return TuiInputCardGroupedComponent_1; }),
|
|
491
|
-
},
|
|
492
|
-
],
|
|
493
|
-
host: {
|
|
494
|
-
'($.data-mode.attr)': 'mode$',
|
|
495
|
-
'data-size': 'l',
|
|
496
|
-
},
|
|
497
|
-
styles: [":host{display:block;height:var(--tui-height-l);width:29.5rem;border-radius:var(--tui-radius-m)}:host[data-mode=onDark]{--tui-autofill:var(--tui-autofill-night)}:host :host-context(tui-root._mobile){width:18rem}.t-outline{height:100%;width:100%}.t-common-wrapper{position:relative;height:100%;width:100%;overflow:hidden}.t-wrapper{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;width:100%;height:100%}.t-wrapper_cvc{margin-left:7.1875rem;transform:translate3d(100%,0,0)}:host-context(tui-root._mobile) .t-wrapper_cvc{margin-left:4.0625rem}.t-wrapper_expire{transform:translate3d(100%,0,0)}.t-wrapper_active{transform:translate3d(6.5625rem,0,0)}:host-context(tui-root._mobile) .t-wrapper_active{transform:translate3d(4.125rem,0,0)}.t-card{width:2rem;height:2rem;margin-right:.625rem}.t-collapsed{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 0 0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;line-height:2.25rem;pointer-events:none}.t-collapsed:-webkit-autofill,.t-collapsed:-webkit-autofill:focus,.t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-collapsed :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-collapsed:-webkit-autofill,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:focus,:host[data-mode=onDark] .t-collapsed:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-collapsed :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-collapsed{padding:0 var(--tui-padding-s)}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-collapsed :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-collapsed{padding:0 var(--tui-padding-l)}.t-collapsed :host-context(tui-primitive-textfield._disabled),.t-collapsed :host-context(tui-text-area._disabled),:host._disabled .t-collapsed{pointer-events:none}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-collapsed{padding-top:1.25rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-collapsed{padding-top:1.125rem}.t-collapsed :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-collapsed:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-collapsed :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-collapsed{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-collapsed_enable-mask:before{content:attr(data-before)}.t-collapsed_enable-mask .t-collapsed-wrapper{left:1.375rem}.t-collapsed-wrapper{position:absolute;top:0;display:block;width:100%;height:100%;overflow:hidden}.t-value{transition-property:transform;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;position:absolute;bottom:0;right:100%;display:block;transform:translate3d(100%,0,0)}.t-value_collapsed{transform:translate3d(4ch,0,0)}.t-input{font:var(--tui-font-text-s);color:var(--tui-text-01);padding:0 1rem;margin:0;border-radius:inherit;background:0 0;font-size:inherit;line-height:inherit;font-weight:inherit;color:inherit;caret-color:currentColor;outline:0;-webkit-appearance:none;-moz-appearance:none;appearance:none;word-break:keep-all;-webkit-text-fill-color:currentColor;position:absolute;top:0;left:0;width:100%;height:100%;padding:0 var(--tui-padding-m);border:0;border-width:0 var(--border-end,0) 0 var(--border-start,0);border-inline-start-width:var(--border-start,0);border-inline-end-width:var(--border-end,0);text-indent:var(--text-indent);text-align:inherit;box-sizing:border-box;white-space:nowrap;overflow:hidden;text-transform:inherit;resize:none;transition-property:background;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out}.t-input:-webkit-autofill,.t-input:-webkit-autofill:focus,.t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01)!important;border-color:var(--tui-autofill);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill) inset!important}.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-primitive-textfield[data-mode=onDark]):-webkit-autofill:hover,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:focus,.t-input :host-context(tui-text-area[data-mode=onDark]):-webkit-autofill:hover,:host[data-mode=onDark] .t-input:-webkit-autofill,:host[data-mode=onDark] .t-input:-webkit-autofill:focus,:host[data-mode=onDark] .t-input:-webkit-autofill:hover{border-radius:inherit;color:inherit!important;background-color:transparent!important;-webkit-text-fill-color:var(--tui-text-01-night)!important;border-color:var(--tui-autofill-night);-webkit-box-shadow:0 0 0 100rem var(--tui-autofill-night) inset!important}.t-input :host-context(tui-primitive-textfield[data-size='s']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='s']):not(tui-text-area),:host[data-size='s'] .t-input{padding:0 var(--tui-padding-s)}.t-input :host-context(tui-primitive-textfield[data-size='l']):not(tui-primitive-textfield),.t-input :host-context(tui-text-area[data-size='l']):not(tui-text-area),:host[data-size='l'] .t-input{padding:0 var(--tui-padding-l)}.t-input :host-context(tui-primitive-textfield._disabled),.t-input :host-context(tui-text-area._disabled),:host._disabled .t-input{pointer-events:none}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='l']:not(._label-outside) .t-input{padding-top:1.25rem}.t-input :host-context(tui-primitive-textfield[data-size='l']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='l']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.8156rem;transform:translateY(-.625rem)}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield),:host[data-size='m']:not(._label-outside) .t-input{padding-top:1.125rem}.t-input :host-context(tui-primitive-textfield[data-size='m']:not(._label-outside)):not(tui-primitive-textfield):-webkit-autofill+.content .placeholder,:host[data-size='m']:not(._label-outside) .t-input:-webkit-autofill+.content .placeholder{font-size:.69rem;transform:translateY(-.5rem)}.t-input :host-context(tui-primitive-textfield._hidden),:host._hidden input.t-input{opacity:0;text-indent:-10em;-webkit-user-select:none}.t-input::-ms-input-placeholder{color:var(--tui-text-03)}.t-input::placeholder{color:var(--tui-text-03)}:host[data-mode=onDark] .t-input::-ms-input-placeholder{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-input::placeholder{color:var(--tui-text-03-night)}.t-input_card:not(.t-input_hidden),.t-input_card:not(.t-input_hidden):-webkit-autofill,.t-input_card:not(.t-input_hidden)::placeholder{caret-color:var(--tui-base-09);color:transparent!important;-webkit-text-fill-color:transparent!important}.t-input_card::-webkit-credit-card-auto-fill-button{pointer-events:none;background-color:transparent!important;-webkit-mask-image:none!important}.t-input_inert{pointer-events:none}.t-icons{position:absolute;right:.75rem;display:flex;align-items:center;height:100%}.t-icon-outlet{display:inherit}.t-icon{transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;display:flex;width:1.5rem;height:1.5rem;align-items:center;justify-content:center;color:var(--tui-text-03);position:relative;box-sizing:border-box;cursor:pointer;transition-property:color,transform}.t-icon:hover{color:var(--tui-text-02)}:host._disabled .t-icon,:host._readonly .t-icon{pointer-events:none}:host[data-mode=onDark] .t-icon{color:var(--tui-text-03-night)}:host[data-mode=onDark] .t-icon:hover{color:var(--tui-text-01-night)}.t-icon_rotated{transform:rotate(180deg)}.t-placeholder{transition-property:transform,font-size,color,letter-spacing;transition-duration:var(--tui-duration,300ms);transition-timing-function:ease-in-out;font:var(--tui-font-text-s);color:var(--tui-text-01);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;width:100%;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;color:var(--tui-text-02);pointer-events:none;will-change:transform;transform:translateY(0);margin:1.125rem 1rem;line-height:1.25rem}.t-placeholder_raised{transform:translateY(-.625rem)}:host[data-size='m'] .t-placeholder_raised{font:var(--tui-font-text-xs);transform:translateY(-.5rem);letter-spacing:.025rem}:host._invalid:not(._focused) .t-placeholder_raised,:host._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill)}:host[data-mode=onDark]._invalid:not(._focused) .t-placeholder_raised,:host[data-mode=onDark]._invalid:not(._focused):hover .t-placeholder_raised{color:var(--tui-error-fill-night)}:host._focused .t-placeholder,:host[data-size='l']._focused._label-outside .t-placeholder,:host[data-size='m']._focused._label-outside .t-placeholder{color:var(--tui-text-03)}:host[data-size='l'] .t-placeholder{font-size:.9375rem}:host[data-size='l'] .t-placeholder_raised{font-size:.8156rem}:host[data-size='l']._focused:not(._label-outside) .t-placeholder,:host[data-size='m']._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01)}:host[data-mode=onDark] .t-placeholder{color:var(--tui-text-02-night)}:host[data-size='l'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused:not(._label-outside) .t-placeholder{color:var(--tui-text-01-night)}:host[data-mode=onDark]._focused .t-placeholder,:host[data-size='l'][data-mode=onDark]._focused._label-outside .t-placeholder,:host[data-size='m'][data-mode=onDark]._focused._label-outside .t-placeholder{color:var(--tui-text-02-night)}@supports (-webkit-hyphens:none){.t-placeholder{will-change:unset;transition-property:transform,color,letter-spacing}}"]
|
|
498
|
-
}),
|
|
499
|
-
__param(0, Optional()),
|
|
500
|
-
__param(0, Self()),
|
|
501
|
-
__param(0, Inject(NgControl)),
|
|
502
|
-
__param(1, Inject(ChangeDetectorRef)),
|
|
503
|
-
__param(2, Inject(ElementRef)),
|
|
504
|
-
__param(3, Inject(TUI_MODE)),
|
|
505
|
-
__param(4, Inject(TUI_INPUT_CARD_GROUPED_TEXTS)),
|
|
506
|
-
__param(5, Inject(TUI_TEXTFIELD_APPEARANCE))
|
|
507
|
-
], TuiInputCardGroupedComponent);
|
|
508
|
-
return TuiInputCardGroupedComponent;
|
|
509
|
-
}(AbstractTuiNullableControl));
|
|
510
|
-
export { TuiInputCardGroupedComponent };
|
|
511
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5wdXQtY2FyZC1ncm91cGVkLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb21wb25lbnRzL2lucHV0LWNhcmQtZ3JvdXBlZC8iLCJzb3VyY2VzIjpbImlucHV0LWNhcmQtZ3JvdXBlZC5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPLEVBQ0gsdUJBQXVCLEVBQ3ZCLGlCQUFpQixFQUNqQixTQUFTLEVBQ1QsWUFBWSxFQUNaLFVBQVUsRUFDVixZQUFZLEVBQ1osVUFBVSxFQUNWLFlBQVksRUFDWixNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixNQUFNLEVBQ04sSUFBSSxFQUNKLFdBQVcsRUFDWCxTQUFTLEdBQ1osTUFBTSxlQUFlLENBQUM7QUFDdkIsT0FBTyxFQUFDLFNBQVMsRUFBQyxNQUFNLGdCQUFnQixDQUFDO0FBQ3pDLE9BQU8sRUFBQyxhQUFhLEVBQUUsdUJBQXVCLEVBQUMsTUFBTSxvQ0FBb0MsQ0FBQztBQUkxRixPQUFPLEVBQ0gsZ0JBQWdCLEVBQ2hCLGdDQUFnQyxHQUNuQyxNQUFNLGdDQUFnQyxDQUFDO0FBQ3hDLE9BQU8sRUFDSCwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLGlCQUFpQixFQUNqQiwyQkFBMkIsRUFDM0Isc0JBQXNCLEVBR3RCLGNBQWMsRUFFZCxPQUFPLEVBQ1AsaUJBQWlCLEdBQ3BCLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFDSCxhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLGdCQUFnQixFQUNoQixRQUFRLEVBQ1Isb0JBQW9CLEVBQ3BCLHdCQUF3QixFQUV4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEdBR3ZCLE1BQU0sZ0JBQWdCLENBQUM7QUFHeEIsT0FBTyxFQUFDLFVBQVUsRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUVoQyxPQUFPLEVBQ0gsNEJBQTRCLEdBRS9CLE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsSUFBTSxJ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LENBQUM7aUJBQzlEO2FBQ0o7WUFDRCxJQUFJLEVBQUU7Z0JBQ0Ysb0JBQW9CLEVBQUUsT0FBTztnQkFDN0IsV0FBVyxFQUFFLEdBQUc7YUFDbkI7O1NBQ0osQ0FBQztRQWtGTyxXQUFBLFFBQVEsRUFBRSxDQUFBO1FBQ1YsV0FBQSxJQUFJLEVBQUUsQ0FBQTtRQUNOLFdBQUEsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFBO1FBRWpCLFdBQUEsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDekIsV0FBQSxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7UUFDbEIsV0FBQSxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUE7UUFDaEIsV0FBQSxNQUFNLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUVwQyxXQUFBLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFBO09BMUY1Qiw0QkFBNEIsQ0ErWHhDO0lBQUQsbUNBQUM7Q0FBQSxBQS9YRCxDQUNZLDBCQUEwQixHQThYckM7U0EvWFksNEJBQTRCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgICBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSxcbiAgICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICBDb21wb25lbnQsXG4gICAgQ29udGVudENoaWxkLFxuICAgIEVsZW1lbnRSZWYsXG4gICAgRXZlbnRFbWl0dGVyLFxuICAgIGZvcndhcmRSZWYsXG4gICAgSG9zdExpc3RlbmVyLFxuICAgIEluamVjdCxcbiAgICBJbnB1dCxcbiAgICBPcHRpb25hbCxcbiAgICBPdXRwdXQsXG4gICAgU2VsZixcbiAgICBUZW1wbGF0ZVJlZixcbiAgICBWaWV3Q2hpbGQsXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHtOZ0NvbnRyb2x9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7VFVJX0NBUkRfTUFTSywgdHVpRGVmYXVsdENhcmRWYWxpZGF0b3J9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS9jb25zdGFudHMnO1xuaW1wb3J0IHtUdWlQYXltZW50U3lzdGVtfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvZW51bXMnO1xuaW1wb3J0IHtUdWlDYXJkfSBmcm9tICdAdGFpZ2EtdWkvYWRkb24tY29tbWVyY2UvaW50ZXJmYWNlcyc7XG5pbXBvcnQge1R1aUNvZGVDVkNMZW5ndGh9IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS90eXBlcyc7XG5pbXBvcnQge1xuICAgIGdldFBheW1lbnRTeXN0ZW0sXG4gICAgdHVpQ3JlYXRlQXV0b0NvcnJlY3RlZEV4cGlyZVBpcGUsXG59IGZyb20gJ0B0YWlnYS11aS9hZGRvbi1jb21tZXJjZS91dGlscyc7XG5pbXBvcnQge1xuICAgIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sLFxuICAgIGlzTmF0aXZlRm9jdXNlZCxcbiAgICBpc05hdGl2ZUZvY3VzZWRJbixcbiAgICBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgdHVpQXNzZXJ0SXNIVE1MRWxlbWVudCxcbiAgICBUdWlCb29sZWFuSGFuZGxlcixcbiAgICBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLFxuICAgIHR1aURlZmF1bHRQcm9wLFxuICAgIFR1aUZvY3VzYWJsZUVsZW1lbnRBY2Nlc3NvcixcbiAgICB0dWlQdXJlLFxuICAgIHR1aVJlcXVpcmVkU2V0dGVyLFxufSBmcm9tICdAdGFpZ2EtdWkvY2RrJztcbmltcG9ydCB7XG4gICAgTU9ERV9QUk9WSURFUixcbiAgICBUVUlfREFUQV9MSVNUX0hPU1QsXG4gICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfTU9ERSxcbiAgICBUVUlfTk9OX0RJR0lUX1JFR0VYUCxcbiAgICBUVUlfVEVYVEZJRUxEX0FQUEVBUkFOQ0UsXG4gICAgVHVpQnJpZ2h0bmVzcyxcbiAgICBUdWlEYXRhTGlzdENvbXBvbmVudCxcbiAgICBUdWlEYXRhTGlzdERpcmVjdGl2ZSxcbiAgICBUdWlEYXRhTGlzdEhvc3QsXG4gICAgVHVpVGV4dE1hc2tPcHRpb25zLFxufSBmcm9tICdAdGFpZ2EtdWkvY29yZSc7XG5pbXBvcnQge1BvbHltb3JwaGV1c0NvbnRlbnR9IGZyb20gJ0B0aW5rb2ZmL25nLXBvbHltb3JwaGV1cyc7XG5pbXBvcnQge1RleHRNYXNrQ29uZmlnfSBmcm9tICdhbmd1bGFyMi10ZXh0LW1hc2snO1xuaW1wb3J0IHtPYnNlcnZhYmxlfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHtcbiAgICBUVUlfSU5QVVRfQ0FSRF9HUk9VUEVEX1RFWFRTLFxuICAgIFR1aUNhcmRHcm91cGVkVGV4dHMsXG59IGZyb20gJy4vaW5wdXQtY2FyZC1ncm91cGVkLnByb3ZpZGVycyc7XG5cbmNvbnN0IFNUVUI6IFR1aUNhcmQgPSB7XG4gICAgY2FyZDogJycsXG4gICAgZXhwaXJlOiAnJyxcbiAgICBjdmM6ICcnLFxufTtcbmNvbnN0IElDT05TID0ge1xuICAgIFtUdWlQYXltZW50U3lzdGVtLk1pcl06ICd0dWlJY29uTWlyJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5WaXNhXTogJ3R1aUljb25WaXNhJyxcbiAgICBbVHVpUGF5bWVudFN5c3RlbS5FbGVjdHJvbl06ICd0dWlJY29uRWxlY3Ryb24nLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hc3RlcmNhcmRdOiAndHVpSWNvbk1hc3RlcmNhcmQnLFxuICAgIFtUdWlQYXltZW50U3lzdGVtLk1hZXN0cm9dOiAndHVpSWNvbk1hZXN0cm8nLFxufTtcblxuLy8gQGR5bmFtaWNcbkBDb21wb25lbnQoe1xuICAgIHNlbGVjdG9yOiAndHVpLWlucHV0LWNhcmQtZ3JvdXBlZCcsXG4gICAgdGVtcGxhdGVVcmw6ICcuL2lucHV0LWNhcmQtZ3JvdXBlZC50ZW1wbGF0ZS5odG1sJyxcbiAgICBzdHlsZVVybHM6IFsnLi9pbnB1dC1jYXJkLWdyb3VwZWQuc3R5bGUubGVzcyddLFxuICAgIGNoYW5nZURldGVjdGlvbjogQ2hhbmdlRGV0ZWN0aW9uU3RyYXRlZ3kuT25QdXNoLFxuICAgIHByb3ZpZGVyczogW1xuICAgICAgICBNT0RFX1BST1ZJREVSLFxuICAgICAgICB7XG4gICAgICAgICAgICBwcm92aWRlOiBUVUlfRk9DVVNBQkxFX0lURU1fQUNDRVNTT1IsXG4gICAgICAgICAgICB1c2VFeGlzdGluZzogZm9yd2FyZFJlZigoKSA9PiBUdWlJbnB1dENhcmRHcm91cGVkQ29tcG9uZW50KSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgICAgcHJvdmlkZTogVFVJX0RBVEFfTElTVF9IT1NULFxuICAgICAgICAgICAgdXNlRXhpc3Rpbmc6IGZvcndhcmRSZWYoKCkgPT4gVHVpSW5wdXRDYXJkR3JvdXBlZENvbXBvbmVudCksXG4gICAgICAgIH0sXG4gICAgXSxcbiAgICBob3N0OiB7XG4gICAgICAgICcoJC5kYXRhLW1vZGUuYXR0ciknOiAnbW9kZSQnLFxuICAgICAgICAnZGF0YS1zaXplJzogJ2wnLFxuICAgIH0sXG59KVxuZXhwb3J0IGNsYXNzIFR1aUlucHV0Q2FyZEdyb3VwZWRDb21wb25lbnRcbiAgICBleHRlbmRzIEFic3RyYWN0VHVpTnVsbGFibGVDb250cm9sPFR1aUNhcmQ+XG4gICAgaW1wbGVtZW50cyBUdWlGb2N1c2FibGVFbGVtZW50QWNjZXNzb3IsIFR1aURhdGFMaXN0SG9zdDxQYXJ0aWFsPFR1aUNhcmQ+Plxue1xuICAgIEBWaWV3Q2hpbGQoJ2lucHV0Q2FyZCcpXG4gICAgcHJpdmF0ZSByZWFkb25seSBpbnB1dENhcmQ/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRFeHBpcmUnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRFeHBpcmU/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgQFZpZXdDaGlsZCgnaW5wdXRDVkMnKVxuICAgIHByaXZhdGUgcmVhZG9ubHkgaW5wdXRDVkM/OiBFbGVtZW50UmVmPEhUTUxJbnB1dEVsZW1lbnQ+O1xuXG4gICAgcHJpdmF0ZSBleHBpcmVJbmVydCA9IGZhbHNlO1xuXG4gICAgQElucHV0KClcbiAgICBAdHVpRGVmYXVsdFByb3AoKVxuICAgIGF1dG9jb21wbGV0ZUVuYWJsZWQgPSBmYWxzZTtcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkU3JjOiBQb2x5bW9ycGhldXNDb250ZW50IHwgbnVsbCA9IG51bGw7IC8vIFRPRE86IDMuMCB3aWxsIGJlIGRlbGV0ZWQgYG51bGxgIGluIHYzLjBcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBleGFtcGxlVGV4dCA9ICcwMDAwIDAwMDAgMDAwMCAwMDAwJztcblxuICAgIEBJbnB1dCgpXG4gICAgQHR1aURlZmF1bHRQcm9wKClcbiAgICBjYXJkVmFsaWRhdG9yOiBUdWlCb29sZWFuSGFuZGxlcjxzdHJpbmc+ID0gdHVpRGVmYXVsdENhcmRWYWxpZGF0b3I7XG5cbiAgICBASW5wdXQoKVxuICAgIEB0dWlSZXF1aXJlZFNldHRlcigpXG4gICAgc2V0IGNvZGVMZW5ndGgobGVuZ3RoOiBUdWlDb2RlQ1ZDTGVuZ3RoKSB7XG4gICAgICAgIHRoaXMuZXhhbXBsZVRleHRDVkMgPSAnMCcucmVwZWF0KGxlbmd0aCk7XG4gICAgICAgIHRoaXMubWFza0NWQyA9IHtcbiAgICAgICAgICAgIG1hc2s6IG5ldyBBcnJheShsZW5ndGgpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIH07XG4gICAgfVxuXG4gICAgQE91dHB1dCgpXG4gICAgcmVhZG9ubHkgYXV0b2ZpbGxlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcblxuICAgIEBPdXRwdXQoKVxuICAgIHJlYWRvbmx5IGJpbkNoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8c3RyaW5nIHwgbnVsbD4oKTtcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3REaXJlY3RpdmUsIHtyZWFkOiBUZW1wbGF0ZVJlZn0pXG4gICAgcmVhZG9ubHkgZHJvcGRvd246IFBvbHltb3JwaGV1c0NvbnRlbnQgPSAnJztcblxuICAgIEBDb250ZW50Q2hpbGQoVHVpRGF0YUxpc3RDb21wb25lbnQpXG4gICAgcmVhZG9ubHkgZGF0YWxpc3Q/OiBUdWlEYXRhTGlzdENvbXBvbmVudDxUdWlDYXJkPjtcblxuICAgIGV4YW1wbGVUZXh0Q1ZDID0gJzAwMCc7XG5cbiAgICBtYXNrQ1ZDOiBUZXh0TWFza0NvbmZpZyA9IHtcbiAgICAgICAgbWFzazogbmV3IEFycmF5KDMpLmZpbGwoVFVJX0RJR0lUX1JFR0VYUCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0NhcmQ6IFRleHRNYXNrQ29uZmlnID0ge1xuICAgICAgICBtYXNrOiBUVUlfQ0FSRF9NQVNLLFxuICAgICAgICBndWlkZTogZmFsc2UsXG4gICAgICAgIHBpcGU6IGNvbmZvcm1lZFZhbHVlID0+IGNvbmZvcm1lZFZhbHVlLnRyaW0oKSxcbiAgICB9O1xuXG4gICAgcmVhZG9ubHkgbWFza0V4cGlyZTogVGV4dE1hc2tDb25maWcgPSB7XG4gICAgICAgIG1hc2s6IFtcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgICAgICBUVUlfRElHSVRfUkVHRVhQLFxuICAgICAgICAgICAgJy8nLFxuICAgICAgICAgICAgVFVJX0RJR0lUX1JFR0VYUCxcbiAgICAgICAgICAgIFRVSV9ESUdJVF9SRUdFWFAsXG4gICAgICAgIF0sXG4gICAgICAgIHBpcGU6IHR1aUNyZWF0ZUF1dG9Db3JyZWN0ZWRFeHBpcmVQaXBlKCksXG4gICAgICAgIGd1aWRlOiBmYWxzZSxcbiAgICB9IGFzIFR1aVRleHRNYXNrT3B0aW9ucyBhcyB1bmtub3duIGFzIFRleHRNYXNrQ29uZmlnO1xuXG4gICAgb3BlbiA9IGZhbHNlO1xuXG4gICAgY29uc3RydWN0b3IoXG4gICAgICAgIEBPcHRpb25hbCgpXG4gICAgICAgIEBTZWxmKClcbiAgICAgICAgQEluamVjdChOZ0NvbnRyb2wpXG4gICAgICAgIGNvbnRyb2w6IE5nQ29udHJvbCB8IG51bGwsXG4gICAgICAgIEBJbmplY3QoQ2hhbmdlRGV0ZWN0b3JSZWYpIGNoYW5nZURldGVjdG9yUmVmOiBDaGFuZ2VEZXRlY3RvclJlZixcbiAgICAgICAgQEluamVjdChFbGVtZW50UmVmKSBwcml2YXRlIHJlYWRvbmx5IGVsZW1lbnRSZWY6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+LFxuICAgICAgICBASW5qZWN0KFRVSV9NT0RFKSByZWFkb25seSBtb2RlJDogT2JzZXJ2YWJsZTxUdWlCcmlnaHRuZXNzIHwgbnVsbD4sXG4gICAgICAgIEBJbmplY3QoVFVJX0lOUFVUX0NBUkRfR1JPVVBFRF9URVhUUylcbiAgICAgICAgcmVhZG9ubHkgY2FyZEdyb3VwZWRUZXh0cyQ6IE9ic2VydmFibGU8VHVpQ2FyZEdyb3VwZWRUZXh0cz4sXG4gICAgICAgIEBJbmplY3QoVFVJX1RFWFRGSUVMRF9BUFBFQVJBTkNFKVxuICAgICAgICByZWFkb25seSBhcHBlYXJhbmNlOiBzdHJpbmcsXG4gICAgKSB7XG4gICAgICAgIHN1cGVyKGNvbnRyb2wsIGNoYW5nZURldGVjdG9yUmVmKTtcbiAgICB9XG5cbiAgICBnZXQgbmF0aXZlRm9jdXNhYmxlRWxlbWVudCgpOiBIVE1MSW5wdXRFbGVtZW50IHwgbnVsbCB7XG4gICAgICAgIHJldHVybiB0aGlzLmlucHV0Q2FyZCA/IHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQgOiBudWxsO1xuICAgIH1cblxuICAgIGdldCBmb2N1c2VkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5vcGVuIHx8IGlzTmF0aXZlRm9jdXNlZEluKHRoaXMuZWxlbWVudFJlZi5uYXRpdmVFbGVtZW50KTtcbiAgICB9XG5cbiAgICBnZXQgY2FyZCgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY2FyZCA/PyAnJztcbiAgICB9XG5cbiAgICBnZXQgZXhwaXJlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLnZhbHVlPy5leHBpcmUgPz8gJyc7XG4gICAgfVxuXG4gICAgZ2V0IGN2YygpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZT8uY3ZjID8/ICcnO1xuICAgIH1cblxuICAgIGdldCBoYXNDbGVhbmVyKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLnZhbHVlPy5jYXJkPy50cmltKCkgJiYgIXRoaXMucmVhZE9ubHkgJiYgIXRoaXMuY29tcHV0ZWREaXNhYmxlZDtcbiAgICB9XG5cbiAgICBnZXQgaGFzRHJvcGRvd24oKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAhIXRoaXMuZHJvcGRvd247XG4gICAgfVxuXG4gICAgZ2V0IGRlZmF1bHRJY29uKCk6IHN0cmluZyB8IG51bGwge1xuICAgICAgICBjb25zdCB7cGF5bWVudFN5c3RlbX0gPSB0aGlzO1xuXG4gICAgICAgIHJldHVybiBwYXltZW50U3lzdGVtICYmIElDT05TW3BheW1lbnRTeXN0ZW1dO1xuICAgIH1cblxuICAgIGdldCBpY29uKCk6IFBvbHltb3JwaGV1c0NvbnRlbnQgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY2FyZFNyYyA/PyB0aGlzLmRlZmF1bHRJY29uO1xuICAgIH1cblxuICAgIGdldCBiaW4oKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgICAgIHJldHVybiAhdGhpcy52YWx1ZSB8fCB0aGlzLnZhbHVlLmNhcmQubGVuZ3RoIDwgNlxuICAgICAgICAgICAgPyBudWxsXG4gICAgICAgICAgICA6IHRoaXMudmFsdWUuY2FyZC5zbGljZSgwLCA2KTtcbiAgICB9XG5cbiAgICBnZXQgcGxhY2Vob2xkZXJSYWlzZWQoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiAodGhpcy5jb21wdXRlZEZvY3VzZWQgJiYgIXRoaXMucmVhZE9ubHkpIHx8IHRoaXMuaGFzQ2FyZE51bWJlcjtcbiAgICB9XG5cbiAgICBnZXQgaGFzQ2FyZE51bWJlcigpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy52YWx1ZT8uY2FyZD8udHJpbSgpO1xuICAgIH1cblxuICAgIGdldCBpZENhcmQoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2NhcmRgO1xuICAgIH1cblxuICAgIGdldCBpZEV4cGlyZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gYCR7dGhpcy5pZH1fZXhwaXJlYDtcbiAgICB9XG5cbiAgICBnZXQgaWRDVkMoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIGAke3RoaXMuaWR9X2N2Y2A7XG4gICAgfVxuXG4gICAgZ2V0IGlzQ2FyZENvbGxhcHNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKSAmJiAhdGhpcy5jYXJkRm9jdXNlZDtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ2FyZCgpOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZFxuICAgICAgICAgICAgPyBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLkNjTnVtYmVyXG4gICAgICAgICAgICA6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuT2ZmO1xuICAgIH1cblxuICAgIGdldCBhdXRvY29tcGxldGVFeHBpcmUoKTogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZSB7XG4gICAgICAgIHJldHVybiB0aGlzLmF1dG9jb21wbGV0ZUVuYWJsZWRcbiAgICAgICAgICAgID8gVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5DY0V4cFxuICAgICAgICAgICAgOiBUdWlDcmVkaXRDYXJkQXV0b2ZpbGxOYW1lLk9mZjtcbiAgICB9XG5cbiAgICBnZXQgYXV0b2NvbXBsZXRlQ1ZDKCk6IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUge1xuICAgICAgICByZXR1cm4gdGhpcy5hdXRvY29tcGxldGVFbmFibGVkXG4gICAgICAgICAgICA/IFR1aUNyZWRpdENhcmRBdXRvZmlsbE5hbWUuQ2NDc2NcbiAgICAgICAgICAgIDogVHVpQ3JlZGl0Q2FyZEF1dG9maWxsTmFtZS5PZmY7XG4gICAgfVxuXG4gICAgLy8gU2FmYXJpIGV4cGlyYXRpb24gZGF0ZSBhdXRvZmlsbCB3b3JrYXJvdW5kXG4gICAgZ2V0IG5hbWUoKTogJ2NjZXhwaXJ5eWVhcicgfCBudWxsIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuYXV0b2NvbXBsZXRlRW5hYmxlZCA/ICdjY2V4cGlyeXllYXInIDogbnVsbDtcbiAgICB9XG5cbiAgICBnZXQgY2FyZFByZWZpbGxlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5jYXJkLm1hdGNoKFRVSV9OT05fRElHSVRfUkVHRVhQKTtcbiAgICB9XG5cbiAgICBnZXQgY3ZjUHJlZmlsbGVkKCk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gISF0aGlzLmN2Yy5tYXRjaChUVUlfTk9OX0RJR0lUX1JFR0VYUCk7XG4gICAgfVxuXG4gICAgZ2V0IGNhcmRGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmZvY3VzYWJsZSAmJiAhdGhpcy5jYXJkUHJlZmlsbGVkO1xuICAgIH1cblxuICAgIGdldCBleHBpcmVGb2N1c2FibGUoKTogYm9vbGVhbiB7XG4gICAgICAgIHJldHVybiB0aGlzLmlzRm9jdXNhYmxlKHRoaXMuY2FyZCkgJiYgIXRoaXMuZXhwaXJlSW5lcnQ7XG4gICAgfVxuXG4gICAgZ2V0IGN2Y0ZvY3VzYWJsZSgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaXNGb2N1c2FibGUodGhpcy5jYXJkKTtcbiAgICB9XG5cbiAgICBnZXQgbWFza2VkKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcmRQcmVmaWxsZWQgPyBgKiR7dGhpcy5jYXJkLnNsaWNlKC00KX1gIDogJyonO1xuICAgIH1cblxuICAgIEBIb3N0TGlzdGVuZXIoJ2tleWRvd24uZXNjJylcbiAgICBvbkVzYygpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgfVxuXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd0Rvd24ucHJldmVudCcsIFsnJGV2ZW50LnRhcmdldCcsICcxJ10pXG4gICAgQEhvc3RMaXN0ZW5lcigna2V5ZG93bi5hcnJvd1VwLnByZXZlbnQnLCBbJyRldmVudC50YXJnZXQnLCAnLTEnXSlcbiAgICBvbkFycm93KGVsZW1lbnQ6IEhUTUxFbGVtZW50LCBzdGVwOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5vcGVuID0gdGhpcy5oYXNEcm9wZG93bjtcbiAgICAgICAgdGhpcy5jaGFuZ2VEZXRlY3RvclJlZi5kZXRlY3RDaGFuZ2VzKCk7XG4gICAgICAgIHRoaXMuZGF0YWxpc3Q/Lm9uS2V5RG93bkFycm93KGVsZW1lbnQsIHN0ZXApO1xuICAgIH1cblxuICAgIGhhbmRsZU9wdGlvbihvcHRpb246IFBhcnRpYWw8VHVpQ2FyZD4pOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2NhcmQgPSAnJywgZXhwaXJlID0gJycsIGN2YyA9ICcnfSA9IG9wdGlvbjtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICghZXhwaXJlICYmIHRoaXMuaW5wdXRFeHBpcmU/Lm5hdGl2ZUVsZW1lbnQpIHx8IHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZSh7Y2FyZCwgZXhwaXJlLCBjdmN9KTtcbiAgICAgICAgdGhpcy51cGRhdGVCaW4oYmluKTtcbiAgICAgICAgdGhpcy5vcGVuID0gZmFsc2U7XG4gICAgICAgIHRoaXMuZXhwaXJlSW5lcnQgPSAhIWV4cGlyZTtcblxuICAgICAgICBlbGVtZW50Py5mb2N1cygpO1xuICAgIH1cblxuICAgIG9uQ2FyZENoYW5nZShjYXJkOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge3ZhbHVlLCBiaW59ID0gdGhpcztcbiAgICAgICAgY29uc3QgcGFyc2VkID0gY2FyZC5zcGxpdCgnICcpLmpvaW4oJycpO1xuXG4gICAgICAgIGlmICh2YWx1ZSAmJiB2YWx1ZS5jYXJkID09PSBwYXJzZWQpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBkYXRlUHJvcGVydHkocGFyc2VkLCAnY2FyZCcpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuXG4gICAgICAgIGlmICh0aGlzLmNhcmRWYWxpZGF0b3IodGhpcy5jYXJkKSAmJiAhdGhpcy5leHBpcmUgJiYgdGhpcy5pbnB1dEV4cGlyZSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0V4cGlyZSgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25FeHBpcmVDaGFuZ2UoZXhwaXJlOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgLy8gQGJhZCBUT0RPOiBXb3JrYXJvdW5kIHVudGlsIG1hc2sgcGlwZSBjYW4gcmVwbGFjZSBjaGFycyBhbmQga2VlcCBjYXJldCBwb3NpdGlvblxuICAgICAgICAvLyBAYmFkIFRPRE86IFRoaW5rIGFib3V0IGEgc29sdXRpb24gd2l0aG91dCBtYXNrIGF0IGFsbFxuICAgICAgICBpZiAoIXRoaXMuaW5wdXRFeHBpcmUpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmIChwYXJzZUludChleHBpcmUuc2xpY2UoMCwgMiksIDEwKSA+IDEyKSB7XG4gICAgICAgICAgICBleHBpcmUgPSBgMTIke2V4cGlyZS5zbGljZSgyKX1gO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGV4cGlyZS5zbGljZSgwLCAyKSA9PT0gJzAwJykge1xuICAgICAgICAgICAgZXhwaXJlID0gYDAxJHtleHBpcmUuc2xpY2UoMil9YDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMuaW5wdXRFeHBpcmUubmF0aXZlRWxlbWVudC52YWx1ZSA9IGV4cGlyZTtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShleHBpcmUsICdleHBpcmUnKTtcblxuICAgICAgICBpZiAoZXhwaXJlLmxlbmd0aCA9PT0gNSkge1xuICAgICAgICAgICAgdGhpcy5mb2N1c0NWQygpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb25DVkNDaGFuZ2UoY3ZjOiBzdHJpbmcpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVQcm9wZXJ0eShjdmMsICdjdmMnKTtcbiAgICB9XG5cbiAgICBvbkFjdGl2ZVpvbmVDaGFuZ2UoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlRm9jdXNlZChhY3RpdmUpO1xuICAgICAgICB0aGlzLm9wZW4gPSBhY3RpdmUgJiYgdGhpcy5vcGVuO1xuICAgIH1cblxuICAgIG9uSG92ZXJlZChob3ZlcmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMudXBkYXRlSG92ZXJlZChob3ZlcmVkKTtcbiAgICB9XG5cbiAgICBvbk1vdXNlRG93bihldmVudDogTW91c2VFdmVudCk6IHZvaWQge1xuICAgICAgICB0dWlBc3NlcnRJc0hUTUxFbGVtZW50KGV2ZW50LnRhcmdldCk7XG5cbiAgICAgICAgaWYgKGV2ZW50LnRhcmdldC5tYXRjaGVzKCdpbnB1dCcpKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICB0aGlzLmZvY3VzSW5wdXQoKTtcbiAgICB9XG5cbiAgICBvblNjcm9sbCh7Y3VycmVudFRhcmdldH06IEV2ZW50KTogdm9pZCB7XG4gICAgICAgIHR1aUFzc2VydElzSFRNTEVsZW1lbnQoY3VycmVudFRhcmdldCk7XG5cbiAgICAgICAgY3VycmVudFRhcmdldC5zY3JvbGxMZWZ0ID0gMDtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgdGhpcy5mb2N1c0NhcmQoKTtcbiAgICB9XG5cbiAgICB0b2dnbGUoKTogdm9pZCB7XG4gICAgICAgIHRoaXMub3BlbiA9ICF0aGlzLm9wZW47XG4gICAgfVxuXG4gICAgd3JpdGVWYWx1ZSh2YWx1ZTogVHVpQ2FyZCB8IG51bGwpOiB2b2lkIHtcbiAgICAgICAgY29uc3Qge2Jpbn0gPSB0aGlzO1xuXG4gICAgICAgIHN1cGVyLndyaXRlVmFsdWUodmFsdWUpO1xuICAgICAgICB0aGlzLnVwZGF0ZUJpbihiaW4pO1xuICAgICAgICB0aGlzLmV4cGlyZUluZXJ0ID0gISF0aGlzLmV4cGlyZSAmJiB0aGlzLmNhcmRQcmVmaWxsZWQ7XG4gICAgfVxuXG4gICAgLyoqIFB1YmxpYyBBUEkgZm9yIG1hbnVhbCBmb2N1cyBtYW5hZ2VtZW50ICovXG4gICAgZm9jdXNDYXJkKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0Q2FyZD8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cblxuICAgIGZvY3VzRXhwaXJlKCk6IHZvaWQge1xuICAgICAgICB0aGlzLmlucHV0RXhwaXJlPy5uYXRpdmVFbGVtZW50LmZvY3VzKHtwcmV2ZW50U2Nyb2xsOiB0cnVlfSk7XG4gICAgfVxuXG4gICAgZm9jdXNDVkMoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQuZm9jdXMoKTtcbiAgICB9XG5cbiAgICBwcml2YXRlIGdldCBjYXJkRm9jdXNlZCgpOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuICEhdGhpcy5pbnB1dENhcmQgJiYgaXNOYXRpdmVGb2N1c2VkKHRoaXMuaW5wdXRDYXJkLm5hdGl2ZUVsZW1lbnQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgZ2V0IHBheW1lbnRTeXN0ZW0oKTogVHVpUGF5bWVudFN5c3RlbSB8IG51bGwge1xuICAgICAgICByZXR1cm4gdGhpcy52YWx1ZSAmJiBnZXRQYXltZW50U3lzdGVtKHRoaXMudmFsdWUuY2FyZCk7XG4gICAgfVxuXG4gICAgQHR1aVB1cmVcbiAgICBwcml2YXRlIGlzRm9jdXNhYmxlKGNhcmQ6IHN0cmluZyk6IGJvb2xlYW4ge1xuICAgICAgICByZXR1cm4gdGhpcy5mb2N1c2FibGUgJiYgKHRoaXMuY2FyZFZhbGlkYXRvcihjYXJkKSB8fCB0aGlzLmNhcmRQcmVmaWxsZWQpO1xuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlQmluKG9sZEJpbjogc3RyaW5nIHwgbnVsbCk6IHZvaWQge1xuICAgICAgICBjb25zdCB7YmlufSA9IHRoaXM7XG5cbiAgICAgICAgaWYgKGJpbiAhPT0gb2xkQmluICYmICF0aGlzLmNhcmRQcmVmaWxsZWQpIHtcbiAgICAgICAgICAgIHRoaXMuYmluQ2hhbmdlLmVtaXQoYmluKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHByaXZhdGUgdXBkYXRlUHJvcGVydHkocHJvcFZhbHVlOiBzdHJpbmcsIHByb3BOYW1lOiAnY2FyZCcgfCAnZXhwaXJlJyB8ICdjdmMnKTogdm9pZCB7XG4gICAgICAgIGNvbnN0IHtjYXJkLCBleHBpcmUsIGN2Y30gPSB0aGlzLnZhbHVlIHx8IFNUVUI7XG4gICAgICAgIGNvbnN0IG5ld1ZhbHVlOiBUdWlDYXJkID0ge1xuICAgICAgICAgICAgY2FyZCxcbiAgICAgICAgICAgIGV4cGlyZSxcbiAgICAgICAgICAgIGN2YyxcbiAgICAgICAgfTtcblxuICAgICAgICBuZXdWYWx1ZVtwcm9wTmFtZV0gPSBwcm9wVmFsdWU7XG5cbiAgICAgICAgaWYgKCFuZXdWYWx1ZS5leHBpcmUgJiYgIW5ld1ZhbHVlLmN2YyAmJiAhbmV3VmFsdWUuY2FyZCkge1xuICAgICAgICAgICAgdGhpcy51cGRhdGVWYWx1ZShudWxsKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMudXBkYXRlVmFsdWUobmV3VmFsdWUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcHJpdmF0ZSBmb2N1c0lucHV0KCk6IHZvaWQge1xuICAgICAgICBjb25zdCBlbGVtZW50ID1cbiAgICAgICAgICAgICh0aGlzLmNhcmRGb2N1c2FibGUgJiYgdGhpcy5pbnB1dENhcmQ/Lm5hdGl2ZUVsZW1lbnQpIHx8XG4gICAgICAgICAgICAodGhpcy5leHBpcmVGb2N1c2FibGUgJiYgdGhpcy5pbnB1dEV4cGlyZT8ubmF0aXZlRWxlbWVudCkgfHxcbiAgICAgICAgICAgIHRoaXMuaW5wdXRDVkM/Lm5hdGl2ZUVsZW1lbnQ7XG5cbiAgICAgICAgZWxlbWVudD8uZm9jdXMoKTtcbiAgICB9XG59XG4iXX0=
|