@telus-uds/components-base 1.68.0 → 1.69.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/CHANGELOG.md CHANGED
@@ -1,12 +1,27 @@
1
1
  # Change Log - @telus-uds/components-base
2
2
 
3
- This log was last generated on Wed, 15 Nov 2023 18:34:44 GMT and should not be manually modified.
3
+ This log was last generated on Sat, 18 Nov 2023 02:25:11 GMT and should not be manually modified.
4
4
 
5
5
  <!-- Start content -->
6
6
 
7
+ ## 1.69.0
8
+
9
+ Sat, 18 Nov 2023 02:25:11 GMT
10
+
11
+ ### Minor changes
12
+
13
+ - updating notification stories (srikanthkhari@gmail.com)
14
+ - Bump @telus-uds/system-theme-tokens to v2.46.0
15
+
16
+ ### Patches
17
+
18
+ - `TermsAndConditions`: Fix unexpected state handling in `ExpandCollapse.Panel` (shahzaibkhalidmalik@outlook.com)
19
+ - fixes to getIcon method for card variant in TextInput (email not defined)
20
+ - removing koodo rebrand iconset from supports (srikanthkhari@gmail.com)
21
+
7
22
  ## 1.68.0
8
23
 
9
- Wed, 15 Nov 2023 18:34:44 GMT
24
+ Wed, 15 Nov 2023 18:45:58 GMT
10
25
 
11
26
  ### Minor changes
12
27
 
@@ -174,7 +174,7 @@ const ExpandCollapsePanel = /*#__PURE__*/(0, _react.forwardRef)((_ref4, ref) =>
174
174
  },
175
175
  children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_View.default, {
176
176
  style: selectContainerStyles(themeTokens),
177
- children: children
177
+ children: isExpanded ? children : null
178
178
  })
179
179
  })
180
180
  })]
@@ -152,26 +152,29 @@ const getIcon = function () {
152
152
  visaIcon,
153
153
  masterCardIcon
154
154
  } = arguments.length > 1 ? arguments[1] : undefined;
155
- const cardType = {
156
- 1: {
157
- icon: visaIcon,
158
- testID: 'visa'
159
- },
160
- 2: {
161
- icon: amexIcon,
162
- testID: 'amex'
163
- },
164
- 4: {
165
- icon: masterCardIcon,
166
- testID: 'mastercard'
167
- }
168
- };
169
- const firstDigit = cardNumber ? cardNumber[0] : '';
170
- const defaultIcon = {
155
+ const sanitizedCardNumber = cardNumber.replace(/[^0-9]/g, '');
156
+ const firstFourDigits = sanitizedCardNumber.slice(0, 4);
157
+ const number = Number(firstFourDigits);
158
+ const visaRange = number >= 4000 && number <= 4999;
159
+ const amexRange = number >= 3400 && number <= 3499 || number >= 3700 && number <= 3799;
160
+ const masterCardRange = number >= 5100 && number <= 5599 || number >= 2221 && number <= 2720;
161
+ let selectedIcon = {
171
162
  icon: defaultCreditIcon,
172
163
  testID: 'default'
173
164
  };
174
- const selectedIcon = cardNumber.length > 4 ? cardType[firstDigit] || defaultIcon : defaultIcon;
165
+ const objVisaIcon = {
166
+ icon: visaIcon,
167
+ testID: 'visa'
168
+ };
169
+ const objAmexIcon = {
170
+ icon: amexIcon,
171
+ testID: 'amex'
172
+ };
173
+ const objMasterCardIcon = {
174
+ icon: masterCardIcon,
175
+ testID: 'mastercard'
176
+ };
177
+ if (visaRange) selectedIcon = objVisaIcon;else if (amexRange) selectedIcon = objAmexIcon;else if (masterCardRange) selectedIcon = objMasterCardIcon;
175
178
  return /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.default, {
176
179
  icon: selectedIcon.icon,
177
180
  variant: {
@@ -166,7 +166,7 @@ const ExpandCollapsePanel = /*#__PURE__*/forwardRef((_ref4, ref) => {
166
166
  },
167
167
  children: /*#__PURE__*/_jsx(View, {
168
168
  style: selectContainerStyles(themeTokens),
169
- children: children
169
+ children: isExpanded ? children : null
170
170
  })
171
171
  })
172
172
  })]
@@ -144,26 +144,29 @@ const getIcon = function () {
144
144
  visaIcon,
145
145
  masterCardIcon
146
146
  } = arguments.length > 1 ? arguments[1] : undefined;
