fleetcor-lwc 3.13.0 → 3.13.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -946,6 +946,12 @@ You can override them as you wish by global css variables as priority.
946
946
  <details>
947
947
  <summary>Click to expand/collapse</summary>
948
948
 
949
+ v.3.13.1
950
+
951
+ - Bug fix `flt-input-phone` and `flt-input-text` component
952
+
953
+ ---
954
+
949
955
  v.3.13.0
950
956
 
951
957
  - Update `flt-collapsible-section` component
@@ -154,7 +154,7 @@ export default class InputPhone extends UserDataValidator {
154
154
  this.mask?.destroy()
155
155
  this.mask = null
156
156
  let settings = {
157
- mask: Number,
157
+ mask: /[1-9]/,
158
158
  overwrite: false,
159
159
  lazy: false
160
160
  }
@@ -176,13 +176,40 @@ export default class InputPhone extends UserDataValidator {
176
176
  this.mask.unmaskedValue = this.phoneNumber
177
177
  inputElement.value = this.mask.value
178
178
  this.mask.on('accept', () => {
179
- if (this.pastePhoneNumber) {
180
- inputElement.value = this.pastePhoneNumber
181
- this.mask.value = this.pastePhoneNumber
182
- this.pastePhoneNumber = null
179
+ if (inputElement.value?.at(0) == '+' || inputElement.value?.at(0) == '0') {
180
+ let value = inputElement.value.replace(/[^\w\\s]/gi, '')
181
+ if (inputElement.value?.at(0) == '0') {
182
+ value = CODE_VALUE_SB + value.slice(1)
183
+ }
184
+ let phoneNumberUtil = new LIB_PHONE_NUMBER.PhoneNumberUtil()
185
+ let number = phoneNumberUtil.parseAndKeepRawInput('+' + value)
186
+ let regionCode = phoneNumberUtil.getRegionCodeForNumber(number)
187
+ let result = phoneNumberUtil.isValidNumberForRegion(number, regionCode)
188
+ if (result) {
189
+ const newCodeValue = `+${number.getCountryCode()}`
190
+ this.pastePhoneNumber = number.getNationalNumber() + ''
191
+
192
+ inputElement.value = this.pastePhoneNumber
193
+ this.mask.value = this.pastePhoneNumber
194
+ this.pastePhoneNumber = null
195
+ this.phoneNumber = this.mask.unmaskedValue
196
+
197
+ if (newCodeValue != this.codeValue) {
198
+ this.codeValue = newCodeValue
199
+ requestAnimationFrame(() => {
200
+ this.reInitIMask()
201
+ })
202
+ }
203
+ }
204
+ } else {
205
+ if (this.pastePhoneNumber) {
206
+ inputElement.value = this.pastePhoneNumber
207
+ this.mask.value = this.pastePhoneNumber
208
+ this.pastePhoneNumber = null
209
+ }
210
+ this.phoneNumber = this.mask.unmaskedValue
211
+ this.handleChange()
183
212
  }
184
- this.phoneNumber = this.mask.unmaskedValue
185
- this.handleChange()
186
213
  })
187
214
  }
188
215
 
@@ -191,25 +218,33 @@ export default class InputPhone extends UserDataValidator {
191
218
  if (!this.mask) {
192
219
  this.reInitIMask()
193
220
  this.querySelector('input').onpaste = (event) => {
194
- const value =
195
- '+' + event.clipboardData.getData('text/plain').replace(/[^\w\\s]/gi, '')
196
- try {
197
- let phoneNumberUtil = new LIB_PHONE_NUMBER.PhoneNumberUtil()
198
- let number = phoneNumberUtil.parseAndKeepRawInput(value)
199
- let regionCode = phoneNumberUtil.getRegionCodeForNumber(number)
200
- let result = phoneNumberUtil.isValidNumberForRegion(number, regionCode)
201
- if (result) {
202
- const newCodeValue = `+${number.getCountryCode()}`
203
- this.pastePhoneNumber = number.getNationalNumber() + ''
204
- if (newCodeValue != this.codeValue) {
205
- this.codeValue = newCodeValue
206
- this.reInitIMask()
207
- }
208
- }
209
- } catch (error) {
210
- console.log('error', error)
221
+ let value = event.clipboardData.getData('text/plain').replace(/[^\w\\s]/gi, '')
222
+ if (value?.at(0) == '0') {
223
+ value = CODE_VALUE_SB + value.slice(1)
224
+ } else {
225
+ value = '+' + value
226
+ }
227
+ this.pastePhone(value)
228
+ }
229
+ }
230
+ }
231
+
232
+ pastePhone(value) {
233
+ try {
234
+ let phoneNumberUtil = new LIB_PHONE_NUMBER.PhoneNumberUtil()
235
+ let number = phoneNumberUtil.parseAndKeepRawInput(value)
236
+ let regionCode = phoneNumberUtil.getRegionCodeForNumber(number)
237
+ let result = phoneNumberUtil.isValidNumberForRegion(number, regionCode)
238
+ if (result) {
239
+ const newCodeValue = `+${number.getCountryCode()}`
240
+ this.pastePhoneNumber = number.getNationalNumber() + ''
241
+ if (newCodeValue != this.codeValue) {
242
+ this.codeValue = newCodeValue
243
+ this.reInitIMask()
211
244
  }
212
245
  }
246
+ } catch (error) {
247
+ console.log('error', error)
213
248
  }
214
249
  }
215
250
 
@@ -63,7 +63,7 @@ export default class InputText extends InputElement {
63
63
  if (this.disabled) return
64
64
  this.focused = false
65
65
  this.touched = true
66
- this.value = (event.target.value || '').trimEnd()
66
+ this.value = (event.target.value || '').trim()
67
67
  event.target.value = this.value
68
68
  this.dispatchEvent(
69
69
  new CustomEvent('blur', {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fleetcor-lwc",
3
- "version": "3.13.0",
3
+ "version": "3.13.1",
4
4
  "description": "LWC framework by Fleetcor",
5
5
  "repository": {
6
6
  "type": "git",