@rolster/react-components 18.9.0 → 18.10.2
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/index.js +242 -137
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/index.js +240 -137
- package/dist/es/index.js.map +1 -1
- package/dist/esm/components/atoms/Amount/Amount.d.ts +2 -2
- package/dist/esm/components/atoms/Amount/Amount.js.map +1 -1
- package/dist/esm/components/atoms/Avatar/Avatar.d.ts +2 -2
- package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.d.ts +2 -2
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js.map +1 -1
- package/dist/esm/components/atoms/Button/Button.d.ts +2 -2
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.d.ts +2 -2
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.js.map +1 -1
- package/dist/esm/components/atoms/CheckBox/CheckBox.d.ts +4 -4
- package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +1 -1
- package/dist/esm/components/atoms/Icon/Icon.d.ts +2 -2
- package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
- package/dist/esm/components/atoms/Input/Input.d.ts +3 -3
- package/dist/esm/components/atoms/Input/Input.js +1 -1
- package/dist/esm/components/atoms/Input/Input.js.map +1 -1
- package/dist/esm/components/atoms/InputMoney/InputMoney.d.ts +3 -3
- package/dist/esm/components/atoms/InputMoney/InputMoney.js +1 -1
- package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -1
- package/dist/esm/components/atoms/InputNumber/InputNumber.d.ts +3 -3
- package/dist/esm/components/atoms/InputNumber/InputNumber.js +1 -1
- package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -1
- package/dist/esm/components/atoms/InputPassword/InputPassword.d.ts +3 -3
- package/dist/esm/components/atoms/InputPassword/InputPassword.js +1 -1
- package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -1
- package/dist/esm/components/atoms/InputText/InputText.d.ts +3 -3
- package/dist/esm/components/atoms/InputText/InputText.js +1 -1
- package/dist/esm/components/atoms/InputText/InputText.js.map +1 -1
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.d.ts +2 -2
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.js.map +1 -1
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.d.ts +2 -2
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
- package/dist/esm/components/atoms/RadioButton/RadioButton.d.ts +2 -2
- package/dist/esm/components/atoms/RadioButton/RadioButton.js +1 -1
- package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
- package/dist/esm/components/atoms/SearchInput/SearchInput.d.ts +2 -2
- package/dist/esm/components/atoms/SearchInput/SearchInput.js.map +1 -1
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.d.ts +2 -2
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.js.map +1 -1
- package/dist/esm/components/atoms/Switch/Switch.d.ts +4 -4
- package/dist/esm/components/atoms/Switch/Switch.js +1 -1
- package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
- package/dist/esm/components/atoms/TabularText/TabularText.d.ts +2 -2
- package/dist/esm/components/atoms/TabularText/TabularText.js.map +1 -1
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.d.ts +2 -2
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +1 -1
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.d.ts +2 -2
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.js.map +1 -1
- package/dist/esm/components/molecules/DayPicker/DayPicker.d.ts +3 -2
- package/dist/esm/components/molecules/DayPicker/DayPicker.js +4 -1
- package/dist/esm/components/molecules/DayPicker/DayPicker.js.map +1 -1
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.d.ts +2 -2
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js.map +1 -1
- package/dist/esm/components/molecules/MoneyField/MoneyField.d.ts +3 -3
- package/dist/esm/components/molecules/MoneyField/MoneyField.js +1 -1
- package/dist/esm/components/molecules/MoneyField/MoneyField.js.map +1 -1
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.d.ts +3 -2
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js +12 -4
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js.map +1 -1
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +2 -2
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js.map +1 -1
- package/dist/esm/components/molecules/NumberField/NumberField.d.ts +3 -3
- package/dist/esm/components/molecules/NumberField/NumberField.js +1 -1
- package/dist/esm/components/molecules/NumberField/NumberField.js.map +1 -1
- package/dist/esm/components/molecules/Pagination/Pagination.d.ts +2 -2
- package/dist/esm/components/molecules/Pagination/Pagination.js +30 -30
- package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -1
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.d.ts +2 -2
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.js.map +1 -1
- package/dist/esm/components/molecules/TextField/TextField.d.ts +3 -3
- package/dist/esm/components/molecules/TextField/TextField.js +1 -1
- package/dist/esm/components/molecules/TextField/TextField.js.map +1 -1
- package/dist/esm/components/molecules/Toolbar/Toolbar.d.ts +2 -2
- package/dist/esm/components/molecules/Toolbar/Toolbar.js.map +1 -1
- package/dist/esm/components/molecules/YearPicker/YearPicker.d.ts +3 -2
- package/dist/esm/components/molecules/YearPicker/YearPicker.js +5 -2
- package/dist/esm/components/molecules/YearPicker/YearPicker.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.d.ts +11 -6
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js +21 -157
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.d.ts +27 -0
- package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.js +170 -0
- package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.js.map +1 -0
- package/dist/esm/components/organisms/Card/Card.d.ts +2 -2
- package/dist/esm/components/organisms/Card/Card.js.map +1 -1
- package/dist/esm/components/organisms/Confirmation/Confirmation.d.ts +5 -4
- package/dist/esm/components/organisms/Confirmation/Confirmation.js +2 -1
- package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +1 -1
- package/dist/esm/components/organisms/Datatable/Datatable.d.ts +7 -7
- package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -1
- package/dist/esm/components/organisms/DateField/DateField.d.ts +3 -2
- package/dist/esm/components/organisms/DateField/DateField.js +15 -6
- package/dist/esm/components/organisms/DateField/DateField.js.map +1 -1
- package/dist/esm/components/organisms/DatePicker/DatePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DatePicker/DatePicker.js +3 -2
- package/dist/esm/components/organisms/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.d.ts +2 -2
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js.map +1 -1
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js +2 -1
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.d.ts +2 -2
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.js.map +1 -1
- package/dist/esm/components/organisms/Modal/Modal.d.ts +2 -2
- package/dist/esm/components/organisms/Modal/Modal.js.map +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.d.ts +11 -7
- package/dist/esm/components/organisms/SelectField/SelectField.js +20 -95
- package/dist/esm/components/organisms/SelectField/SelectField.js.map +1 -1
- package/dist/esm/components/organisms/SelectField/select-field.hook.d.ts +24 -0
- package/dist/esm/components/organisms/SelectField/select-field.hook.js +104 -0
- package/dist/esm/components/organisms/SelectField/select-field.hook.js.map +1 -0
- package/dist/esm/components/organisms/Snackbar/Snackbar.d.ts +4 -4
- package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
- package/dist/esm/context.d.ts +3 -3
- package/dist/esm/hooks/list-control.hook.d.ts +10 -10
- package/dist/esm/hooks/list-control.hook.js +15 -15
- package/dist/esm/hooks/list-control.hook.js.map +1 -1
- package/dist/esm/i18n.d.ts +18 -0
- package/dist/esm/i18n.js +23 -0
- package/dist/esm/i18n.js.map +1 -0
- package/dist/esm/models.d.ts +19 -8
- package/dist/esm/models.js +6 -6
- package/dist/esm/models.js.map +1 -1
- package/dist/esm/utils/date-range-picker.d.ts +2 -2
- package/dist/esm/utils/date-range-picker.js +3 -3
- package/dist/esm/utils/date-range-picker.js.map +1 -1
- package/dist/esm/utils/day-picker.d.ts +2 -2
- package/dist/esm/utils/day-picker.js +3 -3
- package/dist/esm/utils/day-picker.js.map +1 -1
- package/dist/esm/utils/month-picker.d.ts +2 -2
- package/dist/esm/utils/month-picker.js +15 -15
- package/dist/esm/utils/month-picker.js.map +1 -1
- package/dist/esm/utils/year-picker.d.ts +2 -2
- package/dist/esm/utils/year-picker.js +3 -3
- package/dist/esm/utils/year-picker.js.map +1 -1
- package/package.json +2 -1
|
@@ -1,169 +1,33 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
-
import
|
|
3
|
-
import { useEffect, useState } from 'react';
|
|
4
|
-
import { useListControl } from '../../../hooks';
|
|
2
|
+
import reactI18n from '../../../i18n';
|
|
5
3
|
import { renderClassStatus } from '../../../utils/css';
|
|
6
4
|
import { RlsMessageIcon, RlsIcon, RlsProgressBar } from '../../atoms';
|
|
7
5
|
import { RlsBallot } from '../../molecules';
|
|
6
|
+
import { useAutocompleteField } from './autocomplete-field.hook';
|
|
8
7
|
import './AutocompleteField.css';
|
|
9
|
-
|
|
10
|
-
const
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
coincidences: [],
|
|
17
|
-
previous: null
|
|
8
|
+
export function RlsAutocompleteFieldTemplate({ suggestions, children, disabled, formControl, hiddenIcon, placeholder, searching, rlsTheme, onSearch, onSelect, onValue, render }) {
|
|
9
|
+
const { coincidences, listControl, pattern, onBlurInput, onClickAction, onClickBackdrop, onClickControl, onClickElement, onFocusInput, onKeydownElement, onKeydownInput, setPattern } = useAutocompleteField({
|
|
10
|
+
suggestions,
|
|
11
|
+
disabled,
|
|
12
|
+
formControl,
|
|
13
|
+
onSelect,
|
|
14
|
+
onValue
|
|
18
15
|
});
|
|
19
|
-
|
|
20
|
-
const [changeInternal, setChangeInternal] = useState(false);
|
|
21
|
-
useEffect(() => {
|
|
22
|
-
filterSuggestions(pattern, true);
|
|
23
|
-
}, [suggestions]);
|
|
24
|
-
useEffect(() => {
|
|
25
|
-
filterSuggestions(pattern);
|
|
26
|
-
}, [pattern]);
|
|
27
|
-
useEffect(() => {
|
|
28
|
-
if (!changeInternal) {
|
|
29
|
-
redefineDescription();
|
|
30
|
-
}
|
|
31
|
-
setChangeInternal(false);
|
|
32
|
-
}, [formControl?.state]);
|
|
33
|
-
useEffect(() => {
|
|
34
|
-
redefineDescription();
|
|
35
|
-
}, [collection]);
|
|
36
|
-
function redefineDescription() {
|
|
37
|
-
const element = formControl?.state && collection.findElement(formControl?.state);
|
|
38
|
-
setValue(element?.description || '');
|
|
39
|
-
}
|
|
40
|
-
function onClickControl() {
|
|
41
|
-
if (!disabled) {
|
|
42
|
-
setVisible(true);
|
|
43
|
-
setTimeout(() => inputRef?.current?.focus(), DURATION_ANIMATION);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
function onFocusInput() {
|
|
47
|
-
setActive(true);
|
|
48
|
-
}
|
|
49
|
-
function onBlurInput() {
|
|
50
|
-
setActive(false);
|
|
51
|
-
}
|
|
52
|
-
function onKeydownInput(event) {
|
|
53
|
-
switch (event.code) {
|
|
54
|
-
case 'Escape':
|
|
55
|
-
setVisible(false);
|
|
56
|
-
break;
|
|
57
|
-
case 'Tab':
|
|
58
|
-
setVisible(false);
|
|
59
|
-
break;
|
|
60
|
-
default:
|
|
61
|
-
navigationInput(event);
|
|
62
|
-
break;
|
|
63
|
-
}
|
|
64
|
-
}
|
|
65
|
-
function onClickAction() {
|
|
66
|
-
setVisible(false);
|
|
67
|
-
setValue('');
|
|
68
|
-
if (formControl) {
|
|
69
|
-
setChangeInternal(true);
|
|
70
|
-
formControl.setState(undefined);
|
|
71
|
-
}
|
|
72
|
-
if (onValue) {
|
|
73
|
-
onValue(undefined);
|
|
74
|
-
}
|
|
75
|
-
}
|
|
76
|
-
function onClickBackdrop() {
|
|
77
|
-
setVisible(false);
|
|
78
|
-
}
|
|
79
|
-
function onClickItem(element) {
|
|
80
|
-
return () => {
|
|
81
|
-
onChange(element);
|
|
82
|
-
};
|
|
83
|
-
}
|
|
84
|
-
function onKeydownItem(element) {
|
|
85
|
-
return (event) => {
|
|
86
|
-
switch (event.code) {
|
|
87
|
-
case 'Enter':
|
|
88
|
-
onChange(element);
|
|
89
|
-
break;
|
|
90
|
-
default:
|
|
91
|
-
navigationElement(event);
|
|
92
|
-
break;
|
|
93
|
-
}
|
|
94
|
-
};
|
|
95
|
-
}
|
|
96
|
-
function onChange({ description, value }) {
|
|
97
|
-
setVisible(false);
|
|
98
|
-
if (onSelect) {
|
|
99
|
-
onSelect(value);
|
|
100
|
-
}
|
|
101
|
-
else {
|
|
102
|
-
if (formControl) {
|
|
103
|
-
setChangeInternal(true);
|
|
104
|
-
formControl.setState(value);
|
|
105
|
-
}
|
|
106
|
-
setValue(description);
|
|
107
|
-
}
|
|
108
|
-
if (onValue) {
|
|
109
|
-
onValue(value);
|
|
110
|
-
}
|
|
111
|
-
}
|
|
112
|
-
function filterSuggestions(pattern, reboot = false) {
|
|
113
|
-
if (pattern) {
|
|
114
|
-
const store = reboot ? createStoreEmpty() : searchForPattern(pattern);
|
|
115
|
-
const filters = store?.coincidences || suggestions;
|
|
116
|
-
const coincidences = filters.filter((element) => element.hasCoincidence(pattern));
|
|
117
|
-
setCoincidences(coincidences.slice(0, MAX_ELEMENTS));
|
|
118
|
-
setStore({
|
|
119
|
-
coincidences,
|
|
120
|
-
pattern,
|
|
121
|
-
previous: store
|
|
122
|
-
});
|
|
123
|
-
}
|
|
124
|
-
else {
|
|
125
|
-
setCoincidences(suggestions.slice(0, MAX_ELEMENTS));
|
|
126
|
-
rebootStore();
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
function searchForPattern(value) {
|
|
130
|
-
if (!store.pattern) {
|
|
131
|
-
return null;
|
|
132
|
-
}
|
|
133
|
-
let newStore = store;
|
|
134
|
-
let search = false;
|
|
135
|
-
while (!search && newStore) {
|
|
136
|
-
search = hasPattern(value, newStore.pattern, true);
|
|
137
|
-
if (!search) {
|
|
138
|
-
newStore = newStore.previous;
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
return newStore || rebootStore();
|
|
142
|
-
}
|
|
143
|
-
function rebootStore() {
|
|
144
|
-
const newStore = createStoreEmpty();
|
|
145
|
-
setStore(newStore);
|
|
146
|
-
return newStore;
|
|
147
|
-
}
|
|
148
|
-
function createStoreEmpty() {
|
|
149
|
-
return {
|
|
150
|
-
coincidences: undefined,
|
|
151
|
-
pattern: '',
|
|
152
|
-
previous: null
|
|
153
|
-
};
|
|
154
|
-
}
|
|
155
|
-
return (_jsxs("div", { ref: boxContentRef, className: renderClassStatus('rls-box-field', {
|
|
16
|
+
return (_jsxs("div", { ref: listControl.boxContentRef, className: renderClassStatus('rls-box-field', {
|
|
156
17
|
disabled,
|
|
157
|
-
|
|
158
|
-
selected: !!value
|
|
159
|
-
}, 'rls-autocomplete-field rls-list-field'), "rls-theme": rlsTheme, 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("label", { className: "rls-list-field__control", onClick: onClickControl, children: value ? (_jsx("span", { className: "rls-list-field__control__description", children: value })) : (_jsx("span", { className: "rls-list-field__control__placeholder", children: placeholder })) }), !hiddenIcon && value && (_jsx("button", { className: "rls-list-field__action", disabled: disabled, onClick: onClickAction, children: _jsx(RlsIcon, { value: "trash-2" }) }))] }) }), formControl?.touched && formControl?.error && (_jsx("div", { className: "rls-box-field__error", children: _jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) })), _jsxs("div", { className: renderClassStatus('rls-list-field__suggestions', {
|
|
160
|
-
visible,
|
|
161
|
-
hide: !visible,
|
|
162
|
-
higher
|
|
163
|
-
}), children: [_jsx("div", { className: "rls-list-field__suggestions__body", children: _jsxs("ul", { ref: listRef, className: "rls-list-field__ul", children: [_jsxs("div", { className: "rls-list-field__ul__search", children: [_jsx("input", { ref: inputRef, className: "rls-list-field__ul__control", type: "text", value: pattern, onChange: ({ target: { value } }) => {
|
|
18
|
+
focused: listControl.focused,
|
|
19
|
+
selected: !!listControl.value
|
|
20
|
+
}, 'rls-autocomplete-field rls-list-field'), "rls-theme": rlsTheme, 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("label", { className: "rls-list-field__control", onClick: onClickControl, children: listControl.value ? (_jsx("span", { className: "rls-list-field__control__description", children: listControl.value })) : (_jsx("span", { className: "rls-list-field__control__placeholder", children: placeholder })) }), !hiddenIcon && listControl.value && (_jsx("button", { className: "rls-list-field__action", disabled: disabled, onClick: onClickAction, children: _jsx(RlsIcon, { value: "trash-2" }) }))] }) }), formControl?.touched && formControl?.error && (_jsx("div", { className: "rls-box-field__error", children: _jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) })), _jsxs("div", { className: renderClassStatus('rls-list-field__suggestions', {
|
|
21
|
+
visible: listControl.visible,
|
|
22
|
+
hide: !listControl.visible,
|
|
23
|
+
higher: listControl.higher
|
|
24
|
+
}), children: [_jsx("div", { className: "rls-list-field__suggestions__body", children: _jsxs("ul", { ref: listControl.listRef, className: "rls-list-field__ul", children: [_jsxs("div", { className: "rls-list-field__ul__search", children: [_jsx("input", { ref: listControl.inputRef, className: "rls-list-field__ul__control", type: "text", placeholder: reactI18n('listInputPlaceholder'), value: pattern, onChange: ({ target: { value } }) => {
|
|
164
25
|
setPattern(value);
|
|
165
26
|
}, disabled: disabled || searching, onFocus: onFocusInput, onBlur: onBlurInput, onKeyDown: onKeydownInput }), onSearch && (_jsx("button", { disabled: disabled || searching, onClick: () => {
|
|
166
27
|
onSearch(pattern);
|
|
167
|
-
}, children: _jsx(RlsIcon, { value: "search" }) }))] }), searching && _jsx(RlsProgressBar, { indeterminate: true }), coincidences.map((element, index) => (_jsx("li", { className: "rls-list-field__element", tabIndex: -1, onClick:
|
|
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 })] })] }));
|
|
29
|
+
}
|
|
30
|
+
export function RlsAutocompleteField(props) {
|
|
31
|
+
return (_jsx(RlsAutocompleteFieldTemplate, { ...props, render: (element) => (_jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: element.title })) }));
|
|
168
32
|
}
|
|
169
33
|
//# sourceMappingURL=AutocompleteField.js.map
|
|
@@ -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":";AAEA,OAAO,SAAS,MAAM,eAAe,CAAC;AAKtC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,yBAAyB,CAAC;AAsBjC,MAAM,UAAU,4BAA4B,CAG1C,EACA,WAAW,EACX,QAAQ,EACR,QAAQ,EACR,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,QAAQ,EACR,OAAO,EACP,MAAM,EAC+B;IACrC,MAAM,EACJ,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACX,aAAa,EACb,eAAe,EACf,cAAc,EACd,cAAc,EACd,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,UAAU,EACX,GAAG,oBAAoB,CAAC;QACvB,WAAW;QACX,QAAQ;QACR,WAAW;QACX,QAAQ;QACR,OAAO;KACR,CAAC,CAAC;IAEH,OAAO,CACL,eACE,GAAG,EAAE,WAAW,CAAC,aAAa,EAC9B,SAAS,EAAE,iBAAiB,CAC1B,eAAe,EACf;YACE,QAAQ;YACR,OAAO,EAAE,WAAW,CAAC,OAAO;YAC5B,QAAQ,EAAE,CAAC,CAAC,WAAW,CAAC,KAAK;SAC9B,EACD,uCAAuC,CACxC,eACU,QAAQ,aAElB,QAAQ,IAAI,gBAAO,SAAS,EAAC,sBAAsB,YAAE,QAAQ,GAAS,EAEvE,cAAK,SAAS,EAAC,0BAA0B,YACvC,eAAK,SAAS,EAAC,qBAAqB,aAClC,gBAAO,SAAS,EAAC,yBAAyB,EAAC,OAAO,EAAE,cAAc,YAC/D,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,CACnB,eAAM,SAAS,EAAC,sCAAsC,YACnD,WAAW,CAAC,KAAK,GACb,CACR,CAAC,CAAC,CAAC,CACF,eAAM,SAAS,EAAC,sCAAsC,YACnD,WAAW,GACP,CACR,GACK,EAEP,CAAC,UAAU,IAAI,WAAW,CAAC,KAAK,IAAI,CACnC,iBACE,SAAS,EAAC,wBAAwB,EAClC,QAAQ,EAAE,QAAQ,EAClB,OAAO,EAAE,aAAa,YAEtB,KAAC,OAAO,IAAC,KAAK,EAAC,SAAS,GAAG,GACpB,CACV,IACG,GACF,EAEL,WAAW,EAAE,OAAO,IAAI,WAAW,EAAE,KAAK,IAAI,CAC7C,cAAK,SAAS,EAAC,sBAAsB,YACnC,KAAC,cAAc,IAAC,IAAI,EAAC,gBAAgB,EAAC,QAAQ,EAAC,QAAQ,YACpD,WAAW,CAAC,KAAK,CAAC,OAAO,GACX,GACb,CACP,EAED,eACE,SAAS,EAAE,iBAAiB,CAAC,6BAA6B,EAAE;oBAC1D,OAAO,EAAE,WAAW,CAAC,OAAO;oBAC5B,IAAI,EAAE,CAAC,WAAW,CAAC,OAAO;oBAC1B,MAAM,EAAE,WAAW,CAAC,MAAM;iBAC3B,CAAC,aAEF,cAAK,SAAS,EAAC,mCAAmC,YAChD,cAAI,GAAG,EAAE,WAAW,CAAC,OAAO,EAAE,SAAS,EAAC,oBAAoB,aAC1D,eAAK,SAAS,EAAC,4BAA4B,aACzC,gBACE,GAAG,EAAE,WAAW,CAAC,QAAQ,EACzB,SAAS,EAAC,6BAA6B,EACvC,IAAI,EAAC,MAAM,EACX,WAAW,EAAE,SAAS,CAAC,sBAAsB,CAAC,EAC9C,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE;gDAClC,UAAU,CAAC,KAAK,CAAC,CAAC;4CACpB,CAAC,EACD,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,OAAO,EAAE,YAAY,EACrB,MAAM,EAAE,WAAW,EACnB,SAAS,EAAE,cAAc,GACzB,EAED,QAAQ,IAAI,CACX,iBACE,QAAQ,EAAE,QAAQ,IAAI,SAAS,EAC/B,OAAO,EAAE,GAAG,EAAE;gDACZ,QAAQ,CAAC,OAAO,CAAC,CAAC;4CACpB,CAAC,YAED,KAAC,OAAO,IAAC,KAAK,EAAC,QAAQ,GAAG,GACnB,CACV,IACG,EAEL,SAAS,IAAI,KAAC,cAAc,IAAC,aAAa,EAAE,IAAI,GAAI,EAEpD,YAAY,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,CACpC,aAEE,SAAS,EAAC,yBAAyB,EACnC,QAAQ,EAAE,CAAC,CAAC,EACZ,OAAO,EAAE,cAAc,CAAC,OAAO,CAAC,EAChC,SAAS,EAAE,gBAAgB,CAAC,OAAO,CAAC,YAEnC,MAAM,CAAC,OAAO,CAAC,IANX,KAAK,CAOP,CACN,CAAC,EAED,CAAC,YAAY,CAAC,MAAM,IAAI,CACvB,aAAI,SAAS,EAAC,uBAAuB,YACnC,eAAK,SAAS,EAAC,oCAAoC,aACjD,gBAAO,SAAS,EAAC,qBAAqB,YACnC,SAAS,CAAC,gBAAgB,CAAC,GACtB,EACR,YAAG,SAAS,EAAC,iBAAiB,YAC3B,SAAS,CAAC,sBAAsB,CAAC,GAChC,IACA,GACH,CACN,IACE,GACD,EAEN,cACE,SAAS,EAAC,0BAA0B,EACpC,OAAO,EAAE,eAAe,GACnB,IACH,IACF,CACP,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,KAAwD;IAExD,OAAO,CACL,KAAC,4BAA4B,OACvB,KAAK,EACT,MAAM,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CACnB,KAAC,SAAS,IACR,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAC1B,GAAG,EAAE,OAAO,CAAC,GAAG,EAChB,QAAQ,EAAE,OAAO,CAAC,QAAQ,YAEzB,OAAO,CAAC,KAAK,GACJ,CACb,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { ReactControl } from '@rolster/react-forms';
|
|
2
|
+
import { KeyboardEvent, KeyboardEventHandler, MouseEventHandler } from 'react';
|
|
3
|
+
import { AbstractAutocompleteElement as Element } from '../../../models';
|
|
4
|
+
import { ListControl } from '../../../hooks';
|
|
5
|
+
export interface AutocompleteControl<T = unknown, E extends Element<T> = Element<T>> {
|
|
6
|
+
coincidences: E[];
|
|
7
|
+
listControl: ListControl<T>;
|
|
8
|
+
pattern: string;
|
|
9
|
+
onBlurInput: () => void;
|
|
10
|
+
onClickAction: () => void;
|
|
11
|
+
onClickBackdrop: () => void;
|
|
12
|
+
onClickControl: () => void;
|
|
13
|
+
onClickElement: (element: E) => MouseEventHandler;
|
|
14
|
+
onFocusInput: () => void;
|
|
15
|
+
onKeydownElement: (element: E) => KeyboardEventHandler;
|
|
16
|
+
onKeydownInput: (event: KeyboardEvent) => void;
|
|
17
|
+
setPattern: (value: string) => void;
|
|
18
|
+
}
|
|
19
|
+
interface AutocompleteProps<T = unknown, E extends Element<T> = Element<T>> {
|
|
20
|
+
suggestions: E[];
|
|
21
|
+
disabled?: boolean;
|
|
22
|
+
formControl?: ReactControl<HTMLElement, T>;
|
|
23
|
+
onSelect?: (value: T) => void;
|
|
24
|
+
onValue?: (value?: T) => void;
|
|
25
|
+
}
|
|
26
|
+
export declare function useAutocompleteField<T = unknown, E extends Element<T> = Element<T>>({ suggestions, disabled, formControl, onSelect, onValue }: AutocompleteProps<T, E>): AutocompleteControl<T, E>;
|
|
27
|
+
export {};
|
|
@@ -0,0 +1,170 @@
|
|
|
1
|
+
import { hasPattern } from '@rolster/helpers-string';
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { useListControl } from '../../../hooks';
|
|
4
|
+
const DURATION_ANIMATION = 240;
|
|
5
|
+
const MAX_ELEMENTS = 6;
|
|
6
|
+
export function useAutocompleteField({ suggestions, disabled, formControl, onSelect, onValue }) {
|
|
7
|
+
const [pattern, setPattern] = useState('');
|
|
8
|
+
const [coincidences, setCoincidences] = useState([]);
|
|
9
|
+
const [store, setStore] = useState({
|
|
10
|
+
pattern: '',
|
|
11
|
+
coincidences: [],
|
|
12
|
+
previous: null
|
|
13
|
+
});
|
|
14
|
+
const listControl = useListControl({
|
|
15
|
+
suggestions,
|
|
16
|
+
formControl,
|
|
17
|
+
withHigher: true
|
|
18
|
+
});
|
|
19
|
+
const { collection, inputRef, setFocused, setValue, setVisible, navigationElement, navigationInput } = listControl;
|
|
20
|
+
const [changeInternal, setChangeInternal] = useState(false);
|
|
21
|
+
useEffect(() => {
|
|
22
|
+
filterSuggestions(pattern, true);
|
|
23
|
+
}, [suggestions]);
|
|
24
|
+
useEffect(() => {
|
|
25
|
+
filterSuggestions(pattern);
|
|
26
|
+
}, [pattern]);
|
|
27
|
+
useEffect(() => {
|
|
28
|
+
if (!changeInternal) {
|
|
29
|
+
redefineDescription();
|
|
30
|
+
}
|
|
31
|
+
setChangeInternal(false);
|
|
32
|
+
}, [formControl?.state]);
|
|
33
|
+
useEffect(() => {
|
|
34
|
+
redefineDescription();
|
|
35
|
+
}, [collection]);
|
|
36
|
+
function redefineDescription() {
|
|
37
|
+
const element = formControl?.state && collection.find(formControl?.state);
|
|
38
|
+
setValue(element?.description || '');
|
|
39
|
+
}
|
|
40
|
+
function onClickControl() {
|
|
41
|
+
if (!disabled) {
|
|
42
|
+
setVisible(true);
|
|
43
|
+
setTimeout(() => inputRef?.current?.focus(), DURATION_ANIMATION);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
function onFocusInput() {
|
|
47
|
+
setFocused(true);
|
|
48
|
+
}
|
|
49
|
+
function onBlurInput() {
|
|
50
|
+
setFocused(false);
|
|
51
|
+
}
|
|
52
|
+
function onKeydownInput(event) {
|
|
53
|
+
switch (event.code) {
|
|
54
|
+
case 'Escape':
|
|
55
|
+
setVisible(false);
|
|
56
|
+
break;
|
|
57
|
+
case 'Tab':
|
|
58
|
+
setVisible(false);
|
|
59
|
+
break;
|
|
60
|
+
default:
|
|
61
|
+
navigationInput(event);
|
|
62
|
+
break;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
function onClickAction() {
|
|
66
|
+
setVisible(false);
|
|
67
|
+
setValue('');
|
|
68
|
+
if (formControl) {
|
|
69
|
+
setChangeInternal(true);
|
|
70
|
+
formControl.setState(undefined);
|
|
71
|
+
}
|
|
72
|
+
if (onValue) {
|
|
73
|
+
onValue(undefined);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
function onClickBackdrop() {
|
|
77
|
+
setVisible(false);
|
|
78
|
+
}
|
|
79
|
+
function onClickElement(element) {
|
|
80
|
+
return () => {
|
|
81
|
+
onChange(element);
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
function onKeydownElement(element) {
|
|
85
|
+
return (event) => {
|
|
86
|
+
switch (event.code) {
|
|
87
|
+
case 'Enter':
|
|
88
|
+
onChange(element);
|
|
89
|
+
break;
|
|
90
|
+
default:
|
|
91
|
+
navigationElement(event);
|
|
92
|
+
break;
|
|
93
|
+
}
|
|
94
|
+
};
|
|
95
|
+
}
|
|
96
|
+
function onChange({ description, value }) {
|
|
97
|
+
setVisible(false);
|
|
98
|
+
if (onSelect) {
|
|
99
|
+
onSelect(value);
|
|
100
|
+
}
|
|
101
|
+
else {
|
|
102
|
+
if (formControl) {
|
|
103
|
+
setChangeInternal(true);
|
|
104
|
+
formControl.setState(value);
|
|
105
|
+
}
|
|
106
|
+
setValue(description);
|
|
107
|
+
}
|
|
108
|
+
if (onValue) {
|
|
109
|
+
onValue(value);
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
function filterSuggestions(pattern, reboot = false) {
|
|
113
|
+
if (pattern) {
|
|
114
|
+
const store = reboot ? createStoreEmpty() : searchForPattern(pattern);
|
|
115
|
+
const elements = store?.coincidences || suggestions;
|
|
116
|
+
const coincidences = elements.filter((element) => element.hasCoincidence(pattern));
|
|
117
|
+
setCoincidences(coincidences.slice(0, MAX_ELEMENTS));
|
|
118
|
+
setStore({
|
|
119
|
+
coincidences,
|
|
120
|
+
pattern,
|
|
121
|
+
previous: store
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
setCoincidences(suggestions.slice(0, MAX_ELEMENTS));
|
|
126
|
+
rebootStore();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
function searchForPattern(value) {
|
|
130
|
+
if (!store.pattern) {
|
|
131
|
+
return null;
|
|
132
|
+
}
|
|
133
|
+
let newStore = store;
|
|
134
|
+
let search = false;
|
|
135
|
+
while (!search && newStore) {
|
|
136
|
+
search = hasPattern(value, newStore.pattern, true);
|
|
137
|
+
if (!search) {
|
|
138
|
+
newStore = newStore.previous;
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
return newStore || rebootStore();
|
|
142
|
+
}
|
|
143
|
+
function rebootStore() {
|
|
144
|
+
const store = createStoreEmpty();
|
|
145
|
+
setStore(store);
|
|
146
|
+
return store;
|
|
147
|
+
}
|
|
148
|
+
function createStoreEmpty() {
|
|
149
|
+
return {
|
|
150
|
+
coincidences: undefined,
|
|
151
|
+
pattern: '',
|
|
152
|
+
previous: null
|
|
153
|
+
};
|
|
154
|
+
}
|
|
155
|
+
return {
|
|
156
|
+
coincidences,
|
|
157
|
+
listControl,
|
|
158
|
+
pattern,
|
|
159
|
+
onBlurInput,
|
|
160
|
+
onClickAction,
|
|
161
|
+
onClickBackdrop,
|
|
162
|
+
onClickControl,
|
|
163
|
+
onClickElement,
|
|
164
|
+
onFocusInput,
|
|
165
|
+
onKeydownElement,
|
|
166
|
+
onKeydownInput,
|
|
167
|
+
setPattern
|
|
168
|
+
};
|
|
169
|
+
}
|
|
170
|
+
//# sourceMappingURL=autocomplete-field.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"autocomplete-field.hook.js","sourceRoot":"","sources":["../../../../../src/components/organisms/AutocompleteField/autocomplete-field.hook.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { RlsComponent } from '../../definitions';
|
|
2
2
|
import './Card.css';
|
|
3
|
-
interface
|
|
3
|
+
interface CardProps extends RlsComponent {
|
|
4
4
|
outline?: boolean;
|
|
5
5
|
}
|
|
6
|
-
export declare function RlsCard({ children, outline, rlsTheme }:
|
|
6
|
+
export declare function RlsCard({ children, outline, rlsTheme }: CardProps): import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Card/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,YAAY,CAAC;AAMpB,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,
|
|
1
|
+
{"version":3,"file":"Card.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Card/Card.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,OAAO,YAAY,CAAC;AAMpB,MAAM,UAAU,OAAO,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,QAAQ,EAAa;IAChE,OAAO,CACL,cACE,SAAS,EAAE,iBAAiB,CAAC,UAAU,EAAE,EAAE,OAAO,EAAE,CAAC,eAC1C,QAAQ,YAEnB,cAAK,SAAS,EAAC,mBAAmB,YAAE,QAAQ,GAAO,GAC/C,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -9,6 +9,7 @@ export declare class ConfirmationResult extends PartialSealed<void, void, {
|
|
|
9
9
|
static approved(): ConfirmationResult;
|
|
10
10
|
static reject(): ConfirmationResult;
|
|
11
11
|
}
|
|
12
|
+
type Result = Promise<ConfirmationResult>;
|
|
12
13
|
interface ConfirmationAction {
|
|
13
14
|
label: string;
|
|
14
15
|
onClick: () => void;
|
|
@@ -19,7 +20,7 @@ interface ConfirmationBasic {
|
|
|
19
20
|
title?: string;
|
|
20
21
|
rlsTheme?: RlsTheme;
|
|
21
22
|
}
|
|
22
|
-
interface
|
|
23
|
+
interface ConfirmationProps extends ConfirmationBasic {
|
|
23
24
|
approved?: ConfirmationAction;
|
|
24
25
|
reject?: ConfirmationAction;
|
|
25
26
|
visible?: boolean;
|
|
@@ -28,11 +29,11 @@ interface ConfirmationConfig extends ConfirmationBasic {
|
|
|
28
29
|
approved?: string;
|
|
29
30
|
reject?: string;
|
|
30
31
|
}
|
|
31
|
-
export type
|
|
32
|
+
export type Confirmation = (props: ConfirmationConfig) => Result;
|
|
32
33
|
export interface ConfirmationService {
|
|
33
34
|
RlsConfirmation: JSX.Element;
|
|
34
|
-
confirmation:
|
|
35
|
+
confirmation: Confirmation;
|
|
35
36
|
}
|
|
36
|
-
export declare function RlsConfirmation({ approved, content, reject, rlsTheme, subtitle, title, visible }:
|
|
37
|
+
export declare function RlsConfirmation({ approved, content, reject, rlsTheme, subtitle, title, visible }: ConfirmationProps): import("react/jsx-runtime").JSX.Element;
|
|
37
38
|
export declare function useConfirmationService(): ConfirmationService;
|
|
38
39
|
export {};
|
|
@@ -2,6 +2,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
|
2
2
|
import { PartialSealed } from '@rolster/helpers-advanced';
|
|
3
3
|
import { useState } from 'react';
|
|
4
4
|
import ReactDOM from 'react-dom';
|
|
5
|
+
import reactI18n from '../../../i18n';
|
|
5
6
|
import { renderClassStatus } from '../../../utils/css';
|
|
6
7
|
import { RlsButton } from '../../atoms';
|
|
7
8
|
import './Confirmation.css';
|
|
@@ -37,7 +38,7 @@ export function useConfirmationService() {
|
|
|
37
38
|
subtitle,
|
|
38
39
|
title,
|
|
39
40
|
approved: {
|
|
40
|
-
label: approved || '
|
|
41
|
+
label: approved || reactI18n('confirmationActionApproved'),
|
|
41
42
|
onClick: () => {
|
|
42
43
|
setVisible(false);
|
|
43
44
|
resolve(ConfirmationResult.approved());
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Confirmation.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Confirmation/Confirmation.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAa,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,oBAAoB,CAAC;AAE5B,MAAM,OAAO,kBAAmB,SAAQ,aAOvC;IACQ,MAAM,CAAC,QAAQ;QACpB,OAAO,IAAI,kBAAkB,CAAC,UAAU,CAAC,CAAC;IAC5C,CAAC;IAEM,MAAM,CAAC,MAAM;QAClB,OAAO,IAAI,kBAAkB,CAAC,QAAQ,CAAC,CAAC;IAC1C,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"Confirmation.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Confirmation/Confirmation.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import { RlsComponent } from '../../definitions';
|
|
2
|
-
interface
|
|
2
|
+
interface DatatableCellProps extends RlsComponent {
|
|
3
3
|
className?: string;
|
|
4
4
|
control?: boolean;
|
|
5
5
|
overflow?: boolean;
|
|
6
6
|
}
|
|
7
|
-
interface
|
|
7
|
+
interface DatatableRowProps extends RlsComponent {
|
|
8
8
|
className?: string;
|
|
9
9
|
}
|
|
10
|
-
interface
|
|
10
|
+
interface DatatableProps extends RlsComponent {
|
|
11
11
|
footer?: JSX.Element;
|
|
12
12
|
header?: JSX.Element;
|
|
13
13
|
}
|
|
14
14
|
export declare function RlsDatatableHeader({ children }: RlsComponent): import("react/jsx-runtime").JSX.Element;
|
|
15
|
-
export declare function RlsDatatableTitle({ children, className, control }:
|
|
16
|
-
export declare function RlsDatatableData({ children, className }:
|
|
17
|
-
export declare function RlsDatatableCell({ children, className, control, overflow }:
|
|
18
|
-
export declare function RlsDatatable({ children, footer, header, rlsTheme }:
|
|
15
|
+
export declare function RlsDatatableTitle({ children, className, control }: DatatableCellProps): import("react/jsx-runtime").JSX.Element;
|
|
16
|
+
export declare function RlsDatatableData({ children, className }: DatatableRowProps): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function RlsDatatableCell({ children, className, control, overflow }: DatatableCellProps): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function RlsDatatable({ children, footer, header, rlsTheme }: DatatableProps): import("react/jsx-runtime").JSX.Element;
|
|
19
19
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Datatable.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Datatable/Datatable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkBvD,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAgB;IAC3D,OAAO,aAAI,SAAS,EAAC,uBAAuB,YAAE,QAAQ,GAAM,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,OAAO,
|
|
1
|
+
{"version":3,"file":"Datatable.js","sourceRoot":"","sources":["../../../../../src/components/organisms/Datatable/Datatable.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAkBvD,MAAM,UAAU,kBAAkB,CAAC,EAAE,QAAQ,EAAgB;IAC3D,OAAO,aAAI,SAAS,EAAC,uBAAuB,YAAE,QAAQ,GAAM,CAAC;AAC/D,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,EAChC,QAAQ,EACR,SAAS,EACT,OAAO,EACY;IACnB,OAAO,CACL,aACE,SAAS,EACP,GAAG,SAAS,GAAG,GAAG,iBAAiB,CAAC,sBAAsB,EAAE,EAAE,OAAO,EAAE,CAAC,YAGzE,QAAQ,GACN,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAqB;IACzE,OAAO,aAAI,SAAS,EAAE,uBAAuB,SAAS,EAAE,YAAG,QAAQ,GAAM,CAAC;AAC5E,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,EAC/B,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,EACW;IACnB,OAAO,CACL,aACE,SAAS,EACP,GAAG,SAAS,GAAG;YACf,iBAAiB,CAAC,qBAAqB,EAAE,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,YAGhE,QAAQ,GACN,CACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,EAC3B,QAAQ,EACR,MAAM,EACN,MAAM,EACN,QAAQ,EACO;IACf,OAAO,CACL,eAAK,SAAS,EAAC,eAAe,eAAY,QAAQ,aAChD,4BACG,MAAM,IAAI,gBAAO,SAAS,EAAC,sBAAsB,YAAE,MAAM,GAAS,EAEnE,gBAAO,SAAS,EAAC,sBAAsB,YAAE,QAAQ,GAAS,IACpD,EAEP,MAAM,IAAI,cAAK,SAAS,EAAC,wBAAwB,YAAE,MAAM,GAAO,IAC7D,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { ReactControl } from '@rolster/react-forms';
|
|
2
2
|
import { RlsComponent } from '../../definitions';
|
|
3
3
|
import './DateField.css';
|
|
4
|
-
interface
|
|
4
|
+
interface DateFieldProps extends RlsComponent {
|
|
5
5
|
date?: Date;
|
|
6
6
|
disabled?: boolean;
|
|
7
7
|
formControl?: ReactControl<HTMLElement, Date>;
|
|
8
8
|
maxDate?: Date;
|
|
9
9
|
minDate?: Date;
|
|
10
10
|
placeholder?: string;
|
|
11
|
+
onValue?: (value?: Date) => void;
|
|
11
12
|
}
|
|
12
|
-
export declare function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, placeholder, rlsTheme }:
|
|
13
|
+
export declare function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, placeholder, rlsTheme, onValue }: DateFieldProps): import("react/jsx-runtime").JSX.Element;
|
|
13
14
|
export {};
|
|
@@ -6,7 +6,8 @@ import { RlsMessageIcon, RlsIcon } from '../../atoms';
|
|
|
6
6
|
import { RlsDatePicker } from '../DatePicker/DatePicker';
|
|
7
7
|
import { RlsModal } from '../Modal/Modal';
|
|
8
8
|
import './DateField.css';
|
|
9
|
-
|
|
9
|
+
import { PickerListenerType } from '../../../types';
|
|
10
|
+
export function RlsDateField({ children, date, disabled, formControl, maxDate, minDate, placeholder, rlsTheme, onValue }) {
|
|
10
11
|
const dateInitial = formControl?.state || date || new Date();
|
|
11
12
|
const [value, setValue] = useState(dateInitial);
|
|
12
13
|
const [show, setShow] = useState(false);
|
|
@@ -17,10 +18,18 @@ export function RlsDateField({ children, date, disabled, formControl, maxDate, m
|
|
|
17
18
|
function onClickInput() {
|
|
18
19
|
setShow(true);
|
|
19
20
|
}
|
|
21
|
+
function onChange(value, ignoreControl = false) {
|
|
22
|
+
if (!ignoreControl) {
|
|
23
|
+
formControl?.setState(undefined);
|
|
24
|
+
}
|
|
25
|
+
setValue(undefined);
|
|
26
|
+
if (onValue) {
|
|
27
|
+
onValue(value);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
20
30
|
function onClean() {
|
|
21
31
|
if (value) {
|
|
22
|
-
|
|
23
|
-
setValue(undefined);
|
|
32
|
+
onChange(undefined);
|
|
24
33
|
if (formControl && !formControl.touched) {
|
|
25
34
|
formControl.touch();
|
|
26
35
|
}
|
|
@@ -29,9 +38,9 @@ export function RlsDateField({ children, date, disabled, formControl, maxDate, m
|
|
|
29
38
|
setShow(true);
|
|
30
39
|
}
|
|
31
40
|
}
|
|
32
|
-
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: show, children: _jsx(RlsDatePicker, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ value }) => {
|
|
33
|
-
if (
|
|
34
|
-
|
|
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: show, children: _jsx(RlsDatePicker, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ value, type }) => {
|
|
42
|
+
if (type !== PickerListenerType.Cancel) {
|
|
43
|
+
onChange(value, true);
|
|
35
44
|
}
|
|
36
45
|
setShow(false);
|
|
37
46
|
if (formControl && !formControl.touched) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../../src/components/organisms/DateField/DateField.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AAEnD,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;AACzD,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"DateField.js","sourceRoot":"","sources":["../../../../../src/components/organisms/DateField/DateField.tsx"],"names":[],"mappings":"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"}
|