147
- const cardType = {
148
- 1: {
149
- icon: visaIcon,
150
- testID: 'visa'
151
- },
152
- 2: {
153
- icon: amexIcon,
154
- testID: 'amex'
155
- },
156
- 4: {
157
- icon: masterCardIcon,
158
- testID: 'mastercard'
159
- }
160
- };
161
- const firstDigit = cardNumber ? cardNumber[0] : '';
162
- const defaultIcon = {
147
+ const sanitizedCardNumber = cardNumber.replace(/[^0-9]/g, '');
148
+ const firstFourDigits = sanitizedCardNumber.slice(0, 4);
149
+ const number = Number(firstFourDigits);
150
+ const visaRange = number >= 4000 && number <= 4999;
151
+ const amexRange = number >= 3400 && number <= 3499 || number >= 3700 && number <= 3799;
152
+ const masterCardRange = number >= 5100 && number <= 5599 || number >= 2221 && number <= 2720;
153
+ let selectedIcon = {
163
154
  icon: defaultCreditIcon,
164
155
  testID: 'default'
165
156
  };
166
- const selectedIcon = cardNumber.length > 4 ? cardType[firstDigit] || defaultIcon : defaultIcon;
157
+ const objVisaIcon = {
158
+ icon: visaIcon,
159
+ testID: 'visa'
160
+ };
161
+ const objAmexIcon = {
162
+ icon: amexIcon,
163
+ testID: 'amex'
164
+ };
165
+ const objMasterCardIcon = {
166
+ icon: masterCardIcon,
167
+ testID: 'mastercard'
168
+ };
169
+ if (visaRange) selectedIcon = objVisaIcon;else if (amexRange) selectedIcon = objAmexIcon;else if (masterCardRange) selectedIcon = objMasterCardIcon;
167
170
  return /*#__PURE__*/_jsx(Icon, {
168
171
  icon: selectedIcon.icon,
169
172
  variant: {
package/package.json CHANGED
@@ -11,7 +11,7 @@
11
11
  "@floating-ui/react-native": "^0.8.1",
12
12
  "@gorhom/portal": "^1.0.14",
13
13
  "@telus-uds/system-constants": "^1.3.0",
14
- "@telus-uds/system-theme-tokens": "^2.45.0",
14
+ "@telus-uds/system-theme-tokens": "^2.46.0",
15
15
  "airbnb-prop-types": "^2.16.0",
16
16
  "lodash.debounce": "^4.0.8",
17
17
  "lodash.merge": "^4.6.2",
@@ -73,5 +73,5 @@
73
73
  "standard-engine": {
74
74
  "skip": true
75
75
  },
76
- "version": "1.68.0"
76
+ "version": "1.69.0"
77
77
  }
@@ -168,7 +168,7 @@ const ExpandCollapsePanel = forwardRef(
168
168
  })
169
169
  }}
170
170
  >
171
- <View style={selectContainerStyles(themeTokens)}>{children}</View>
171
+ <View style={selectContainerStyles(themeTokens)}>{isExpanded ? children : null}</View>
172
172
  </View>
173
173
  </Animated.View>
174
174
  </View>
@@ -141,15 +141,23 @@ const selectButtonsContainerStyle = ({ buttonsPaddingRight }) => ({
141
141
  })
142
142
 
143
143
  const getIcon = (cardNumber = '', { defaultCreditIcon, amexIcon, visaIcon, masterCardIcon }) => {
144
- const cardType = {
145
- 1: { icon: visaIcon, testID: 'visa' },
146
- 2: { icon: amexIcon, testID: 'amex' },
147
- 4: { icon: masterCardIcon, testID: 'mastercard' }
148
- }
144
+ const sanitizedCardNumber = cardNumber.replace(/[^0-9]/g, '')
145
+ const firstFourDigits = sanitizedCardNumber.slice(0, 4)
146
+ const number = Number(firstFourDigits)
147
+
148
+ const visaRange = number >= 4000 && number <= 4999
149
+ const amexRange = (number >= 3400 && number <= 3499) || (number >= 3700 && number <= 3799)
150
+ const masterCardRange = (number >= 5100 && number <= 5599) || (number >= 2221 && number <= 2720)
151
+
152
+ let selectedIcon = { icon: defaultCreditIcon, testID: 'default' }
153
+ const objVisaIcon = { icon: visaIcon, testID: 'visa' }
154
+ const objAmexIcon = { icon: amexIcon, testID: 'amex' }
155
+ const objMasterCardIcon = { icon: masterCardIcon, testID: 'mastercard' }
156
+
157
+ if (visaRange) selectedIcon = objVisaIcon
158
+ else if (amexRange) selectedIcon = objAmexIcon
159
+ else if (masterCardRange) selectedIcon = objMasterCardIcon
149
160
 
150
- const firstDigit = cardNumber ? cardNumber[0] : ''
151
- const defaultIcon = { icon: defaultCreditIcon, testID: 'default' }
152
- const selectedIcon = cardNumber.length > 4 ? cardType[firstDigit] || defaultIcon : defaultIcon
153
161
  return <Icon icon={selectedIcon.icon} variant={{ size: 'large' }} testID={selectedIcon.testID} />
154
162
  }
155
163