fleetcor-lwc 3.0.0 → 3.3.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/README.md +146 -4
- package/frontend/components/flt/button/button.scss +2 -1
- package/frontend/components/flt/inputEmail/__test__/inputEmail.test.js +39 -0
- package/frontend/components/flt/inputEmail/inputEmail.js +8 -0
- package/frontend/components/flt/inputPhone/__test__/radioItem.test.js +56 -0
- package/frontend/components/flt/inputPhone/arrow.svg +3 -0
- package/frontend/components/flt/inputPhone/close-button.svg +3 -0
- package/frontend/components/flt/inputPhone/flags/AD@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/AL@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/AT@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/BA@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/BE@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/BG@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/BY@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/CH@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/CZ@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/DE@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/DK@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/EE@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/ES@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/FI@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/FO@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/FR@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/GB@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/GI@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/GR@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/HR@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/HU@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/IE@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/IS@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/IT@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/LI@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/LT@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/LU@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/LV@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/MC@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/MD@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/ME@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/MK@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/MT@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/NL@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/NO@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/PL@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/PT@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/RO@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/RS@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/RU@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/SE@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/SI@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/SK@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/SM@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/UA@2x.png +0 -0
- package/frontend/components/flt/inputPhone/flags/VA@2x.png +0 -0
- package/frontend/components/flt/inputPhone/inputPhone.html +109 -0
- package/frontend/components/flt/inputPhone/inputPhone.js +252 -0
- package/frontend/components/flt/inputPhone/inputPhone.scss +288 -0
- package/frontend/components/flt/inputPhone/utils.js +325 -0
- package/frontend/components/flt/inputText/__test__/inputText.test.js +211 -0
- package/frontend/components/flt/inputText/inputText.html +24 -0
- package/frontend/components/flt/inputText/inputText.js +99 -0
- package/frontend/components/flt/inputText/inputText.scss +124 -0
- package/frontend/components/flt/modal/__test__/modal.test.js +30 -0
- package/frontend/components/flt/modal/modal.html +6 -0
- package/frontend/components/flt/modal/modal.js +8 -0
- package/frontend/components/flt/modal/modal.scss +34 -0
- package/frontend/components/flt/progressStep/__test__/progressStep.test.js +17 -1
- package/frontend/components/flt/progressStep/progressStep.scss +6 -6
- package/frontend/components/flt/tooltip/tooltip.js +4 -4
- package/frontend/core/index.js +2 -0
- package/frontend/core/interface/InputElement.js +87 -0
- package/frontend/core/interface/ModalViewer.js +26 -0
- package/frontend/core/interface/UserDataManager.js +11 -1
- package/package.json +12 -7
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
.flt-input-text {
|
|
2
|
+
box-sizing: border-box;
|
|
3
|
+
color: var(--flt-input-text-color, #111827);
|
|
4
|
+
font-weight: var(--flt-input-text-font-weight, 400);
|
|
5
|
+
cursor: pointer;
|
|
6
|
+
|
|
7
|
+
&__prefix {
|
|
8
|
+
padding-right: 2px;
|
|
9
|
+
}
|
|
10
|
+
|
|
11
|
+
&_disabled {
|
|
12
|
+
color: #d1d5db;
|
|
13
|
+
|
|
14
|
+
.flt-input-text__wrapp {
|
|
15
|
+
border-color: #d1d5db !important;
|
|
16
|
+
background: #f9fafb !important;
|
|
17
|
+
cursor: not-allowed;
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
-webkit-user-select: none;
|
|
21
|
+
-ms-user-select: none;
|
|
22
|
+
user-select: none;
|
|
23
|
+
|
|
24
|
+
input {
|
|
25
|
+
background-color: #f9fafb;
|
|
26
|
+
color: #bdc1c7;
|
|
27
|
+
cursor: not-allowed;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
&_active,
|
|
32
|
+
&_activate {
|
|
33
|
+
.flt-input-text__input-block {
|
|
34
|
+
display: flex;
|
|
35
|
+
height: 20px;
|
|
36
|
+
opacity: 1;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
.flt-input-text__placeholder {
|
|
40
|
+
font-size: 12px;
|
|
41
|
+
line-height: 16px;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
.flt-input-text__wrapp {
|
|
45
|
+
border-color: var(--flt-input-border-color-active, #6b7280);
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
&_error {
|
|
50
|
+
.flt-input-text__wrapp {
|
|
51
|
+
border-color: #ef4444;
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.flt-input-text__error {
|
|
55
|
+
height: 16px;
|
|
56
|
+
opacity: 1;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
&_success {
|
|
61
|
+
.flt-input-text__wrapp {
|
|
62
|
+
border-color: var(--flt-input-border-color-success, #59eb9c);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
&__wrapp {
|
|
67
|
+
background-color: #ffffff;
|
|
68
|
+
border: 1px solid #6b7280;
|
|
69
|
+
border-radius: var(--flt-input-border-radius, 12px);
|
|
70
|
+
overflow: hidden;
|
|
71
|
+
height: 44px;
|
|
72
|
+
display: flex;
|
|
73
|
+
flex-direction: column;
|
|
74
|
+
padding-left: 16px;
|
|
75
|
+
padding-right: 16px;
|
|
76
|
+
justify-content: center;
|
|
77
|
+
transition: all 0.3s;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
&__input-block {
|
|
81
|
+
height: 0;
|
|
82
|
+
opacity: 0;
|
|
83
|
+
line-height: 20px;
|
|
84
|
+
font-size: 16px;
|
|
85
|
+
transition: all 0.3s;
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
&__input {
|
|
89
|
+
height: inherit;
|
|
90
|
+
font-size: 16px;
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
&__placeholder {
|
|
94
|
+
font-size: 16px;
|
|
95
|
+
line-height: 20px;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
&__error {
|
|
99
|
+
height: 0;
|
|
100
|
+
opacity: 0;
|
|
101
|
+
margin-top: 4px;
|
|
102
|
+
font-size: 12px;
|
|
103
|
+
line-height: 16px;
|
|
104
|
+
color: #ef4444;
|
|
105
|
+
transition: all 0.3s;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
input {
|
|
109
|
+
width: 100%;
|
|
110
|
+
outline: none;
|
|
111
|
+
border: none;
|
|
112
|
+
padding: 0;
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
input::-webkit-outer-spin-button,
|
|
116
|
+
input::-webkit-inner-spin-button {
|
|
117
|
+
-webkit-appearance: none;
|
|
118
|
+
margin: 0;
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
input[type='number'] {
|
|
122
|
+
-moz-appearance: textfield;
|
|
123
|
+
}
|
|
124
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { createElement } from 'lwc'
|
|
2
|
+
import { ModalViewer } from 'fleetcor-lwc'
|
|
3
|
+
import ProgressStep from 'flt/progressStep'
|
|
4
|
+
import { doc } from 'prettier'
|
|
5
|
+
|
|
6
|
+
describe('flt-modal', () => {
|
|
7
|
+
afterEach(() => {
|
|
8
|
+
ModalViewer.hideModals()
|
|
9
|
+
})
|
|
10
|
+
|
|
11
|
+
it('base test', () => {
|
|
12
|
+
const progressStep = createElement('flt-progress-step', { is: ProgressStep })
|
|
13
|
+
progressStep.total = 9
|
|
14
|
+
progressStep.current = 2
|
|
15
|
+
progressStep.title = 'Good job'
|
|
16
|
+
ModalViewer.showModalWithComponent(progressStep)
|
|
17
|
+
|
|
18
|
+
const modalElement = document.body.querySelector('flt-modal')
|
|
19
|
+
expect(modalElement.firstChild.classList).toContain('flt-modal')
|
|
20
|
+
const progressStepElemet = modalElement.querySelector('flt-progress-step')
|
|
21
|
+
expect(progressStepElemet.total).toBe(9)
|
|
22
|
+
expect(progressStepElemet.current).toBe(2)
|
|
23
|
+
expect(progressStepElemet.title).toBe('Good job')
|
|
24
|
+
|
|
25
|
+
const glassEl = modalElement.querySelector('.flt-modal__glass')
|
|
26
|
+
glassEl.click()
|
|
27
|
+
const removedModalElement = document.body.querySelector('flt-modal')
|
|
28
|
+
expect(removedModalElement).toBeFalsy()
|
|
29
|
+
})
|
|
30
|
+
})
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
.flt-modal {
|
|
2
|
+
position: fixed;
|
|
3
|
+
width: 100%;
|
|
4
|
+
height: 100%;
|
|
5
|
+
left: 0;
|
|
6
|
+
top: 0;
|
|
7
|
+
z-index: 999999;
|
|
8
|
+
display: flex;
|
|
9
|
+
align-items: center;
|
|
10
|
+
justify-content: center;
|
|
11
|
+
animation: fadeIn 0.3s ease-in-out;
|
|
12
|
+
|
|
13
|
+
&__glass {
|
|
14
|
+
position: absolute;
|
|
15
|
+
width: 100%;
|
|
16
|
+
height: 100%;
|
|
17
|
+
left: 0;
|
|
18
|
+
top: 0;
|
|
19
|
+
background: var(--flt-modal-glass-bgc, rgba(0, 0, 0, 0.4));
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
&__container {
|
|
23
|
+
position: relative;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@keyframes fadeIn {
|
|
28
|
+
0% {
|
|
29
|
+
opacity: 0;
|
|
30
|
+
}
|
|
31
|
+
100% {
|
|
32
|
+
opacity: 1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
@@ -9,7 +9,7 @@ describe('flt-progress-step', () => {
|
|
|
9
9
|
}
|
|
10
10
|
})
|
|
11
11
|
|
|
12
|
-
it('base test', () => {
|
|
12
|
+
it('base test 2/9', () => {
|
|
13
13
|
const progressStep = createElement('flt-progress-step', { is: ProgressStep })
|
|
14
14
|
progressStep.total = 9
|
|
15
15
|
progressStep.current = 2
|
|
@@ -24,4 +24,20 @@ describe('flt-progress-step', () => {
|
|
|
24
24
|
const title = progressStep.firstChild.querySelector('.progress-step__current-title')
|
|
25
25
|
expect(title.textContent).toBe('Good job')
|
|
26
26
|
})
|
|
27
|
+
|
|
28
|
+
it('base test 8/9', () => {
|
|
29
|
+
const progressStep = createElement('flt-progress-step', { is: ProgressStep })
|
|
30
|
+
progressStep.total = 9
|
|
31
|
+
progressStep.current = 8
|
|
32
|
+
progressStep.title = 'Good job'
|
|
33
|
+
document.body.appendChild(progressStep)
|
|
34
|
+
|
|
35
|
+
expect(progressStep.firstChild.classList).toContain('progress-step')
|
|
36
|
+
|
|
37
|
+
const position = progressStep.firstChild.querySelector('.progress-step__number-propotion')
|
|
38
|
+
expect(position.textContent).toBe('8/9')
|
|
39
|
+
|
|
40
|
+
const title = progressStep.firstChild.querySelector('.progress-step__current-title')
|
|
41
|
+
expect(title.textContent).toBe('Good job')
|
|
42
|
+
})
|
|
27
43
|
})
|
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
$FLT_STEP_POSITION_TITLE_FONT_WEIGHT: var(--step-position-title-font-weight, 500);
|
|
2
|
-
$FLT_STEP_POSITION_TITLE_COLOR: var(--step-position-title-color, #0a7db8);
|
|
1
|
+
$FLT_STEP_POSITION_TITLE_FONT_WEIGHT: var(--flt-step-position-title-font-weight, 500);
|
|
2
|
+
$FLT_STEP_POSITION_TITLE_COLOR: var(--flt-step-position-title-color, #0a7db8);
|
|
3
3
|
$FLT_STEP_POSITION_NUMBER_PROPOTION_FONT_WEIGHT: var(
|
|
4
|
-
--step-position-number-propotion-font-weight,
|
|
4
|
+
--flt--step-position-number-propotion-font-weight,
|
|
5
5
|
300
|
|
6
6
|
);
|
|
7
|
-
$FLT_STEP_POSITION_NUMBER_COLOR: var(--step-position-number-color, #111827);
|
|
8
|
-
$FLT_STEP_POSITION_CIRCLE_COLOR: var(--step-position-circle-color, #0a7db8);
|
|
9
|
-
$FLT_STEP_POSITION_CIRCLE_BACKGROUND: var(--step-position-circle-background, #bbe6fb);
|
|
7
|
+
$FLT_STEP_POSITION_NUMBER_COLOR: var(--flt-step-position-number-color, #111827);
|
|
8
|
+
$FLT_STEP_POSITION_CIRCLE_COLOR: var(--flt-step-position-circle-color, #0a7db8);
|
|
9
|
+
$FLT_STEP_POSITION_CIRCLE_BACKGROUND: var(--flt-step-position-circle-background, #bbe6fb);
|
|
10
10
|
|
|
11
11
|
.progress-step {
|
|
12
12
|
position: relative;
|
|
@@ -291,10 +291,10 @@ export default class Tooltip extends BaseElement {
|
|
|
291
291
|
|
|
292
292
|
createTooltip() {
|
|
293
293
|
// 1. find width of tooltip
|
|
294
|
-
const text = this.
|
|
294
|
+
const text = this.firstElementChild.querySelector('.flt-tooltip__text')
|
|
295
295
|
text.innerHTML = this.content
|
|
296
296
|
this.lastRenderedContent = this.content
|
|
297
|
-
const content = this.
|
|
297
|
+
const content = this.firstElementChild.querySelector('.flt-tooltip__content')
|
|
298
298
|
let contentPosition = content.getBoundingClientRect()
|
|
299
299
|
const bodyPosition = document.body.getBoundingClientRect()
|
|
300
300
|
|
|
@@ -312,7 +312,7 @@ export default class Tooltip extends BaseElement {
|
|
|
312
312
|
this.svgH = contentPosition.height
|
|
313
313
|
|
|
314
314
|
// 2. find position by vertical
|
|
315
|
-
this.childElementRect = this.
|
|
315
|
+
this.childElementRect = this.firstElementChild.firstElementChild.getBoundingClientRect()
|
|
316
316
|
this.bottomSide = this.childElementRect.top - contentPosition.height < 12
|
|
317
317
|
|
|
318
318
|
// 3. find position by horizontal
|
|
@@ -351,7 +351,7 @@ export default class Tooltip extends BaseElement {
|
|
|
351
351
|
}
|
|
352
352
|
|
|
353
353
|
renderedCallback() {
|
|
354
|
-
const text = this.
|
|
354
|
+
const text = this.firstElementChild.querySelector('.flt-tooltip__text')
|
|
355
355
|
if (this.firstSetup) {
|
|
356
356
|
this.firstSetup = !this.firstSetup
|
|
357
357
|
this.update()
|
package/frontend/core/index.js
CHANGED
|
@@ -5,6 +5,8 @@ export { default as UserDataManager } from './interface/UserDataManager'
|
|
|
5
5
|
export { default as UserDataValidator } from './interface/UserDataValidator'
|
|
6
6
|
export { default as CheckboxElement } from './interface/CheckboxElement'
|
|
7
7
|
export { default as SelectElement } from './interface/SelectElement'
|
|
8
|
+
export { default as InputElement } from './interface/InputElement'
|
|
9
|
+
export { default as ModalViewer } from './interface/ModalViewer'
|
|
8
10
|
|
|
9
11
|
// ERROR
|
|
10
12
|
export * from './error/errors'
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { api } from 'lwc'
|
|
2
|
+
import { UserDataValidator, FltOverrideError } from 'fleetcor-lwc'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @abstract
|
|
6
|
+
* @class InputElement
|
|
7
|
+
* @extends UserDataValidator
|
|
8
|
+
* @description This class is used to input form data
|
|
9
|
+
*/
|
|
10
|
+
export default class InputElement extends UserDataValidator {
|
|
11
|
+
error
|
|
12
|
+
|
|
13
|
+
@api regExp
|
|
14
|
+
@api placeholder
|
|
15
|
+
@api maxLength
|
|
16
|
+
@api minValue
|
|
17
|
+
@api maxValue
|
|
18
|
+
|
|
19
|
+
@api validate() {
|
|
20
|
+
this.error = !this.isValid()
|
|
21
|
+
}
|
|
22
|
+
|
|
23
|
+
@api isValid() {
|
|
24
|
+
let result = true
|
|
25
|
+
if (this.required) {
|
|
26
|
+
if (this.regExp && this.value && !new RegExp(this.regExp).test(this.value)) {
|
|
27
|
+
result = false
|
|
28
|
+
} else if (!this.value) {
|
|
29
|
+
result = false
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
if (
|
|
34
|
+
result &&
|
|
35
|
+
this.maxLength &&
|
|
36
|
+
this.value &&
|
|
37
|
+
this.value.length > parseInt(this.maxLength)
|
|
38
|
+
) {
|
|
39
|
+
result = false
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
if (result && this.minValue) {
|
|
43
|
+
const numberValue = parseInt(this.value)
|
|
44
|
+
result = false
|
|
45
|
+
if (!isNaN(numberValue) && numberValue >= parseInt(this.minValue)) {
|
|
46
|
+
result = true
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
if (result && this.maxValue) {
|
|
51
|
+
const numberValue = parseInt(this.value)
|
|
52
|
+
result = false
|
|
53
|
+
if (!isNaN(numberValue) && numberValue <= parseInt(this.maxValue)) {
|
|
54
|
+
result = true
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
return result
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
@api getData(silent) {
|
|
62
|
+
return {
|
|
63
|
+
...super.getData(silent),
|
|
64
|
+
regExp: this.regExp,
|
|
65
|
+
placeholder: this.placeholder,
|
|
66
|
+
maxLength: this.maxLength,
|
|
67
|
+
minValue: this.minValue,
|
|
68
|
+
maxValue: this.maxValue
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
handleInput(event) {
|
|
73
|
+
throw new FltOverrideError('handleInput')
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
handleChange(event) {
|
|
77
|
+
throw new FltOverrideError('handleChange')
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
handleFocused(event) {
|
|
81
|
+
throw new FltOverrideError('handleFocused')
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
handleBlur(event) {
|
|
85
|
+
throw new FltOverrideError('handleBlur')
|
|
86
|
+
}
|
|
87
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { createElement } from 'lwc'
|
|
2
|
+
import Modal from 'flt/modal'
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* @abstract
|
|
6
|
+
* @class ModalViewer
|
|
7
|
+
* @description This class is used to show and hide modal view
|
|
8
|
+
*/
|
|
9
|
+
export default class ModalViewer {
|
|
10
|
+
static showModalWithComponent(cmp) {
|
|
11
|
+
const appEl = createElement('flt-modal', { is: Modal })
|
|
12
|
+
document.body.appendChild(appEl)
|
|
13
|
+
document.body.style.overflow = 'hidden'
|
|
14
|
+
if (cmp) {
|
|
15
|
+
appEl.querySelector('.flt-modal__container').appendChild(cmp)
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
static hideModals() {
|
|
20
|
+
document.body.style.overflow = null
|
|
21
|
+
const items = document.body.querySelectorAll('flt-modal')
|
|
22
|
+
items.forEach((item) => {
|
|
23
|
+
item.remove()
|
|
24
|
+
})
|
|
25
|
+
}
|
|
26
|
+
}
|
|
@@ -9,8 +9,18 @@ import { BaseElement, FltMissingAttributeError } from 'fleetcor-lwc'
|
|
|
9
9
|
* @description This class used to manage user data
|
|
10
10
|
*/
|
|
11
11
|
export default class UserDataManager extends BaseElement {
|
|
12
|
+
_value
|
|
13
|
+
|
|
12
14
|
@api name
|
|
13
|
-
@api
|
|
15
|
+
@api
|
|
16
|
+
get value() {
|
|
17
|
+
return this._value
|
|
18
|
+
}
|
|
19
|
+
set value(v) {
|
|
20
|
+
if (!this.disabled) {
|
|
21
|
+
this._value = v
|
|
22
|
+
}
|
|
23
|
+
}
|
|
14
24
|
@api group
|
|
15
25
|
@api disabled
|
|
16
26
|
@api required
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "fleetcor-lwc",
|
|
3
|
-
"version": "3.
|
|
3
|
+
"version": "3.3.0",
|
|
4
4
|
"description": "LWC framework by Fleetcor",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -28,6 +28,9 @@
|
|
|
28
28
|
"flt/button",
|
|
29
29
|
"flt/checkbox",
|
|
30
30
|
"flt/icon",
|
|
31
|
+
"flt/inputText",
|
|
32
|
+
"flt/inputEmail",
|
|
33
|
+
"flt/modal",
|
|
31
34
|
"flt/radioGroup",
|
|
32
35
|
"flt/radioGroupIcon",
|
|
33
36
|
"flt/tooltip",
|
|
@@ -43,7 +46,7 @@
|
|
|
43
46
|
"test:unit": "sfdx-lwc-jest",
|
|
44
47
|
"test:unit:watch": "sfdx-lwc-jest --watch",
|
|
45
48
|
"test:unit:debug": "sfdx-lwc-jest --debug",
|
|
46
|
-
"test:unit:coverage": "sfdx-lwc-jest --coverage",
|
|
49
|
+
"test:unit:coverage": "sfdx-lwc-jest -- --clearCache && sfdx-lwc-jest --coverage",
|
|
47
50
|
"prettier": "prettier --config .prettierrc --write ./"
|
|
48
51
|
},
|
|
49
52
|
"devDependencies": {
|
|
@@ -55,21 +58,23 @@
|
|
|
55
58
|
"babel-loader": "^10.0.0",
|
|
56
59
|
"css-loader": "^7.1.4",
|
|
57
60
|
"d": "^1.0.1",
|
|
61
|
+
"google-libphonenumber": "^3.2.44",
|
|
58
62
|
"html-loader": "^2.1.2",
|
|
59
63
|
"html-webpack-plugin": "^5.3.2",
|
|
60
64
|
"identity-obj-proxy": "^3.0.0",
|
|
61
65
|
"lwc": "^9.0.2",
|
|
62
66
|
"lwc-webpack-plugin": "^3.1.0",
|
|
67
|
+
"prettier": "^2.3.2",
|
|
68
|
+
"pug-html-loader": "^1.1.5",
|
|
69
|
+
"pug-loader": "^2.4.0",
|
|
63
70
|
"resolve-url-loader": "^5.0.0",
|
|
64
71
|
"sass": "^1.97.3",
|
|
65
|
-
"terser-webpack-plugin": "^5.3.16",
|
|
66
72
|
"sass-loader": "^16.0.7",
|
|
67
73
|
"style-loader": "^4.0.0",
|
|
68
|
-
"
|
|
69
|
-
"pug-html-loader": "^1.1.5",
|
|
70
|
-
"pug-loader": "^2.4.0",
|
|
74
|
+
"terser-webpack-plugin": "^5.3.16",
|
|
71
75
|
"webpack": "^5.105.2",
|
|
72
76
|
"webpack-cli": "^6.0.1",
|
|
73
|
-
"webpack-dev-server": "^5.2.3"
|
|
77
|
+
"webpack-dev-server": "^5.2.3",
|
|
78
|
+
"imask": "^7.6.1"
|
|
74
79
|
}
|
|
75
80
|
}
|