@taiga-ui/addon-commerce 2.59.1 → 3.0.0-rc.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/bundles/taiga-ui-addon-commerce-components-card.umd.js +420 -306
- 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 +610 -463
- 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 +458 -332
- 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 +436 -310
- 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 +427 -304
- package/bundles/taiga-ui-addon-commerce-components-input-expire.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-components-money.umd.js +509 -377
- 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 +8 -6
- package/bundles/taiga-ui-addon-commerce-constants.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-enums.umd.js +100 -41
- 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 +60 -271
- package/bundles/taiga-ui-addon-commerce-pipes.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-tokens.umd.js +9 -5
- 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 +46 -95
- package/bundles/taiga-ui-addon-commerce-utils.umd.js.map +1 -1
- package/bundles/taiga-ui-addon-commerce-validators.umd.js +15 -9
- 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 -4
- 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 -4
- 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/input-card-grouped.providers.d.ts +0 -2
- 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 +48 -6
- package/enums/currency.d.ts +48 -6
- 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 +39 -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 +73 -60
- 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 +125 -109
- package/esm2015/components/input-card-grouped/input-card-grouped.module.js +45 -15
- package/esm2015/components/input-card-grouped/input-card-grouped.providers.js +20 -17
- 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 +50 -41
- 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 +46 -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 +1 -1
- package/esm2015/components/money/money.component.js +46 -33
- 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 +15 -14
- 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 +1 -1
- package/esm2015/components/money/utils/format-sign-symbol.js +1 -1
- package/esm2015/components/taiga-ui-addon-commerce-components.js +1 -1
- package/esm2015/constants/card-holder-mask.js +1 -1
- package/esm2015/constants/card-mask.js +1 -1
- 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 +48 -7
- package/esm2015/enums/currency.js +48 -7
- 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 +14 -12
- package/esm2015/pipes/format-card/format-card.module.js +14 -11
- package/esm2015/pipes/format-card/format-card.pipe.js +10 -8
- 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 +4 -4
- 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 +1 -1
- package/esm2015/utils/format-currency.js +7 -12
- package/esm2015/utils/get-currency-symbol.js +11 -7
- package/esm2015/utils/get-payment-system.js +17 -47
- package/esm2015/utils/index.js +1 -1
- package/esm2015/utils/is-card-length-valid.js +9 -12
- package/esm2015/utils/is-card-number-valid.js +2 -5
- package/esm2015/utils/is-expire-valid.js +2 -7
- package/esm2015/utils/taiga-ui-addon-commerce-utils.js +1 -1
- package/esm2015/validators/card-expire.validator.js +3 -3
- package/esm2015/validators/card-number.validator.js +3 -3
- 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 +54 -40
- package/fesm2015/taiga-ui-addon-commerce-components-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-card-grouped.js +188 -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 -70
- package/fesm2015/taiga-ui-addon-commerce-components-input-card.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js +73 -49
- package/fesm2015/taiga-ui-addon-commerce-components-input-cvc.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js +67 -46
- package/fesm2015/taiga-ui-addon-commerce-components-input-expire.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-components-money.js +125 -100
- 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 +2 -2
- package/fesm2015/taiga-ui-addon-commerce-constants.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-enums.js +95 -40
- 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 +45 -31
- package/fesm2015/taiga-ui-addon-commerce-pipes.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-tokens.js +3 -3
- 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 +41 -83
- package/fesm2015/taiga-ui-addon-commerce-utils.js.map +1 -1
- package/fesm2015/taiga-ui-addon-commerce-validators.js +6 -4
- 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 +1 -1
- 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/format-currency.d.ts +1 -5
- 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/is-expire-valid.d.ts +1 -5
- 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 -11
- 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 -178
- package/esm5/enums/currency.js +0 -178
- 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 -210
- 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 -389
- 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,12 +1,12 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
|
-
import {
|
|
2
|
+
import { tuiExtractI18n } from '@taiga-ui/i18n';
|
|
3
3
|
import { of } from 'rxjs';
|
|
4
4
|
|
|
5
5
|
const TUI_CARD_NUMBER_TEXTS = new InjectionToken(`Number and card number i18n`, {
|
|
6
|
-
factory:
|
|
6
|
+
factory: tuiExtractI18n(`cardNumber`),
|
|
7
7
|
});
|
|
8
8
|
const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(`Expiry and card expiry i18n`, {
|
|
9
|
-
factory:
|
|
9
|
+
factory: tuiExtractI18n(`cardExpiry`),
|
|
10
10
|
});
|
|
11
11
|
const TUI_CARD_CVC_TEXTS = new InjectionToken(`Card CVC number text`, {
|
|
12
12
|
factory: () => of([`CVC`, `CVC/CVV`]),
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-tokens.js","sources":["
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-tokens.js","sources":["../../../projects/addon-commerce/tokens/i18n.ts","../../../projects/addon-commerce/tokens/taiga-ui-addon-commerce-tokens.ts"],"sourcesContent":["import {InjectionToken} from '@angular/core';\nimport {tuiExtractI18n} from '@taiga-ui/i18n';\nimport {Observable, of} from 'rxjs';\n\nexport const TUI_CARD_NUMBER_TEXTS = new InjectionToken(`Number and card number i18n`, {\n factory: tuiExtractI18n(`cardNumber`),\n});\n\nexport const TUI_CARD_EXPIRY_TEXTS = new InjectionToken(`Expiry and card expiry i18n`, {\n factory: tuiExtractI18n(`cardExpiry`),\n});\n\nexport const TUI_CARD_CVC_TEXTS = new InjectionToken<Observable<[string, string]>>(\n `Card CVC number text`,\n {\n factory: () => of([`CVC`, `CVC/CVV`]),\n },\n);\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;MAIa,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AACnF,IAAA,OAAO,EAAE,cAAc,CAAC,CAAA,UAAA,CAAY,CAAC;AACxC,CAAA,EAAE;MAEU,qBAAqB,GAAG,IAAI,cAAc,CAAC,6BAA6B,EAAE;AACnF,IAAA,OAAO,EAAE,cAAc,CAAC,CAAA,UAAA,CAAY,CAAC;AACxC,CAAA,EAAE;MAEU,kBAAkB,GAAG,IAAI,cAAc,CAChD,sBAAsB,EACtB;IACI,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC,CAAK,GAAA,CAAA,EAAE,CAAS,OAAA,CAAA,CAAC,CAAC;AACxC,CAAA;;AChBL;;AAEG;;;;"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-types.js","sources":["
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-types.js","sources":["../../../projects/addon-commerce/types/taiga-ui-addon-commerce-types.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"AAAA;;AAEG"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { TUI_NON_DIGIT_REGEXP, TUI_NON_DIGITS_REGEXP } from '@taiga-ui/core';
|
|
2
|
-
import {
|
|
2
|
+
import { tuiIsString } from '@taiga-ui/cdk';
|
|
3
3
|
|
|
4
4
|
const TUI_EXP_YEAR_MONTH = /^\d{2}[/|.]\d{4}$/;
|
|
5
5
|
const TUI_EXP_SAFARI = /^\d{1,4}.\d{1,2}.\d{1,4}$/;
|
|
@@ -39,11 +39,7 @@ function tuiCreateAutoCorrectedExpirePipe() {
|
|
|
39
39
|
};
|
|
40
40
|
}
|
|
41
41
|
|
|
42
|
-
|
|
43
|
-
* @deprecated: use {@link tuiGetCurrencySymbol} instead
|
|
44
|
-
*/
|
|
45
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
46
|
-
function getCurrencySymbol(currency) {
|
|
42
|
+
function tuiGetCurrencySymbol(currency) {
|
|
47
43
|
switch (currency) {
|
|
48
44
|
case "RUB" /* Ruble */:
|
|
49
45
|
case "643" /* Ruble */:
|
|
@@ -104,32 +100,31 @@ function getCurrencySymbol(currency) {
|
|
|
104
100
|
case "UAH" /* Hryvnia */:
|
|
105
101
|
case "980" /* Hryvnia */:
|
|
106
102
|
return `₴`;
|
|
103
|
+
case "UZS" /* UzbekSum */:
|
|
104
|
+
case "860" /* UzbekSum */:
|
|
105
|
+
return `So'm`;
|
|
106
|
+
case "KGS" /* KyrgyzstanSom */:
|
|
107
|
+
case "417" /* KyrgyzstanSom */:
|
|
108
|
+
return `c`;
|
|
109
|
+
case "AED" /* Dirham */:
|
|
110
|
+
case "784" /* Dirham */:
|
|
111
|
+
return `Dh`;
|
|
107
112
|
default:
|
|
108
113
|
return null;
|
|
109
114
|
}
|
|
110
115
|
}
|
|
111
|
-
const tuiGetCurrencySymbol = getCurrencySymbol;
|
|
112
116
|
|
|
113
|
-
|
|
114
|
-
* @deprecated: use {@link tuiFormatCurrency} instead
|
|
115
|
-
*/
|
|
116
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
117
|
-
function formatCurrency(currency) {
|
|
117
|
+
function tuiFormatCurrency(currency) {
|
|
118
118
|
const stringifiedCurrency = stringifyCurrency(currency);
|
|
119
|
-
return
|
|
119
|
+
return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;
|
|
120
120
|
}
|
|
121
|
-
const tuiFormatCurrency = formatCurrency;
|
|
122
121
|
function stringifyCurrency(currency) {
|
|
123
|
-
return currency === null ||
|
|
122
|
+
return currency === null || tuiIsString(currency)
|
|
124
123
|
? currency || ``
|
|
125
|
-
:
|
|
124
|
+
: String(currency).padStart(3, `0`);
|
|
126
125
|
}
|
|
127
126
|
|
|
128
|
-
|
|
129
|
-
* @deprecated: use {@link tuiGetPaymentSystem} instead
|
|
130
|
-
*/
|
|
131
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
132
|
-
function getPaymentSystem(cardNumber) {
|
|
127
|
+
function tuiGetPaymentSystem(cardNumber) {
|
|
133
128
|
if (cardNumber === ``) {
|
|
134
129
|
return null;
|
|
135
130
|
}
|
|
@@ -137,29 +132,24 @@ function getPaymentSystem(cardNumber) {
|
|
|
137
132
|
const two = Number.parseInt(cardNumber.slice(0, 2), 10);
|
|
138
133
|
const three = Number.parseInt(cardNumber.slice(0, 3), 10);
|
|
139
134
|
const four = Number.parseInt(cardNumber.slice(0, 4), 10);
|
|
140
|
-
if (
|
|
141
|
-
return
|
|
135
|
+
if (tuiIsMaestro(three, two, one)) {
|
|
136
|
+
return `maestro`;
|
|
142
137
|
}
|
|
143
|
-
if (
|
|
144
|
-
return
|
|
138
|
+
if (tuiIsMastercard(four, two, one)) {
|
|
139
|
+
return `mastercard`;
|
|
145
140
|
}
|
|
146
|
-
if (
|
|
147
|
-
return
|
|
141
|
+
if (tuiIsMir(four)) {
|
|
142
|
+
return `mir`;
|
|
148
143
|
}
|
|
149
|
-
if (
|
|
150
|
-
return
|
|
144
|
+
if (tuiIsElectron(four)) {
|
|
145
|
+
return `electron`;
|
|
151
146
|
}
|
|
152
|
-
if (
|
|
153
|
-
return
|
|
147
|
+
if (tuiIsVisa(one)) {
|
|
148
|
+
return `visa`;
|
|
154
149
|
}
|
|
155
150
|
return null;
|
|
156
151
|
}
|
|
157
|
-
|
|
158
|
-
/**
|
|
159
|
-
* @deprecated: use {@link tuiIsMaestro} instead
|
|
160
|
-
*/
|
|
161
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
162
|
-
function isMaestro(three, two, one) {
|
|
152
|
+
function tuiIsMaestro(three, two, one) {
|
|
163
153
|
if (one === 6) {
|
|
164
154
|
return true;
|
|
165
155
|
}
|
|
@@ -171,12 +161,7 @@ function isMaestro(three, two, one) {
|
|
|
171
161
|
}
|
|
172
162
|
return three < 510;
|
|
173
163
|
}
|
|
174
|
-
|
|
175
|
-
/**
|
|
176
|
-
* @deprecated: use {@link tuiIsMastercard} instead
|
|
177
|
-
*/
|
|
178
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
179
|
-
function isMastercard(four, two, one) {
|
|
164
|
+
function tuiIsMastercard(four, two, one) {
|
|
180
165
|
if (one === 5) {
|
|
181
166
|
return true;
|
|
182
167
|
}
|
|
@@ -191,20 +176,10 @@ function isMastercard(four, two, one) {
|
|
|
191
176
|
}
|
|
192
177
|
return four > 2220 && four < 2721;
|
|
193
178
|
}
|
|
194
|
-
|
|
195
|
-
/**
|
|
196
|
-
* @deprecated: use {@link tuiIsMir} instead
|
|
197
|
-
*/
|
|
198
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
199
|
-
function isMir(four) {
|
|
179
|
+
function tuiIsMir(four) {
|
|
200
180
|
return four > 2199 && four < 2205;
|
|
201
181
|
}
|
|
202
|
-
|
|
203
|
-
/**
|
|
204
|
-
* @deprecated: use {@link tuiIsElectron} instead
|
|
205
|
-
*/
|
|
206
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
207
|
-
function isElectron(four) {
|
|
182
|
+
function tuiIsElectron(four) {
|
|
208
183
|
switch (four) {
|
|
209
184
|
case 4026:
|
|
210
185
|
case 4175:
|
|
@@ -218,46 +193,35 @@ function isElectron(four) {
|
|
|
218
193
|
return false;
|
|
219
194
|
}
|
|
220
195
|
}
|
|
221
|
-
|
|
222
|
-
/**
|
|
223
|
-
* @deprecated: use {@link tuiIsVisa} instead
|
|
224
|
-
*/
|
|
225
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
226
|
-
function isVisa(one) {
|
|
196
|
+
function tuiIsVisa(one) {
|
|
227
197
|
return one === 4;
|
|
228
198
|
}
|
|
229
|
-
const tuiIsVisa = isVisa;
|
|
230
199
|
|
|
231
200
|
/**
|
|
232
|
-
* @deprecated: use {@link tuiIsCardLengthValid} instead
|
|
233
201
|
* Validates card number length using payment system dictionary
|
|
234
202
|
*/
|
|
235
|
-
|
|
236
|
-
function isCardLengthValid(cardNumber) {
|
|
203
|
+
function tuiIsCardLengthValid(cardNumber) {
|
|
237
204
|
const { length } = cardNumber;
|
|
238
|
-
const paymentSystem =
|
|
205
|
+
const paymentSystem = tuiGetPaymentSystem(cardNumber);
|
|
239
206
|
switch (paymentSystem) {
|
|
240
|
-
case
|
|
207
|
+
case `electron`:
|
|
241
208
|
return length === 16;
|
|
242
|
-
case
|
|
209
|
+
case `maestro`:
|
|
243
210
|
return length > 11 && length < 20;
|
|
244
|
-
case
|
|
245
|
-
case
|
|
211
|
+
case `mastercard`:
|
|
212
|
+
case `mir`:
|
|
246
213
|
return length > 15 && length < 20;
|
|
247
|
-
case
|
|
214
|
+
case `visa`:
|
|
248
215
|
return length > 12 && length < 20;
|
|
249
216
|
default:
|
|
250
217
|
return length > 8 && length < 20;
|
|
251
218
|
}
|
|
252
219
|
}
|
|
253
|
-
const tuiIsCardLengthValid = isCardLengthValid;
|
|
254
220
|
|
|
255
221
|
/**
|
|
256
|
-
* @deprecated: use {@link tuiIsCardNumberValid} instead
|
|
257
222
|
* Validates card number using Luhn algorithm
|
|
258
223
|
*/
|
|
259
|
-
|
|
260
|
-
function isCardNumberValid(value) {
|
|
224
|
+
function tuiIsCardNumberValid(value) {
|
|
261
225
|
const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, ``);
|
|
262
226
|
const { length } = cardNumber;
|
|
263
227
|
const arr = cardNumber.split(``).map((char, index) => {
|
|
@@ -270,13 +234,8 @@ function isCardNumberValid(value) {
|
|
|
270
234
|
});
|
|
271
235
|
return !(arr.reduce((a, b) => a + b, 0) % 10);
|
|
272
236
|
}
|
|
273
|
-
const tuiIsCardNumberValid = isCardNumberValid;
|
|
274
237
|
|
|
275
|
-
|
|
276
|
-
* @deprecated: use {@link tuiIsExpireValid} instead
|
|
277
|
-
*/
|
|
278
|
-
// eslint-disable-next-line @typescript-eslint/naming-convention
|
|
279
|
-
function isExpireValid(expire) {
|
|
238
|
+
function tuiIsExpireValid(expire) {
|
|
280
239
|
const today = new Date();
|
|
281
240
|
const currentMonth = today.getMonth();
|
|
282
241
|
const currentYear = today.getFullYear() - 2000;
|
|
@@ -284,11 +243,10 @@ function isExpireValid(expire) {
|
|
|
284
243
|
const year = parseInt(expire.slice(-2), 0);
|
|
285
244
|
return year > currentYear || (year === currentYear && month >= currentMonth);
|
|
286
245
|
}
|
|
287
|
-
const tuiIsExpireValid = isExpireValid;
|
|
288
246
|
|
|
289
247
|
/**
|
|
290
248
|
* Generated bundle index. Do not edit.
|
|
291
249
|
*/
|
|
292
250
|
|
|
293
|
-
export {
|
|
251
|
+
export { tuiCreateAutoCorrectedExpirePipe, tuiFormatCurrency, tuiGetCurrencySymbol, tuiGetPaymentSystem, tuiIsCardLengthValid, tuiIsCardNumberValid, tuiIsElectron, tuiIsExpireValid, tuiIsMaestro, tuiIsMastercard, tuiIsMir, tuiIsVisa };
|
|
294
252
|
//# sourceMappingURL=taiga-ui-addon-commerce-utils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["ng://@taiga-ui/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","ng://@taiga-ui/addon-commerce/utils/get-currency-symbol.ts","ng://@taiga-ui/addon-commerce/utils/format-currency.ts","ng://@taiga-ui/addon-commerce/utils/get-payment-system.ts","ng://@taiga-ui/addon-commerce/utils/is-card-length-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-card-number-valid.ts","ng://@taiga-ui/addon-commerce/utils/is-expire-valid.ts","ng://@taiga-ui/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = `${rawValue.slice(0, 2)}/${rawValue.slice(5)}`;\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${`0`.repeat(2 - month.length)}${month}/${\n year ? year.slice(2) : ``\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split(``);\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = `/`;\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = `0`;\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(``),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\n/**\n * @deprecated: use {@link tuiGetCurrencySymbol} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return `₽`;\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\n return `$`;\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return `S$`;\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return `A$`;\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return `HK$`;\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return `C$`;\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return `€`;\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return `£`;\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return `฿`;\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return `₺`;\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return `CN¥`;\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return `¥`;\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return `₪`;\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return `₹`;\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return `₣`;\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return `֏`;\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return `₩`;\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return `₸`;\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return `₴`;\n default:\n return null;\n }\n}\n\nexport const tuiGetCurrencySymbol = getCurrencySymbol;\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {padStart} from '@taiga-ui/cdk';\n\nimport {getCurrencySymbol} from './get-currency-symbol';\n\n/**\n * @deprecated: use {@link tuiFormatCurrency} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function formatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return getCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nexport const tuiFormatCurrency = formatCurrency;\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || typeof currency === `string`\n ? currency || ``\n : padStart(String(currency), 3, `0`);\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\n/**\n * @deprecated: use {@link tuiGetPaymentSystem} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function getPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === ``) {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (isMaestro(three, two, one)) {\n return TuiPaymentSystem.Maestro;\n }\n\n if (isMastercard(four, two, one)) {\n return TuiPaymentSystem.Mastercard;\n }\n\n if (isMir(four)) {\n return TuiPaymentSystem.Mir;\n }\n\n if (isElectron(four)) {\n return TuiPaymentSystem.Electron;\n }\n\n if (isVisa(one)) {\n return TuiPaymentSystem.Visa;\n }\n\n return null;\n}\n\nexport const tuiGetPaymentSystem = getPaymentSystem;\n\n/**\n * @deprecated: use {@link tuiIsMaestro} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport const tuiIsMaestro = isMaestro;\n\n/**\n * @deprecated: use {@link tuiIsMastercard} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport const tuiIsMastercard = isMastercard;\n\n/**\n * @deprecated: use {@link tuiIsMir} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport const tuiIsMir = isMir;\n\n/**\n * @deprecated: use {@link tuiIsElectron} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport const tuiIsElectron = isElectron;\n\n/**\n * @deprecated: use {@link tuiIsVisa} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isVisa(one: number): boolean {\n return one === 4;\n}\n\nexport const tuiIsVisa = isVisa;\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/enums';\n\nimport {getPaymentSystem} from './get-payment-system';\n\n/**\n * @deprecated: use {@link tuiIsCardLengthValid} instead\n * Validates card number length using payment system dictionary\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = getPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case TuiPaymentSystem.Electron:\n return length === 16;\n case TuiPaymentSystem.Maestro:\n return length > 11 && length < 20;\n case TuiPaymentSystem.Mastercard:\n case TuiPaymentSystem.Mir:\n return length > 15 && length < 20;\n case TuiPaymentSystem.Visa:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n\nexport const tuiIsCardLengthValid = isCardLengthValid;\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * @deprecated: use {@link tuiIsCardNumberValid} instead\n * Validates card number using Luhn algorithm\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, ``);\n\n const {length} = cardNumber;\n const arr = cardNumber.split(``).map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n\nexport const tuiIsCardNumberValid = isCardNumberValid;\n","/**\n * @deprecated: use {@link tuiIsExpireValid} instead\n */\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport function isExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n\nexport const tuiIsExpireValid = isExpireValid;\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAEA,MAAM,kBAAkB,GAAG,mBAAmB,CAAC;AAC/C,MAAM,cAAc,GAAG,2BAA2B,CAAC;AAEnD;;;;;;SAMgB,gCAAgC;IAC5C,OAAO,CAAC,cAAc,EAAE,EAAC,QAAQ,EAAC;;QAE9B,IAAI,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE;YACnC,cAAc,GAAG,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC;SACnE;;QAGD,IACI,QAAQ,CAAC,MAAM,GAAG,CAAC;YACnB,QAAQ,CAAC,MAAM,GAAG,EAAE;YACpB,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,EAC/B;YACE,MAAM,KAAK,GAAG,QAAQ,CAAC,KAAK,CAAC,oBAAoB,CAAC,CAAC;YACnD,MAAM,KAAK,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;YACvB,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAC,EAAC,MAAM,EAAC,KAAK,MAAM,KAAK,CAAC,CAAC,CAAC;YAEpD,cAAc,GAAG,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,KAAK,IACpD,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,EAC3B,EAAE,CAAC;SACN;QAED,MAAM,mBAAmB,GAAa,EAAE,CAAC;QACzC,MAAM,iBAAiB,GAAG,cAAc,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAEnD,IAAI,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,EAAE;YACxC,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC3B,iBAAiB,CAAC,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,CAAC,CAAC;YAC5C,iBAAiB,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC;YAC3B,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAC/B;QAED,OAAO;YACH,KAAK,EAAE,iBAAiB,CAAC,IAAI,CAAC,EAAE,CAAC;YACjC,mBAAmB;SACtB,CAAC;KACL,CAAC;AACN;;AC7CA;;;AAGA;SACgB,iBAAiB,CAAC,QAA6B;IAC3D,QAAQ,QAAQ;QACZ,uBAAuB;QACvB;YACI,OAAO,GAAG,CAAC;QACf,wBAAwB;QACxB,wBAA4B;QAC5B,6BAA6B;QAC7B;YACI,OAAO,GAAG,CAAC;QACf,iCAAiC;QACjC;YACI,OAAO,IAAI,CAAC;QAChB,kCAAkC;QAClC;YACI,OAAO,IAAI,CAAC;QAChB,gCAAgC;QAChC;YACI,OAAO,KAAK,CAAC;QACjB,gCAAgC;QAChC;YACI,OAAO,IAAI,CAAC;QAChB,sBAAsB;QACtB;YACI,OAAO,GAAG,CAAC;QACf,uBAAuB;QACvB;YACI,OAAO,GAAG,CAAC;QACf,sBAAsB;QACtB;YACI,OAAO,GAAG,CAAC;QACf,6BAA6B;QAC7B;YACI,OAAO,GAAG,CAAC;QACf,8BAA8B;QAC9B;YACI,OAAO,KAAK,CAAC;QACjB,qBAAqB;QACrB;YACI,OAAO,GAAG,CAAC;QACf,+BAA+B;QAC/B;YACI,OAAO,GAAG,CAAC;QACf,6BAA6B;QAC7B;YACI,OAAO,GAAG,CAAC;QACf,4BAA4B;QAC5B;YACI,OAAO,GAAG,CAAC;QACf,8BAA8B;QAC9B;YACI,OAAO,GAAG,CAAC;QACf,qBAAqB;QACrB;YACI,OAAO,GAAG,CAAC;QACf,uBAAuB;QACvB;YACI,OAAO,GAAG,CAAC;QACf,yBAAyB;QACzB;YACI,OAAO,GAAG,CAAC;QACf;YACI,OAAO,IAAI,CAAC;KACnB;AACL,CAAC;MAEY,oBAAoB,GAAG;;ACpEpC;;;AAGA;SACgB,cAAc,CAAC,QAA6B;IACxD,MAAM,mBAAmB,GAAG,iBAAiB,CAAC,QAAQ,CAAC,CAAC;IAExD,OAAO,iBAAiB,CAAC,mBAAmB,CAAC,IAAI,mBAAmB,CAAC;AACzE,CAAC;MAEY,iBAAiB,GAAG,eAAe;AAEhD,SAAS,iBAAiB,CAAC,QAA6B;IACpD,OAAO,QAAQ,KAAK,IAAI,IAAI,OAAO,QAAQ,KAAK,QAAQ;UAClD,QAAQ,IAAI,EAAE;UACd,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAC;AAC7C;;ACnBA;;;AAGA;SACgB,gBAAgB,CAAC,UAAkB;IAC/C,IAAI,UAAU,KAAK,EAAE,EAAE;QACnB,OAAO,IAAI,CAAC;KACf;IAED,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC/C,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IACxD,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAC1D,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;IAEzD,IAAI,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC5B,+BAAgC;KACnC;IAED,IAAI,YAAY,CAAC,IAAI,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE;QAC9B,qCAAmC;KACtC;IAED,IAAI,KAAK,CAAC,IAAI,CAAC,EAAE;QACb,uBAA4B;KAC/B;IAED,IAAI,UAAU,CAAC,IAAI,CAAC,EAAE;QAClB,iCAAiC;KACpC;IAED,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;QACb,yBAA6B;KAChC;IAED,OAAO,IAAI,CAAC;AAChB,CAAC;MAEY,mBAAmB,GAAG,iBAAiB;AAEpD;;;AAGA;SACgB,SAAS,CAAC,KAAa,EAAE,GAAW,EAAE,GAAW;IAC7D,IAAI,GAAG,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACf;IAED,IAAI,GAAG,KAAK,EAAE,KAAK,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,CAAC,EAAE;QACtC,OAAO,IAAI,CAAC;KACf;IAED,IAAI,KAAK,GAAG,GAAG,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,KAAK,GAAG,GAAG,CAAC;AACvB,CAAC;MAEY,YAAY,GAAG,UAAU;AAEtC;;;AAGA;SACgB,YAAY,CAAC,IAAY,EAAE,GAAW,EAAE,GAAW;IAC/D,IAAI,GAAG,KAAK,CAAC,EAAE;QACX,OAAO,IAAI,CAAC;KACf;IAED,IAAI,GAAG,GAAG,EAAE,EAAE;QACV,OAAO,KAAK,CAAC;KAChB;IAED,IAAI,GAAG,GAAG,EAAE,IAAI,GAAG,GAAG,EAAE,EAAE;QACtB,OAAO,IAAI,CAAC;KACf;IAED,IAAI,IAAI,GAAG,IAAI,EAAE;QACb,OAAO,KAAK,CAAC;KAChB;IAED,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AACtC,CAAC;MAEY,eAAe,GAAG,aAAa;AAE5C;;;AAGA;SACgB,KAAK,CAAC,IAAY;IAC9B,OAAO,IAAI,GAAG,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC;AACtC,CAAC;MAEY,QAAQ,GAAG,MAAM;AAE9B;;;AAGA;SACgB,UAAU,CAAC,IAAY;IACnC,QAAQ,IAAI;QACR,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI,CAAC;QACV,KAAK,IAAI;YACL,OAAO,IAAI,CAAC;QAChB;YACI,OAAO,KAAK,CAAC;KACpB;AACL,CAAC;MAEY,aAAa,GAAG,WAAW;AAExC;;;AAGA;SACgB,MAAM,CAAC,GAAW;IAC9B,OAAO,GAAG,KAAK,CAAC,CAAC;AACrB,CAAC;MAEY,SAAS,GAAG;;AC5HzB;;;;AAIA;SACgB,iBAAiB,CAAC,UAAkB;IAChD,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;IAC5B,MAAM,aAAa,GAAG,gBAAgB,CAAC,UAAU,CAAC,CAAC;IAEnD,QAAQ,aAAa;QACjB;YACI,OAAO,MAAM,KAAK,EAAE,CAAC;QACzB;YACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;QACtC,mCAAiC;QACjC;YACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;QACtC;YACI,OAAO,MAAM,GAAG,EAAE,IAAI,MAAM,GAAG,EAAE,CAAC;QACtC;YACI,OAAO,MAAM,GAAG,CAAC,IAAI,MAAM,GAAG,EAAE,CAAC;KACxC;AACL,CAAC;MAEY,oBAAoB,GAAG;;AC1BpC;;;;AAIA;SACgB,iBAAiB,CAAC,KAAsB;IACpD,MAAM,UAAU,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,qBAAqB,EAAE,EAAE,CAAC,CAAC;IAEpE,MAAM,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC;IAC5B,MAAM,GAAG,GAAG,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK;QAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;QAEjC,IAAI,CAAC,KAAK,GAAG,MAAM,IAAI,CAAC,KAAK,CAAC,EAAE;YAC5B,MAAM,OAAO,GAAG,KAAK,GAAG,CAAC,CAAC;YAE1B,OAAO,OAAO,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,GAAG,OAAO,CAAC;SAC9C;QAED,OAAO,KAAK,CAAC;KAChB,CAAC,CAAC;IAEH,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,GAAG,EAAE,CAAC,CAAC;AAClD,CAAC;MAEY,oBAAoB,GAAG;;AC1BpC;;;AAGA;SACgB,aAAa,CAAC,MAAc;IACxC,MAAM,KAAK,GAAG,IAAI,IAAI,EAAE,CAAC;IACzB,MAAM,YAAY,GAAG,KAAK,CAAC,QAAQ,EAAE,CAAC;IACtC,MAAM,WAAW,GAAG,KAAK,CAAC,WAAW,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,KAAK,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC9C,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAE3C,OAAO,IAAI,GAAG,WAAW,KAAK,IAAI,KAAK,WAAW,IAAI,KAAK,IAAI,YAAY,CAAC,CAAC;AACjF,CAAC;MAEY,gBAAgB,GAAG;;ACdhC;;;;;;"}
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-utils.js","sources":["../../../projects/addon-commerce/utils/create-auto-corrected-expire-pipe.ts","../../../projects/addon-commerce/utils/get-currency-symbol.ts","../../../projects/addon-commerce/utils/format-currency.ts","../../../projects/addon-commerce/utils/get-payment-system.ts","../../../projects/addon-commerce/utils/is-card-length-valid.ts","../../../projects/addon-commerce/utils/is-card-number-valid.ts","../../../projects/addon-commerce/utils/is-expire-valid.ts","../../../projects/addon-commerce/utils/taiga-ui-addon-commerce-utils.ts"],"sourcesContent":["import {TUI_NON_DIGIT_REGEXP, TuiTextMaskPipeHandler} from '@taiga-ui/core';\n\nconst TUI_EXP_YEAR_MONTH = /^\\d{2}[/|.]\\d{4}$/;\nconst TUI_EXP_SAFARI = /^\\d{1,4}.\\d{1,2}.\\d{1,4}$/;\n\n/**\n * Correct expiration date text allowing only valid months\n * @internal\n *\n * @returns MM/YY\n */\nexport function tuiCreateAutoCorrectedExpirePipe(): TuiTextMaskPipeHandler {\n return (conformedValue, {rawValue}) => {\n // Autofilled with MM/YYYY format\n if (TUI_EXP_YEAR_MONTH.test(rawValue)) {\n conformedValue = `${rawValue.slice(0, 2)}/${rawValue.slice(5)}`;\n }\n\n // Autofilled with Safari crazy format\n if (\n rawValue.length > 7 &&\n rawValue.length < 11 &&\n TUI_EXP_SAFARI.test(rawValue)\n ) {\n const array = rawValue.split(TUI_NON_DIGIT_REGEXP);\n const month = array[1];\n const year = array.find(({length}) => length === 4);\n\n conformedValue = `${`0`.repeat(2 - month.length)}${month}/${\n year ? year.slice(2) : ``\n }`;\n }\n\n const indexesOfPipedChars: number[] = [];\n const conformedValueArr = conformedValue.split(``);\n\n if (parseInt(conformedValueArr[0], 10) > 1) {\n conformedValueArr[2] = `/`;\n conformedValueArr[1] = conformedValueArr[0];\n conformedValueArr[0] = `0`;\n indexesOfPipedChars.push(0);\n }\n\n return {\n value: conformedValueArr.join(``),\n indexesOfPipedChars,\n };\n };\n}\n","import {TuiCurrency, TuiCurrencyCode} from '@taiga-ui/addon-commerce/enums';\nimport {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetCurrencySymbol(currency: TuiCurrencyVariants): string | null {\n switch (currency) {\n case TuiCurrency.Ruble:\n case TuiCurrencyCode.Ruble:\n return `₽`;\n case TuiCurrency.Dollar:\n case TuiCurrencyCode.Dollar:\n case TuiCurrency.MexicanPeso:\n case TuiCurrencyCode.MexicanPeso:\n return `$`;\n case TuiCurrency.SingaporeDollar:\n case TuiCurrencyCode.SingaporeDollar:\n return `S$`;\n case TuiCurrency.AustralianDollar:\n case TuiCurrencyCode.AustralianDollar:\n return `A$`;\n case TuiCurrency.HongKongDollar:\n case TuiCurrencyCode.HongKongDollar:\n return `HK$`;\n case TuiCurrency.CanadianDollar:\n case TuiCurrencyCode.CanadianDollar:\n return `C$`;\n case TuiCurrency.Euro:\n case TuiCurrencyCode.Euro:\n return `€`;\n case TuiCurrency.Pound:\n case TuiCurrencyCode.Pound:\n return `£`;\n case TuiCurrency.Baht:\n case TuiCurrencyCode.Baht:\n return `฿`;\n case TuiCurrency.TurkishLira:\n case TuiCurrencyCode.TurkishLira:\n return `₺`;\n case TuiCurrency.YuanRenminbi:\n case TuiCurrencyCode.YuanRenminbi:\n return `CN¥`;\n case TuiCurrency.Yen:\n case TuiCurrencyCode.Yen:\n return `¥`;\n case TuiCurrency.IsraeliShekel:\n case TuiCurrencyCode.IsraeliShekel:\n return `₪`;\n case TuiCurrency.IndianRupee:\n case TuiCurrencyCode.IndianRupee:\n return `₹`;\n case TuiCurrency.SwissFranc:\n case TuiCurrencyCode.SwissFranc:\n return `₣`;\n case TuiCurrency.ArmenianDram:\n case TuiCurrencyCode.ArmenianDram:\n return `֏`;\n case TuiCurrency.Won:\n case TuiCurrencyCode.Won:\n return `₩`;\n case TuiCurrency.Tenge:\n case TuiCurrencyCode.Tenge:\n return `₸`;\n case TuiCurrency.Hryvnia:\n case TuiCurrencyCode.Hryvnia:\n return `₴`;\n case TuiCurrency.UzbekSum:\n case TuiCurrencyCode.UzbekSum:\n return `So'm`;\n case TuiCurrency.KyrgyzstanSom:\n case TuiCurrencyCode.KyrgyzstanSom:\n return `c`;\n case TuiCurrency.Dirham:\n case TuiCurrencyCode.Dirham:\n return `Dh`;\n default:\n return null;\n }\n}\n","import {TuiCurrencyVariants} from '@taiga-ui/addon-commerce/types';\nimport {tuiIsString} from '@taiga-ui/cdk';\n\nimport {tuiGetCurrencySymbol} from './get-currency-symbol';\n\nexport function tuiFormatCurrency(currency: TuiCurrencyVariants): string {\n const stringifiedCurrency = stringifyCurrency(currency);\n\n return tuiGetCurrencySymbol(stringifiedCurrency) || stringifiedCurrency;\n}\n\nfunction stringifyCurrency(currency: TuiCurrencyVariants): string {\n return currency === null || tuiIsString(currency)\n ? currency || ``\n : String(currency).padStart(3, `0`);\n}\n","import {TuiPaymentSystem} from '@taiga-ui/addon-commerce/types';\n\nexport function tuiGetPaymentSystem(cardNumber: string): TuiPaymentSystem | null {\n if (cardNumber === ``) {\n return null;\n }\n\n const one = Number.parseInt(cardNumber[0], 10);\n const two = Number.parseInt(cardNumber.slice(0, 2), 10);\n const three = Number.parseInt(cardNumber.slice(0, 3), 10);\n const four = Number.parseInt(cardNumber.slice(0, 4), 10);\n\n if (tuiIsMaestro(three, two, one)) {\n return `maestro`;\n }\n\n if (tuiIsMastercard(four, two, one)) {\n return `mastercard`;\n }\n\n if (tuiIsMir(four)) {\n return `mir`;\n }\n\n if (tuiIsElectron(four)) {\n return `electron`;\n }\n\n if (tuiIsVisa(one)) {\n return `visa`;\n }\n\n return null;\n}\n\nexport function tuiIsMaestro(three: number, two: number, one: number): boolean {\n if (one === 6) {\n return true;\n }\n\n if (two === 50 || (two > 55 && two < 59)) {\n return true;\n }\n\n if (three < 500) {\n return false;\n }\n\n return three < 510;\n}\n\nexport function tuiIsMastercard(four: number, two: number, one: number): boolean {\n if (one === 5) {\n return true;\n }\n\n if (two < 10) {\n return false;\n }\n\n if (two > 50 && two < 56) {\n return true;\n }\n\n if (four < 1000) {\n return false;\n }\n\n return four > 2220 && four < 2721;\n}\n\nexport function tuiIsMir(four: number): boolean {\n return four > 2199 && four < 2205;\n}\n\nexport function tuiIsElectron(four: number): boolean {\n switch (four) {\n case 4026:\n case 4175:\n case 4405:\n case 4508:\n case 4844:\n case 4913:\n case 4917:\n return true;\n default:\n return false;\n }\n}\n\nexport function tuiIsVisa(one: number): boolean {\n return one === 4;\n}\n","import {tuiGetPaymentSystem} from './get-payment-system';\n\n/**\n * Validates card number length using payment system dictionary\n */\nexport function tuiIsCardLengthValid(cardNumber: string): boolean {\n const {length} = cardNumber;\n const paymentSystem = tuiGetPaymentSystem(cardNumber);\n\n switch (paymentSystem) {\n case `electron`:\n return length === 16;\n case `maestro`:\n return length > 11 && length < 20;\n case `mastercard`:\n case `mir`:\n return length > 15 && length < 20;\n case `visa`:\n return length > 12 && length < 20;\n default:\n return length > 8 && length < 20;\n }\n}\n","import {TUI_NON_DIGITS_REGEXP} from '@taiga-ui/core';\n\n/**\n * Validates card number using Luhn algorithm\n */\nexport function tuiIsCardNumberValid(value: string | number): boolean {\n const cardNumber = String(value).replace(TUI_NON_DIGITS_REGEXP, ``);\n\n const {length} = cardNumber;\n const arr = cardNumber.split(``).map((char, index) => {\n const digit = parseInt(char, 10);\n\n if ((index + length) % 2 === 0) {\n const digitX2 = digit * 2;\n\n return digitX2 > 9 ? digitX2 - 9 : digitX2;\n }\n\n return digit;\n });\n\n return !(arr.reduce((a, b) => a + b, 0) % 10);\n}\n","export function tuiIsExpireValid(expire: string): boolean {\n const today = new Date();\n const currentMonth = today.getMonth();\n const currentYear = today.getFullYear() - 2000;\n const month = parseInt(expire.slice(0, 2), 0);\n const year = parseInt(expire.slice(-2), 0);\n\n return year > currentYear || (year === currentYear && month >= currentMonth);\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +1,24 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { tuiIsExpireValid, tuiIsCardNumberValid } from '@taiga-ui/addon-commerce/utils';
|
|
2
2
|
import { TuiValidationError } from '@taiga-ui/cdk';
|
|
3
3
|
|
|
4
4
|
function tuiCardExpireValidator({ value, }) {
|
|
5
5
|
var _a;
|
|
6
|
-
return ((_a = value === null || value === void 0 ? void 0 : value.expire) === null || _a === void 0 ? void 0 : _a.length) === 5 && !
|
|
6
|
+
return ((_a = value === null || value === void 0 ? void 0 : value.expire) === null || _a === void 0 ? void 0 : _a.length) === 5 && !tuiIsExpireValid(value === null || value === void 0 ? void 0 : value.expire)
|
|
7
7
|
? { expire: new TuiValidationError(`Expire date`) }
|
|
8
8
|
: null;
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
function tuiCardNumberValidator({ value, }) {
|
|
12
|
-
return (value === null || value === void 0 ? void 0 : value.card) && !
|
|
12
|
+
return (value === null || value === void 0 ? void 0 : value.card) && !tuiIsCardNumberValid(value.card)
|
|
13
13
|
? { card: new TuiValidationError(`Invalid card number`) }
|
|
14
14
|
: null;
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
function tuiCreateLuhnValidator(message) {
|
|
18
18
|
return ({ value }) => {
|
|
19
|
-
return
|
|
19
|
+
return tuiIsCardNumberValid(value)
|
|
20
|
+
? null
|
|
21
|
+
: { luhn: new TuiValidationError(message) };
|
|
20
22
|
};
|
|
21
23
|
}
|
|
22
24
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce-validators.js","sources":["
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce-validators.js","sources":["../../../projects/addon-commerce/validators/card-expire.validator.ts","../../../projects/addon-commerce/validators/card-number.validator.ts","../../../projects/addon-commerce/validators/luhn.validator.ts","../../../projects/addon-commerce/validators/taiga-ui-addon-commerce-validators.ts"],"sourcesContent":["import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {tuiIsExpireValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardExpireValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.expire?.length === 5 && !tuiIsExpireValid(value?.expire)\n ? {expire: new TuiValidationError(`Expire date`)}\n : null;\n}\n","import {AbstractControl, ValidationErrors} from '@angular/forms';\nimport {tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\n\nexport function tuiCardNumberValidator({\n value,\n}: AbstractControl): ValidationErrors | null {\n return value?.card && !tuiIsCardNumberValid(value.card)\n ? {card: new TuiValidationError(`Invalid card number`)}\n : null;\n}\n","import {AbstractControl, ValidatorFn} from '@angular/forms';\nimport {tuiIsCardNumberValid} from '@taiga-ui/addon-commerce/utils';\nimport {TuiValidationError} from '@taiga-ui/cdk';\nimport {PolymorpheusContent} from '@tinkoff/ng-polymorpheus';\n\nexport function tuiCreateLuhnValidator(message: PolymorpheusContent): ValidatorFn {\n return ({value}: AbstractControl) => {\n return tuiIsCardNumberValid(value)\n ? null\n : {luhn: new TuiValidationError(message)};\n };\n}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;AAIgB,SAAA,sBAAsB,CAAC,EACnC,KAAK,GACS,EAAA;;IACd,OAAO,CAAA,CAAA,EAAA,GAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,MAAM,MAAA,IAAA,IAAA,EAAA,KAAA,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,KAAA,IAAA,IAAL,KAAK,KAAL,KAAA,CAAA,GAAA,KAAA,CAAA,GAAA,KAAK,CAAE,MAAM,CAAC;UAChE,EAAC,MAAM,EAAE,IAAI,kBAAkB,CAAC,CAAa,WAAA,CAAA,CAAC,EAAC;UAC/C,IAAI,CAAC;AACf;;ACNgB,SAAA,sBAAsB,CAAC,EACnC,KAAK,GACS,EAAA;AACd,IAAA,OAAO,CAAA,KAAK,KAAL,IAAA,IAAA,KAAK,uBAAL,KAAK,CAAE,IAAI,KAAI,CAAC,oBAAoB,CAAC,KAAK,CAAC,IAAI,CAAC;UACjD,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,CAAqB,mBAAA,CAAA,CAAC,EAAC;UACrD,IAAI,CAAC;AACf;;ACLM,SAAU,sBAAsB,CAAC,OAA4B,EAAA;AAC/D,IAAA,OAAO,CAAC,EAAC,KAAK,EAAkB,KAAI;QAChC,OAAO,oBAAoB,CAAC,KAAK,CAAC;AAC9B,cAAE,IAAI;cACJ,EAAC,IAAI,EAAE,IAAI,kBAAkB,CAAC,OAAO,CAAC,EAAC,CAAC;AAClD,KAAC,CAAC;AACN;;ACXA;;AAEG;;;;"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
export * from '@taiga-ui/addon-commerce/components';
|
|
2
2
|
export * from '@taiga-ui/addon-commerce/constants';
|
|
3
3
|
export * from '@taiga-ui/addon-commerce/enums';
|
|
4
|
+
export * from '@taiga-ui/addon-commerce/interfaces';
|
|
4
5
|
export * from '@taiga-ui/addon-commerce/pipes';
|
|
5
6
|
export * from '@taiga-ui/addon-commerce/tokens';
|
|
7
|
+
export * from '@taiga-ui/addon-commerce/types';
|
|
6
8
|
export * from '@taiga-ui/addon-commerce/utils';
|
|
7
9
|
export * from '@taiga-ui/addon-commerce/validators';
|
|
8
10
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"taiga-ui-addon-commerce.js","sources":["
|
|
1
|
+
{"version":3,"file":"taiga-ui-addon-commerce.js","sources":["../../../projects/addon-commerce/taiga-ui-addon-commerce.ts"],"sourcesContent":["/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":[],"mappings":";;;;;;;;;;AAAA;;AAEG"}
|
package/interfaces/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../bundles/taiga-ui-addon-commerce-interfaces.umd.js",
|
|
3
|
-
"module": "../
|
|
3
|
+
"module": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
|
|
4
4
|
"es2015": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
|
|
5
|
-
"esm5": "../esm5/interfaces/taiga-ui-addon-commerce-interfaces.js",
|
|
6
5
|
"esm2015": "../esm2015/interfaces/taiga-ui-addon-commerce-interfaces.js",
|
|
7
|
-
"fesm5": "../fesm5/taiga-ui-addon-commerce-interfaces.js",
|
|
8
6
|
"fesm2015": "../fesm2015/taiga-ui-addon-commerce-interfaces.js",
|
|
9
7
|
"typings": "taiga-ui-addon-commerce-interfaces.d.ts",
|
|
10
|
-
"metadata": "taiga-ui-addon-commerce-interfaces.metadata.json",
|
|
11
8
|
"sideEffects": false,
|
|
12
9
|
"name": "@taiga-ui/addon-commerce/interfaces"
|
|
13
|
-
}
|
|
10
|
+
}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@taiga-ui/addon-commerce",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0-rc.1",
|
|
4
4
|
"description": "Extension package for Taiga UI related to commerce, payment systems, currencies etc.",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"angular",
|
|
@@ -13,29 +13,26 @@
|
|
|
13
13
|
"homepage": "https://github.com/tinkoff/taiga-ui",
|
|
14
14
|
"repository": "https://github.com/tinkoff/taiga-ui",
|
|
15
15
|
"license": "Apache-2.0",
|
|
16
|
+
"dependencies": {
|
|
17
|
+
"tslib": "^2.0.0"
|
|
18
|
+
},
|
|
16
19
|
"peerDependencies": {
|
|
17
20
|
"@angular/common": ">=9.0.0",
|
|
18
21
|
"@angular/core": ">=9.0.0",
|
|
19
22
|
"@angular/forms": ">=9.0.0",
|
|
20
|
-
"@ng-web-apis/common": ">=
|
|
21
|
-
"@taiga-ui/cdk": ">=
|
|
22
|
-
"@taiga-ui/core": ">=
|
|
23
|
-
"@taiga-ui/i18n": ">=
|
|
24
|
-
"@tinkoff/ng-polymorpheus": ">=
|
|
23
|
+
"@ng-web-apis/common": ">=2.0.0",
|
|
24
|
+
"@taiga-ui/cdk": ">=3.0.0-rc.1",
|
|
25
|
+
"@taiga-ui/core": ">=3.0.0-rc.1",
|
|
26
|
+
"@taiga-ui/i18n": ">=3.0.0-rc.1",
|
|
27
|
+
"@tinkoff/ng-polymorpheus": ">=4.0.0",
|
|
25
28
|
"angular2-text-mask": ">=9.0.0",
|
|
26
29
|
"rxjs": ">=6.0.0"
|
|
27
30
|
},
|
|
28
31
|
"main": "bundles/taiga-ui-addon-commerce.umd.js",
|
|
29
|
-
"module": "
|
|
32
|
+
"module": "fesm2015/taiga-ui-addon-commerce.js",
|
|
30
33
|
"es2015": "fesm2015/taiga-ui-addon-commerce.js",
|
|
31
|
-
"esm5": "esm5/taiga-ui-addon-commerce.js",
|
|
32
34
|
"esm2015": "esm2015/taiga-ui-addon-commerce.js",
|
|
33
|
-
"fesm5": "fesm5/taiga-ui-addon-commerce.js",
|
|
34
35
|
"fesm2015": "fesm2015/taiga-ui-addon-commerce.js",
|
|
35
36
|
"typings": "taiga-ui-addon-commerce.d.ts",
|
|
36
|
-
"
|
|
37
|
-
|
|
38
|
-
"dependencies": {
|
|
39
|
-
"tslib": "^1.10.0"
|
|
40
|
-
}
|
|
41
|
-
}
|
|
37
|
+
"sideEffects": false
|
|
38
|
+
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./currency.pipe";
|
|
1
3
|
export declare class TuiCurrencyPipeModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiCurrencyPipeModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiCurrencyPipeModule, [typeof i1.TuiCurrencyPipe], never, [typeof i1.TuiCurrencyPipe]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TuiCurrencyPipeModule>;
|
|
2
7
|
}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
2
|
import { TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
3
4
|
export declare class TuiCurrencyPipe implements PipeTransform {
|
|
4
5
|
transform(currency: TuiCurrencyVariants): string;
|
|
6
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiCurrencyPipe, never>;
|
|
7
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiCurrencyPipe, "tuiCurrency">;
|
|
5
8
|
}
|
|
@@ -1,2 +1,7 @@
|
|
|
1
|
+
import * as i0 from "@angular/core";
|
|
2
|
+
import * as i1 from "./format-card.pipe";
|
|
1
3
|
export declare class TuiFormatCardModule {
|
|
4
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiFormatCardModule, never>;
|
|
5
|
+
static ɵmod: i0.ɵɵNgModuleDeclaration<TuiFormatCardModule, [typeof i1.TuiFormatCardPipe], never, [typeof i1.TuiFormatCardPipe]>;
|
|
6
|
+
static ɵinj: i0.ɵɵInjectorDeclaration<TuiFormatCardModule>;
|
|
2
7
|
}
|
|
@@ -1,4 +1,7 @@
|
|
|
1
1
|
import { PipeTransform } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
2
3
|
export declare class TuiFormatCardPipe implements PipeTransform {
|
|
3
4
|
transform(value?: string | null, cardPrefilled?: boolean): string;
|
|
5
|
+
static ɵfac: i0.ɵɵFactoryDeclaration<TuiFormatCardPipe, never>;
|
|
6
|
+
static ɵpipe: i0.ɵɵPipeDeclaration<TuiFormatCardPipe, "tuiFormatCard">;
|
|
4
7
|
}
|
package/pipes/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../bundles/taiga-ui-addon-commerce-pipes.umd.js",
|
|
3
|
-
"module": "../
|
|
3
|
+
"module": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
|
|
4
4
|
"es2015": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
|
|
5
|
-
"esm5": "../esm5/pipes/taiga-ui-addon-commerce-pipes.js",
|
|
6
5
|
"esm2015": "../esm2015/pipes/taiga-ui-addon-commerce-pipes.js",
|
|
7
|
-
"fesm5": "../fesm5/taiga-ui-addon-commerce-pipes.js",
|
|
8
6
|
"fesm2015": "../fesm2015/taiga-ui-addon-commerce-pipes.js",
|
|
9
7
|
"typings": "taiga-ui-addon-commerce-pipes.d.ts",
|
|
10
|
-
"metadata": "taiga-ui-addon-commerce-pipes.metadata.json",
|
|
11
8
|
"sideEffects": false,
|
|
12
9
|
"name": "@taiga-ui/addon-commerce/pipes"
|
|
13
|
-
}
|
|
10
|
+
}
|
package/tokens/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../bundles/taiga-ui-addon-commerce-tokens.umd.js",
|
|
3
|
-
"module": "../
|
|
3
|
+
"module": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
|
|
4
4
|
"es2015": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
|
|
5
|
-
"esm5": "../esm5/tokens/taiga-ui-addon-commerce-tokens.js",
|
|
6
5
|
"esm2015": "../esm2015/tokens/taiga-ui-addon-commerce-tokens.js",
|
|
7
|
-
"fesm5": "../fesm5/taiga-ui-addon-commerce-tokens.js",
|
|
8
6
|
"fesm2015": "../fesm2015/taiga-ui-addon-commerce-tokens.js",
|
|
9
7
|
"typings": "taiga-ui-addon-commerce-tokens.d.ts",
|
|
10
|
-
"metadata": "taiga-ui-addon-commerce-tokens.metadata.json",
|
|
11
8
|
"sideEffects": false,
|
|
12
9
|
"name": "@taiga-ui/addon-commerce/tokens"
|
|
13
|
-
}
|
|
10
|
+
}
|
package/types/index.d.ts
CHANGED
package/types/money-sign.d.ts
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
import { CHAR_MINUS, CHAR_PLUS } from '@taiga-ui/cdk';
|
|
2
|
-
export declare type
|
|
2
|
+
export declare type TuiMoneySign = 'negative-only' | 'always' | 'never' | 'force-negative' | 'force-positive';
|
|
3
3
|
export declare type TuiMoneySignSymbol = '' | typeof CHAR_MINUS | typeof CHAR_PLUS;
|
package/types/package.json
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"main": "../bundles/taiga-ui-addon-commerce-types.umd.js",
|
|
3
|
-
"module": "../
|
|
3
|
+
"module": "../fesm2015/taiga-ui-addon-commerce-types.js",
|
|
4
4
|
"es2015": "../fesm2015/taiga-ui-addon-commerce-types.js",
|
|
5
|
-
"esm5": "../esm5/types/taiga-ui-addon-commerce-types.js",
|
|
6
5
|
"esm2015": "../esm2015/types/taiga-ui-addon-commerce-types.js",
|
|
7
|
-
"fesm5": "../fesm5/taiga-ui-addon-commerce-types.js",
|
|
8
6
|
"fesm2015": "../fesm2015/taiga-ui-addon-commerce-types.js",
|
|
9
7
|
"typings": "taiga-ui-addon-commerce-types.d.ts",
|
|
10
|
-
"metadata": "taiga-ui-addon-commerce-types.metadata.json",
|
|
11
8
|
"sideEffects": false,
|
|
12
9
|
"name": "@taiga-ui/addon-commerce/types"
|
|
13
|
-
}
|
|
10
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare type TuiPaymentSystem = 'visa' | 'electron' | 'mastercard' | 'maestro' | 'mir';
|
|
@@ -1,6 +1,2 @@
|
|
|
1
1
|
import { TuiCurrencyVariants } from '@taiga-ui/addon-commerce/types';
|
|
2
|
-
|
|
3
|
-
* @deprecated: use {@link tuiFormatCurrency} instead
|
|
4
|
-
*/
|
|
5
|
-
export declare function formatCurrency(currency: TuiCurrencyVariants): string;
|
|
6
|
-
export declare const tuiFormatCurrency: typeof formatCurrency;
|
|
2
|
+
export declare function tuiFormatCurrency(currency: TuiCurrencyVariants): string;
|