fleetcor-lwc 3.13.1 → 3.13.4
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,24 @@ 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.4
|
|
950
|
+
|
|
951
|
+
- Bug fix `flt-input-text` component
|
|
952
|
+
|
|
953
|
+
---
|
|
954
|
+
|
|
955
|
+
v.3.13.3
|
|
956
|
+
|
|
957
|
+
- Bug fix `flt-input-phone` component
|
|
958
|
+
|
|
959
|
+
---
|
|
960
|
+
|
|
961
|
+
v.3.13.2
|
|
962
|
+
|
|
963
|
+
- Bug fix `flt-input-phone` component
|
|
964
|
+
|
|
965
|
+
---
|
|
966
|
+
|
|
949
967
|
v.3.13.1
|
|
950
968
|
|
|
951
969
|
- Bug fix `flt-input-phone` and `flt-input-text` component
|
|
@@ -41,6 +41,26 @@ export default class InputPhone extends UserDataValidator {
|
|
|
41
41
|
}
|
|
42
42
|
}
|
|
43
43
|
|
|
44
|
+
get maskOptions() {
|
|
45
|
+
let settings = {
|
|
46
|
+
mask: /[1-9]/,
|
|
47
|
+
overwrite: false,
|
|
48
|
+
lazy: false
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
if (this.codeValue == CODE_VALUE_SB) {
|
|
52
|
+
settings = {
|
|
53
|
+
mask: '#000000000',
|
|
54
|
+
definitions: {
|
|
55
|
+
'#': /[1-9]/
|
|
56
|
+
},
|
|
57
|
+
overwrite: false,
|
|
58
|
+
lazy: false
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
return settings
|
|
62
|
+
}
|
|
63
|
+
|
|
44
64
|
@api getData(silent) {
|
|
45
65
|
return {
|
|
46
66
|
...super.getData(silent),
|
|
@@ -153,63 +173,37 @@ export default class InputPhone extends UserDataValidator {
|
|
|
153
173
|
reInitIMask() {
|
|
154
174
|
this.mask?.destroy()
|
|
155
175
|
this.mask = null
|
|
156
|
-
let settings = {
|
|
157
|
-
mask: /[1-9]/,
|
|
158
|
-
overwrite: false,
|
|
159
|
-
lazy: false
|
|
160
|
-
}
|
|
161
|
-
|
|
162
|
-
if (this.codeValue == CODE_VALUE_SB) {
|
|
163
|
-
settings = {
|
|
164
|
-
mask: '#000000000',
|
|
165
|
-
definitions: {
|
|
166
|
-
'#': /[1-9]/
|
|
167
|
-
},
|
|
168
|
-
overwrite: false,
|
|
169
|
-
lazy: false
|
|
170
|
-
}
|
|
171
|
-
}
|
|
172
|
-
|
|
173
176
|
const inputEl = this.querySelector('input')
|
|
174
|
-
this.mask = IMask(inputEl,
|
|
177
|
+
this.mask = IMask(inputEl, this.maskOptions)
|
|
175
178
|
const inputElement = this.querySelector('flt-input-text')
|
|
176
179
|
this.mask.unmaskedValue = this.phoneNumber
|
|
177
180
|
inputElement.value = this.mask.value
|
|
178
181
|
this.mask.on('accept', () => {
|
|
182
|
+
let value = inputElement.value?.replace(/[^\w\\s]/gi, '')
|
|
179
183
|
if (inputElement.value?.at(0) == '+' || inputElement.value?.at(0) == '0') {
|
|
180
|
-
let value = inputElement.value.replace(/[^\w\\s]/gi, '')
|
|
181
184
|
if (inputElement.value?.at(0) == '0') {
|
|
182
185
|
value = CODE_VALUE_SB + value.slice(1)
|
|
186
|
+
} else {
|
|
187
|
+
value = '+' + value
|
|
183
188
|
}
|
|
184
189
|
let phoneNumberUtil = new LIB_PHONE_NUMBER.PhoneNumberUtil()
|
|
185
|
-
let number = phoneNumberUtil.parseAndKeepRawInput(
|
|
190
|
+
let number = phoneNumberUtil.parseAndKeepRawInput(value)
|
|
186
191
|
let regionCode = phoneNumberUtil.getRegionCodeForNumber(number)
|
|
187
192
|
let result = phoneNumberUtil.isValidNumberForRegion(number, regionCode)
|
|
188
193
|
if (result) {
|
|
189
194
|
const newCodeValue = `+${number.getCountryCode()}`
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
inputElement.value = this.pastePhoneNumber
|
|
193
|
-
this.mask.value = this.pastePhoneNumber
|
|
194
|
-
this.pastePhoneNumber = null
|
|
195
|
-
this.phoneNumber = this.mask.unmaskedValue
|
|
196
|
-
|
|
195
|
+
const newPhoneNumber = number.getNationalNumber() + ''
|
|
197
196
|
if (newCodeValue != this.codeValue) {
|
|
198
197
|
this.codeValue = newCodeValue
|
|
199
|
-
|
|
200
|
-
this.reInitIMask()
|
|
201
|
-
})
|
|
198
|
+
this.mask.updateOptions(this.maskOptions)
|
|
202
199
|
}
|
|
200
|
+
inputElement.value = newPhoneNumber
|
|
201
|
+
this.mask.value = newPhoneNumber
|
|
203
202
|
}
|
|
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()
|
|
212
203
|
}
|
|
204
|
+
|
|
205
|
+
this.phoneNumber = this.mask.unmaskedValue
|
|
206
|
+
this.handleChange()
|
|
213
207
|
})
|
|
214
208
|
}
|
|
215
209
|
|
|
@@ -224,27 +218,8 @@ export default class InputPhone extends UserDataValidator {
|
|
|
224
218
|
} else {
|
|
225
219
|
value = '+' + value
|
|
226
220
|
}
|
|
227
|
-
this.
|
|
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()
|
|
244
|
-
}
|
|
221
|
+
this.querySelector('input').value = ''
|
|
245
222
|
}
|
|
246
|
-
} catch (error) {
|
|
247
|
-
console.log('error', error)
|
|
248
223
|
}
|
|
249
224
|
}
|
|
250
225
|
|
|
@@ -177,6 +177,23 @@ describe('flt-input-text', () => {
|
|
|
177
177
|
return Promise.resolve().then(async () => {
|
|
178
178
|
await expect(inputTextElement.value).toBeFalsy()
|
|
179
179
|
await expect(inputElement.value).toBeFalsy()
|
|
180
|
+
|
|
181
|
+
inputTextElement.disabled = false
|
|
182
|
+
inputElement.value = 'Aleks '
|
|
183
|
+
inputElement.dispatchEvent(new Event('change'))
|
|
184
|
+
|
|
185
|
+
return Promise.resolve().then(async () => {
|
|
186
|
+
await expect(inputTextElement.value).toBe('Aleks')
|
|
187
|
+
await expect(inputElement.value).toBe('Aleks')
|
|
188
|
+
|
|
189
|
+
inputElement.value = ''
|
|
190
|
+
inputElement.dispatchEvent(new Event('change'))
|
|
191
|
+
|
|
192
|
+
return Promise.resolve().then(async () => {
|
|
193
|
+
await expect(inputTextElement.value).toBe('')
|
|
194
|
+
await expect(inputElement.value).toBe('')
|
|
195
|
+
})
|
|
196
|
+
})
|
|
180
197
|
})
|
|
181
198
|
})
|
|
182
199
|
})
|
|
@@ -63,8 +63,6 @@ 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 || '').trim()
|
|
67
|
-
event.target.value = this.value
|
|
68
66
|
this.dispatchEvent(
|
|
69
67
|
new CustomEvent('blur', {
|
|
70
68
|
detail: null,
|
|
@@ -83,7 +81,7 @@ export default class InputText extends InputElement {
|
|
|
83
81
|
this.value = event.target.value
|
|
84
82
|
this.dispatchEvent(
|
|
85
83
|
new CustomEvent('change', {
|
|
86
|
-
detail: this.getData()
|
|
84
|
+
detail: { ...this.getData(), _oninput: true }
|
|
87
85
|
})
|
|
88
86
|
)
|
|
89
87
|
}
|
|
@@ -92,7 +90,17 @@ export default class InputText extends InputElement {
|
|
|
92
90
|
handleChange(event) {
|
|
93
91
|
if (this.disabled) {
|
|
94
92
|
event.target.value = ''
|
|
93
|
+
} else {
|
|
94
|
+
this.value = (event.target.value || '').trim()
|
|
95
|
+
event.target.value = this.value
|
|
96
|
+
|
|
97
|
+
this.dispatchEvent(
|
|
98
|
+
new CustomEvent('change', {
|
|
99
|
+
detail: { ...this.getData(), _onchage: true }
|
|
100
|
+
})
|
|
101
|
+
)
|
|
95
102
|
}
|
|
103
|
+
|
|
96
104
|
event.stopPropagation()
|
|
97
105
|
event.preventDefault()
|
|
98
106
|
}
|
package/package.json
CHANGED