@rolster/react-components 18.12.9 → 18.13.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/dist/cjs/assets/{index-7UzJ6VgT.css → index-fykwrWLx.css} +747 -648
- package/dist/cjs/index.js +760 -776
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/assets/{index-7UzJ6VgT.css → index-fykwrWLx.css} +747 -648
- package/dist/es/index.js +760 -778
- package/dist/es/index.js.map +1 -1
- package/dist/esm/components/atoms/Amount/Amount.css +3 -3
- package/dist/esm/components/atoms/Avatar/Avatar.css +7 -7
- package/dist/esm/components/atoms/Badge/Badge.css +7 -7
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.css +12 -12
- package/dist/esm/components/atoms/Button/Button.css +74 -53
- package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
- package/dist/esm/components/atoms/Button/Button.js +1 -1
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.css +22 -22
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.d.ts +1 -1
- package/dist/esm/components/atoms/CheckBox/CheckBox.css +8 -8
- package/dist/esm/components/atoms/Icon/Icon.css +7 -8
- package/dist/esm/components/atoms/Input/Input.css +13 -15
- package/dist/esm/components/atoms/InputMoney/InputMoney.css +1 -1
- package/dist/esm/components/atoms/InputNumber/InputNumber.css +1 -1
- package/dist/esm/components/atoms/InputPassword/InputPassword.css +8 -8
- package/dist/esm/components/atoms/InputText/InputText.css +1 -1
- package/dist/esm/components/atoms/Label/Label.css +1 -1
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.css +6 -6
- package/dist/esm/components/atoms/Poster/Poster.css +6 -6
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.css +7 -7
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.css +44 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.d.ts +7 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js +6 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js.map +1 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.css +6 -6
- package/dist/esm/components/atoms/SearchInput/SearchInput.css +4 -4
- package/dist/esm/components/atoms/Skeleton/Skeleton.css +6 -6
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.css +6 -8
- package/dist/esm/components/atoms/Switch/Switch.css +16 -16
- package/dist/esm/components/atoms/TabularText/TabularText.css +2 -2
- package/dist/esm/components/atoms/index.d.ts +1 -0
- package/dist/esm/components/atoms/index.js +1 -0
- package/dist/esm/components/atoms/index.js.map +1 -1
- package/dist/esm/components/definitions.d.ts +1 -1
- package/dist/esm/components/molecules/Ballot/Ballot.css +27 -34
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.css +7 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.d.ts +12 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js +8 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js.map +1 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.css +32 -30
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.css +8 -8
- package/dist/esm/components/molecules/DayPicker/DayPicker.css +39 -27
- package/dist/esm/components/molecules/DayPicker/DayPicker.d.ts +3 -1
- package/dist/esm/components/molecules/DayPicker/DayPicker.js +32 -24
- package/dist/esm/components/molecules/DayPicker/DayPicker.js.map +1 -1
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.css +28 -28
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js +18 -21
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js.map +1 -1
- package/dist/esm/components/molecules/MoneyField/MoneyField.css +1 -2
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.css +34 -19
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.d.ts +2 -1
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js +30 -19
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js.map +1 -1
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.css +6 -6
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +1 -1
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js +26 -21
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js.map +1 -1
- package/dist/esm/components/molecules/NumberField/NumberField.css +1 -2
- package/dist/esm/components/molecules/Pagination/Pagination.css +29 -30
- package/dist/esm/components/molecules/PasswordField/PasswordField.css +4 -5
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.css +8 -10
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.css +8 -9
- package/dist/esm/components/molecules/TextField/TextField.css +1 -2
- package/dist/esm/components/molecules/Toolbar/Toolbar.css +10 -10
- package/dist/esm/components/molecules/YearPicker/YearPicker.css +42 -28
- package/dist/esm/components/molecules/YearPicker/YearPicker.d.ts +1 -1
- package/dist/esm/components/molecules/YearPicker/YearPicker.js +33 -26
- package/dist/esm/components/molecules/YearPicker/YearPicker.js.map +1 -1
- package/dist/esm/components/molecules/index.d.ts +1 -0
- package/dist/esm/components/molecules/index.js +1 -0
- package/dist/esm/components/molecules/index.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.css +22 -22
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.d.ts +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.d.ts +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.js +27 -81
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.js.map +1 -1
- package/dist/esm/components/organisms/Card/Card.css +5 -5
- package/dist/esm/components/organisms/Confirmation/Confirmation.css +38 -38
- package/dist/esm/components/organisms/DateField/DateField.css +15 -15
- package/dist/esm/components/organisms/DateField/DateField.d.ts +2 -2
- package/dist/esm/components/organisms/DateField/DateField.js +28 -16
- package/dist/esm/components/organisms/DateField/DateField.js.map +1 -1
- package/dist/esm/components/organisms/DatePicker/DatePicker.css +27 -24
- package/dist/esm/components/organisms/DatePicker/DatePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DatePicker/DatePicker.js +38 -56
- package/dist/esm/components/organisms/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.css +13 -15
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js +5 -5
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js.map +1 -1
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.css +20 -20
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js +16 -36
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.css +15 -14
- package/dist/esm/components/organisms/Modal/Modal.css +11 -11
- package/dist/esm/components/organisms/SelectField/SelectField.css +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.d.ts +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.js +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.js.map +1 -1
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.d.ts +1 -1
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.js +18 -35
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.js.map +1 -1
- package/dist/esm/components/organisms/Snackbar/Snackbar.css +26 -26
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/picker.constant.d.ts +1 -0
- package/dist/esm/constants/picker.constant.js +2 -0
- package/dist/esm/constants/picker.constant.js.map +1 -0
- package/dist/esm/helpers/date-range-picker.d.ts +1 -12
- package/dist/esm/helpers/date-range-picker.js +5 -105
- package/dist/esm/helpers/date-range-picker.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/index.js +3 -0
- package/dist/esm/helpers/index.js.map +1 -0
- package/dist/esm/hooks/ListControlHook.d.ts +2 -3
- package/dist/esm/hooks/ListControlHook.js +22 -92
- package/dist/esm/hooks/ListControlHook.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +7 -6
- package/dist/esm/helpers/date-picker.d.ts +0 -1
- package/dist/esm/helpers/date-picker.js +0 -5
- package/dist/esm/helpers/date-picker.js.map +0 -1
- package/dist/esm/helpers/day-picker.d.ts +0 -9
- package/dist/esm/helpers/day-picker.js +0 -84
- package/dist/esm/helpers/day-picker.js.map +0 -1
- package/dist/esm/helpers/month-picker.d.ts +0 -14
- package/dist/esm/helpers/month-picker.js +0 -78
- package/dist/esm/helpers/month-picker.js.map +0 -1
- package/dist/esm/helpers/year-picker.d.ts +0 -17
- package/dist/esm/helpers/year-picker.js +0 -83
- package/dist/esm/helpers/year-picker.js.map +0 -1
- package/dist/esm/models.d.ts +0 -58
- package/dist/esm/models.js +0 -9
- package/dist/esm/models.js.map +0 -1
- package/dist/esm/types.d.ts +0 -12
- package/dist/esm/types.js +0 -7
- package/dist/esm/types.js.map +0 -1
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
--pvt-control-opacity: 1;
|
|
4
4
|
}
|
|
5
5
|
.rls-autocomplete-field.rls-box-field--selected {
|
|
6
|
-
--pvt-control-width: calc(100% - var(--sizing-x14));
|
|
6
|
+
--pvt-control-width: calc(100% - var(--rls-sizing-x14));
|
|
7
7
|
}
|
|
8
8
|
.rls-autocomplete-field.rls-box-field--disabled {
|
|
9
9
|
--pvt-control-opacity: 0.5;
|
|
@@ -19,55 +19,55 @@
|
|
|
19
19
|
display: flex;
|
|
20
20
|
align-items: center;
|
|
21
21
|
width: 100%;
|
|
22
|
-
margin-top: var(--sizing-x2);
|
|
23
|
-
margin-bottom: var(--sizing-x6);
|
|
24
|
-
background: var(--background-
|
|
25
|
-
border-radius: var(--sizing-x4);
|
|
26
|
-
padding: var(--sizing-x4);
|
|
22
|
+
margin-top: var(--rls-sizing-x2);
|
|
23
|
+
margin-bottom: var(--rls-sizing-x6);
|
|
24
|
+
background: var(--rls-app-background-300);
|
|
25
|
+
border-radius: var(--rls-sizing-x4);
|
|
26
|
+
padding: var(--rls-sizing-x4);
|
|
27
27
|
box-sizing: border-box;
|
|
28
28
|
}
|
|
29
29
|
.rls-autocomplete-field .rls-list-field__ul__search button {
|
|
30
|
-
color: var(--color-
|
|
30
|
+
color: var(--rls-app-color-300);
|
|
31
31
|
background: transparent;
|
|
32
32
|
}
|
|
33
33
|
.rls-autocomplete-field
|
|
34
34
|
.rls-list-field__ul__search
|
|
35
35
|
button:not(:disabled):hover {
|
|
36
|
-
color: var(--color-
|
|
36
|
+
color: var(--rls-theme-color-300);
|
|
37
37
|
}
|
|
38
38
|
.rls-autocomplete-field .rls-list-field__ul__search button:disabled {
|
|
39
39
|
opacity: 0.5;
|
|
40
40
|
}
|
|
41
41
|
.rls-autocomplete-field .rls-list-field__ul__control {
|
|
42
42
|
width: 100%;
|
|
43
|
-
height: var(--sizing-x12);
|
|
44
|
-
line-height: var(--sizing-x12);
|
|
43
|
+
height: var(--rls-sizing-x12);
|
|
44
|
+
line-height: var(--rls-sizing-x12);
|
|
45
45
|
padding: 0rem;
|
|
46
46
|
cursor: text;
|
|
47
47
|
border: none;
|
|
48
48
|
outline: none;
|
|
49
49
|
background: transparent;
|
|
50
|
-
color: var(--color-
|
|
51
|
-
font-size: var(--input-font-size);
|
|
52
|
-
font-weight: var(--font-weight-medium);
|
|
53
|
-
letter-spacing: var(--input-letter-spacing);
|
|
50
|
+
color: var(--rls-app-color-500);
|
|
51
|
+
font-size: var(--rls-input-font-size);
|
|
52
|
+
font-weight: var(--rls-font-weight-medium);
|
|
53
|
+
letter-spacing: var(--rls-input-letter-spacing);
|
|
54
54
|
}
|
|
55
55
|
.rls-autocomplete-field .rls-list-field__ul__control::placeholder {
|
|
56
|
-
color: var(--color-
|
|
56
|
+
color: var(--rls-app-color-100);
|
|
57
57
|
}
|
|
58
58
|
.rls-autocomplete-field .rls-list-field__ul__control::selection {
|
|
59
|
-
background: var(--color-
|
|
60
|
-
color: var(--
|
|
59
|
+
background: var(--rls-theme-color-700);
|
|
60
|
+
color: var(--rls-light-color-500);
|
|
61
61
|
}
|
|
62
62
|
.rls-autocomplete-field .rls-list-field__ul__control:disabled {
|
|
63
63
|
opacity: 0.5;
|
|
64
64
|
}
|
|
65
65
|
.rls-autocomplete-field .rls-list-field__ul .rls-progress-bar {
|
|
66
|
-
margin-bottom: var(--sizing-x8);
|
|
66
|
+
margin-bottom: var(--rls-sizing-x8);
|
|
67
67
|
}
|
|
68
68
|
.rls-autocomplete-field .rls-list-field__element .rls-ballot__title label {
|
|
69
|
-
background: var(--color-
|
|
70
|
-
color: var(--color-
|
|
71
|
-
padding: 0rem var(--sizing-x2);
|
|
72
|
-
border-radius: var(--sizing-x2);
|
|
69
|
+
background: var(--rls-theme-color-100);
|
|
70
|
+
color: var(--rls-theme-color-500);
|
|
71
|
+
padding: 0rem var(--rls-sizing-x2);
|
|
72
|
+
border-radius: var(--rls-sizing-x2);
|
|
73
73
|
}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
+
import { AbstractAutocompleteElement as Element, AutocompleteElement } from '@rolster/helpers-components';
|
|
1
2
|
import { ReactControl } from '@rolster/react-forms';
|
|
2
3
|
import { ReactNode } from 'react';
|
|
3
|
-
import { AbstractAutocompleteElement as Element, AutocompleteElement } from '../../../models';
|
|
4
4
|
import { RlsComponent } from '../../definitions';
|
|
5
5
|
import './AutocompleteField.css';
|
|
6
6
|
interface AutocompleteFieldProps<T = unknown, E extends Element<T> = Element<T>> extends RlsComponent {
|
|
@@ -25,7 +25,7 @@ export function RlsAutocompleteFieldTemplate({ suggestions, children, disabled,
|
|
|
25
25
|
setPattern(value);
|
|
26
26
|
}, disabled: disabled || searching, onFocus: onFocusInput, onBlur: onBlurInput, onKeyDown: onKeydownInput }), onSearch && (_jsx("button", { disabled: disabled || searching, onClick: () => {
|
|
27
27
|
onSearch(pattern);
|
|
28
|
-
}, children: _jsx(RlsIcon, { value: "search" }) }))] }), searching && _jsx(RlsProgressBar, { indeterminate: true }), coincidences.map((element, index) => (_jsx("li", { className: "rls-list-field__element", tabIndex: -1, onClick: onClickElement(element), onKeyDown: onKeydownElement(element), children: render(element) }, index))), !coincidences.length && (_jsx("li", { className: "rls-list-field__empty", children: _jsxs("div", { className: "rls-list-field__empty__description", children: [_jsx("label", { className: "label-bold truncate", children: reactI18n('listEmptyTitle') }), _jsx("p", { className: "caption-regular", children: reactI18n('listEmptyDescription') })] }) }))] }) }), _jsx("div", { className: "rls-list-field__backdrop", onClick: onClickBackdrop })] })] }));
|
|
28
|
+
}, children: _jsx(RlsIcon, { value: "search" }) }))] }), searching && _jsx(RlsProgressBar, { indeterminate: true }), coincidences.map((element, index) => (_jsx("li", { className: "rls-list-field__element", tabIndex: -1, onClick: onClickElement(element), onKeyDown: onKeydownElement(element), children: render(element) }, index))), !coincidences.length && (_jsx("li", { className: "rls-list-field__empty", children: _jsxs("div", { className: "rls-list-field__empty__description", children: [_jsx("label", { className: "rls-label-bold truncate", children: reactI18n('listEmptyTitle') }), _jsx("p", { className: "rls-caption-regular", children: reactI18n('listEmptyDescription') })] }) }))] }) }), _jsx("div", { className: "rls-list-field__backdrop", onClick: onClickBackdrop })] })] }));
|
|
29
29
|
}
|
|
30
30
|
export function RlsAutocompleteField(props) {
|
|
31
31
|
return (_jsx(RlsAutocompleteFieldTemplate, { ...props, render: (element) => (_jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: element.title })) }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../../../../../src/components/organisms/AutocompleteField/AutocompleteField.tsx"],"names":[],"mappings":";
|
|
1
|
+
{"version":3,"file":"AutocompleteField.js","sourceRoot":"","sources":["../../../../../src/components/organisms/AutocompleteField/AutocompleteField.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
+
import { AbstractAutocompleteElement as Element } from '@rolster/helpers-components';
|
|
1
2
|
import { ReactControl } from '@rolster/react-forms';
|
|
2
3
|
import { KeyboardEvent, KeyboardEventHandler, MouseEventHandler } from 'react';
|
|
3
4
|
import { ListControl } from '../../../hooks';
|
|
4
|
-
import { AbstractAutocompleteElement as Element } from '../../../models';
|
|
5
5
|
export interface AutocompleteControl<T = unknown, E extends Element<T> = Element<T>> {
|
|
6
6
|
coincidences: E[];
|
|
7
7
|
listControl: ListControl<T>;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import { useEffect, useState } from 'react';
|
|
1
|
+
import { createStoreAutocomplete } from '@rolster/helpers-components';
|
|
2
|
+
import { useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { useListControl } from '../../../hooks';
|
|
4
4
|
const DURATION_ANIMATION = 240;
|
|
5
5
|
const MAX_ELEMENTS = 6;
|
|
@@ -11,39 +11,31 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
11
11
|
coincidences: [],
|
|
12
12
|
previous: null
|
|
13
13
|
});
|
|
14
|
-
const listControl = useListControl({
|
|
15
|
-
suggestions,
|
|
16
|
-
formControl,
|
|
17
|
-
higher: true
|
|
18
|
-
});
|
|
14
|
+
const listControl = useListControl({ suggestions, formControl });
|
|
19
15
|
const { collection, inputRef, navigationElement, navigationInput, setFocused, setValue, setVisible } = listControl;
|
|
20
|
-
const
|
|
16
|
+
const changeInternal = useRef(false);
|
|
21
17
|
useEffect(() => filterSuggestions(pattern, true), [suggestions]);
|
|
22
18
|
useEffect(() => filterSuggestions(pattern), [pattern]);
|
|
23
19
|
useEffect(() => {
|
|
24
|
-
|
|
20
|
+
if (changeInternal.current) {
|
|
21
|
+
changeInternal.current = false;
|
|
22
|
+
}
|
|
23
|
+
else {
|
|
24
|
+
resetState(formControl?.state);
|
|
25
|
+
}
|
|
25
26
|
}, [formControl?.state]);
|
|
26
27
|
useEffect(() => resetCollection(collection, formControl?.state), [collection]);
|
|
27
28
|
function setFormState(value) {
|
|
28
|
-
|
|
29
|
-
|
|
29
|
+
if (formControl) {
|
|
30
|
+
changeInternal.current = true;
|
|
31
|
+
formControl.setState(value);
|
|
32
|
+
}
|
|
30
33
|
}
|
|
31
34
|
function resetCollection(collection, state) {
|
|
32
|
-
|
|
33
|
-
const element = collection.find(state);
|
|
34
|
-
if (element) {
|
|
35
|
-
setValue(element.description);
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
setValue('');
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
else {
|
|
42
|
-
setValue('');
|
|
43
|
-
}
|
|
35
|
+
setValue(state ? collection.find(state)?.description || '' : '');
|
|
44
36
|
}
|
|
45
37
|
function resetState(state) {
|
|
46
|
-
|
|
38
|
+
resetCollection(collection, state);
|
|
47
39
|
}
|
|
48
40
|
function onClickControl() {
|
|
49
41
|
if (!disabled) {
|
|
@@ -60,8 +52,6 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
60
52
|
function onKeydownInput(event) {
|
|
61
53
|
switch (event.code) {
|
|
62
54
|
case 'Escape':
|
|
63
|
-
setVisible(false);
|
|
64
|
-
break;
|
|
65
55
|
case 'Tab':
|
|
66
56
|
setVisible(false);
|
|
67
57
|
break;
|
|
@@ -73,9 +63,7 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
73
63
|
function onClickAction() {
|
|
74
64
|
setVisible(false);
|
|
75
65
|
setValue('');
|
|
76
|
-
|
|
77
|
-
setFormState(undefined);
|
|
78
|
-
}
|
|
66
|
+
setFormState(undefined);
|
|
79
67
|
if (onValue) {
|
|
80
68
|
onValue(undefined);
|
|
81
69
|
}
|
|
@@ -90,14 +78,7 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
90
78
|
}
|
|
91
79
|
function onKeydownElement(element) {
|
|
92
80
|
return (event) => {
|
|
93
|
-
|
|
94
|
-
case 'Enter':
|
|
95
|
-
onChange(element);
|
|
96
|
-
break;
|
|
97
|
-
default:
|
|
98
|
-
navigationElement(event);
|
|
99
|
-
break;
|
|
100
|
-
}
|
|
81
|
+
event.code === 'Enter' ? onChange(element) : navigationElement(event);
|
|
101
82
|
};
|
|
102
83
|
}
|
|
103
84
|
function onChange({ description, value }) {
|
|
@@ -106,9 +87,7 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
106
87
|
onSelect(value);
|
|
107
88
|
}
|
|
108
89
|
else {
|
|
109
|
-
|
|
110
|
-
setFormState(value);
|
|
111
|
-
}
|
|
90
|
+
setFormState(value);
|
|
112
91
|
setValue(description);
|
|
113
92
|
}
|
|
114
93
|
if (onValue) {
|
|
@@ -116,47 +95,14 @@ export function useAutocompleteField({ disabled, formControl, onSelect, onValue,
|
|
|
116
95
|
}
|
|
117
96
|
}
|
|
118
97
|
function filterSuggestions(pattern, reboot = false) {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
previous: store
|
|
128
|
-
});
|
|
129
|
-
}
|
|
130
|
-
else {
|
|
131
|
-
setCoincidences(suggestions.slice(0, MAX_ELEMENTS));
|
|
132
|
-
rebootStore();
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
function searchForPattern(value) {
|
|
136
|
-
if (!store.pattern) {
|
|
137
|
-
return null;
|
|
138
|
-
}
|
|
139
|
-
let newStore = store;
|
|
140
|
-
let search = false;
|
|
141
|
-
while (!search && newStore) {
|
|
142
|
-
search = hasPattern(value, newStore.pattern, true);
|
|
143
|
-
if (!search) {
|
|
144
|
-
newStore = newStore.previous;
|
|
145
|
-
}
|
|
146
|
-
}
|
|
147
|
-
return newStore || rebootStore();
|
|
148
|
-
}
|
|
149
|
-
function rebootStore() {
|
|
150
|
-
const store = createStoreEmpty();
|
|
151
|
-
setStore(store);
|
|
152
|
-
return store;
|
|
153
|
-
}
|
|
154
|
-
function createStoreEmpty() {
|
|
155
|
-
return {
|
|
156
|
-
coincidences: undefined,
|
|
157
|
-
pattern: '',
|
|
158
|
-
previous: null
|
|
159
|
-
};
|
|
98
|
+
const result = createStoreAutocomplete({
|
|
99
|
+
pattern,
|
|
100
|
+
suggestions,
|
|
101
|
+
reboot,
|
|
102
|
+
store
|
|
103
|
+
});
|
|
104
|
+
setCoincidences(result.collection.slice(0, MAX_ELEMENTS));
|
|
105
|
+
setStore(result.store);
|
|
160
106
|
}
|
|
161
107
|
return {
|
|
162
108
|
coincidences,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AutocompleteFieldHook.js","sourceRoot":"","sources":["../../../../../src/components/organisms/AutocompleteField/AutocompleteFieldHook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"AutocompleteFieldHook.js","sourceRoot":"","sources":["../../../../../src/components/organisms/AutocompleteField/AutocompleteFieldHook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
.rls-card {
|
|
2
|
-
background: var(--background-
|
|
3
|
-
border-radius: var(--sizing-x4);
|
|
4
|
-
box-shadow: var(--shadow-center-
|
|
2
|
+
background: var(--rls-app-background-500);
|
|
3
|
+
border-radius: var(--rls-sizing-x4);
|
|
4
|
+
box-shadow: var(--rls-light-shadow-center-8);
|
|
5
5
|
}
|
|
6
6
|
.rls-card--outline {
|
|
7
|
-
border: var(--border-1-
|
|
7
|
+
border: var(--rls-app-border-1-100);
|
|
8
8
|
box-shadow: none;
|
|
9
9
|
}
|
|
10
10
|
.rls-card__content {
|
|
11
11
|
display: flex;
|
|
12
12
|
flex-direction: column;
|
|
13
|
-
padding: var(--
|
|
13
|
+
padding: var(--rlc-card-content-padding);
|
|
14
14
|
box-sizing: border-box;
|
|
15
15
|
}
|
|
@@ -3,13 +3,13 @@
|
|
|
3
3
|
--pvt-component-height: 0rem;
|
|
4
4
|
--pvt-component-opacity: 0;
|
|
5
5
|
--pvt-component-visibility: hidden;
|
|
6
|
-
--pvt-title-font-size: var(--heading5-font-size);
|
|
7
|
-
--pvt-title-letter-spacing: var(--heading5-letter-spacing);
|
|
8
|
-
--pvt-title-line-height: var(--heading5-line-height);
|
|
6
|
+
--pvt-title-font-size: var(--rls-heading5-font-size);
|
|
7
|
+
--pvt-title-letter-spacing: var(--rls-heading5-letter-spacing);
|
|
8
|
+
--pvt-title-line-height: var(--rls-heading5-line-height);
|
|
9
9
|
--pvt-title-text-transform: initial;
|
|
10
|
-
--pvt-subtitle-font-size: var(--body-font-size);
|
|
11
|
-
--pvt-subtitle-letter-spacing: var(--body-letter-spacing);
|
|
12
|
-
--pvt-subtitle-line-height: var(--body-line-height);
|
|
10
|
+
--pvt-subtitle-font-size: var(--rls-body-font-size);
|
|
11
|
+
--pvt-subtitle-letter-spacing: var(--rls-body-letter-spacing);
|
|
12
|
+
--pvt-subtitle-line-height: var(--rls-body-line-height);
|
|
13
13
|
--pvt-subtitle-text-transform: initial;
|
|
14
14
|
--pvt-content-font-size: 7.4rem;
|
|
15
15
|
--pvt-content-letter-spacing: 0.05em;
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
left: 0rem;
|
|
25
25
|
width: 100vw;
|
|
26
26
|
height: 100vh;
|
|
27
|
-
z-index: var(--z-index-24);
|
|
27
|
+
z-index: var(--rls-z-index-24);
|
|
28
28
|
visibility: hidden;
|
|
29
29
|
}
|
|
30
30
|
.rls-confirmation--visible {
|
|
@@ -40,37 +40,37 @@
|
|
|
40
40
|
position: absolute;
|
|
41
41
|
display: flex;
|
|
42
42
|
flex-direction: column;
|
|
43
|
-
row-gap: var(--sizing-x8);
|
|
44
|
-
width: calc(100% - var(--sizing-x16));
|
|
43
|
+
row-gap: var(--rls-sizing-x8);
|
|
44
|
+
width: calc(100% - var(--rls-sizing-x16));
|
|
45
45
|
max-width: 280rem;
|
|
46
46
|
height: var(--pvt-component-height);
|
|
47
47
|
opacity: var(--pvt-component-opacity);
|
|
48
48
|
visibility: var(--pvt-component-visibility);
|
|
49
|
-
padding: var(--sizing-x8) 0rem;
|
|
49
|
+
padding: var(--rls-sizing-x8) 0rem;
|
|
50
50
|
box-sizing: border-box;
|
|
51
|
-
z-index: var(--z-index-2);
|
|
52
|
-
border-radius: var(--sizing-x4);
|
|
53
|
-
background: var(--background-
|
|
54
|
-
box-shadow: var(--shadow-4);
|
|
51
|
+
z-index: var(--rls-z-index-2);
|
|
52
|
+
border-radius: var(--rls-sizing-x4);
|
|
53
|
+
background: var(--rls-app-background-500);
|
|
54
|
+
box-shadow: var(--rls-app-shadow-4);
|
|
55
55
|
will-change: transform;
|
|
56
56
|
transform: var(--pvt-component-transform);
|
|
57
|
-
transition: opacity 125ms 0ms var(--deceleration-curve),
|
|
58
|
-
transform 125ms 0ms var(--deceleration-curve),
|
|
59
|
-
visibility 125ms 0ms var(--deceleration-curve);
|
|
57
|
+
transition: opacity 125ms 0ms var(--rls-deceleration-curve),
|
|
58
|
+
transform 125ms 0ms var(--rls-deceleration-curve),
|
|
59
|
+
visibility 125ms 0ms var(--rls-deceleration-curve);
|
|
60
60
|
}
|
|
61
61
|
.rls-confirmation__header {
|
|
62
62
|
position: relative;
|
|
63
63
|
display: flex;
|
|
64
64
|
flex-direction: column;
|
|
65
|
-
row-gap: var(--sizing-x2);
|
|
65
|
+
row-gap: var(--rls-sizing-x2);
|
|
66
66
|
width: 100%;
|
|
67
|
-
padding: 0rem var(--sizing-x8);
|
|
67
|
+
padding: 0rem var(--rls-sizing-x8);
|
|
68
68
|
box-sizing: border-box;
|
|
69
69
|
}
|
|
70
70
|
.rls-confirmation__header__title {
|
|
71
71
|
text-align: center;
|
|
72
|
-
color: var(--color-
|
|
73
|
-
font-weight: var(--font-weight-bold);
|
|
72
|
+
color: var(--rls-app-color-500);
|
|
73
|
+
font-weight: var(--rls-font-weight-bold);
|
|
74
74
|
font-size: var(--pvt-title-font-size);
|
|
75
75
|
line-height: var(--pvt-title-line-height);
|
|
76
76
|
letter-spacing: var(--pvt-title-letter-spacing);
|
|
@@ -78,8 +78,8 @@
|
|
|
78
78
|
}
|
|
79
79
|
.rls-confirmation__header__subtitle {
|
|
80
80
|
text-align: center;
|
|
81
|
-
color: var(--color-
|
|
82
|
-
font-weight: var(--font-weight-bold);
|
|
81
|
+
color: var(--rls-theme-color-300);
|
|
82
|
+
font-weight: var(--rls-font-weight-bold);
|
|
83
83
|
font-size: var(--pvt-subtitle-font-size);
|
|
84
84
|
line-height: var(--pvt-subtitle-line-height);
|
|
85
85
|
letter-spacing: var(--pvt-subtitle-letter-spacing);
|
|
@@ -88,15 +88,15 @@
|
|
|
88
88
|
.rls-confirmation__body {
|
|
89
89
|
position: relative;
|
|
90
90
|
width: 100%;
|
|
91
|
-
padding: 0rem var(--sizing-x8);
|
|
91
|
+
padding: 0rem var(--rls-sizing-x8);
|
|
92
92
|
box-sizing: border-box;
|
|
93
93
|
}
|
|
94
94
|
.rls-confirmation__body__content {
|
|
95
|
-
color: var(--color-
|
|
95
|
+
color: var(--rls-app-color-300);
|
|
96
96
|
text-align: center;
|
|
97
97
|
}
|
|
98
98
|
.rls-confirmation__body__content p {
|
|
99
|
-
font-weight: var(--font-weight-medium);
|
|
99
|
+
font-weight: var(--rls-font-weight-medium);
|
|
100
100
|
font-size: var(--pvt-content-font-size);
|
|
101
101
|
line-height: var(--pvt-content-line-height);
|
|
102
102
|
letter-spacing: var(--pvt-content-letter-spacing);
|
|
@@ -104,7 +104,7 @@
|
|
|
104
104
|
.rls-confirmation__footer {
|
|
105
105
|
position: relative;
|
|
106
106
|
width: 100%;
|
|
107
|
-
padding: var(--sizing-x4) var(--sizing-x8) 0rem var(--sizing-x8);
|
|
107
|
+
padding: var(--rls-sizing-x4) var(--rls-sizing-x8) 0rem var(--rls-sizing-x8);
|
|
108
108
|
box-sizing: border-box;
|
|
109
109
|
}
|
|
110
110
|
.rls-confirmation__footer__actions {
|
|
@@ -113,7 +113,7 @@
|
|
|
113
113
|
display: flex;
|
|
114
114
|
flex-direction: row-reverse;
|
|
115
115
|
justify-content: center;
|
|
116
|
-
column-gap: var(--sizing-x8);
|
|
116
|
+
column-gap: var(--rls-sizing-x8);
|
|
117
117
|
}
|
|
118
118
|
.rls-confirmation__backdrop {
|
|
119
119
|
position: absolute;
|
|
@@ -125,25 +125,25 @@
|
|
|
125
125
|
opacity: var(--pvt-backdrop-opacity);
|
|
126
126
|
z-index: 1;
|
|
127
127
|
will-change: opacity;
|
|
128
|
-
background: var(--backdrop-
|
|
128
|
+
background: var(--rls-theme-backdrop-900);
|
|
129
129
|
backdrop-filter: blur(2px);
|
|
130
|
-
transition: opacity 120ms 0ms var(--deceleration-curve),
|
|
131
|
-
bottom 120ms 0ms var(--deceleration-curve);
|
|
130
|
+
transition: opacity 120ms 0ms var(--rls-deceleration-curve),
|
|
131
|
+
bottom 120ms 0ms var(--rls-deceleration-curve);
|
|
132
132
|
}
|
|
133
133
|
|
|
134
134
|
@media screen and (max-width: 480px) {
|
|
135
135
|
.rls-confirmation {
|
|
136
|
-
--pvt-title-font-size: var(--title-font-size);
|
|
137
|
-
--pvt-title-letter-spacing: var(--title-letter-spacing);
|
|
138
|
-
--pvt-title-line-height: var(--title-line-height);
|
|
139
|
-
--pvt-subtitle-font-size: var(--smalltext-font-size);
|
|
140
|
-
--pvt-subtitle-letter-spacing: var(--smalltext-letter-spacing);
|
|
141
|
-
--pvt-subtitle-line-height: var(--smalltext-line-height);
|
|
136
|
+
--pvt-title-font-size: var(--rls-title-font-size);
|
|
137
|
+
--pvt-title-letter-spacing: var(--rls-title-letter-spacing);
|
|
138
|
+
--pvt-title-line-height: var(--rls-title-line-height);
|
|
139
|
+
--pvt-subtitle-font-size: var(--rls-smalltext-font-size);
|
|
140
|
+
--pvt-subtitle-letter-spacing: var(--rls-smalltext-letter-spacing);
|
|
141
|
+
--pvt-subtitle-line-height: var(--rls-smalltext-line-height);
|
|
142
142
|
--pvt-content-font-size: 7.325rem;
|
|
143
143
|
}
|
|
144
144
|
.rls-confirmation__footer__actions {
|
|
145
145
|
flex-direction: column-reverse;
|
|
146
146
|
column-gap: 0rem;
|
|
147
|
-
row-gap: var(--sizing-x8);
|
|
147
|
+
row-gap: var(--rls-sizing-x8);
|
|
148
148
|
}
|
|
149
149
|
}
|
|
@@ -1,38 +1,38 @@
|
|
|
1
1
|
.rls-date-field {
|
|
2
|
-
--
|
|
2
|
+
--rlc-boxfield-body-padding: var(--rls-sizing-x3) var(--rls-sizing-x4);
|
|
3
3
|
position: relative;
|
|
4
|
-
float: left;
|
|
5
4
|
width: 100%;
|
|
6
5
|
box-sizing: border-box;
|
|
7
6
|
}
|
|
7
|
+
.rls-date-field .rls-box-field__body {
|
|
8
|
+
column-gap: var(--rls-sizing-x2);
|
|
9
|
+
}
|
|
8
10
|
.rls-date-field__control {
|
|
9
11
|
position: relative;
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
height: var(--sizing-x12);
|
|
13
|
-
line-height: var(--sizing-x12);
|
|
12
|
+
width: calc(100% - var(--rls-sizing-x14));
|
|
13
|
+
height: var(--rls-sizing-x12);
|
|
14
|
+
line-height: var(--rls-sizing-x12);
|
|
14
15
|
padding: 0rem;
|
|
15
16
|
cursor: default;
|
|
16
17
|
border: none;
|
|
17
18
|
outline: none;
|
|
18
|
-
color: var(--color-theme-input);
|
|
19
19
|
background: transparent;
|
|
20
|
-
|
|
21
|
-
font-
|
|
22
|
-
|
|
20
|
+
color: var(--rls-app-color-500);
|
|
21
|
+
font-size: var(--rls-input-font-size);
|
|
22
|
+
font-weight: var(--rls-font-weight-medium);
|
|
23
|
+
letter-spacing: var(--rls-input-letter-spacing);
|
|
23
24
|
}
|
|
24
25
|
.rls-date-field__control::placeholder {
|
|
25
|
-
color: var(--color-
|
|
26
|
+
color: var(--rls-app-color-100);
|
|
26
27
|
}
|
|
27
28
|
.rls-date-field__control:disabled {
|
|
28
29
|
opacity: 0.5;
|
|
29
30
|
}
|
|
30
31
|
.rls-date-field__action {
|
|
31
|
-
color: var(--color-
|
|
32
|
-
width: var(--sizing-x12);
|
|
33
|
-
height: var(--sizing-x12);
|
|
32
|
+
color: var(--rls-app-color-300);
|
|
33
|
+
width: var(--rls-sizing-x12);
|
|
34
|
+
height: var(--rls-sizing-x12);
|
|
34
35
|
padding: 0rem;
|
|
35
|
-
margin-left: var(--sizing-x2);
|
|
36
36
|
background: transparent;
|
|
37
37
|
}
|
|
38
38
|
.rls-date-field__action:disabled {
|
|
@@ -7,8 +7,8 @@ interface DateFieldProps extends RlsComponent {
|
|
|
7
7
|
formControl?: ReactControl<HTMLElement, Date>;
|
|
8
8
|
maxDate?: Date;
|
|
9
9
|
minDate?: Date;
|
|
10
|
-
placeholder?: string;
|
|
11
10
|
onValue?: (value?: Date) => void;
|
|
11
|
+
placeholder?: string;
|
|
12
12
|
}
|
|
13
|
-
export declare function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, placeholder, rlsTheme
|
|
13
|
+
export declare function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, onValue, placeholder, rlsTheme }: DateFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
14
14
|
export {};
|
|
@@ -1,22 +1,34 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
2
|
+
import { PickerListenerType, checkDateRange } from '@rolster/helpers-components';
|
|
3
|
+
import { dateFormatTemplate } from '@rolster/helpers-date';
|
|
4
|
+
import { useEffect, useRef, useState } from 'react';
|
|
5
|
+
import { DATE_RANGE_FORMAT } from '../../../constants';
|
|
6
|
+
import { renderClassStatus } from '../../../helpers';
|
|
5
7
|
import { RlsMessageIcon, RlsIcon } from '../../atoms';
|
|
6
8
|
import { RlsDatePicker } from '../DatePicker/DatePicker';
|
|
7
9
|
import { RlsModal } from '../Modal/Modal';
|
|
8
10
|
import './DateField.css';
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
const
|
|
12
|
-
const [
|
|
13
|
-
const
|
|
14
|
-
const [description, setDescription] = useState('');
|
|
11
|
+
export function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, onValue, placeholder, rlsTheme }) {
|
|
12
|
+
const today = new Date(); // Initial current date in component
|
|
13
|
+
const [value, setValue] = useState();
|
|
14
|
+
const [modalIsVisible, setModalIsVisible] = useState(false);
|
|
15
|
+
const description = useRef('');
|
|
15
16
|
useEffect(() => {
|
|
16
|
-
|
|
17
|
+
const dateCheck = checkDateRange({
|
|
18
|
+
date: formControl?.state || date || today,
|
|
19
|
+
minDate,
|
|
20
|
+
maxDate
|
|
21
|
+
});
|
|
22
|
+
setValue(dateCheck);
|
|
23
|
+
formControl?.setState(dateCheck);
|
|
24
|
+
}, []);
|
|
25
|
+
useEffect(() => {
|
|
26
|
+
description.current = value
|
|
27
|
+
? dateFormatTemplate(value, DATE_RANGE_FORMAT)
|
|
28
|
+
: '';
|
|
17
29
|
}, [value]);
|
|
18
30
|
function onClickInput() {
|
|
19
|
-
|
|
31
|
+
setModalIsVisible(true);
|
|
20
32
|
}
|
|
21
33
|
function onChange(value, ignoreControl = false) {
|
|
22
34
|
if (!ignoreControl) {
|
|
@@ -35,16 +47,16 @@ export function RlsDateField({ children, date, disabled, formControl, maxDate, m
|
|
|
35
47
|
}
|
|
36
48
|
}
|
|
37
49
|
else {
|
|
38
|
-
|
|
50
|
+
setModalIsVisible(true);
|
|
39
51
|
}
|
|
40
52
|
}
|
|
41
|
-
return (_jsxs("div", { className: "rls-date-field", "rls-theme": rlsTheme, children: [_jsxs("div", { className: renderClassStatus('rls-box-field', { disabled }), children: [children && _jsx("label", { className: "rls-box-field__label", children: children }), _jsx("div", { className: "rls-box-field__component", children: _jsxs("div", { className: "rls-box-field__body", children: [_jsx("input", { className: "rls-date-field__control", type: "text", value: description, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), _jsx("button", { className: "rls-date-field__action", onClick: onClean, disabled: disabled, children: _jsx(RlsIcon, { value: value ? 'trash-2' : 'calendar' }) })] }) }), formControl?.touched && formControl?.error && (_jsx("div", { className: "rls-box-field__error", children: _jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }), _jsx(RlsModal, { visible:
|
|
53
|
+
return (_jsxs("div", { className: "rls-date-field", "rls-theme": rlsTheme, children: [_jsxs("div", { className: renderClassStatus('rls-box-field', { disabled }), children: [children && _jsx("label", { className: "rls-box-field__label", children: children }), _jsx("div", { className: "rls-box-field__component", children: _jsxs("div", { className: "rls-box-field__body", children: [_jsx("input", { className: "rls-date-field__control", type: "text", value: description.current, readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), _jsx("button", { className: "rls-date-field__action", onClick: onClean, disabled: disabled, children: _jsx(RlsIcon, { value: value ? 'trash-2' : 'calendar' }) })] }) }), formControl?.touched && formControl?.error && (_jsx("div", { className: "rls-box-field__error", children: _jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }), _jsx(RlsModal, { visible: modalIsVisible, rlsTheme: rlsTheme, children: _jsx(RlsDatePicker, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ value, type }) => {
|
|
42
54
|
if (type !== PickerListenerType.Cancel) {
|
|
43
55
|
onChange(value, true);
|
|
44
56
|
}
|
|
45
|
-
|
|
46
|
-
if (
|
|
47
|
-
formControl
|
|
57
|
+
setModalIsVisible(false);
|
|
58
|
+
if (!formControl?.touched) {
|
|
59
|
+
formControl?.touch();
|
|
48
60
|
}
|
|
49
61
|
} }) })] }));
|
|
50
62
|
}
|