@rolster/react-components 18.13.5 → 18.14.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-LjAadYQE.css → index-L7r-Teuk.css} +413 -421
- package/dist/cjs/index.js +1021 -1028
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/assets/{index-LjAadYQE.css → index-L7r-Teuk.css} +413 -421
- package/dist/es/index.js +1002 -1009
- package/dist/es/index.js.map +1 -1
- package/dist/esm/components/atoms/Input/Input.css +2 -2
- package/dist/esm/components/atoms/Input/Input.js +1 -8
- package/dist/esm/components/atoms/Input/Input.js.map +1 -1
- package/dist/esm/components/atoms/InputMoney/InputMoney.css +0 -2
- package/dist/esm/components/atoms/InputNumber/InputNumber.css +0 -2
- package/dist/esm/components/atoms/InputPassword/InputPassword.css +0 -2
- package/dist/esm/components/atoms/InputText/InputText.css +0 -2
- package/dist/esm/components/molecules/FieldMoney/FieldMoney.css +6 -0
- package/dist/esm/components/molecules/{MoneyField/MoneyField.d.ts → FieldMoney/FieldMoney.d.ts} +3 -3
- package/dist/esm/components/molecules/{MoneyField/MoneyField.js → FieldMoney/FieldMoney.js} +5 -5
- package/dist/esm/components/molecules/{MoneyField/MoneyField.js.map → FieldMoney/FieldMoney.js.map} +1 -1
- package/dist/esm/components/molecules/FieldNumber/FieldNumber.css +6 -0
- package/dist/esm/components/molecules/{NumberField/NumberField.d.ts → FieldNumber/FieldNumber.d.ts} +3 -3
- package/dist/esm/components/molecules/{NumberField/NumberField.js → FieldNumber/FieldNumber.js} +5 -5
- package/dist/esm/components/molecules/{NumberField/NumberField.js.map → FieldNumber/FieldNumber.js.map} +1 -1
- package/dist/esm/components/molecules/{PasswordField/PasswordField.css → FieldPassword/FieldPassword.css} +3 -3
- package/dist/esm/components/molecules/{PasswordField/PasswordField.d.ts → FieldPassword/FieldPassword.d.ts} +3 -3
- package/dist/esm/components/molecules/{PasswordField/PasswordField.js → FieldPassword/FieldPassword.js} +5 -5
- package/dist/esm/components/molecules/{PasswordField/PasswordField.js.map → FieldPassword/FieldPassword.js.map} +1 -1
- package/dist/esm/components/molecules/FieldText/FieldText.css +6 -0
- package/dist/esm/components/molecules/{TextField/TextField.d.ts → FieldText/FieldText.d.ts} +3 -3
- package/dist/esm/components/molecules/{TextField/TextField.js → FieldText/FieldText.js} +5 -5
- package/dist/esm/components/molecules/{TextField/TextField.js.map → FieldText/FieldText.js.map} +1 -1
- package/dist/esm/components/molecules/{CheckBoxLabel/CheckBoxLabel.css → LabelCheckBox/LabelCheckBox.css} +5 -5
- package/dist/esm/components/molecules/{CheckBoxLabel/CheckBoxLabel.d.ts → LabelCheckBox/LabelCheckBox.d.ts} +3 -3
- package/dist/esm/components/molecules/{CheckBoxLabel/CheckBoxLabel.js → LabelCheckBox/LabelCheckBox.js} +5 -5
- package/dist/esm/components/molecules/{CheckBoxLabel/CheckBoxLabel.js.map → LabelCheckBox/LabelCheckBox.js.map} +1 -1
- package/dist/esm/components/molecules/{RadioButtonLabel/RadioButtonLabel.css → LabelRadioButton/LabelRadioButton.css} +5 -5
- package/dist/esm/components/molecules/{RadioButtonLabel/RadioButtonLabel.d.ts → LabelRadioButton/LabelRadioButton.d.ts} +3 -3
- package/dist/esm/components/molecules/{RadioButtonLabel/RadioButtonLabel.js → LabelRadioButton/LabelRadioButton.js} +5 -5
- package/dist/esm/components/molecules/{RadioButtonLabel/RadioButtonLabel.js.map → LabelRadioButton/LabelRadioButton.js.map} +1 -1
- package/dist/esm/components/molecules/{SwitchLabel/SwitchLabel.css → LabelSwitch/LabelSwitch.css} +5 -5
- package/dist/esm/components/molecules/{SwitchLabel/SwitchLabel.d.ts → LabelSwitch/LabelSwitch.d.ts} +3 -3
- package/dist/esm/components/molecules/{SwitchLabel/SwitchLabel.js → LabelSwitch/LabelSwitch.js} +4 -4
- package/dist/esm/components/molecules/{SwitchLabel/SwitchLabel.js.map → LabelSwitch/LabelSwitch.js.map} +1 -1
- package/dist/esm/components/molecules/{DayPicker/DayPicker.css → PickerDay/PickerDay.css} +13 -13
- package/dist/esm/components/molecules/{DayPicker/DayPicker.d.ts → PickerDay/PickerDay.d.ts} +3 -3
- package/dist/esm/components/molecules/{DayPicker/DayPicker.js → PickerDay/PickerDay.js} +5 -5
- package/dist/esm/components/molecules/{DayPicker/DayPicker.js.map → PickerDay/PickerDay.js.map} +1 -1
- package/dist/esm/components/molecules/{DayRangePicker/DayRangePicker.css → PickerDayRange/PickerDayRange.css} +14 -14
- package/dist/esm/components/molecules/{DayRangePicker/DayRangePicker.d.ts → PickerDayRange/PickerDayRange.d.ts} +3 -3
- package/dist/esm/components/molecules/{DayRangePicker/DayRangePicker.js → PickerDayRange/PickerDayRange.js} +5 -5
- package/dist/esm/components/molecules/{DayRangePicker/DayRangePicker.js.map → PickerDayRange/PickerDayRange.js.map} +1 -1
- package/dist/esm/components/molecules/{MonthPicker/MonthPicker.css → PickerMonth/PickerMonth.css} +8 -8
- package/dist/esm/components/molecules/{MonthPicker/MonthPicker.d.ts → PickerMonth/PickerMonth.d.ts} +3 -3
- package/dist/esm/components/molecules/{MonthPicker/MonthPicker.js → PickerMonth/PickerMonth.js} +5 -5
- package/dist/esm/components/molecules/{MonthPicker/MonthPicker.js.map → PickerMonth/PickerMonth.js.map} +1 -1
- package/dist/esm/components/molecules/{MonthTitlePicker/MonthTitlePicker.css → PickerMonthTitle/PickerMonthTitle.css} +3 -3
- package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.d.ts +15 -0
- package/dist/esm/components/molecules/{MonthTitlePicker/MonthTitlePicker.js → PickerMonthTitle/PickerMonthTitle.js} +5 -5
- package/dist/esm/components/molecules/{MonthTitlePicker/MonthTitlePicker.js.map → PickerMonthTitle/PickerMonthTitle.js.map} +1 -1
- package/dist/esm/components/molecules/{YearPicker/YearPicker.css → PickerYear/PickerYear.css} +14 -14
- package/dist/esm/components/molecules/{YearPicker/YearPicker.d.ts → PickerYear/PickerYear.d.ts} +3 -3
- package/dist/esm/components/molecules/{YearPicker/YearPicker.js → PickerYear/PickerYear.js} +5 -5
- package/dist/esm/components/molecules/{YearPicker/YearPicker.js.map → PickerYear/PickerYear.js.map} +1 -1
- package/dist/esm/components/molecules/index.d.ts +12 -12
- package/dist/esm/components/molecules/index.js +12 -12
- package/dist/esm/components/molecules/index.js.map +1 -1
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteField.css → FieldAutocomplete/FieldAutocomplete.css} +15 -15
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteField.d.ts → FieldAutocomplete/FieldAutocomplete.d.ts} +5 -5
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteField.js → FieldAutocomplete/FieldAutocomplete.js} +11 -11
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteField.js.map → FieldAutocomplete/FieldAutocomplete.js.map} +1 -1
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteFieldHook.d.ts → FieldAutocomplete/FieldAutocompleteHook.d.ts} +3 -3
- package/dist/esm/components/organisms/{AutocompleteField/AutocompleteFieldHook.js → FieldAutocomplete/FieldAutocompleteHook.js} +2 -2
- package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteHook.js.map +1 -0
- package/dist/esm/components/organisms/{DateField/DateField.css → FieldDate/FieldDate.css} +8 -8
- package/dist/esm/components/organisms/{DateField/DateField.d.ts → FieldDate/FieldDate.d.ts} +3 -3
- package/dist/esm/components/organisms/{DateField/DateField.js → FieldDate/FieldDate.js} +5 -5
- package/dist/esm/components/organisms/{DateField/DateField.js.map → FieldDate/FieldDate.js.map} +1 -1
- package/dist/esm/components/organisms/{DateRangeField/DateRangeField.css → FieldDateRange/FieldDateRange.css} +6 -6
- package/dist/esm/components/organisms/{DateRangeField/DateRangeField.d.ts → FieldDateRange/FieldDateRange.d.ts} +3 -3
- package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +33 -0
- package/dist/esm/components/organisms/{DateRangeField/DateRangeField.js.map → FieldDateRange/FieldDateRange.js.map} +1 -1
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.css +10 -0
- package/dist/esm/components/organisms/{SelectField/SelectField.d.ts → FieldSelect/FieldSelect.d.ts} +5 -5
- package/dist/esm/components/organisms/{SelectField/SelectField.js → FieldSelect/FieldSelect.js} +10 -10
- package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -0
- package/dist/esm/components/organisms/{SelectField/SelectFieldHook.d.ts → FieldSelect/FieldSelectHook.d.ts} +3 -3
- package/dist/esm/components/organisms/{SelectField/SelectFieldHook.js → FieldSelect/FieldSelectHook.js} +2 -2
- package/dist/esm/components/organisms/FieldSelect/FieldSelectHook.js.map +1 -0
- package/dist/esm/components/organisms/{DatePicker/DatePicker.css → PickerDate/PickerDate.css} +17 -17
- package/dist/esm/components/organisms/{DatePicker/DatePicker.d.ts → PickerDate/PickerDate.d.ts} +3 -3
- package/dist/esm/components/organisms/{DatePicker/DatePicker.js → PickerDate/PickerDate.js} +6 -6
- package/dist/esm/components/organisms/{DatePicker/DatePicker.js.map → PickerDate/PickerDate.js.map} +1 -1
- package/dist/esm/components/organisms/{DateRangePicker/DateRangePicker.css → PickerDateRange/PickerDateRange.css} +16 -16
- package/dist/esm/components/organisms/{DateRangePicker/DateRangePicker.d.ts → PickerDateRange/PickerDateRange.d.ts} +3 -3
- package/dist/esm/components/organisms/{DateRangePicker/DateRangePicker.js → PickerDateRange/PickerDateRange.js} +7 -7
- package/dist/esm/components/organisms/{DateRangePicker/DateRangePicker.js.map → PickerDateRange/PickerDateRange.js.map} +1 -1
- package/dist/esm/components/organisms/index.d.ts +6 -6
- package/dist/esm/components/organisms/index.js +6 -6
- package/dist/esm/components/organisms/index.js.map +1 -1
- package/package.json +2 -2
- package/dist/esm/components/molecules/MoneyField/MoneyField.css +0 -6
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +0 -15
- package/dist/esm/components/molecules/NumberField/NumberField.css +0 -6
- package/dist/esm/components/molecules/TextField/TextField.css +0 -6
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.js.map +0 -1
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js +0 -33
- package/dist/esm/components/organisms/SelectField/SelectField.css +0 -10
- package/dist/esm/components/organisms/SelectField/SelectField.js.map +0 -1
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.js.map +0 -1
package/dist/es/index.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
2
2
|
import { useState, useRef, useEffect, createContext } from 'react';
|
|
3
3
|
import { currencyFormat, itIsDefined, PartialSealed } from '@rolster/helpers-advanced';
|
|
4
|
-
import { dateIsBefore, normalizeMinTime, dateIsAfter, normalizeMaxTime, getDaysOfMonth, getDateWeight, dateIsEqualsWeight, dateIsBetween, assignDayInDate, Month, MONTH_NAMES, DAY_LABELS, DateRange, dateFormatTemplate, assignYearInDate, assignMonthInDate } from '@rolster/helpers-date';
|
|
5
4
|
import { hasPattern } from '@rolster/helpers-string';
|
|
6
|
-
import {
|
|
5
|
+
import { dateIsBefore, normalizeMinTime, dateIsAfter, normalizeMaxTime, getDaysOfMonth, getDateWeight, dateIsEqualsWeight, dateIsBetween, assignDayInDate, Month, MONTH_NAMES, DAY_LABELS, DateRange, dateFormatTemplate, assignYearInDate, assignMonthInDate } from '@rolster/helpers-date';
|
|
7
6
|
import ReactDOM from 'react-dom';
|
|
7
|
+
import { i18n } from '@rolster/i18n';
|
|
8
8
|
import { createFormControlProps } from '@rolster/helpers-forms';
|
|
9
9
|
import 'uuid';
|
|
10
10
|
import { BehaviorSubject } from 'rxjs';
|
|
@@ -73,14 +73,7 @@ function RlsCheckBoxControl({ formControl, disabled, rlsTheme }) {
|
|
|
73
73
|
function RlsInput({ children, disabled, formControl, placeholder, type, value, onValue }) {
|
|
74
74
|
const [focused, setFocused] = useState(false);
|
|
75
75
|
function onChange(event) {
|
|
76
|
-
|
|
77
|
-
case 'number':
|
|
78
|
-
setState(+event.target.value);
|
|
79
|
-
break;
|
|
80
|
-
default:
|
|
81
|
-
setState(event.target.value);
|
|
82
|
-
break;
|
|
83
|
-
}
|
|
76
|
+
setState(type === 'number' ? +event.target.value : event.target.value);
|
|
84
77
|
}
|
|
85
78
|
function setState(value) {
|
|
86
79
|
formControl?.setState(value);
|
|
@@ -254,7 +247,43 @@ function RlsButtonToggle({ onAction, options, type, automatic, disabled, rlsThem
|
|
|
254
247
|
}), children: jsx("ul", { children: options.map((action, index) => (jsx("li", { className: "truncate", onClick: () => onSelectAction(action), children: action.label }, index))) }) })] }));
|
|
255
248
|
}
|
|
256
249
|
|
|
257
|
-
function
|
|
250
|
+
function RlsFieldMoney({ children, decimals, disabled, formControl, placeholder, symbol, rlsTheme, value, onValue }) {
|
|
251
|
+
return (jsxs("div", { className: renderClassStatus('rls-field-box', {
|
|
252
|
+
focused: formControl?.focused,
|
|
253
|
+
error: formControl?.wrong,
|
|
254
|
+
disabled: formControl?.disabled || disabled
|
|
255
|
+
}, 'rls-field-money'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsx("div", { className: "rls-field-box__body", children: jsx(RlsInputMoney, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, symbol: symbol, decimals: decimals, onValue: onValue }) }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
256
|
+
}
|
|
257
|
+
|
|
258
|
+
function RlsFieldNumber({ children, disabled, formControl, placeholder, rlsTheme, value, onValue }) {
|
|
259
|
+
return (jsxs("div", { className: renderClassStatus('rls-field-box', {
|
|
260
|
+
focused: formControl?.focused,
|
|
261
|
+
error: formControl?.wrong,
|
|
262
|
+
disabled: formControl?.disabled || disabled
|
|
263
|
+
}, 'rls-field-number'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsx("div", { className: "rls-field-box__body", children: jsx(RlsInputNumber, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, onValue: onValue }) }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
264
|
+
}
|
|
265
|
+
|
|
266
|
+
function RlsFieldPassword({ children, disabled, formControl, placeholder, rlsTheme }) {
|
|
267
|
+
const [password, setPassword] = useState(true);
|
|
268
|
+
function onToggleInput() {
|
|
269
|
+
setPassword(!password);
|
|
270
|
+
}
|
|
271
|
+
return (jsxs("div", { className: renderClassStatus(' rls-field-box', {
|
|
272
|
+
focused: formControl?.focused,
|
|
273
|
+
error: formControl?.wrong,
|
|
274
|
+
disabled: formControl?.disabled || disabled
|
|
275
|
+
}, 'rls-field-password'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsxs("div", { className: "rls-field-box__body", children: [jsx(RlsInputPassword, { formControl: formControl, disabled: disabled, placeholder: placeholder, type: password ? 'password' : 'text' }), jsx(RlsButtonAction, { icon: password ? 'eye' : 'eye-off', onClick: onToggleInput })] }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
276
|
+
}
|
|
277
|
+
|
|
278
|
+
function RlsFieldText({ children, disabled, formControl, placeholder, rlsTheme, value, onValue }) {
|
|
279
|
+
return (jsxs("div", { className: renderClassStatus('rls-field-box', {
|
|
280
|
+
focused: formControl?.focused,
|
|
281
|
+
error: formControl?.wrong,
|
|
282
|
+
disabled: formControl?.disabled || disabled
|
|
283
|
+
}, 'rls-field-text'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsx("div", { className: "rls-field-box__body", children: jsx(RlsInputText, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, onValue: onValue }) }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
284
|
+
}
|
|
285
|
+
|
|
286
|
+
function RlsLabelCheckBox({ children, disabled, extended, formControl, rlsTheme }) {
|
|
258
287
|
const [checked, setChecked] = useState(formControl?.value || false);
|
|
259
288
|
useEffect(() => {
|
|
260
289
|
setChecked(formControl?.state || false);
|
|
@@ -267,946 +296,906 @@ function RlsCheckBoxLabel({ children, disabled, extended, formControl, rlsTheme
|
|
|
267
296
|
setChecked(!checked);
|
|
268
297
|
}
|
|
269
298
|
}
|
|
270
|
-
return (jsxs("div", { className: renderClassStatus('rls-checkbox
|
|
299
|
+
return (jsxs("div", { className: renderClassStatus('rls-label-checkbox', {
|
|
271
300
|
disabled,
|
|
272
301
|
extended
|
|
273
|
-
}), "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-
|
|
302
|
+
}), "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-label-checkbox__component", onClick: onToggle, children: jsx(RlsCheckBox, { checked: checked, disabled: disabled }) }), jsx("label", { className: "rls-label-checkbox__text", children: children })] }));
|
|
274
303
|
}
|
|
275
304
|
|
|
276
|
-
function
|
|
277
|
-
const
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
? minDate
|
|
291
|
-
: maxDate && dateIsOutRangeMax(props)
|
|
292
|
-
? maxDate
|
|
293
|
-
: date;
|
|
294
|
-
}
|
|
295
|
-
|
|
296
|
-
const DAYS_WEEK = 7;
|
|
297
|
-
const COUNT_YEAR_RANGE = 4;
|
|
298
|
-
|
|
299
|
-
function createDayState(props, today, value) {
|
|
300
|
-
const { date, day, month, year } = props;
|
|
301
|
-
const dateValue = value && new Date(year, month, value);
|
|
302
|
-
return {
|
|
303
|
-
disabled: dayIsOutside(props, value || 0),
|
|
304
|
-
focused: !!value && day === value,
|
|
305
|
-
forbidden: !value,
|
|
306
|
-
selected: !!dateValue && dateIsEqualsWeight(date, dateValue),
|
|
307
|
-
today: !!dateValue && dateIsEqualsWeight(today, dateValue),
|
|
308
|
-
value
|
|
309
|
-
};
|
|
310
|
-
}
|
|
311
|
-
function createFirstWeek$1(props, date, today) {
|
|
312
|
-
const days = [];
|
|
313
|
-
let day = 1;
|
|
314
|
-
for (let start = 0; start < date.getDay(); start++) {
|
|
315
|
-
days.push(createDayState(props, today));
|
|
316
|
-
}
|
|
317
|
-
for (let end = date.getDay(); end < 7; end++) {
|
|
318
|
-
days.push(createDayState(props, today, day));
|
|
319
|
-
day++;
|
|
320
|
-
}
|
|
321
|
-
return { days };
|
|
322
|
-
}
|
|
323
|
-
function createDaysPending$1(props, today, days) {
|
|
324
|
-
const daysPending = [];
|
|
325
|
-
const length = 7 - days;
|
|
326
|
-
for (let index = 0; index < length; index++) {
|
|
327
|
-
daysPending.push(createDayState(props, today));
|
|
328
|
-
}
|
|
329
|
-
return daysPending;
|
|
330
|
-
}
|
|
331
|
-
function createNextWeeks$1(props, date, today) {
|
|
332
|
-
const daysMonth = getDaysOfMonth(date.getFullYear(), date.getMonth());
|
|
333
|
-
const weeks = [];
|
|
334
|
-
let days = [];
|
|
335
|
-
let countDays = 1;
|
|
336
|
-
let day = DAYS_WEEK - date.getDay() + 1;
|
|
337
|
-
do {
|
|
338
|
-
days.push(createDayState(props, today, day));
|
|
339
|
-
day++;
|
|
340
|
-
countDays++;
|
|
341
|
-
if (countDays > DAYS_WEEK) {
|
|
342
|
-
weeks.push({ days });
|
|
343
|
-
days = [];
|
|
344
|
-
countDays = 1;
|
|
345
|
-
}
|
|
346
|
-
} while (day <= daysMonth);
|
|
347
|
-
if (days.length && days.length < DAYS_WEEK) {
|
|
348
|
-
weeks.push({
|
|
349
|
-
days: [...days, ...createDaysPending$1(props, today, days.length)]
|
|
350
|
-
});
|
|
351
|
-
}
|
|
352
|
-
return weeks;
|
|
353
|
-
}
|
|
354
|
-
function dayIsOutsideMin(props, day) {
|
|
355
|
-
const { month, year, minDate } = props;
|
|
356
|
-
return minDate
|
|
357
|
-
? getDateWeight(new Date(year, month, day)) < getDateWeight(minDate)
|
|
358
|
-
: false;
|
|
359
|
-
}
|
|
360
|
-
function dayIsOutsideMax(props, day) {
|
|
361
|
-
const { month, year, maxDate } = props;
|
|
362
|
-
return maxDate
|
|
363
|
-
? getDateWeight(new Date(year, month, day)) > getDateWeight(maxDate)
|
|
364
|
-
: false;
|
|
365
|
-
}
|
|
366
|
-
function dayIsOutside(props, day) {
|
|
367
|
-
return dayIsOutsideMin(props, day) || dayIsOutsideMax(props, day);
|
|
368
|
-
}
|
|
369
|
-
function checkDayPicker(props) {
|
|
370
|
-
const { day, maxDate, minDate } = props;
|
|
371
|
-
return minDate && dayIsOutsideMin(props, day)
|
|
372
|
-
? minDate.getDate()
|
|
373
|
-
: maxDate && dayIsOutsideMax(props, day)
|
|
374
|
-
? maxDate.getDate()
|
|
375
|
-
: undefined;
|
|
376
|
-
}
|
|
377
|
-
function createDayPicker(props) {
|
|
378
|
-
const date = new Date(props.year, props.month, 1);
|
|
379
|
-
const today = new Date();
|
|
380
|
-
const firstWeek = createFirstWeek$1(props, date, today);
|
|
381
|
-
const nextWeeks = createNextWeeks$1(props, date, today);
|
|
382
|
-
return [firstWeek, ...nextWeeks];
|
|
305
|
+
function RlsLabelRadioButton({ children, disabled, extended, formControl, rlsTheme, value }) {
|
|
306
|
+
const [checked, setChecked] = useState(formControl?.state || false);
|
|
307
|
+
useEffect(() => {
|
|
308
|
+
setChecked(formControl?.state === value);
|
|
309
|
+
}, [formControl?.state]);
|
|
310
|
+
function onSelect() {
|
|
311
|
+
if (formControl) {
|
|
312
|
+
formControl?.setState(value);
|
|
313
|
+
}
|
|
314
|
+
}
|
|
315
|
+
return (jsxs("div", { className: renderClassStatus('rls-label-radiobutton', {
|
|
316
|
+
disabled,
|
|
317
|
+
extended
|
|
318
|
+
}), "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-label-radiobutton__component", onClick: onSelect, children: jsx(RlsRadioButton, { checked: checked, disabled: disabled }) }), jsx("label", { className: "rls-label-radiobutton__text", children: children })] }));
|
|
383
319
|
}
|
|
384
320
|
|
|
385
|
-
function
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
}
|
|
390
|
-
function
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
}
|
|
397
|
-
|
|
398
|
-
return
|
|
399
|
-
}
|
|
400
|
-
function createDayRangeState(props, base, day) {
|
|
401
|
-
return {
|
|
402
|
-
disabled: dayRangeIsOutside(props, day || 0),
|
|
403
|
-
end: day ? rangeIsSelected(props, base, day) : false,
|
|
404
|
-
forbidden: !day,
|
|
405
|
-
ranged: day ? dayIsRange(props, base, day) : false,
|
|
406
|
-
source: day ? sourceIsSelected(props, base, day) : false,
|
|
407
|
-
value: day
|
|
408
|
-
};
|
|
409
|
-
}
|
|
410
|
-
function createFirstWeek(props, base) {
|
|
411
|
-
const days = [];
|
|
412
|
-
let day = 1;
|
|
413
|
-
for (let start = 0; start < base.getDay(); start++) {
|
|
414
|
-
days.push(createDayRangeState(props, base));
|
|
415
|
-
}
|
|
416
|
-
for (let end = base.getDay(); end < 7; end++) {
|
|
417
|
-
days.push(createDayRangeState(props, base, day));
|
|
418
|
-
day++;
|
|
419
|
-
}
|
|
420
|
-
return { days };
|
|
421
|
-
}
|
|
422
|
-
function createDaysPending(props, base, days) {
|
|
423
|
-
const daysPending = [];
|
|
424
|
-
const length = 7 - days;
|
|
425
|
-
for (let index = 0; index < length; index++) {
|
|
426
|
-
daysPending.push(createDayRangeState(props, base));
|
|
427
|
-
}
|
|
428
|
-
return daysPending;
|
|
429
|
-
}
|
|
430
|
-
function createNextWeeks(props, base) {
|
|
431
|
-
const weeks = [];
|
|
432
|
-
const { date } = props;
|
|
433
|
-
const dayCount = getDaysOfMonth(date.getFullYear(), date.getMonth());
|
|
434
|
-
let days = [];
|
|
435
|
-
let countDays = 1;
|
|
436
|
-
let day = DAYS_WEEK - base.getDay() + 1;
|
|
437
|
-
do {
|
|
438
|
-
days.push(createDayRangeState(props, date, day));
|
|
439
|
-
day++;
|
|
440
|
-
countDays++;
|
|
441
|
-
if (countDays > 7) {
|
|
442
|
-
weeks.push({ days });
|
|
443
|
-
days = [];
|
|
444
|
-
countDays = 1;
|
|
445
|
-
}
|
|
446
|
-
} while (day <= dayCount);
|
|
447
|
-
if (days.length && days.length < DAYS_WEEK) {
|
|
448
|
-
weeks.push({
|
|
449
|
-
days: [...days, ...createDaysPending(props, base, days.length)]
|
|
450
|
-
});
|
|
451
|
-
}
|
|
452
|
-
return weeks;
|
|
453
|
-
}
|
|
454
|
-
function dayRangeIsOutsideMin(props, day) {
|
|
455
|
-
const { date, minDate } = props;
|
|
456
|
-
return minDate
|
|
457
|
-
? getDateWeight(assignDayInDate(date, day)) < getDateWeight(minDate)
|
|
458
|
-
: false;
|
|
459
|
-
}
|
|
460
|
-
function dayRangeIsOutsideMax(props, day) {
|
|
461
|
-
const { date, maxDate } = props;
|
|
462
|
-
return maxDate
|
|
463
|
-
? getDateWeight(assignDayInDate(date, day)) > getDateWeight(maxDate)
|
|
464
|
-
: false;
|
|
465
|
-
}
|
|
466
|
-
function dayRangeIsOutside(props, day) {
|
|
467
|
-
return dayRangeIsOutsideMin(props, day) || dayRangeIsOutsideMax(props, day);
|
|
468
|
-
}
|
|
469
|
-
function createDayRangePicker(props) {
|
|
470
|
-
const date = new Date(props.date.getFullYear(), props.date.getMonth(), 1);
|
|
471
|
-
const firstWeek = createFirstWeek(props, date);
|
|
472
|
-
const nextWeeks = createNextWeeks(props, date);
|
|
473
|
-
return [firstWeek, ...nextWeeks];
|
|
321
|
+
function RlsLabelSwitch({ children, disabled, extended, formControl, rlsTheme }) {
|
|
322
|
+
const [checked, setChecked] = useState(formControl?.value || false);
|
|
323
|
+
useEffect(() => {
|
|
324
|
+
setChecked(formControl?.state || false);
|
|
325
|
+
}, [formControl?.state]);
|
|
326
|
+
function onToggle() {
|
|
327
|
+
if (formControl) {
|
|
328
|
+
formControl?.setState(!formControl.state);
|
|
329
|
+
}
|
|
330
|
+
else {
|
|
331
|
+
setChecked(!checked);
|
|
332
|
+
}
|
|
333
|
+
}
|
|
334
|
+
return (jsxs("div", { className: renderClassStatus('rls-label-switch', { disabled, extended }), "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-label-switch__component", onClick: onToggle, children: jsx(RlsSwitch, { checked: checked, disabled: disabled }) }), jsx("label", { className: "rls-label-switch__text", children: children })] }));
|
|
474
335
|
}
|
|
475
336
|
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
const
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
|
|
499
|
-
|
|
500
|
-
}
|
|
501
|
-
|
|
502
|
-
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
}
|
|
509
|
-
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
518
|
-
|
|
519
|
-
|
|
520
|
-
|
|
521
|
-
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
536
|
-
|
|
537
|
-
|
|
538
|
-
|
|
539
|
-
|
|
540
|
-
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
|
|
544
|
-
|
|
545
|
-
|
|
546
|
-
|
|
547
|
-
|
|
337
|
+
const DEFAULT_COUNT_ELEMENT = 20;
|
|
338
|
+
const MIN_NUMBER_PAGE = 1;
|
|
339
|
+
const FIRST_PAGE = 0;
|
|
340
|
+
const DEFAULT_MAX_VISIBLE = 4;
|
|
341
|
+
function RlsPagination({ elements, count: defaultCount, filter, onElements, onPagination }) {
|
|
342
|
+
const count = defaultCount || DEFAULT_COUNT_ELEMENT;
|
|
343
|
+
const [collection, setCollection] = useState([]);
|
|
344
|
+
const [index, setIndex] = useState(0);
|
|
345
|
+
const [maxPage, setMaxPage] = useState(calculateMaxPage(elements, count));
|
|
346
|
+
const [paginations, setPaginations] = useState([]);
|
|
347
|
+
const [currentPagination, setCurrentPagination] = useState();
|
|
348
|
+
const [description, setDescription] = useState('');
|
|
349
|
+
const [firstPage, setFirstPage] = useState(true);
|
|
350
|
+
const [lastPage, setLastPage] = useState(false);
|
|
351
|
+
useEffect(() => {
|
|
352
|
+
refreshFromElements(elements);
|
|
353
|
+
}, [elements]);
|
|
354
|
+
useEffect(() => {
|
|
355
|
+
const isFirstPage = currentPagination?.value === FIRST_PAGE;
|
|
356
|
+
const isLastPage = currentPagination?.value === maxPage - 1;
|
|
357
|
+
setFirstPage(isFirstPage);
|
|
358
|
+
setLastPage(isLastPage);
|
|
359
|
+
if (onPagination) {
|
|
360
|
+
onPagination({ firstPage: isFirstPage, lastPage: isLastPage });
|
|
361
|
+
}
|
|
362
|
+
}, [currentPagination]);
|
|
363
|
+
useEffect(() => {
|
|
364
|
+
refreshFromFilter(filter);
|
|
365
|
+
}, [filter]);
|
|
366
|
+
function onChangeElements(elements) {
|
|
367
|
+
if (onElements) {
|
|
368
|
+
onElements(elements);
|
|
369
|
+
}
|
|
370
|
+
}
|
|
371
|
+
function calculateMaxPage(collection, count) {
|
|
372
|
+
return collection.length ? Math.ceil(collection.length / count) : 0;
|
|
373
|
+
}
|
|
374
|
+
function onSelectPagination(pagination) {
|
|
375
|
+
const { value } = pagination;
|
|
376
|
+
pagination.active = true;
|
|
377
|
+
setIndex(value);
|
|
378
|
+
setCurrentPagination(pagination);
|
|
379
|
+
refreshFromChanged(clonePage({ index: value }));
|
|
380
|
+
}
|
|
381
|
+
function goPagination(pagination) {
|
|
382
|
+
if (currentPagination) {
|
|
383
|
+
currentPagination.active = false;
|
|
384
|
+
}
|
|
385
|
+
onSelectPagination(pagination);
|
|
386
|
+
}
|
|
387
|
+
function goPreviousPagination() {
|
|
388
|
+
if (currentPagination) {
|
|
389
|
+
const { prev, value } = currentPagination;
|
|
390
|
+
if (prev) {
|
|
391
|
+
onSelectPagination(prev);
|
|
392
|
+
currentPagination.active = false;
|
|
393
|
+
}
|
|
394
|
+
else {
|
|
395
|
+
const prevIndex = value - MIN_NUMBER_PAGE;
|
|
396
|
+
if (prevIndex >= FIRST_PAGE) {
|
|
397
|
+
refreshFromChanged(clonePageFromIndex(prevIndex));
|
|
398
|
+
}
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
function goFirstPagination() {
|
|
403
|
+
if (collection.length) {
|
|
404
|
+
refreshFromChanged(clonePageFromIndex(FIRST_PAGE));
|
|
405
|
+
}
|
|
406
|
+
}
|
|
407
|
+
function goNextPagination() {
|
|
408
|
+
if (currentPagination) {
|
|
409
|
+
const { next, value } = currentPagination;
|
|
410
|
+
if (next) {
|
|
411
|
+
onSelectPagination(next);
|
|
412
|
+
currentPagination.active = false;
|
|
413
|
+
}
|
|
414
|
+
else {
|
|
415
|
+
const nextIndex = value + 1;
|
|
416
|
+
if (nextIndex <= maxPage) {
|
|
417
|
+
refreshFromChanged(clonePageFromIndex(nextIndex));
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
}
|
|
422
|
+
function goLastPagination() {
|
|
423
|
+
if (collection.length) {
|
|
424
|
+
refreshFromChanged(clonePageFromIndex(maxPage - MIN_NUMBER_PAGE));
|
|
425
|
+
}
|
|
426
|
+
}
|
|
427
|
+
function createPageCollection(props) {
|
|
428
|
+
const { collection, count, index } = props;
|
|
429
|
+
if (collection.length) {
|
|
430
|
+
const finish = (index + MIN_NUMBER_PAGE) * count;
|
|
431
|
+
const start = index * count;
|
|
432
|
+
return collection.slice(start, finish);
|
|
433
|
+
}
|
|
434
|
+
return [];
|
|
435
|
+
}
|
|
436
|
+
function refreshFromElements(elements) {
|
|
437
|
+
elements.length
|
|
438
|
+
? refreshFromChanged(refreshPage(elements, filter))
|
|
439
|
+
: rebootPagination();
|
|
440
|
+
}
|
|
441
|
+
function refreshFromFilter(filter) {
|
|
442
|
+
refreshFromChanged(refreshPage(elements, filter));
|
|
443
|
+
}
|
|
444
|
+
function refreshFromChanged(page) {
|
|
445
|
+
refreshPaginations(page);
|
|
446
|
+
refreshDescription(page);
|
|
447
|
+
onChangeElements(createPageCollection(page));
|
|
448
|
+
}
|
|
449
|
+
function refreshCollection(elements, filter) {
|
|
450
|
+
const collection = filter
|
|
451
|
+
? elements.filter((element) => hasPattern(JSON.stringify(element), filter))
|
|
452
|
+
: elements;
|
|
453
|
+
setCollection(collection);
|
|
454
|
+
return collection;
|
|
455
|
+
}
|
|
456
|
+
function refreshMaxPage(collection, count) {
|
|
457
|
+
const maxPage = calculateMaxPage(collection, count);
|
|
458
|
+
setMaxPage(maxPage);
|
|
459
|
+
return maxPage;
|
|
460
|
+
}
|
|
461
|
+
function refreshIndex(collection, currentMaxPage) {
|
|
462
|
+
const maxPage = currentMaxPage || refreshMaxPage(collection, count);
|
|
463
|
+
if (index < maxPage || index === FIRST_PAGE) {
|
|
464
|
+
return index;
|
|
465
|
+
}
|
|
466
|
+
const newIndex = maxPage - 1;
|
|
467
|
+
setIndex(newIndex);
|
|
468
|
+
return newIndex;
|
|
469
|
+
}
|
|
470
|
+
function refreshDescription(page) {
|
|
471
|
+
const { collection, count, index } = page;
|
|
472
|
+
const totalCount = elements.length;
|
|
473
|
+
const start = index * count + MIN_NUMBER_PAGE;
|
|
474
|
+
let end = (index + MIN_NUMBER_PAGE) * count;
|
|
475
|
+
if (end > collection.length) {
|
|
476
|
+
end = collection.length;
|
|
477
|
+
}
|
|
478
|
+
setDescription(`${start} - ${end} de ${totalCount}`);
|
|
479
|
+
}
|
|
480
|
+
function refreshPaginations({ index, maxPage }) {
|
|
481
|
+
let maxPageVisible = index + DEFAULT_MAX_VISIBLE;
|
|
482
|
+
if (maxPageVisible > maxPage) {
|
|
483
|
+
maxPageVisible = maxPage;
|
|
484
|
+
}
|
|
485
|
+
let minIndexPage = maxPageVisible - DEFAULT_MAX_VISIBLE;
|
|
486
|
+
if (minIndexPage < 0) {
|
|
487
|
+
minIndexPage = 0;
|
|
488
|
+
}
|
|
489
|
+
if (minIndexPage > index) {
|
|
490
|
+
minIndexPage = index;
|
|
491
|
+
}
|
|
492
|
+
let prevPagination = undefined;
|
|
493
|
+
const paginations = [];
|
|
494
|
+
for (let i = minIndexPage; i < maxPageVisible; i++) {
|
|
495
|
+
const pagination = createPagination(i, index);
|
|
496
|
+
paginations.push(pagination);
|
|
497
|
+
pagination.prev = prevPagination;
|
|
498
|
+
if (prevPagination) {
|
|
499
|
+
prevPagination.next = pagination;
|
|
500
|
+
}
|
|
501
|
+
prevPagination = pagination;
|
|
502
|
+
}
|
|
503
|
+
setPaginations(paginations);
|
|
504
|
+
}
|
|
505
|
+
function clonePage(pagePartial) {
|
|
506
|
+
return {
|
|
507
|
+
collection: pagePartial.collection || collection,
|
|
508
|
+
index: typeof pagePartial.index === 'number' ? pagePartial.index : index,
|
|
509
|
+
count: pagePartial.count || count,
|
|
510
|
+
maxPage: typeof pagePartial.maxPage === 'number' ? pagePartial.maxPage : maxPage
|
|
511
|
+
};
|
|
512
|
+
}
|
|
513
|
+
function clonePageFromIndex(index) {
|
|
514
|
+
return clonePage({ index });
|
|
515
|
+
}
|
|
516
|
+
function refreshPage(elements, filter) {
|
|
517
|
+
const collection = refreshCollection(elements, filter);
|
|
518
|
+
const maxPage = refreshMaxPage(collection, count);
|
|
519
|
+
const index = refreshIndex(collection, maxPage);
|
|
520
|
+
return clonePage({ collection, index, maxPage });
|
|
521
|
+
}
|
|
522
|
+
function createPagination(value, index) {
|
|
523
|
+
const active = value === index;
|
|
524
|
+
const pagination = {
|
|
525
|
+
label: (value + 1).toString(),
|
|
526
|
+
value,
|
|
527
|
+
active
|
|
528
|
+
};
|
|
529
|
+
if (active) {
|
|
530
|
+
setCurrentPagination(pagination);
|
|
531
|
+
}
|
|
532
|
+
return pagination;
|
|
533
|
+
}
|
|
534
|
+
function rebootPagination() {
|
|
535
|
+
setCollection([]);
|
|
536
|
+
setMaxPage(0);
|
|
537
|
+
setIndex(0);
|
|
538
|
+
setPaginations([]);
|
|
539
|
+
onChangeElements([]);
|
|
540
|
+
}
|
|
541
|
+
return (jsxs("div", { className: "rls-pagination", children: [jsxs("div", { className: "rls-pagination__actions", children: [jsx("button", { className: "rls-pagination__action", onClick: goFirstPagination, disabled: firstPage, children: jsx(RlsIcon, { value: "arrowhead-left" }) }), jsx("button", { className: "rls-pagination__action", onClick: goPreviousPagination, disabled: firstPage, children: jsx(RlsIcon, { value: "arrow-ios-left" }) })] }), jsx("div", { className: "rls-pagination__pages", children: paginations.map((page, index) => {
|
|
542
|
+
return (jsx("div", { className: renderClassStatus('rls-pagination__page', {
|
|
543
|
+
active: page.active
|
|
544
|
+
}), onClick: () => {
|
|
545
|
+
goPagination(page);
|
|
546
|
+
}, children: page.label }, index));
|
|
547
|
+
}) }), jsx("div", { className: "rls-pagination__description", children: description }), jsxs("div", { className: "rls-pagination__actions", children: [jsx("button", { className: "rls-pagination__action", onClick: goNextPagination, disabled: lastPage, children: jsx(RlsIcon, { value: "arrow-ios-right" }) }), jsx("button", { className: "rls-pagination__action", onClick: goLastPagination, disabled: lastPage, children: jsx(RlsIcon, { value: "arrowhead-right" }) })] })] }));
|
|
548
548
|
}
|
|
549
549
|
|
|
550
|
-
|
|
551
|
-
|
|
552
|
-
|
|
553
|
-
PickerListenerType["Now"] = "PickerNow";
|
|
554
|
-
PickerListenerType["Cancel"] = "PickerCancel";
|
|
555
|
-
})(PickerListenerType || (PickerListenerType = {}));
|
|
556
|
-
|
|
557
|
-
function createYear(props, value) {
|
|
558
|
-
const { date, year } = props;
|
|
559
|
-
return {
|
|
560
|
-
disabled: !value,
|
|
561
|
-
focused: value === year,
|
|
562
|
-
selected: value === date.getFullYear(),
|
|
563
|
-
value
|
|
564
|
-
};
|
|
565
|
-
}
|
|
566
|
-
function yearIsOutlineMin(props) {
|
|
567
|
-
const { year, minDate } = props;
|
|
568
|
-
return minDate ? year < minDate.getFullYear() : false;
|
|
569
|
-
}
|
|
570
|
-
function yearIsOutlineMax(props) {
|
|
571
|
-
const { year, maxDate } = props;
|
|
572
|
-
return maxDate ? year > maxDate.getFullYear() : false;
|
|
573
|
-
}
|
|
574
|
-
function checkYearPicker(props) {
|
|
575
|
-
const { maxDate, minDate } = props;
|
|
576
|
-
return minDate && yearIsOutlineMin(props)
|
|
577
|
-
? minDate.getFullYear()
|
|
578
|
-
: maxDate && yearIsOutlineMax(props)
|
|
579
|
-
? maxDate.getFullYear()
|
|
580
|
-
: undefined;
|
|
550
|
+
function dateIsOutRangeMin(props) {
|
|
551
|
+
const { date, minDate } = props;
|
|
552
|
+
return !!minDate && dateIsBefore(normalizeMinTime(minDate), date);
|
|
581
553
|
}
|
|
582
|
-
function
|
|
583
|
-
const {
|
|
584
|
-
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
|
|
588
|
-
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
const nextState = createYear(props, nextYear);
|
|
597
|
-
prevYears.push(prevState);
|
|
598
|
-
nextYears.push(nextState);
|
|
599
|
-
if (!!prevState.value && minRange > prevState.value) {
|
|
600
|
-
minRange = prevState.value;
|
|
601
|
-
}
|
|
602
|
-
if (!!nextState.value && maxRange < nextState.value) {
|
|
603
|
-
maxRange = nextState.value;
|
|
604
|
-
}
|
|
605
|
-
}
|
|
606
|
-
const yearCenter = createYear(props, year);
|
|
607
|
-
return {
|
|
608
|
-
canPrevious: minYear < minRange,
|
|
609
|
-
canNext: maxYear > maxRange,
|
|
610
|
-
maxRange,
|
|
611
|
-
minRange,
|
|
612
|
-
years: [...prevYears, yearCenter, ...nextYears]
|
|
613
|
-
};
|
|
554
|
+
function dateIsOutRangeMax(props) {
|
|
555
|
+
const { date, maxDate } = props;
|
|
556
|
+
return !!maxDate && dateIsAfter(normalizeMaxTime(maxDate), date);
|
|
557
|
+
}
|
|
558
|
+
function dateOutRange(props) {
|
|
559
|
+
return dateIsOutRangeMin(props) || dateIsOutRangeMax(props);
|
|
560
|
+
}
|
|
561
|
+
function checkDateRange(props) {
|
|
562
|
+
const { date, maxDate, minDate } = props;
|
|
563
|
+
return minDate && dateIsOutRangeMax(props)
|
|
564
|
+
? minDate
|
|
565
|
+
: maxDate && dateIsOutRangeMax(props)
|
|
566
|
+
? maxDate
|
|
567
|
+
: date;
|
|
614
568
|
}
|
|
615
569
|
|
|
616
|
-
|
|
570
|
+
const DAYS_WEEK = 7;
|
|
571
|
+
const COUNT_YEAR_RANGE = 4;
|
|
572
|
+
|
|
573
|
+
function createDayState(props, today, value) {
|
|
574
|
+
const { date, day, month, year } = props;
|
|
575
|
+
const dateValue = value && new Date(year, month, value);
|
|
617
576
|
return {
|
|
618
|
-
|
|
619
|
-
|
|
620
|
-
|
|
577
|
+
disabled: dayIsOutside(props, value || 0),
|
|
578
|
+
focused: !!value && day === value,
|
|
579
|
+
forbidden: !value,
|
|
580
|
+
selected: !!dateValue && dateIsEqualsWeight(date, dateValue),
|
|
581
|
+
today: !!dateValue && dateIsEqualsWeight(today, dateValue),
|
|
582
|
+
value
|
|
621
583
|
};
|
|
622
584
|
}
|
|
623
|
-
function
|
|
624
|
-
const
|
|
625
|
-
|
|
626
|
-
|
|
585
|
+
function createFirstWeek$1(props, date, today) {
|
|
586
|
+
const days = [];
|
|
587
|
+
let day = 1;
|
|
588
|
+
for (let start = 0; start < date.getDay(); start++) {
|
|
589
|
+
days.push(createDayState(props, today));
|
|
627
590
|
}
|
|
628
|
-
let
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
search = hasPattern(pattern || '', newStore.pattern, true);
|
|
632
|
-
if (!search) {
|
|
633
|
-
newStore = newStore.previous;
|
|
634
|
-
}
|
|
591
|
+
for (let end = date.getDay(); end < 7; end++) {
|
|
592
|
+
days.push(createDayState(props, today, day));
|
|
593
|
+
day++;
|
|
635
594
|
}
|
|
636
|
-
return
|
|
595
|
+
return { days };
|
|
637
596
|
}
|
|
638
|
-
function
|
|
639
|
-
const
|
|
640
|
-
|
|
641
|
-
|
|
597
|
+
function createDaysPending$1(props, today, days) {
|
|
598
|
+
const daysPending = [];
|
|
599
|
+
const length = 7 - days;
|
|
600
|
+
for (let index = 0; index < length; index++) {
|
|
601
|
+
daysPending.push(createDayState(props, today));
|
|
642
602
|
}
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
603
|
+
return daysPending;
|
|
604
|
+
}
|
|
605
|
+
function createNextWeeks$1(props, date, today) {
|
|
606
|
+
const daysMonth = getDaysOfMonth(date.getFullYear(), date.getMonth());
|
|
607
|
+
const weeks = [];
|
|
608
|
+
let days = [];
|
|
609
|
+
let countDays = 1;
|
|
610
|
+
let day = DAYS_WEEK - date.getDay() + 1;
|
|
611
|
+
do {
|
|
612
|
+
days.push(createDayState(props, today, day));
|
|
613
|
+
day++;
|
|
614
|
+
countDays++;
|
|
615
|
+
if (countDays > DAYS_WEEK) {
|
|
616
|
+
weeks.push({ days });
|
|
617
|
+
days = [];
|
|
618
|
+
countDays = 1;
|
|
652
619
|
}
|
|
653
|
-
};
|
|
620
|
+
} while (day <= daysMonth);
|
|
621
|
+
if (days.length && days.length < DAYS_WEEK) {
|
|
622
|
+
weeks.push({
|
|
623
|
+
days: [...days, ...createDaysPending$1(props, today, days.length)]
|
|
624
|
+
});
|
|
625
|
+
}
|
|
626
|
+
return weeks;
|
|
627
|
+
}
|
|
628
|
+
function dayIsOutsideMin(props, day) {
|
|
629
|
+
const { month, year, minDate } = props;
|
|
630
|
+
return minDate
|
|
631
|
+
? getDateWeight(new Date(year, month, day)) < getDateWeight(minDate)
|
|
632
|
+
: false;
|
|
633
|
+
}
|
|
634
|
+
function dayIsOutsideMax(props, day) {
|
|
635
|
+
const { month, year, maxDate } = props;
|
|
636
|
+
return maxDate
|
|
637
|
+
? getDateWeight(new Date(year, month, day)) > getDateWeight(maxDate)
|
|
638
|
+
: false;
|
|
639
|
+
}
|
|
640
|
+
function dayIsOutside(props, day) {
|
|
641
|
+
return dayIsOutsideMin(props, day) || dayIsOutsideMax(props, day);
|
|
642
|
+
}
|
|
643
|
+
function checkDayPicker(props) {
|
|
644
|
+
const { day, maxDate, minDate } = props;
|
|
645
|
+
return minDate && dayIsOutsideMin(props, day)
|
|
646
|
+
? minDate.getDate()
|
|
647
|
+
: maxDate && dayIsOutsideMax(props, day)
|
|
648
|
+
? maxDate.getDate()
|
|
649
|
+
: undefined;
|
|
650
|
+
}
|
|
651
|
+
function createDayPicker(props) {
|
|
652
|
+
const date = new Date(props.year, props.month, 1);
|
|
653
|
+
const today = new Date();
|
|
654
|
+
const firstWeek = createFirstWeek$1(props, date, today);
|
|
655
|
+
const nextWeeks = createNextWeeks$1(props, date, today);
|
|
656
|
+
return [firstWeek, ...nextWeeks];
|
|
654
657
|
}
|
|
655
658
|
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
const { top, height } = contentElement.getBoundingClientRect();
|
|
661
|
-
const { clientHeight } = listElement;
|
|
662
|
-
return top + height + clientHeight < window.innerHeight;
|
|
663
|
-
}
|
|
664
|
-
return true;
|
|
659
|
+
function dateIsSelected(base, date, day) {
|
|
660
|
+
return (date.getFullYear() === base.getFullYear() &&
|
|
661
|
+
date.getMonth() === base.getMonth() &&
|
|
662
|
+
day === date.getDate());
|
|
665
663
|
}
|
|
666
|
-
function
|
|
667
|
-
|
|
668
|
-
if (!locationListIsBottom(contentElement, listElement)) {
|
|
669
|
-
return undefined;
|
|
670
|
-
}
|
|
671
|
-
const elements = listElement?.querySelectorAll(classElement);
|
|
672
|
-
if (elements?.length) {
|
|
673
|
-
elements.item(0).focus();
|
|
674
|
-
setTimeout(() => {
|
|
675
|
-
listElement?.scroll({ top: 0, behavior: 'smooth' });
|
|
676
|
-
}, 100);
|
|
677
|
-
}
|
|
678
|
-
return POSITION_INITIAL;
|
|
664
|
+
function sourceIsSelected({ sourceDate }, base, day) {
|
|
665
|
+
return dateIsSelected(base, sourceDate, day);
|
|
679
666
|
}
|
|
680
|
-
function
|
|
681
|
-
|
|
682
|
-
|
|
683
|
-
return undefined;
|
|
684
|
-
}
|
|
685
|
-
const elements = listElement?.querySelectorAll(classElement);
|
|
686
|
-
if (!elements?.length) {
|
|
687
|
-
return POSITION_INITIAL;
|
|
688
|
-
}
|
|
689
|
-
const position = elements.length - 1;
|
|
690
|
-
const element = elements.item(position);
|
|
691
|
-
element?.focus();
|
|
692
|
-
setTimeout(() => {
|
|
693
|
-
listElement?.scroll({
|
|
694
|
-
top: element?.offsetTop + element?.offsetLeft,
|
|
695
|
-
behavior: 'smooth'
|
|
696
|
-
});
|
|
697
|
-
}, 100);
|
|
698
|
-
return position;
|
|
667
|
+
function rangeIsSelected({ range }, base, day) {
|
|
668
|
+
return (dateIsSelected(base, range.minDate, day) ||
|
|
669
|
+
dateIsSelected(base, range.maxDate, day));
|
|
699
670
|
}
|
|
700
|
-
function
|
|
701
|
-
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
706
|
-
|
|
671
|
+
function dayIsRange({ range }, base, day) {
|
|
672
|
+
return dateIsBetween(range.minDate, range.maxDate, assignDayInDate(base, day));
|
|
673
|
+
}
|
|
674
|
+
function createDayRangeState(props, base, day) {
|
|
675
|
+
return {
|
|
676
|
+
disabled: dayRangeIsOutside(props, day || 0),
|
|
677
|
+
end: day ? rangeIsSelected(props, base, day) : false,
|
|
678
|
+
forbidden: !day,
|
|
679
|
+
ranged: day ? dayIsRange(props, base, day) : false,
|
|
680
|
+
source: day ? sourceIsSelected(props, base, day) : false,
|
|
681
|
+
value: day
|
|
682
|
+
};
|
|
683
|
+
}
|
|
684
|
+
function createFirstWeek(props, base) {
|
|
685
|
+
const days = [];
|
|
686
|
+
let day = 1;
|
|
687
|
+
for (let start = 0; start < base.getDay(); start++) {
|
|
688
|
+
days.push(createDayRangeState(props, base));
|
|
707
689
|
}
|
|
708
|
-
|
|
709
|
-
|
|
690
|
+
for (let end = base.getDay(); end < 7; end++) {
|
|
691
|
+
days.push(createDayRangeState(props, base, day));
|
|
692
|
+
day++;
|
|
710
693
|
}
|
|
711
|
-
return
|
|
694
|
+
return { days };
|
|
712
695
|
}
|
|
713
|
-
function
|
|
714
|
-
const
|
|
715
|
-
|
|
716
|
-
|
|
717
|
-
|
|
718
|
-
elements?.item(newPosition)?.focus();
|
|
719
|
-
return newPosition;
|
|
696
|
+
function createDaysPending(props, base, days) {
|
|
697
|
+
const daysPending = [];
|
|
698
|
+
const length = 7 - days;
|
|
699
|
+
for (let index = 0; index < length; index++) {
|
|
700
|
+
daysPending.push(createDayRangeState(props, base));
|
|
720
701
|
}
|
|
721
|
-
|
|
722
|
-
|
|
702
|
+
return daysPending;
|
|
703
|
+
}
|
|
704
|
+
function createNextWeeks(props, base) {
|
|
705
|
+
const weeks = [];
|
|
706
|
+
const { date } = props;
|
|
707
|
+
const dayCount = getDaysOfMonth(date.getFullYear(), date.getMonth());
|
|
708
|
+
let days = [];
|
|
709
|
+
let countDays = 1;
|
|
710
|
+
let day = DAYS_WEEK - base.getDay() + 1;
|
|
711
|
+
do {
|
|
712
|
+
days.push(createDayRangeState(props, date, day));
|
|
713
|
+
day++;
|
|
714
|
+
countDays++;
|
|
715
|
+
if (countDays > 7) {
|
|
716
|
+
weeks.push({ days });
|
|
717
|
+
days = [];
|
|
718
|
+
countDays = 1;
|
|
719
|
+
}
|
|
720
|
+
} while (day <= dayCount);
|
|
721
|
+
if (days.length && days.length < DAYS_WEEK) {
|
|
722
|
+
weeks.push({
|
|
723
|
+
days: [...days, ...createDaysPending(props, base, days.length)]
|
|
724
|
+
});
|
|
723
725
|
}
|
|
724
|
-
return
|
|
726
|
+
return weeks;
|
|
727
|
+
}
|
|
728
|
+
function dayRangeIsOutsideMin(props, day) {
|
|
729
|
+
const { date, minDate } = props;
|
|
730
|
+
return minDate
|
|
731
|
+
? getDateWeight(assignDayInDate(date, day)) < getDateWeight(minDate)
|
|
732
|
+
: false;
|
|
733
|
+
}
|
|
734
|
+
function dayRangeIsOutsideMax(props, day) {
|
|
735
|
+
const { date, maxDate } = props;
|
|
736
|
+
return maxDate
|
|
737
|
+
? getDateWeight(assignDayInDate(date, day)) > getDateWeight(maxDate)
|
|
738
|
+
: false;
|
|
725
739
|
}
|
|
726
|
-
function
|
|
727
|
-
|
|
728
|
-
case 'ArrowDown':
|
|
729
|
-
return navigationInputDown(props);
|
|
730
|
-
case 'ArrowUp':
|
|
731
|
-
return navigationInputUp(props);
|
|
732
|
-
default:
|
|
733
|
-
return undefined;
|
|
734
|
-
}
|
|
740
|
+
function dayRangeIsOutside(props, day) {
|
|
741
|
+
return dayRangeIsOutsideMin(props, day) || dayRangeIsOutsideMax(props, day);
|
|
735
742
|
}
|
|
736
|
-
function
|
|
737
|
-
const
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
|
|
741
|
-
case 'ArrowUp':
|
|
742
|
-
return navigationElementUp(props);
|
|
743
|
-
default:
|
|
744
|
-
return POSITION_INITIAL;
|
|
745
|
-
}
|
|
743
|
+
function createDayRangePicker(props) {
|
|
744
|
+
const date = new Date(props.date.getFullYear(), props.date.getMonth(), 1);
|
|
745
|
+
const firstWeek = createFirstWeek(props, date);
|
|
746
|
+
const nextWeeks = createNextWeeks(props, date);
|
|
747
|
+
return [firstWeek, ...nextWeeks];
|
|
746
748
|
}
|
|
747
749
|
|
|
748
|
-
|
|
749
|
-
|
|
750
|
-
|
|
751
|
-
|
|
752
|
-
|
|
753
|
-
|
|
750
|
+
function createMonthState(props, value) {
|
|
751
|
+
const { date, month, year } = props;
|
|
752
|
+
return {
|
|
753
|
+
disabled: monthIsOutside(props, value),
|
|
754
|
+
focused: value === month,
|
|
755
|
+
label: MONTH_NAMES()[value],
|
|
756
|
+
selected: date.getFullYear() === year && value === date.getMonth(),
|
|
757
|
+
value
|
|
758
|
+
};
|
|
759
|
+
}
|
|
760
|
+
function monthIsOutsideMin(props, month) {
|
|
761
|
+
const { year, minDate } = props;
|
|
762
|
+
return minDate
|
|
763
|
+
? minDate.getFullYear() === year && month < minDate.getMonth()
|
|
764
|
+
: false;
|
|
765
|
+
}
|
|
766
|
+
function monthIsOutsideMax(props, month) {
|
|
767
|
+
const { year, maxDate } = props;
|
|
768
|
+
return maxDate
|
|
769
|
+
? maxDate.getFullYear() === year && month > maxDate.getMonth()
|
|
770
|
+
: false;
|
|
771
|
+
}
|
|
772
|
+
function monthIsOutside(props, month) {
|
|
773
|
+
return monthIsOutsideMin(props, month) || monthIsOutsideMax(props, month);
|
|
774
|
+
}
|
|
775
|
+
function checkMonthPicker(props) {
|
|
776
|
+
const { maxDate, minDate, month } = props;
|
|
777
|
+
return minDate && monthIsOutsideMin(props, month)
|
|
778
|
+
? minDate.getMonth()
|
|
779
|
+
: maxDate && monthIsOutsideMax(props, month)
|
|
780
|
+
? maxDate.getMonth()
|
|
781
|
+
: undefined;
|
|
782
|
+
}
|
|
783
|
+
function createMonthPicker(props) {
|
|
784
|
+
return [
|
|
785
|
+
createMonthState(props, Month.January),
|
|
786
|
+
createMonthState(props, Month.February),
|
|
787
|
+
createMonthState(props, Month.March),
|
|
788
|
+
createMonthState(props, Month.April),
|
|
789
|
+
createMonthState(props, Month.May),
|
|
790
|
+
createMonthState(props, Month.June),
|
|
791
|
+
createMonthState(props, Month.July),
|
|
792
|
+
createMonthState(props, Month.August),
|
|
793
|
+
createMonthState(props, Month.September),
|
|
794
|
+
createMonthState(props, Month.October),
|
|
795
|
+
createMonthState(props, Month.November),
|
|
796
|
+
createMonthState(props, Month.December)
|
|
797
|
+
];
|
|
798
|
+
}
|
|
799
|
+
function monthIsLimitMin(props) {
|
|
800
|
+
const { month, date, minDate } = props;
|
|
801
|
+
if (itIsDefined(month) && date) {
|
|
802
|
+
const minYear = minDate ? minDate.getFullYear() : 0;
|
|
803
|
+
const minMonth = minDate ? minDate.getMonth() : 0;
|
|
804
|
+
return date.getFullYear() === minYear && month <= minMonth;
|
|
754
805
|
}
|
|
806
|
+
return false;
|
|
807
|
+
}
|
|
808
|
+
function monthIsLimitMax(props) {
|
|
809
|
+
const { month, date, maxDate } = props;
|
|
810
|
+
if (itIsDefined(month) && date) {
|
|
811
|
+
const maxYear = maxDate ? maxDate.getFullYear() : 10000;
|
|
812
|
+
const maxMonth = maxDate ? maxDate.getMonth() : 11;
|
|
813
|
+
return date.getFullYear() === maxYear && month >= maxMonth;
|
|
814
|
+
}
|
|
815
|
+
return false;
|
|
816
|
+
}
|
|
817
|
+
function monthLimitTemplate(props) {
|
|
818
|
+
return {
|
|
819
|
+
limitNext: monthIsLimitMax(props),
|
|
820
|
+
limitPrevious: monthIsLimitMin(props)
|
|
821
|
+
};
|
|
755
822
|
}
|
|
756
823
|
|
|
757
|
-
|
|
758
|
-
|
|
759
|
-
|
|
760
|
-
|
|
761
|
-
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
}
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
|
|
787
|
-
|
|
788
|
-
|
|
789
|
-
|
|
790
|
-
}
|
|
791
|
-
|
|
792
|
-
|
|
793
|
-
|
|
794
|
-
|
|
795
|
-
|
|
796
|
-
|
|
797
|
-
|
|
798
|
-
|
|
799
|
-
|
|
800
|
-
const
|
|
801
|
-
|
|
802
|
-
|
|
803
|
-
|
|
804
|
-
|
|
805
|
-
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
|
|
810
|
-
|
|
811
|
-
|
|
812
|
-
|
|
813
|
-
|
|
814
|
-
|
|
815
|
-
|
|
816
|
-
|
|
817
|
-
|
|
818
|
-
|
|
819
|
-
|
|
820
|
-
|
|
821
|
-
: new DateRange(date, sourceDate.current);
|
|
822
|
-
sourceDate.current = date;
|
|
823
|
-
setRange(range);
|
|
824
|
-
formControl?.setState(range);
|
|
825
|
-
}
|
|
826
|
-
return (jsxs("div", { className: "rls-day-range-picker", "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-day-range-picker__title", children: dateFormatTemplate(sourceDate.current, DATE_RANGE_FORMAT) }), jsx("div", { className: "rls-day-range-picker__header", children: DAY_LABELS().map((title, index) => (jsx("label", { className: "rls-day-range-picker__label", children: title }, index))) }), jsx("div", { className: "rls-day-range-picker__component", children: weeks.map(({ days }, index) => (jsx("div", { className: "rls-day-range-picker__week", children: days.map(({ disabled, end, forbidden, source, ranged, value }, index) => (jsx("div", { className: renderClassStatus('rls-day-range-picker__day', {
|
|
827
|
-
disabled: disabled || disabledPicker,
|
|
828
|
-
end,
|
|
829
|
-
forbidden,
|
|
830
|
-
ranged,
|
|
831
|
-
source
|
|
832
|
-
}), onClick: value && !disabledPicker ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-day-range-picker__day__span", children: value || '??' }) }, index))) }, index))) })] }));
|
|
833
|
-
}
|
|
834
|
-
|
|
835
|
-
function RlsMoneyField({ children, decimals, disabled, formControl, placeholder, symbol, rlsTheme, value, onValue }) {
|
|
836
|
-
return (jsxs("div", { className: renderClassStatus('rls-box-field', {
|
|
837
|
-
focused: formControl?.focused,
|
|
838
|
-
error: formControl?.wrong,
|
|
839
|
-
disabled: formControl?.disabled || disabled
|
|
840
|
-
}, 'rls-money-field'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-box-field__label", children: children }), jsx("div", { className: "rls-box-field__component", children: jsx("div", { className: "rls-box-field__body", children: jsx(RlsInputMoney, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, symbol: symbol, decimals: decimals, onValue: onValue }) }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-box-field__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
841
|
-
}
|
|
842
|
-
|
|
843
|
-
function RlsMonthPicker({ date, disabled: disabledPicker, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
|
|
844
|
-
const currentDate = date || new Date();
|
|
845
|
-
const [months, setMonths] = useState([]);
|
|
846
|
-
const [value, setValue] = useState(formControl?.state || currentDate.getMonth());
|
|
847
|
-
useEffect(() => {
|
|
848
|
-
const props = createPickerProps(); // MonthPickerProps
|
|
849
|
-
const month = checkMonthPicker(props);
|
|
850
|
-
month ? setMonthValue(month) : setMonths(createMonthPicker(props));
|
|
851
|
-
}, [date, year, value, minDate, maxDate]);
|
|
852
|
-
useEffect(() => {
|
|
853
|
-
const month = checkMonthPicker(createPickerProps());
|
|
854
|
-
itIsDefined(month)
|
|
855
|
-
? formControl?.setState(month)
|
|
856
|
-
: setValue(formControl?.state || currentDate.getMonth());
|
|
857
|
-
}, [formControl?.state]);
|
|
858
|
-
function createPickerProps() {
|
|
859
|
-
return {
|
|
860
|
-
date: currentDate,
|
|
861
|
-
month: itIsDefined(formControl?.state) ? formControl?.state : value,
|
|
862
|
-
year: year || currentDate.getFullYear(),
|
|
863
|
-
minDate,
|
|
864
|
-
maxDate
|
|
865
|
-
};
|
|
866
|
-
}
|
|
867
|
-
function setMonthValue(value) {
|
|
868
|
-
formControl ? formControl.setState(value) : setValue(value);
|
|
869
|
-
}
|
|
870
|
-
function onChange(value) {
|
|
871
|
-
setMonthValue(value);
|
|
872
|
-
if (onValue) {
|
|
873
|
-
onValue(value);
|
|
874
|
-
}
|
|
875
|
-
}
|
|
876
|
-
return (jsx("div", { className: "rls-month-picker", "rls-theme": rlsTheme, children: months.map(({ label, value, disabled, focused, selected }, index) => (jsx("div", { className: renderClassStatus('rls-month-picker__component', {
|
|
877
|
-
disabled: disabled || disabledPicker,
|
|
878
|
-
focused,
|
|
879
|
-
selected
|
|
880
|
-
}), onClick: !(disabled || disabledPicker) ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-month-picker__span", children: label }) }, index))) }));
|
|
881
|
-
}
|
|
882
|
-
|
|
883
|
-
function RlsMonthTitlePicker({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
|
|
884
|
-
const { limitNext, limitPrevious } = monthLimitTemplate({
|
|
885
|
-
date,
|
|
886
|
-
maxDate,
|
|
887
|
-
minDate,
|
|
888
|
-
month: monthControl.state
|
|
889
|
-
});
|
|
890
|
-
const monthName = MONTH_NAMES()[monthControl.state || 0];
|
|
891
|
-
function onPreviousMonth() {
|
|
892
|
-
if (itIsDefined(monthControl.state) && itIsDefined(yearControl.state)) {
|
|
893
|
-
if (monthControl.state > Month.January) {
|
|
894
|
-
monthControl.setState(monthControl.state - 1);
|
|
895
|
-
}
|
|
896
|
-
else {
|
|
897
|
-
monthControl.setState(Month.December);
|
|
898
|
-
yearControl.setState(yearControl.state - 1);
|
|
899
|
-
}
|
|
900
|
-
}
|
|
901
|
-
}
|
|
902
|
-
function onPreviousYear() {
|
|
903
|
-
if (itIsDefined(yearControl.state)) {
|
|
904
|
-
yearControl.setState(yearControl.state - 1);
|
|
905
|
-
}
|
|
906
|
-
}
|
|
907
|
-
function onPrevious() {
|
|
908
|
-
type === 'month' ? onPreviousMonth() : onPreviousYear();
|
|
909
|
-
}
|
|
910
|
-
function onNextMonth() {
|
|
911
|
-
if (itIsDefined(monthControl.state) && itIsDefined(yearControl.state)) {
|
|
912
|
-
if (monthControl.state < Month.December) {
|
|
913
|
-
monthControl.setState(monthControl.state + 1);
|
|
914
|
-
}
|
|
915
|
-
else {
|
|
916
|
-
monthControl.setState(Month.January);
|
|
917
|
-
yearControl.setState(yearControl.state + 1);
|
|
918
|
-
}
|
|
919
|
-
}
|
|
920
|
-
}
|
|
921
|
-
function onNextYear() {
|
|
922
|
-
if (itIsDefined(yearControl.state)) {
|
|
923
|
-
yearControl.setState(yearControl.state + 1);
|
|
924
|
-
}
|
|
925
|
-
}
|
|
926
|
-
function onNext() {
|
|
927
|
-
type === 'month' ? onNextMonth() : onNextYear();
|
|
928
|
-
}
|
|
929
|
-
return (jsxs("div", { className: "rls-month-title-picker", children: [jsx(RlsButtonAction, { icon: "arrow-ios-left", onClick: onPrevious, disabled: limitPrevious || disabled }), jsx("span", { onClick: onClick, children: monthName }), jsx(RlsButtonAction, { icon: "arrow-ios-right", onClick: onNext, disabled: limitNext || disabled })] }));
|
|
930
|
-
}
|
|
931
|
-
|
|
932
|
-
function RlsNumberField({ children, disabled, formControl, placeholder, rlsTheme, value, onValue }) {
|
|
933
|
-
return (jsxs("div", { className: renderClassStatus('rls-box-field', {
|
|
934
|
-
focused: formControl?.focused,
|
|
935
|
-
error: formControl?.wrong,
|
|
936
|
-
disabled: formControl?.disabled || disabled
|
|
937
|
-
}, 'rls-number-field'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-box-field__label", children: children }), jsx("div", { className: "rls-box-field__component", children: jsx("div", { className: "rls-box-field__body", children: jsx(RlsInputNumber, { formControl: formControl, value: value, disabled: disabled, placeholder: placeholder, onValue: onValue }) }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-box-field__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }));
|
|
824
|
+
var PickerListenerType;
|
|
825
|
+
(function (PickerListenerType) {
|
|
826
|
+
PickerListenerType["Select"] = "PickerSelect";
|
|
827
|
+
PickerListenerType["Now"] = "PickerNow";
|
|
828
|
+
PickerListenerType["Cancel"] = "PickerCancel";
|
|
829
|
+
})(PickerListenerType || (PickerListenerType = {}));
|
|
830
|
+
|
|
831
|
+
function createYear(props, value) {
|
|
832
|
+
const { date, year } = props;
|
|
833
|
+
return {
|
|
834
|
+
disabled: !value,
|
|
835
|
+
focused: value === year,
|
|
836
|
+
selected: value === date.getFullYear(),
|
|
837
|
+
value
|
|
838
|
+
};
|
|
839
|
+
}
|
|
840
|
+
function yearIsOutlineMin(props) {
|
|
841
|
+
const { year, minDate } = props;
|
|
842
|
+
return minDate ? year < minDate.getFullYear() : false;
|
|
843
|
+
}
|
|
844
|
+
function yearIsOutlineMax(props) {
|
|
845
|
+
const { year, maxDate } = props;
|
|
846
|
+
return maxDate ? year > maxDate.getFullYear() : false;
|
|
847
|
+
}
|
|
848
|
+
function checkYearPicker(props) {
|
|
849
|
+
const { maxDate, minDate } = props;
|
|
850
|
+
return minDate && yearIsOutlineMin(props)
|
|
851
|
+
? minDate.getFullYear()
|
|
852
|
+
: maxDate && yearIsOutlineMax(props)
|
|
853
|
+
? maxDate.getFullYear()
|
|
854
|
+
: undefined;
|
|
855
|
+
}
|
|
856
|
+
function createYearPicker(props) {
|
|
857
|
+
const { year, maxDate, minDate } = props;
|
|
858
|
+
const prevYears = [];
|
|
859
|
+
const nextYears = [];
|
|
860
|
+
let minRange = year;
|
|
861
|
+
let maxRange = year;
|
|
862
|
+
const minYear = minDate?.getFullYear() || 0;
|
|
863
|
+
const maxYear = maxDate?.getFullYear() || 10000;
|
|
864
|
+
for (let index = 0; index < COUNT_YEAR_RANGE; index++) {
|
|
865
|
+
const prevValue = year - COUNT_YEAR_RANGE + index;
|
|
866
|
+
const nextValue = year + index + 1;
|
|
867
|
+
const prevYear = prevValue >= minYear ? prevValue : undefined;
|
|
868
|
+
const nextYear = nextValue <= maxYear ? nextValue : undefined;
|
|
869
|
+
const prevState = createYear(props, prevYear);
|
|
870
|
+
const nextState = createYear(props, nextYear);
|
|
871
|
+
prevYears.push(prevState);
|
|
872
|
+
nextYears.push(nextState);
|
|
873
|
+
if (!!prevState.value && minRange > prevState.value) {
|
|
874
|
+
minRange = prevState.value;
|
|
875
|
+
}
|
|
876
|
+
if (!!nextState.value && maxRange < nextState.value) {
|
|
877
|
+
maxRange = nextState.value;
|
|
878
|
+
}
|
|
879
|
+
}
|
|
880
|
+
const yearCenter = createYear(props, year);
|
|
881
|
+
return {
|
|
882
|
+
canPrevious: minYear < minRange,
|
|
883
|
+
canNext: maxYear > maxRange,
|
|
884
|
+
maxRange,
|
|
885
|
+
minRange,
|
|
886
|
+
years: [...prevYears, yearCenter, ...nextYears]
|
|
887
|
+
};
|
|
938
888
|
}
|
|
939
889
|
|
|
940
|
-
|
|
941
|
-
|
|
942
|
-
|
|
943
|
-
|
|
944
|
-
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
|
|
948
|
-
const
|
|
949
|
-
|
|
950
|
-
|
|
951
|
-
|
|
952
|
-
|
|
953
|
-
|
|
954
|
-
|
|
955
|
-
|
|
956
|
-
|
|
957
|
-
|
|
958
|
-
|
|
959
|
-
|
|
960
|
-
|
|
961
|
-
|
|
962
|
-
|
|
963
|
-
|
|
964
|
-
|
|
965
|
-
|
|
966
|
-
|
|
967
|
-
|
|
968
|
-
|
|
969
|
-
|
|
970
|
-
|
|
971
|
-
|
|
972
|
-
|
|
973
|
-
|
|
974
|
-
|
|
975
|
-
|
|
976
|
-
|
|
977
|
-
|
|
978
|
-
|
|
979
|
-
|
|
980
|
-
|
|
981
|
-
|
|
982
|
-
|
|
983
|
-
|
|
984
|
-
|
|
985
|
-
|
|
986
|
-
|
|
987
|
-
|
|
988
|
-
|
|
989
|
-
|
|
990
|
-
|
|
991
|
-
|
|
992
|
-
|
|
993
|
-
|
|
994
|
-
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
1003
|
-
|
|
1004
|
-
|
|
1005
|
-
|
|
1006
|
-
|
|
1007
|
-
|
|
1008
|
-
|
|
1009
|
-
|
|
1010
|
-
|
|
1011
|
-
|
|
1012
|
-
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
|
|
1016
|
-
|
|
1017
|
-
|
|
1018
|
-
|
|
1019
|
-
|
|
1020
|
-
|
|
1021
|
-
|
|
1022
|
-
|
|
1023
|
-
|
|
1024
|
-
|
|
1025
|
-
|
|
1026
|
-
|
|
1027
|
-
|
|
1028
|
-
|
|
1029
|
-
|
|
1030
|
-
|
|
1031
|
-
|
|
1032
|
-
|
|
1033
|
-
|
|
1034
|
-
|
|
1035
|
-
|
|
1036
|
-
|
|
1037
|
-
|
|
1038
|
-
}
|
|
1039
|
-
|
|
1040
|
-
elements
|
|
1041
|
-
|
|
1042
|
-
|
|
1043
|
-
|
|
1044
|
-
|
|
1045
|
-
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
|
|
1049
|
-
|
|
1050
|
-
|
|
1051
|
-
|
|
1052
|
-
|
|
1053
|
-
|
|
1054
|
-
|
|
1055
|
-
|
|
1056
|
-
|
|
1057
|
-
|
|
1058
|
-
}
|
|
1059
|
-
|
|
1060
|
-
|
|
1061
|
-
|
|
1062
|
-
|
|
1063
|
-
|
|
1064
|
-
|
|
1065
|
-
|
|
1066
|
-
|
|
1067
|
-
|
|
1068
|
-
|
|
1069
|
-
|
|
1070
|
-
|
|
1071
|
-
|
|
1072
|
-
|
|
1073
|
-
|
|
1074
|
-
|
|
1075
|
-
|
|
1076
|
-
|
|
1077
|
-
|
|
1078
|
-
|
|
1079
|
-
|
|
1080
|
-
|
|
1081
|
-
|
|
1082
|
-
|
|
1083
|
-
|
|
1084
|
-
|
|
1085
|
-
|
|
1086
|
-
|
|
1087
|
-
|
|
1088
|
-
|
|
1089
|
-
|
|
1090
|
-
|
|
1091
|
-
|
|
1092
|
-
|
|
1093
|
-
|
|
1094
|
-
|
|
1095
|
-
|
|
1096
|
-
|
|
1097
|
-
for (let i = minIndexPage; i < maxPageVisible; i++) {
|
|
1098
|
-
const pagination = createPagination(i, index);
|
|
1099
|
-
paginations.push(pagination);
|
|
1100
|
-
pagination.prev = prevPagination;
|
|
1101
|
-
if (prevPagination) {
|
|
1102
|
-
prevPagination.next = pagination;
|
|
1103
|
-
}
|
|
1104
|
-
prevPagination = pagination;
|
|
1105
|
-
}
|
|
1106
|
-
setPaginations(paginations);
|
|
1107
|
-
}
|
|
1108
|
-
function clonePage(pagePartial) {
|
|
890
|
+
function createEmptyStore() {
|
|
891
|
+
return {
|
|
892
|
+
coincidences: undefined,
|
|
893
|
+
pattern: '',
|
|
894
|
+
previous: null
|
|
895
|
+
};
|
|
896
|
+
}
|
|
897
|
+
function searchForPattern(props) {
|
|
898
|
+
const { pattern, store } = props;
|
|
899
|
+
if (!store?.pattern) {
|
|
900
|
+
return null;
|
|
901
|
+
}
|
|
902
|
+
let newStore = store;
|
|
903
|
+
let search = false;
|
|
904
|
+
while (!search && newStore) {
|
|
905
|
+
search = hasPattern(pattern || '', newStore.pattern, true);
|
|
906
|
+
if (!search) {
|
|
907
|
+
newStore = newStore.previous;
|
|
908
|
+
}
|
|
909
|
+
}
|
|
910
|
+
return newStore || createEmptyStore();
|
|
911
|
+
}
|
|
912
|
+
function createStoreAutocomplete(props) {
|
|
913
|
+
const { pattern, suggestions, reboot } = props;
|
|
914
|
+
if (!pattern) {
|
|
915
|
+
return { collection: suggestions, store: createEmptyStore() };
|
|
916
|
+
}
|
|
917
|
+
const store = reboot ? createEmptyStore() : searchForPattern(props);
|
|
918
|
+
const elements = store?.coincidences || suggestions;
|
|
919
|
+
const coincidences = elements.filter((element) => element.hasCoincidence(pattern));
|
|
920
|
+
return {
|
|
921
|
+
collection: coincidences,
|
|
922
|
+
store: {
|
|
923
|
+
coincidences,
|
|
924
|
+
pattern,
|
|
925
|
+
previous: store
|
|
926
|
+
}
|
|
927
|
+
};
|
|
928
|
+
}
|
|
929
|
+
|
|
930
|
+
const classElement = '.rls-list-field__element';
|
|
931
|
+
const POSITION_INITIAL = 0;
|
|
932
|
+
function locationListIsBottom(contentElement, listElement) {
|
|
933
|
+
if (contentElement && listElement) {
|
|
934
|
+
const { top, height } = contentElement.getBoundingClientRect();
|
|
935
|
+
const { clientHeight } = listElement;
|
|
936
|
+
return top + height + clientHeight < window.innerHeight;
|
|
937
|
+
}
|
|
938
|
+
return true;
|
|
939
|
+
}
|
|
940
|
+
function navigationInputDown(props) {
|
|
941
|
+
const { contentElement, listElement } = props;
|
|
942
|
+
if (!locationListIsBottom(contentElement, listElement)) {
|
|
943
|
+
return undefined;
|
|
944
|
+
}
|
|
945
|
+
const elements = listElement?.querySelectorAll(classElement);
|
|
946
|
+
if (elements?.length) {
|
|
947
|
+
elements.item(0).focus();
|
|
948
|
+
setTimeout(() => {
|
|
949
|
+
listElement?.scroll({ top: 0, behavior: 'smooth' });
|
|
950
|
+
}, 100);
|
|
951
|
+
}
|
|
952
|
+
return POSITION_INITIAL;
|
|
953
|
+
}
|
|
954
|
+
function navigationInputUp(props) {
|
|
955
|
+
const { contentElement, listElement } = props;
|
|
956
|
+
if (locationListIsBottom(contentElement, listElement)) {
|
|
957
|
+
return undefined;
|
|
958
|
+
}
|
|
959
|
+
const elements = listElement?.querySelectorAll(classElement);
|
|
960
|
+
if (!elements?.length) {
|
|
961
|
+
return POSITION_INITIAL;
|
|
962
|
+
}
|
|
963
|
+
const position = elements.length - 1;
|
|
964
|
+
const element = elements.item(position);
|
|
965
|
+
element?.focus();
|
|
966
|
+
setTimeout(() => {
|
|
967
|
+
listElement?.scroll({
|
|
968
|
+
top: element?.offsetTop + element?.offsetLeft,
|
|
969
|
+
behavior: 'smooth'
|
|
970
|
+
});
|
|
971
|
+
}, 100);
|
|
972
|
+
return position;
|
|
973
|
+
}
|
|
974
|
+
function navigationElementDown(props) {
|
|
975
|
+
const { contentElement, inputElement, listElement, position } = props;
|
|
976
|
+
const elements = listElement?.querySelectorAll(classElement);
|
|
977
|
+
const newPosition = position + 1;
|
|
978
|
+
if (newPosition < (elements?.length || 0)) {
|
|
979
|
+
elements?.item(newPosition)?.focus();
|
|
980
|
+
return newPosition;
|
|
981
|
+
}
|
|
982
|
+
if (!locationListIsBottom(contentElement, listElement)) {
|
|
983
|
+
inputElement?.focus();
|
|
984
|
+
}
|
|
985
|
+
return position;
|
|
986
|
+
}
|
|
987
|
+
function navigationElementUp(props) {
|
|
988
|
+
const { contentElement, inputElement, listElement, position } = props;
|
|
989
|
+
if (position > 0) {
|
|
990
|
+
const elements = listElement?.querySelectorAll(classElement);
|
|
991
|
+
const newPosition = position - 1;
|
|
992
|
+
elements?.item(newPosition)?.focus();
|
|
993
|
+
return newPosition;
|
|
994
|
+
}
|
|
995
|
+
if (locationListIsBottom(contentElement, listElement)) {
|
|
996
|
+
inputElement?.focus();
|
|
997
|
+
}
|
|
998
|
+
return POSITION_INITIAL;
|
|
999
|
+
}
|
|
1000
|
+
function listNavigationInput(props) {
|
|
1001
|
+
switch (props.event.code) {
|
|
1002
|
+
case 'ArrowDown':
|
|
1003
|
+
return navigationInputDown(props);
|
|
1004
|
+
case 'ArrowUp':
|
|
1005
|
+
return navigationInputUp(props);
|
|
1006
|
+
default:
|
|
1007
|
+
return undefined;
|
|
1008
|
+
}
|
|
1009
|
+
}
|
|
1010
|
+
function listNavigationElement(props) {
|
|
1011
|
+
const { event } = props;
|
|
1012
|
+
switch (event.code) {
|
|
1013
|
+
case 'ArrowDown':
|
|
1014
|
+
return navigationElementDown(props);
|
|
1015
|
+
case 'ArrowUp':
|
|
1016
|
+
return navigationElementUp(props);
|
|
1017
|
+
default:
|
|
1018
|
+
return POSITION_INITIAL;
|
|
1019
|
+
}
|
|
1020
|
+
}
|
|
1021
|
+
|
|
1022
|
+
class ListCollection {
|
|
1023
|
+
constructor(value) {
|
|
1024
|
+
this.value = value;
|
|
1025
|
+
}
|
|
1026
|
+
find(element) {
|
|
1027
|
+
return this.value.find((current) => current.compareTo(element));
|
|
1028
|
+
}
|
|
1029
|
+
}
|
|
1030
|
+
|
|
1031
|
+
function RlsPickerDay({ date, disabled: disabledPicker, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
|
|
1032
|
+
const currentDate = date || new Date(); // Initial date
|
|
1033
|
+
const [weeks, setWeeks] = useState([]);
|
|
1034
|
+
const [value, setValue] = useState(formControl?.state || currentDate.getDate());
|
|
1035
|
+
useEffect(() => {
|
|
1036
|
+
const props = createPickerProps();
|
|
1037
|
+
const day = checkDayPicker(props);
|
|
1038
|
+
day ? setDayValue(day) : setWeeks(createDayPicker(props));
|
|
1039
|
+
}, [date, month, year, value, minDate, maxDate]);
|
|
1040
|
+
useEffect(() => {
|
|
1041
|
+
const day = checkDayPicker(createPickerProps());
|
|
1042
|
+
day
|
|
1043
|
+
? formControl?.setState(day)
|
|
1044
|
+
: setValue(formControl?.state || currentDate.getDate());
|
|
1045
|
+
}, [formControl?.state]);
|
|
1046
|
+
function createPickerProps() {
|
|
1109
1047
|
return {
|
|
1110
|
-
|
|
1111
|
-
|
|
1112
|
-
|
|
1113
|
-
|
|
1048
|
+
date: currentDate,
|
|
1049
|
+
day: formControl?.state || value,
|
|
1050
|
+
month: itIsDefined(month) ? month : currentDate.getMonth(),
|
|
1051
|
+
year: year || currentDate.getFullYear(),
|
|
1052
|
+
minDate,
|
|
1053
|
+
maxDate
|
|
1114
1054
|
};
|
|
1115
1055
|
}
|
|
1116
|
-
function
|
|
1117
|
-
|
|
1118
|
-
}
|
|
1119
|
-
function refreshPage(elements, filter) {
|
|
1120
|
-
const collection = refreshCollection(elements, filter);
|
|
1121
|
-
const maxPage = refreshMaxPage(collection, count);
|
|
1122
|
-
const index = refreshIndex(collection, maxPage);
|
|
1123
|
-
return clonePage({ collection, index, maxPage });
|
|
1056
|
+
function setDayValue(value) {
|
|
1057
|
+
formControl ? formControl.setState(value) : setValue(value);
|
|
1124
1058
|
}
|
|
1125
|
-
function
|
|
1126
|
-
|
|
1127
|
-
|
|
1128
|
-
|
|
1129
|
-
value,
|
|
1130
|
-
active
|
|
1131
|
-
};
|
|
1132
|
-
if (active) {
|
|
1133
|
-
setCurrentPagination(pagination);
|
|
1059
|
+
function onChange(value) {
|
|
1060
|
+
setDayValue(value);
|
|
1061
|
+
if (onValue) {
|
|
1062
|
+
onValue(value);
|
|
1134
1063
|
}
|
|
1135
|
-
return pagination;
|
|
1136
|
-
}
|
|
1137
|
-
function rebootPagination() {
|
|
1138
|
-
setCollection([]);
|
|
1139
|
-
setMaxPage(0);
|
|
1140
|
-
setIndex(0);
|
|
1141
|
-
setPaginations([]);
|
|
1142
|
-
onChangeElements([]);
|
|
1143
1064
|
}
|
|
1144
|
-
return (jsxs("div", { className: "rls-
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
|
|
1148
|
-
|
|
1149
|
-
|
|
1150
|
-
|
|
1065
|
+
return (jsxs("div", { className: "rls-picker-day", "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-picker-day__header", children: DAY_LABELS().map((title, index) => (jsx("label", { className: "rls-picker-day__label", children: title }, index))) }), jsx("div", { className: "rls-picker-day__component", children: weeks.map(({ days }, index) => (jsx("div", { className: "rls-picker-day__week", children: days.map(({ value, disabled, focused, forbidden, selected, today }, index) => (jsx("div", { className: renderClassStatus('rls-picker-day__element', {
|
|
1066
|
+
disabled: disabled || disabledPicker,
|
|
1067
|
+
focused,
|
|
1068
|
+
forbidden,
|
|
1069
|
+
selected,
|
|
1070
|
+
today
|
|
1071
|
+
}), onClick: value && !disabledPicker ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-picker-day__element__span", children: value || '??' }) }, index))) }, index))) })] }));
|
|
1151
1072
|
}
|
|
1152
1073
|
|
|
1153
|
-
|
|
1154
|
-
|
|
1155
|
-
|
|
1156
|
-
|
|
1074
|
+
const DATE_RANGE_FORMAT = '{dd}/{mx}/{aa}';
|
|
1075
|
+
|
|
1076
|
+
function RlsPickerDayRange({ date, disabled: disabledPicker, formControl, maxDate, minDate, rlsTheme }) {
|
|
1077
|
+
const currentRange = formControl?.state || DateRange.now();
|
|
1078
|
+
const currentDate = normalizeMinTime(date || currentRange.minDate);
|
|
1079
|
+
const sourceDate = useRef(currentRange.minDate);
|
|
1080
|
+
const [weeks, setWeeks] = useState([]);
|
|
1081
|
+
const [range, setRange] = useState(currentRange);
|
|
1082
|
+
useEffect(() => {
|
|
1083
|
+
setWeeks(createDayRangePicker({
|
|
1084
|
+
date: currentDate,
|
|
1085
|
+
range,
|
|
1086
|
+
sourceDate: sourceDate.current,
|
|
1087
|
+
minDate,
|
|
1088
|
+
maxDate
|
|
1089
|
+
}));
|
|
1090
|
+
}, [range, date, minDate, maxDate]);
|
|
1091
|
+
function onChange(value) {
|
|
1092
|
+
const date = assignDayInDate(currentDate, value);
|
|
1093
|
+
const range = dateIsBefore(date, sourceDate.current)
|
|
1094
|
+
? new DateRange(sourceDate.current, date)
|
|
1095
|
+
: new DateRange(date, sourceDate.current);
|
|
1096
|
+
sourceDate.current = date;
|
|
1097
|
+
setRange(range);
|
|
1098
|
+
formControl?.setState(range);
|
|
1157
1099
|
}
|
|
1158
|
-
return (jsxs("div", { className: renderClassStatus('
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1162
|
-
|
|
1100
|
+
return (jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-picker-day-range__title", children: dateFormatTemplate(sourceDate.current, DATE_RANGE_FORMAT) }), jsx("div", { className: "rls-picker-day-range__header", children: DAY_LABELS().map((title, index) => (jsx("label", { className: "rls-picker-day-range__label", children: title }, index))) }), jsx("div", { className: "rls-picker-day-range__component", children: weeks.map(({ days }, index) => (jsx("div", { className: "rls-picker-day-range__week", children: days.map(({ disabled, end, forbidden, source, ranged, value }, index) => (jsx("div", { className: renderClassStatus('rls-picker-day-range__element', {
|
|
1101
|
+
disabled: disabled || disabledPicker,
|
|
1102
|
+
end,
|
|
1103
|
+
forbidden,
|
|
1104
|
+
ranged,
|
|
1105
|
+
source
|
|
1106
|
+
}), onClick: value && !disabledPicker ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-picker-day-range__element__span", children: value || '??' }) }, index))) }, index))) })] }));
|
|
1163
1107
|
}
|
|
1164
1108
|
|
|
1165
|
-
function
|
|
1166
|
-
const
|
|
1109
|
+
function RlsPickerMonth({ date, disabled: disabledPicker, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
|
|
1110
|
+
const currentDate = date || new Date();
|
|
1111
|
+
const [months, setMonths] = useState([]);
|
|
1112
|
+
const [value, setValue] = useState(formControl?.state || currentDate.getMonth());
|
|
1167
1113
|
useEffect(() => {
|
|
1168
|
-
|
|
1114
|
+
const props = createPickerProps(); // MonthPickerProps
|
|
1115
|
+
const month = checkMonthPicker(props);
|
|
1116
|
+
month ? setMonthValue(month) : setMonths(createMonthPicker(props));
|
|
1117
|
+
}, [date, year, value, minDate, maxDate]);
|
|
1118
|
+
useEffect(() => {
|
|
1119
|
+
const month = checkMonthPicker(createPickerProps());
|
|
1120
|
+
itIsDefined(month)
|
|
1121
|
+
? formControl?.setState(month)
|
|
1122
|
+
: setValue(formControl?.state || currentDate.getMonth());
|
|
1169
1123
|
}, [formControl?.state]);
|
|
1170
|
-
function
|
|
1171
|
-
|
|
1172
|
-
|
|
1124
|
+
function createPickerProps() {
|
|
1125
|
+
return {
|
|
1126
|
+
date: currentDate,
|
|
1127
|
+
month: itIsDefined(formControl?.state) ? formControl?.state : value,
|
|
1128
|
+
year: year || currentDate.getFullYear(),
|
|
1129
|
+
minDate,
|
|
1130
|
+
maxDate
|
|
1131
|
+
};
|
|
1132
|
+
}
|
|
1133
|
+
function setMonthValue(value) {
|
|
1134
|
+
formControl ? formControl.setState(value) : setValue(value);
|
|
1135
|
+
}
|
|
1136
|
+
function onChange(value) {
|
|
1137
|
+
setMonthValue(value);
|
|
1138
|
+
if (onValue) {
|
|
1139
|
+
onValue(value);
|
|
1173
1140
|
}
|
|
1174
1141
|
}
|
|
1175
|
-
return (
|
|
1176
|
-
|
|
1177
|
-
|
|
1178
|
-
|
|
1142
|
+
return (jsx("div", { className: "rls-picker-month", "rls-theme": rlsTheme, children: months.map(({ label, value, disabled, focused, selected }, index) => (jsx("div", { className: renderClassStatus('rls-picker-month__component', {
|
|
1143
|
+
disabled: disabled || disabledPicker,
|
|
1144
|
+
focused,
|
|
1145
|
+
selected
|
|
1146
|
+
}), onClick: !(disabled || disabledPicker) ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-picker-month__span", children: label }) }, index))) }));
|
|
1179
1147
|
}
|
|
1180
1148
|
|
|
1181
|
-
function
|
|
1182
|
-
const
|
|
1183
|
-
|
|
1184
|
-
|
|
1185
|
-
|
|
1186
|
-
|
|
1187
|
-
|
|
1188
|
-
|
|
1149
|
+
function RlsPickerMonthTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
|
|
1150
|
+
const { limitNext, limitPrevious } = monthLimitTemplate({
|
|
1151
|
+
date,
|
|
1152
|
+
maxDate,
|
|
1153
|
+
minDate,
|
|
1154
|
+
month: monthControl.state
|
|
1155
|
+
});
|
|
1156
|
+
const monthName = MONTH_NAMES()[monthControl.state || 0];
|
|
1157
|
+
function onPreviousMonth() {
|
|
1158
|
+
if (itIsDefined(monthControl.state) && itIsDefined(yearControl.state)) {
|
|
1159
|
+
if (monthControl.state > Month.January) {
|
|
1160
|
+
monthControl.setState(monthControl.state - 1);
|
|
1161
|
+
}
|
|
1162
|
+
else {
|
|
1163
|
+
monthControl.setState(Month.December);
|
|
1164
|
+
yearControl.setState(yearControl.state - 1);
|
|
1165
|
+
}
|
|
1189
1166
|
}
|
|
1190
|
-
|
|
1191
|
-
|
|
1167
|
+
}
|
|
1168
|
+
function onPreviousYear() {
|
|
1169
|
+
if (itIsDefined(yearControl.state)) {
|
|
1170
|
+
yearControl.setState(yearControl.state - 1);
|
|
1192
1171
|
}
|
|
1193
1172
|
}
|
|
1194
|
-
|
|
1195
|
-
|
|
1196
|
-
|
|
1197
|
-
function
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
|
|
1202
|
-
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
|
|
1173
|
+
function onPrevious() {
|
|
1174
|
+
type === 'month' ? onPreviousMonth() : onPreviousYear();
|
|
1175
|
+
}
|
|
1176
|
+
function onNextMonth() {
|
|
1177
|
+
if (itIsDefined(monthControl.state) && itIsDefined(yearControl.state)) {
|
|
1178
|
+
if (monthControl.state < Month.December) {
|
|
1179
|
+
monthControl.setState(monthControl.state + 1);
|
|
1180
|
+
}
|
|
1181
|
+
else {
|
|
1182
|
+
monthControl.setState(Month.January);
|
|
1183
|
+
yearControl.setState(yearControl.state + 1);
|
|
1184
|
+
}
|
|
1185
|
+
}
|
|
1186
|
+
}
|
|
1187
|
+
function onNextYear() {
|
|
1188
|
+
if (itIsDefined(yearControl.state)) {
|
|
1189
|
+
yearControl.setState(yearControl.state + 1);
|
|
1190
|
+
}
|
|
1191
|
+
}
|
|
1192
|
+
function onNext() {
|
|
1193
|
+
type === 'month' ? onNextMonth() : onNextYear();
|
|
1194
|
+
}
|
|
1195
|
+
return (jsxs("div", { className: "rls-picker-month-title", children: [jsx(RlsButtonAction, { icon: "arrow-ios-left", onClick: onPrevious, disabled: limitPrevious || disabled }), jsx("span", { onClick: onClick, children: monthName }), jsx(RlsButtonAction, { icon: "arrow-ios-right", onClick: onNext, disabled: limitNext || disabled })] }));
|
|
1207
1196
|
}
|
|
1208
1197
|
|
|
1209
|
-
function
|
|
1198
|
+
function RlsPickerYear({ date, disabled: disabledPicker, formControl, maxDate, minDate, onValue, rlsTheme }) {
|
|
1210
1199
|
const currentDate = date || new Date();
|
|
1211
1200
|
const [value, setValue] = useState(formControl?.state || currentDate.getFullYear());
|
|
1212
1201
|
const [year, setYear] = useState(formControl?.state || currentDate.getFullYear());
|
|
@@ -1248,11 +1237,19 @@ function RlsYearPicker({ date, disabled: disabledPicker, formControl, maxDate, m
|
|
|
1248
1237
|
onValue(value);
|
|
1249
1238
|
}
|
|
1250
1239
|
}
|
|
1251
|
-
return (jsxs("div", { className: "rls-year
|
|
1240
|
+
return (jsxs("div", { className: "rls-picker-year", "rls-theme": rlsTheme, children: [jsxs("div", { className: "rls-picker-year__header", children: [jsx("div", { className: "rls-picker-year__action rls-picker-year__action--prev", children: jsx(RlsButtonAction, { icon: "arrow-ios-left", onClick: onClickPrev, disabled: !template.canPrevious || disabledPicker }) }), jsxs("label", { className: "rls-title-bold", children: [template.minRange, " - ", template.maxRange] }), jsx("div", { className: "rls-picker-year__action rls-picker-year__action--next", children: jsx(RlsButtonAction, { icon: "arrow-ios-right", onClick: onClickNext, disabled: !template.canNext || disabledPicker }) })] }), jsx("div", { className: "rls-picker-year__component", children: template.years.map(({ value, disabled, focused, selected }, index) => (jsx("div", { className: renderClassStatus('rls-picker-year__year', {
|
|
1252
1241
|
disabled: disabled || disabledPicker,
|
|
1253
1242
|
focused,
|
|
1254
1243
|
selected
|
|
1255
|
-
}), onClick: value && !disabledPicker ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-
|
|
1244
|
+
}), onClick: value && !disabledPicker ? () => onChange(value) : undefined, children: jsx("span", { className: "rls-picker-year__year__span rls-body1-medium", children: value || '????' }) }, index))) })] }));
|
|
1245
|
+
}
|
|
1246
|
+
|
|
1247
|
+
function RlsToolbar({ actions, children, subtitle }) {
|
|
1248
|
+
return (jsxs("div", { className: "rls-toolbar", children: [jsxs("div", { className: "rls-toolbar__description", children: [children && jsx("label", { className: "rls-toolbar__title", children: children }), subtitle && (jsx("label", { className: "rls-toolbar__subtitle smalltext-semibold", children: subtitle }))] }), actions && (jsx("div", { className: "rls-toolbar__actions", children: actions.map((action, index) => (jsx("div", { children: action }, index))) }))] }));
|
|
1249
|
+
}
|
|
1250
|
+
|
|
1251
|
+
function RlsCard({ children, outline, rlsTheme }) {
|
|
1252
|
+
return (jsx("div", { className: renderClassStatus('rls-card', { outline }), "rls-theme": rlsTheme, children: jsx("div", { className: "rls-card__content", children: children }) }));
|
|
1256
1253
|
}
|
|
1257
1254
|
|
|
1258
1255
|
const reactI18n = i18n({
|
|
@@ -1276,6 +1273,87 @@ const reactI18n = i18n({
|
|
|
1276
1273
|
}
|
|
1277
1274
|
});
|
|
1278
1275
|
|
|
1276
|
+
class ConfirmationResult extends PartialSealed {
|
|
1277
|
+
static approved() {
|
|
1278
|
+
return new ConfirmationResult('approved');
|
|
1279
|
+
}
|
|
1280
|
+
static reject() {
|
|
1281
|
+
return new ConfirmationResult('reject');
|
|
1282
|
+
}
|
|
1283
|
+
}
|
|
1284
|
+
function RlsConfirmation({ approved, content, reject, rlsTheme, subtitle, title, visible }) {
|
|
1285
|
+
return (jsxs("div", { className: renderClassStatus('rls-confirmation', { visible }), "rls-theme": rlsTheme, children: [jsxs("div", { className: "rls-confirmation__component", children: [jsxs("div", { className: "rls-confirmation__header", children: [title && (jsx("div", { className: "rls-confirmation__header__title", children: title })), subtitle && (jsx("div", { className: "rls-confirmation__header__subtitle", children: subtitle }))] }), jsx("div", { className: "rls-confirmation__body", children: content && (jsx("div", { className: "rls-confirmation__body__content", children: content })) }), (approved || reject) && (jsx("div", { className: "rls-confirmation__footer", children: jsxs("div", { className: "rls-confirmation__footer__actions", children: [approved && (jsx(RlsButton, { type: "raised", onClick: () => {
|
|
1286
|
+
if (approved.onClick) {
|
|
1287
|
+
approved.onClick();
|
|
1288
|
+
}
|
|
1289
|
+
}, children: approved.label })), reject && (jsx(RlsButton, { type: "outline", onClick: () => {
|
|
1290
|
+
if (reject.onClick) {
|
|
1291
|
+
reject.onClick();
|
|
1292
|
+
}
|
|
1293
|
+
}, children: reject.label }))] }) }))] }), jsx("div", { className: "rls-confirmation__backdrop" })] }));
|
|
1294
|
+
}
|
|
1295
|
+
function useConfirmationService() {
|
|
1296
|
+
const [config, setConfig] = useState({});
|
|
1297
|
+
const [visible, setVisible] = useState(false);
|
|
1298
|
+
const rlsConfirmation = ReactDOM.createPortal(jsx(RlsConfirmation, { ...config, visible: visible }), document.body);
|
|
1299
|
+
function confirmation(config) {
|
|
1300
|
+
return new Promise((resolve) => {
|
|
1301
|
+
const { content, rlsTheme, subtitle, title, approved, reject } = config;
|
|
1302
|
+
setConfig({
|
|
1303
|
+
content,
|
|
1304
|
+
rlsTheme,
|
|
1305
|
+
subtitle,
|
|
1306
|
+
title,
|
|
1307
|
+
approved: {
|
|
1308
|
+
label: approved || reactI18n('confirmationActionApproved'),
|
|
1309
|
+
onClick: () => {
|
|
1310
|
+
setVisible(false);
|
|
1311
|
+
resolve(ConfirmationResult.approved());
|
|
1312
|
+
}
|
|
1313
|
+
},
|
|
1314
|
+
reject: reject
|
|
1315
|
+
? {
|
|
1316
|
+
label: reject,
|
|
1317
|
+
onClick: () => {
|
|
1318
|
+
setVisible(false);
|
|
1319
|
+
resolve(ConfirmationResult.reject());
|
|
1320
|
+
}
|
|
1321
|
+
}
|
|
1322
|
+
: undefined
|
|
1323
|
+
});
|
|
1324
|
+
setVisible(true);
|
|
1325
|
+
});
|
|
1326
|
+
}
|
|
1327
|
+
return {
|
|
1328
|
+
RlsConfirmation: rlsConfirmation,
|
|
1329
|
+
confirmation
|
|
1330
|
+
};
|
|
1331
|
+
}
|
|
1332
|
+
|
|
1333
|
+
function RlsDatatableHeader({ children }) {
|
|
1334
|
+
return jsx("tr", { className: "rls-datatable__header", children: children });
|
|
1335
|
+
}
|
|
1336
|
+
function RlsDatatableTitle({ children, className, control }) {
|
|
1337
|
+
return (jsx("th", { className: renderClassStatus('rls-datatable__title', { control }, className).trim(), children: children }));
|
|
1338
|
+
}
|
|
1339
|
+
function RlsDatatableData({ children, className, error }) {
|
|
1340
|
+
return (jsx("tr", { className: renderClassStatus('rls-datatable__data', { error }, className).trim(), children: children }));
|
|
1341
|
+
}
|
|
1342
|
+
function RlsDatatableCell({ children, className, control, overflow }) {
|
|
1343
|
+
return (jsx("th", { className: renderClassStatus('rls-datatable__cell', { control, overflow }, className).trim(), children: children }));
|
|
1344
|
+
}
|
|
1345
|
+
function RlsDatatableTotals({ children, className, error }) {
|
|
1346
|
+
return (jsx("div", { className: renderClassStatus('rls-datatable__totals', { error }, className).trim(), children: children }));
|
|
1347
|
+
}
|
|
1348
|
+
function RlsDatatableInfo({ children, className, control, overflow }) {
|
|
1349
|
+
return (jsx("div", { className: renderClassStatus('rls-datatable__info', { control, overflow }, className).trim(), children: children }));
|
|
1350
|
+
}
|
|
1351
|
+
function RlsDatatable({ children, datatable, footer, header, rlsTheme, summary }) {
|
|
1352
|
+
return (jsxs("div", { className: renderClassStatus('rls-datatable', {
|
|
1353
|
+
scrolleable: datatable?.scrolleable
|
|
1354
|
+
}), "rls-theme": rlsTheme, children: [jsxs("table", { children: [header && jsx("thead", { className: "rls-datatable__thead", children: header }), jsx("tbody", { ref: datatable?.bodyRef, className: "rls-datatable__tbody", children: children })] }), summary && jsx("div", { className: "rls-datatable__tsummary", children: summary }), footer && jsx("div", { className: "rls-datatable__tfooter", children: footer })] }));
|
|
1355
|
+
}
|
|
1356
|
+
|
|
1279
1357
|
function useDatatable() {
|
|
1280
1358
|
const [scrolleable, setScrolleable] = useState(false);
|
|
1281
1359
|
const bodyRef = useRef(null);
|
|
@@ -1366,7 +1444,7 @@ function useListControl({ suggestions, formControl }) {
|
|
|
1366
1444
|
|
|
1367
1445
|
const DURATION_ANIMATION$1 = 240;
|
|
1368
1446
|
const MAX_ELEMENTS = 6;
|
|
1369
|
-
function
|
|
1447
|
+
function useFieldAutocomplete({ disabled, formControl, onSelect, onValue, suggestions }) {
|
|
1370
1448
|
const [pattern, setPattern] = useState('');
|
|
1371
1449
|
const [coincidences, setCoincidences] = useState([]);
|
|
1372
1450
|
const currentStore = useRef({
|
|
@@ -1505,115 +1583,30 @@ function useAutocompleteField({ disabled, formControl, onSelect, onValue, sugges
|
|
|
1505
1583
|
};
|
|
1506
1584
|
}
|
|
1507
1585
|
|
|
1508
|
-
function
|
|
1509
|
-
const { coincidences, listControl, pattern, onBlurInput, onClickAction, onClickBackdrop, onClickControl, onClickElement, onFocusInput, onKeydownElement, onKeydownInput, setPattern } =
|
|
1586
|
+
function RlsFieldAutocompleteTemplate({ suggestions, children, disabled, formControl, hiddenIcon, placeholder, searching, rlsTheme, onSearch, onSelect, onValue, render }) {
|
|
1587
|
+
const { coincidences, listControl, pattern, onBlurInput, onClickAction, onClickBackdrop, onClickControl, onClickElement, onFocusInput, onKeydownElement, onKeydownInput, setPattern } = useFieldAutocomplete({
|
|
1510
1588
|
suggestions,
|
|
1511
1589
|
disabled,
|
|
1512
1590
|
formControl,
|
|
1513
1591
|
onSelect,
|
|
1514
1592
|
onValue
|
|
1515
1593
|
});
|
|
1516
|
-
return (jsxs("div", { ref: listControl.boxContentRef, className: renderClassStatus('rls-box
|
|
1594
|
+
return (jsxs("div", { ref: listControl.boxContentRef, className: renderClassStatus('rls-field-box', {
|
|
1517
1595
|
disabled,
|
|
1518
1596
|
focused: listControl.focused,
|
|
1519
1597
|
selected: !!listControl.value
|
|
1520
|
-
}, 'rls-
|
|
1598
|
+
}, 'rls-field-list rls-field-autocomplete'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsxs("div", { className: "rls-field-box__body", children: [jsx("label", { className: "rls-field-list__control", onClick: onClickControl, children: listControl.value ? (jsx("span", { className: "rls-field-list__control__description", children: listControl.value })) : (jsx("span", { className: "rls-field-list__control__placeholder", children: placeholder })) }), !hiddenIcon && listControl.value && (jsx("button", { className: "rls-field-list__action", disabled: disabled, onClick: onClickAction, children: jsx(RlsIcon, { value: "trash-2" }) }))] }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) })), jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
|
|
1521
1599
|
visible: listControl.visible,
|
|
1522
1600
|
hide: !listControl.visible,
|
|
1523
1601
|
higher: listControl.higher
|
|
1524
|
-
}), children: [jsx("div", { className: "rls-
|
|
1602
|
+
}), children: [jsx("div", { className: "rls-field-list__suggestions__body", children: jsxs("ul", { ref: listControl.listRef, className: "rls-field-list__ul", children: [jsxs("div", { className: "rls-field-list__ul__search", children: [jsx("input", { ref: listControl.inputRef, className: "rls-field-list__ul__control", type: "text", placeholder: reactI18n('listInputPlaceholder'), value: pattern, onChange: ({ target: { value } }) => {
|
|
1525
1603
|
setPattern(value);
|
|
1526
1604
|
}, disabled: disabled || searching, onFocus: onFocusInput, onBlur: onBlurInput, onKeyDown: onKeydownInput }), onSearch && (jsx("button", { disabled: disabled || searching, onClick: () => {
|
|
1527
1605
|
onSearch(pattern);
|
|
1528
|
-
}, children: jsx(RlsIcon, { value: "search" }) }))] }), searching && jsx(RlsProgressBar, { indeterminate: true }), coincidences.map((element, index) => (jsx("li", { className: "rls-
|
|
1529
|
-
}
|
|
1530
|
-
function RlsAutocompleteField(props) {
|
|
1531
|
-
return (jsx(RlsAutocompleteFieldTemplate, { ...props, render: (element) => (jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: element.title })) }));
|
|
1532
|
-
}
|
|
1533
|
-
|
|
1534
|
-
function RlsCard({ children, outline, rlsTheme }) {
|
|
1535
|
-
return (jsx("div", { className: renderClassStatus('rls-card', { outline }), "rls-theme": rlsTheme, children: jsx("div", { className: "rls-card__content", children: children }) }));
|
|
1536
|
-
}
|
|
1537
|
-
|
|
1538
|
-
class ConfirmationResult extends PartialSealed {
|
|
1539
|
-
static approved() {
|
|
1540
|
-
return new ConfirmationResult('approved');
|
|
1541
|
-
}
|
|
1542
|
-
static reject() {
|
|
1543
|
-
return new ConfirmationResult('reject');
|
|
1544
|
-
}
|
|
1545
|
-
}
|
|
1546
|
-
function RlsConfirmation({ approved, content, reject, rlsTheme, subtitle, title, visible }) {
|
|
1547
|
-
return (jsxs("div", { className: renderClassStatus('rls-confirmation', { visible }), "rls-theme": rlsTheme, children: [jsxs("div", { className: "rls-confirmation__component", children: [jsxs("div", { className: "rls-confirmation__header", children: [title && (jsx("div", { className: "rls-confirmation__header__title", children: title })), subtitle && (jsx("div", { className: "rls-confirmation__header__subtitle", children: subtitle }))] }), jsx("div", { className: "rls-confirmation__body", children: content && (jsx("div", { className: "rls-confirmation__body__content", children: content })) }), (approved || reject) && (jsx("div", { className: "rls-confirmation__footer", children: jsxs("div", { className: "rls-confirmation__footer__actions", children: [approved && (jsx(RlsButton, { type: "raised", onClick: () => {
|
|
1548
|
-
if (approved.onClick) {
|
|
1549
|
-
approved.onClick();
|
|
1550
|
-
}
|
|
1551
|
-
}, children: approved.label })), reject && (jsx(RlsButton, { type: "outline", onClick: () => {
|
|
1552
|
-
if (reject.onClick) {
|
|
1553
|
-
reject.onClick();
|
|
1554
|
-
}
|
|
1555
|
-
}, children: reject.label }))] }) }))] }), jsx("div", { className: "rls-confirmation__backdrop" })] }));
|
|
1556
|
-
}
|
|
1557
|
-
function useConfirmationService() {
|
|
1558
|
-
const [config, setConfig] = useState({});
|
|
1559
|
-
const [visible, setVisible] = useState(false);
|
|
1560
|
-
const rlsConfirmation = ReactDOM.createPortal(jsx(RlsConfirmation, { ...config, visible: visible }), document.body);
|
|
1561
|
-
function confirmation(config) {
|
|
1562
|
-
return new Promise((resolve) => {
|
|
1563
|
-
const { content, rlsTheme, subtitle, title, approved, reject } = config;
|
|
1564
|
-
setConfig({
|
|
1565
|
-
content,
|
|
1566
|
-
rlsTheme,
|
|
1567
|
-
subtitle,
|
|
1568
|
-
title,
|
|
1569
|
-
approved: {
|
|
1570
|
-
label: approved || reactI18n('confirmationActionApproved'),
|
|
1571
|
-
onClick: () => {
|
|
1572
|
-
setVisible(false);
|
|
1573
|
-
resolve(ConfirmationResult.approved());
|
|
1574
|
-
}
|
|
1575
|
-
},
|
|
1576
|
-
reject: reject
|
|
1577
|
-
? {
|
|
1578
|
-
label: reject,
|
|
1579
|
-
onClick: () => {
|
|
1580
|
-
setVisible(false);
|
|
1581
|
-
resolve(ConfirmationResult.reject());
|
|
1582
|
-
}
|
|
1583
|
-
}
|
|
1584
|
-
: undefined
|
|
1585
|
-
});
|
|
1586
|
-
setVisible(true);
|
|
1587
|
-
});
|
|
1588
|
-
}
|
|
1589
|
-
return {
|
|
1590
|
-
RlsConfirmation: rlsConfirmation,
|
|
1591
|
-
confirmation
|
|
1592
|
-
};
|
|
1593
|
-
}
|
|
1594
|
-
|
|
1595
|
-
function RlsDatatableHeader({ children }) {
|
|
1596
|
-
return jsx("tr", { className: "rls-datatable__header", children: children });
|
|
1597
|
-
}
|
|
1598
|
-
function RlsDatatableTitle({ children, className, control }) {
|
|
1599
|
-
return (jsx("th", { className: renderClassStatus('rls-datatable__title', { control }, className).trim(), children: children }));
|
|
1600
|
-
}
|
|
1601
|
-
function RlsDatatableData({ children, className, error }) {
|
|
1602
|
-
return (jsx("tr", { className: renderClassStatus('rls-datatable__data', { error }, className).trim(), children: children }));
|
|
1603
|
-
}
|
|
1604
|
-
function RlsDatatableCell({ children, className, control, overflow }) {
|
|
1605
|
-
return (jsx("th", { className: renderClassStatus('rls-datatable__cell', { control, overflow }, className).trim(), children: children }));
|
|
1606
|
-
}
|
|
1607
|
-
function RlsDatatableTotals({ children, className, error }) {
|
|
1608
|
-
return (jsx("div", { className: renderClassStatus('rls-datatable__totals', { error }, className).trim(), children: children }));
|
|
1609
|
-
}
|
|
1610
|
-
function RlsDatatableInfo({ children, className, control, overflow }) {
|
|
1611
|
-
return (jsx("div", { className: renderClassStatus('rls-datatable__info', { control, overflow }, className).trim(), children: children }));
|
|
1606
|
+
}, children: jsx(RlsIcon, { value: "search" }) }))] }), searching && jsx(RlsProgressBar, { indeterminate: true }), coincidences.map((element, index) => (jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: onClickElement(element), onKeyDown: onKeydownElement(element), children: render(element) }, index))), !coincidences.length && (jsx("li", { className: "rls-field-list__empty", children: jsxs("div", { className: "rls-field-list__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-field-list__backdrop", onClick: onClickBackdrop })] })] }));
|
|
1612
1607
|
}
|
|
1613
|
-
function
|
|
1614
|
-
return (
|
|
1615
|
-
scrolleable: datatable?.scrolleable
|
|
1616
|
-
}), "rls-theme": rlsTheme, children: [jsxs("table", { children: [header && jsx("thead", { className: "rls-datatable__thead", children: header }), jsx("tbody", { ref: datatable?.bodyRef, className: "rls-datatable__tbody", children: children })] }), summary && jsx("div", { className: "rls-datatable__tsummary", children: summary }), footer && jsx("div", { className: "rls-datatable__tfooter", children: footer })] }));
|
|
1608
|
+
function RlsFieldAutocomplete(props) {
|
|
1609
|
+
return (jsx(RlsFieldAutocompleteTemplate, { ...props, render: (element) => (jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: element.title })) }));
|
|
1617
1610
|
}
|
|
1618
1611
|
|
|
1619
1612
|
function rangeFormatTemplate({ maxDate, minDate }) {
|
|
@@ -1719,7 +1712,7 @@ function useReactControl(controlProps, controlValidators) {
|
|
|
1719
1712
|
}
|
|
1720
1713
|
|
|
1721
1714
|
const FORMAT_DESCRIPTION = '{dw}, {mx} {dd} de {aa}';
|
|
1722
|
-
function
|
|
1715
|
+
function RlsPickerDate({ automatic, date, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
|
|
1723
1716
|
const today = new Date(); // Initial current date in component
|
|
1724
1717
|
const dateInitial = formControl?.state || date || today;
|
|
1725
1718
|
const yearControl = useReactControl(dateInitial.getFullYear());
|
|
@@ -1780,18 +1773,18 @@ function RlsDatePicker({ automatic, date, disabled, formControl, maxDate, minDat
|
|
|
1780
1773
|
onListener({ type: PickerListenerType.Select, value });
|
|
1781
1774
|
}
|
|
1782
1775
|
}
|
|
1783
|
-
return (jsxs("div", { className: "rls-date
|
|
1776
|
+
return (jsxs("div", { className: "rls-picker-date", "rls-theme": rlsTheme, children: [jsxs("div", { className: "rls-picker-date__header", children: [jsx("div", { className: "rls-picker-date__title rls-picker-date__title--description", children: jsx("span", { onClick: onVisibilityDay, children: dateFormatTemplate(dateInitial, FORMAT_DESCRIPTION) }) }), jsx("div", { className: "rls-picker-date__title rls-picker-date__title--year", children: jsx("span", { onClick: onVisibilityYear, children: yearControl.value }) }), jsx(RlsPickerMonthTitle, { monthControl: monthControl, yearControl: yearControl, date: value, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: 'month', onClick: onVisibilityMonth })] }), jsxs("div", { className: renderClassStatus('rls-picker-date__component', {
|
|
1784
1777
|
day: visibility === 'DAY',
|
|
1785
1778
|
month: visibility === 'MONTH',
|
|
1786
1779
|
year: visibility === 'YEAR'
|
|
1787
|
-
}), children: [jsx(
|
|
1780
|
+
}), children: [jsx(RlsPickerDay, { formControl: dayControl, date: dateInitial, month: monthControl.state, year: yearControl.state, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsx(RlsPickerMonth, { formControl: monthControl, date: dateInitial, year: yearControl.state, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsx(RlsPickerYear, { formControl: yearControl, date: dateInitial, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), jsx("div", { className: renderClassStatus('rls-picker-date__footer', { automatic }), children: jsxs("div", { className: "rls-picker-date__actions", children: [jsx("div", { className: "rls-picker-date__actions--cancel", children: jsx(RlsButton, { type: "ghost", onClick: onCancel, children: reactI18n('dateActionCancel') }) }), jsx("div", { className: "rls-picker-date__actions--today", children: jsx(RlsButton, { type: "ghost", onClick: onToday, disabled: dateOutRange({ date: today, maxDate, minDate }), children: reactI18n('dateActionToday') }) }), jsx("div", { className: "rls-picker-date__actions--ok", children: jsx(RlsButton, { type: "raised", onClick: onSelect, children: reactI18n('dateActionSelect') }) })] }) })] }));
|
|
1788
1781
|
}
|
|
1789
1782
|
|
|
1790
1783
|
function RlsModal({ children, visible, rlsTheme }) {
|
|
1791
1784
|
return ReactDOM.createPortal(jsxs("div", { className: renderClassStatus('rls-modal', { visible }), "rls-theme": rlsTheme, children: [jsx("div", { className: "rls-modal__component", children: children }), jsx("div", { className: "rls-modal__backdrop" })] }), document.body);
|
|
1792
1785
|
}
|
|
1793
1786
|
|
|
1794
|
-
function
|
|
1787
|
+
function RlsFieldDate({ children, date, disabled, formControl, maxDate, minDate, onValue, placeholder, rlsTheme }) {
|
|
1795
1788
|
const today = new Date(); // Initial current date in component
|
|
1796
1789
|
const [value, setValue] = useState();
|
|
1797
1790
|
const [modalIsVisible, setModalIsVisible] = useState(false);
|
|
@@ -1827,7 +1820,7 @@ function RlsDateField({ children, date, disabled, formControl, maxDate, minDate,
|
|
|
1827
1820
|
setModalIsVisible(true);
|
|
1828
1821
|
}
|
|
1829
1822
|
}
|
|
1830
|
-
return (jsxs("div", { className: "rls-date
|
|
1823
|
+
return (jsxs("div", { className: "rls-field-date", "rls-theme": rlsTheme, children: [jsxs("div", { className: renderClassStatus('rls-field-box', { disabled }), children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsxs("div", { className: "rls-field-box__body", children: [jsx("input", { className: "rls-field-date__control", type: "text", value: value ? dateFormatTemplate(value, DATE_RANGE_FORMAT) : '', readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), jsx("button", { className: "rls-field-date__action", onClick: onClean, disabled: disabled, children: jsx(RlsIcon, { value: value ? 'trash-2' : 'calendar' }) })] }) }), formControl?.touched && formControl?.error && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl.error.message }) }))] }), jsx(RlsModal, { visible: modalIsVisible, rlsTheme: rlsTheme, children: jsx(RlsPickerDate, { formControl: formControl, date: date, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ value, type }) => {
|
|
1831
1824
|
if (type !== PickerListenerType.Cancel) {
|
|
1832
1825
|
onChange(value, true);
|
|
1833
1826
|
}
|
|
@@ -1838,7 +1831,7 @@ function RlsDateField({ children, date, disabled, formControl, maxDate, minDate,
|
|
|
1838
1831
|
} }) })] }));
|
|
1839
1832
|
}
|
|
1840
1833
|
|
|
1841
|
-
function
|
|
1834
|
+
function RlsPickerDateRange({ automatic, date: datePicker, disabled, formControl, maxDate, minDate, onListener, rlsTheme }) {
|
|
1842
1835
|
const dateInitial = normalizeMinTime(datePicker || new Date());
|
|
1843
1836
|
const rangeInitial = formControl?.state || DateRange.now();
|
|
1844
1837
|
const yearControl = useReactControl(dateInitial.getFullYear());
|
|
@@ -1887,16 +1880,16 @@ function RlsDateRangePicker({ automatic, date: datePicker, disabled, formControl
|
|
|
1887
1880
|
onListener({ type: PickerListenerType.Select, value });
|
|
1888
1881
|
}
|
|
1889
1882
|
}
|
|
1890
|
-
return (jsxs("div", { className: "rls-date-range
|
|
1883
|
+
return (jsxs("div", { className: "rls-picker-date-range", "rls-theme": rlsTheme, children: [jsxs("div", { className: "rls-picker-date-range__header", children: [jsx("div", { className: "rls-picker-date-range__title rls-picker-date-range__title--description", children: jsx("span", { onClick: onVisibilityDay, children: rangeFormatTemplate(value) }) }), jsx("div", { className: "rls-picker-date-range__title rls-picker-date-range__title--year", children: jsx("span", { onClick: onVisibilityYear, children: yearControl.state }) }), jsx(RlsPickerMonthTitle, { monthControl: monthControl, yearControl: yearControl, date: date, maxDate: maxDate, minDate: minDate, disabled: visibility === 'YEAR', type: visibility === 'MONTH' ? 'year' : 'month', onClick: onVisibilityMonth })] }), jsxs("div", { className: renderClassStatus('rls-picker-date-range__component', {
|
|
1891
1884
|
day: visibility === 'DAY',
|
|
1892
1885
|
month: visibility === 'MONTH',
|
|
1893
1886
|
year: visibility === 'YEAR'
|
|
1894
|
-
}), children: [jsx(
|
|
1887
|
+
}), children: [jsx(RlsPickerDayRange, { formControl: dayControl, date: date, maxDate: maxDate, minDate: minDate, disabled: disabled }), jsx(RlsPickerMonth, { formControl: monthControl, year: yearControl.state, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay }), jsx(RlsPickerYear, { formControl: yearControl, maxDate: maxDate, minDate: minDate, disabled: disabled, onValue: onVisibilityDay })] }), jsx("div", { className: renderClassStatus('rls-picker-date-range__footer', {
|
|
1895
1888
|
automatic
|
|
1896
|
-
}), children: jsxs("div", { className: "rls-date-
|
|
1889
|
+
}), children: jsxs("div", { className: "rls-picker-date-range__actions", children: [jsx("div", { className: "rls-picker-date-range__actions--cancel", children: jsx(RlsButton, { type: "ghost", onClick: onCancel, children: reactI18n('dateActionCancel') }) }), jsx("div", { className: "rls-picker-date-range__actions--ok", children: jsx(RlsButton, { type: "raised", onClick: onSelect, children: reactI18n('dateActionSelect') }) })] }) })] }));
|
|
1897
1890
|
}
|
|
1898
1891
|
|
|
1899
|
-
function
|
|
1892
|
+
function RlsFieldDateRange({ children, date: datePicker, disabled, formControl, maxDate, minDate, placeholder, rlsTheme }) {
|
|
1900
1893
|
const currentRange = formControl?.state || DateRange.now();
|
|
1901
1894
|
const currentDate = datePicker || new Date();
|
|
1902
1895
|
const [value, setValue] = useState(currentRange);
|
|
@@ -1913,7 +1906,7 @@ function RlsDateRangeField({ children, date: datePicker, disabled, formControl,
|
|
|
1913
1906
|
setModalIsVisible(true);
|
|
1914
1907
|
}
|
|
1915
1908
|
}
|
|
1916
|
-
return (jsxs("div", { className: "rls-date-
|
|
1909
|
+
return (jsxs("div", { className: "rls-field-date-range", "rls-theme": rlsTheme, children: [jsxs("div", { className: renderClassStatus('rls-field-box', { disabled }), children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsxs("div", { className: "rls-field-box__body", children: [jsx("input", { className: "rls-field-date-range__control", type: "text", value: value ? rangeFormatTemplate(value) : '', readOnly: true, placeholder: placeholder, onClick: onClickInput, disabled: disabled }), jsx("button", { className: "rls-field-date-range__action", onClick: onClickAction, disabled: disabled, children: jsx(RlsIcon, { value: value ? 'trash-2' : 'calendar' }) })] }) })] }), jsx(RlsModal, { visible: modalIsVisible, rlsTheme: rlsTheme, children: jsx(RlsPickerDateRange, { formControl: formControl, date: currentDate, disabled: disabled, maxDate: maxDate, minDate: minDate, onListener: ({ value }) => {
|
|
1917
1910
|
if (value) {
|
|
1918
1911
|
setValue(value);
|
|
1919
1912
|
}
|
|
@@ -1921,11 +1914,7 @@ function RlsDateRangeField({ children, date: datePicker, disabled, formControl,
|
|
|
1921
1914
|
} }) })] }));
|
|
1922
1915
|
}
|
|
1923
1916
|
|
|
1924
|
-
function
|
|
1925
|
-
return (jsx("div", { className: renderClassStatus('rls-form-navigation', { visible }), "rls-theme": rlsTheme, children: jsx("div", { className: "rls-form-navigation__body", children: children }) }));
|
|
1926
|
-
}
|
|
1927
|
-
|
|
1928
|
-
function useSelectField({ suggestions, formControl, onSelect, onValue }) {
|
|
1917
|
+
function useFieldSelect({ suggestions, formControl, onSelect, onValue }) {
|
|
1929
1918
|
const listControl = useListControl({ suggestions, formControl });
|
|
1930
1919
|
const { collection, inputRef, visible, navigationElement, navigationInput, setFocused, setValue, setVisible } = listControl;
|
|
1931
1920
|
const initializedState = useRef(false);
|
|
@@ -2036,24 +2025,28 @@ function useSelectField({ suggestions, formControl, onSelect, onValue }) {
|
|
|
2036
2025
|
};
|
|
2037
2026
|
}
|
|
2038
2027
|
|
|
2039
|
-
function
|
|
2040
|
-
const { listControl, onBlurInput, onClickAction, onClickBackdrop, onClickElement, onClickInput, onFocusInput, onKeydownElement, onKeydownInput } =
|
|
2028
|
+
function RlsFieldSelectTemplate({ suggestions, children, disabled, formControl, placeholder, rlsTheme, onSelect, onValue, render }) {
|
|
2029
|
+
const { listControl, onBlurInput, onClickAction, onClickBackdrop, onClickElement, onClickInput, onFocusInput, onKeydownElement, onKeydownInput } = useFieldSelect({
|
|
2041
2030
|
suggestions,
|
|
2042
2031
|
disabled,
|
|
2043
2032
|
formControl,
|
|
2044
2033
|
onSelect,
|
|
2045
2034
|
onValue
|
|
2046
2035
|
});
|
|
2047
|
-
return (jsxs("div", { ref: listControl.boxContentRef, className: renderClassStatus('rls-box
|
|
2036
|
+
return (jsxs("div", { ref: listControl.boxContentRef, className: renderClassStatus('rls-field-box', { focused: listControl.focused, disabled }, 'rls-field-list rls-field-select'), "rls-theme": rlsTheme, children: [children && jsx("label", { className: "rls-field-box__label", children: children }), jsx("div", { className: "rls-field-box__component", children: jsxs("div", { className: "rls-field-box__body", children: [jsx("input", { ref: listControl.inputRef, className: "rls-field-list__control", readOnly: true, disabled: disabled, placeholder: placeholder, value: listControl.value, onFocus: onFocusInput, onBlur: onBlurInput, onClick: onClickInput, onKeyDown: onKeydownInput }), jsx("button", { className: renderClassStatus('rls-field-list__action', {
|
|
2048
2037
|
visible: listControl.visible
|
|
2049
|
-
}), disabled: disabled, onClick: onClickAction, children: jsx(RlsIcon, { value: "arrow-ios-down" }) })] }) }), formControl?.
|
|
2038
|
+
}), disabled: disabled, onClick: onClickAction, children: jsx(RlsIcon, { value: "arrow-ios-down" }) })] }) }), formControl?.wrong && (jsx("div", { className: "rls-field-box__error", children: jsx(RlsMessageIcon, { icon: "alert-triangle", rlsTheme: "danger", children: formControl?.error?.message }) })), jsxs("div", { className: renderClassStatus('rls-field-list__suggestions', {
|
|
2050
2039
|
visible: listControl.visible,
|
|
2051
2040
|
hide: !listControl.visible,
|
|
2052
2041
|
higher: listControl.higher
|
|
2053
|
-
}), children: [jsx("div", { className: "rls-
|
|
2042
|
+
}), children: [jsx("div", { className: "rls-field-list__suggestions__body", children: jsxs("ul", { ref: listControl.listRef, className: "rls-field-list__ul", children: [suggestions.map((element, index) => (jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: onClickElement(element), onKeyDown: onKeydownElement(element), children: render(element) }, index))), !suggestions.length && (jsx("li", { className: "rls-field-list__empty", children: jsxs("div", { className: "rls-field-list__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-field-list__backdrop", onClick: onClickBackdrop })] })] }));
|
|
2054
2043
|
}
|
|
2055
|
-
function
|
|
2056
|
-
return (jsx(
|
|
2044
|
+
function RlsFieldSelect(props) {
|
|
2045
|
+
return (jsx(RlsFieldSelectTemplate, { ...props, render: (element) => (jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: element.title })) }));
|
|
2046
|
+
}
|
|
2047
|
+
|
|
2048
|
+
function RlsFormNavigation({ children, visible, rlsTheme }) {
|
|
2049
|
+
return (jsx("div", { className: renderClassStatus('rls-form-navigation', { visible }), "rls-theme": rlsTheme, children: jsx("div", { className: "rls-form-navigation__body", children: children }) }));
|
|
2057
2050
|
}
|
|
2058
2051
|
|
|
2059
2052
|
const DURATION_ANIMATION = 240;
|
|
@@ -2117,5 +2110,5 @@ function RlsApplication({ children }) {
|
|
|
2117
2110
|
return (jsxs(RlsContext.Provider, { value: { confirmation, snackbar }, children: [jsx("div", { className: "rls-app__body", children: children }), RlsSnackbar, RlsConfirmation] }));
|
|
2118
2111
|
}
|
|
2119
2112
|
|
|
2120
|
-
export { ConfirmationResult, RlsAmount, RlsApplication,
|
|
2113
|
+
export { ConfirmationResult, RlsAmount, RlsApplication, RlsAvatar, RlsBadge, RlsBallot, RlsBreadcrumb, RlsButton, RlsButtonAction, RlsButtonProgress, RlsButtonToggle, RlsCard, RlsCheckBox, RlsCheckBoxControl, RlsConfirmation, RlsContext, RlsDatatable, RlsDatatableCell, RlsDatatableData, RlsDatatableHeader, RlsDatatableInfo, RlsDatatableTitle, RlsDatatableTotals, RlsFieldAutocomplete, RlsFieldAutocompleteTemplate, RlsFieldDate, RlsFieldDateRange, RlsFieldMoney, RlsFieldNumber, RlsFieldPassword, RlsFieldSelect, RlsFieldSelectTemplate, RlsFieldText, RlsFormNavigation, RlsIcon, RlsInput, RlsInputMoney, RlsInputNumber, RlsInputPassword, RlsInputText, RlsLabel, RlsLabelCheckBox, RlsLabelRadioButton, RlsLabelSwitch, RlsMessageIcon, RlsModal, RlsPagination, RlsPickerDate, RlsPickerDateRange, RlsPickerDay, RlsPickerDayRange, RlsPickerMonth, RlsPickerMonthTitle, RlsPickerYear, RlsPoster, RlsProgressBar, RlsProgressCircular, RlsRadioButton, RlsSearchInput, RlsSkeleton, RlsSkeletonText, RlsSnackbar, RlsSwitch, RlsSwitchControl, RlsTabularText, RlsToolbar, rangeFormatTemplate, renderClassStatus, useConfirmationService, useDatatable, useListControl, useSnackbarService };
|
|
2121
2114
|
//# sourceMappingURL=index.js.map
|