@rolster/react-components 18.21.0 → 18.21.6

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.
Files changed (64) hide show
  1. package/dist/cjs/assets/{index-eohCf4O9.css → index-B4R0Qgg4.css} +11 -11
  2. package/dist/cjs/index.js +616 -433
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-eohCf4O9.css → index-B4R0Qgg4.css} +11 -11
  5. package/dist/es/index.js +617 -433
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/definitions.d.ts +1 -1
  8. package/dist/esm/components/molecules/Pagination/Pagination.d.ts +1 -1
  9. package/dist/esm/components/molecules/Pagination/Pagination.js +18 -18
  10. package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -1
  11. package/dist/esm/components/molecules/PickerDay/PickerDay.d.ts +1 -1
  12. package/dist/esm/components/molecules/PickerDay/PickerDay.js +53 -24
  13. package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +1 -1
  14. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.d.ts +1 -1
  15. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js +55 -29
  16. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js.map +1 -1
  17. package/dist/esm/components/molecules/PickerMonth/PickerMonth.d.ts +1 -1
  18. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +57 -34
  19. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +1 -1
  20. package/dist/esm/components/molecules/{PickerMonthTitle/PickerMonthTitle.css → PickerSelectorTitle/PickerSelectorTitle.css} +3 -3
  21. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.d.ts +15 -0
  22. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js +65 -0
  23. package/dist/esm/components/molecules/PickerSelectorTitle/PickerSelectorTitle.js.map +1 -0
  24. package/dist/esm/components/molecules/PickerYear/PickerYear.css +7 -7
  25. package/dist/esm/components/molecules/PickerYear/PickerYear.d.ts +1 -1
  26. package/dist/esm/components/molecules/PickerYear/PickerYear.js +45 -38
  27. package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +1 -1
  28. package/dist/esm/components/molecules/index.d.ts +1 -1
  29. package/dist/esm/components/molecules/index.js +1 -1
  30. package/dist/esm/components/molecules/index.js.map +1 -1
  31. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +27 -14
  32. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  33. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js +50 -41
  34. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js.map +1 -1
  35. package/dist/esm/components/organisms/FieldDate/FieldDate.js +34 -28
  36. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  37. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +32 -23
  38. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  39. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +35 -13
  40. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  41. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +41 -29
  42. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +1 -1
  43. package/dist/esm/components/organisms/PickerDate/PickerDate.css +1 -1
  44. package/dist/esm/components/organisms/PickerDate/PickerDate.js +71 -54
  45. package/dist/esm/components/organisms/PickerDate/PickerDate.js.map +1 -1
  46. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.d.ts +1 -1
  47. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js +56 -43
  48. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js.map +1 -1
  49. package/dist/esm/components/organisms/Snackbar/Snackbar.js +25 -18
  50. package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
  51. package/dist/esm/controllers/ListController.js +7 -5
  52. package/dist/esm/controllers/ListController.js.map +1 -1
  53. package/dist/esm/controllers/index.d.ts +0 -1
  54. package/dist/esm/controllers/index.js +0 -1
  55. package/dist/esm/controllers/index.js.map +1 -1
  56. package/dist/esm/helpers/css.js +7 -10
  57. package/dist/esm/helpers/css.js.map +1 -1
  58. package/package.json +3 -3
  59. package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.d.ts +0 -15
  60. package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.js +0 -53
  61. package/dist/esm/components/molecules/PickerMonthTitle/PickerMonthTitle.js.map +0 -1
  62. package/dist/esm/controllers/RenderClassStatusController.d.ts +0 -2
  63. package/dist/esm/controllers/RenderClassStatusController.js +0 -10
  64. package/dist/esm/controllers/RenderClassStatusController.js.map +0 -1
@@ -1,4 +1,4 @@
1
- export type RlsTheme = 'standard' | 'success' | 'info' | 'warning' | 'danger' | 'amaizing' | 'smartness' | 'obsidian';
1
+ export type RlsTheme = 'standard' | 'success' | 'info' | 'warning' | 'danger' | 'amaizing' | 'amber' | 'smartness' | 'obsidian';
2
2
  export interface RlsComponent extends React.PropsWithChildren {
3
3
  identifier?: string;
4
4
  rlsTheme?: RlsTheme;
@@ -1,6 +1,6 @@
1
1
  import { FilterCriteria } from '@rolster/components';
2
2
  import './Pagination.css';
3
- interface PaginationEvent<T> {
3
+ export interface PaginationEvent<T> {
4
4
  firstPage: boolean;
5
5
  lastPage: boolean;
6
6
  suggestions: T[];
@@ -5,50 +5,50 @@ import { renderClassStatus } from '../../../helpers';
5
5
  import { RlsIcon } from '../../atoms/Icon/Icon';
6
6
  import './Pagination.css';
7
7
  export function RlsPagination({ suggestions, count, filter, onPagination }) {
8
- const controller = useRef(new PaginationController({ suggestions, count }));
9
- const [template, setTemplate] = useState(controller.current.template);
8
+ const [template, setTemplate] = useState();
9
+ const controller = useRef();
10
10
  const refreshTemplate = useCallback((template, suggestions) => {
11
11
  const { firstPage, lastPage } = template;
12
12
  onPagination && onPagination({ firstPage, lastPage, suggestions });
13
13
  setTemplate(template);
14
14
  }, [onPagination]);
15
+ const refreshPagination = useCallback((pagination) => {
16
+ pagination &&
17
+ refreshTemplate(pagination.template, pagination.page.collection);
18
+ }, []);
15
19
  useEffect(() => {
16
- controller.current = new PaginationController({
20
+ const pagination = new PaginationController({
17
21
  suggestions,
18
22
  count,
19
- position: template.currentPage.value
23
+ position: template?.currentPage.value
20
24
  });
21
- refreshTemplate(controller.current.template, controller.current.page.collection);
25
+ controller.current = pagination;
26
+ refreshTemplate(pagination.template, pagination.page.collection);
22
27
  }, [suggestions, count]);
23
28
  useEffect(() => {
24
- refreshPagination(controller.current.filtrable(filter));
29
+ refreshPagination(controller.current?.filtrable(filter));
25
30
  }, [filter]);
26
- const refreshPagination = useCallback((pagination) => {
27
- if (pagination) {
28
- refreshTemplate(pagination.template, pagination.page.collection);
29
- }
30
- }, []);
31
31
  const goToPagination = useCallback((page) => {
32
- refreshPagination(controller.current.goToPage(page));
32
+ refreshPagination(controller.current?.goToPage(page));
33
33
  }, []);
34
34
  const goFirstPagination = useCallback(() => {
35
- refreshPagination(controller.current.goFirstPage());
35
+ refreshPagination(controller.current?.goFirstPage());
36
36
  }, []);
37
37
  const goPreviousPagination = useCallback(() => {
38
- refreshPagination(controller.current.goPreviousPage());
38
+ refreshPagination(controller.current?.goPreviousPage());
39
39
  }, []);
40
40
  const goNextPagination = useCallback(() => {
41
- refreshPagination(controller.current.goNextPage());
41
+ refreshPagination(controller.current?.goNextPage());
42
42
  }, []);
43
43
  const goLastPagination = useCallback(() => {
44
- refreshPagination(controller.current.goLastPage());
44
+ refreshPagination(controller.current?.goLastPage());
45
45
  }, []);
46
- return (_jsxs("div", { className: "rls-pagination", children: [_jsxs("div", { className: "rls-pagination__actions", children: [_jsx("button", { className: "rls-pagination__action", onClick: goFirstPagination, disabled: template.firstPage, children: _jsx(RlsIcon, { value: "arrowhead-left" }) }), _jsx("button", { className: "rls-pagination__action", onClick: goPreviousPagination, disabled: template.firstPage, children: _jsx(RlsIcon, { value: "arrow-ios-left" }) })] }), _jsx("div", { className: "rls-pagination__pages", children: template.pages.map((page, index) => {
46
+ return (_jsxs("div", { className: "rls-pagination", children: [_jsxs("div", { className: "rls-pagination__actions", children: [_jsx("button", { className: "rls-pagination__action", onClick: goFirstPagination, disabled: template?.firstPage, children: _jsx(RlsIcon, { value: "arrowhead-left" }) }), _jsx("button", { className: "rls-pagination__action", onClick: goPreviousPagination, disabled: template?.firstPage, children: _jsx(RlsIcon, { value: "arrow-ios-left" }) })] }), _jsx("div", { className: "rls-pagination__pages", children: template?.pages.map((page, index) => {
47
47
  return (_jsx("div", { className: renderClassStatus('rls-pagination__page', {
48
48
  active: page.active
49
49
  }), onClick: () => {
50
50
  goToPagination(page);
51
51
  }, children: page.label }, index));
52
- }) }), _jsx("div", { className: "rls-pagination__description", children: template.description }), _jsxs("div", { className: "rls-pagination__actions", children: [_jsx("button", { className: "rls-pagination__action", onClick: goNextPagination, disabled: template.lastPage, children: _jsx(RlsIcon, { value: "arrow-ios-right" }) }), _jsx("button", { className: "rls-pagination__action", onClick: goLastPagination, disabled: template.lastPage, children: _jsx(RlsIcon, { value: "arrowhead-right" }) })] })] }));
52
+ }) }), _jsx("div", { className: "rls-pagination__description", children: template?.description }), _jsxs("div", { className: "rls-pagination__actions", children: [_jsx("button", { className: "rls-pagination__action", onClick: goNextPagination, disabled: template?.lastPage, children: _jsx(RlsIcon, { value: "arrow-ios-right" }) }), _jsx("button", { className: "rls-pagination__action", onClick: goLastPagination, disabled: template?.lastPage, children: _jsx(RlsIcon, { value: "arrowhead-right" }) })] })] }));
53
53
  }
54
54
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../../src/components/molecules/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Pagination.js","sourceRoot":"","sources":["../../../../../src/components/molecules/Pagination/Pagination.tsx"],"names":[],"mappings":"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"}
@@ -11,5 +11,5 @@ interface PickerDayProps extends RlsComponent {
11
11
  onValue?: (value: number) => void;
12
12
  year?: Nulleable<number>;
13
13
  }
14
- export declare function RlsPickerDay({ date, disabled: _disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }: PickerDayProps): import("react/jsx-runtime").JSX.Element;
14
+ export declare function RlsPickerDay({ date: _date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }: PickerDayProps): import("react/jsx-runtime").JSX.Element;
15
15
  export {};
@@ -1,14 +1,49 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { itIsDefined } from '@rolster/commons';
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
3
2
  import { createDayPicker, verifyDayPicker } from '@rolster/components';
3
+ import { i18nSubscribe } from '@rolster/i18n';
4
4
  import { DAY_LABELS } from '@rolster/dates';
5
- import { useEffect, useState } from 'react';
5
+ import { useCallback, useEffect, useMemo, useState } from 'react';
6
6
  import { renderClassStatus } from '../../../helpers';
7
7
  import './PickerDay.css';
8
- export function RlsPickerDay({ date, disabled: _disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
9
- const currentDate = date || new Date(); // Initial date
8
+ function RlsPickerDayItem({ day, onSelect, disabled }) {
9
+ const className = useMemo(() => {
10
+ return renderClassStatus('rls-picker-day__element', {
11
+ disabled: day.disabled || disabled,
12
+ focused: day.focused,
13
+ forbidden: day.forbidden,
14
+ selected: day.selected,
15
+ today: day.today
16
+ });
17
+ }, [
18
+ day.disabled,
19
+ day.focused,
20
+ day.forbidden,
21
+ day.selected,
22
+ day.today,
23
+ disabled
24
+ ]);
25
+ const onClick = useCallback(() => {
26
+ day.value && !day.disabled && !disabled && onSelect(day.value);
27
+ }, [day.value, day.disabled, disabled, onSelect]);
28
+ return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-day__element__span", children: day.value || '??' }) }));
29
+ }
30
+ function RlsPickerDayHeaders() {
31
+ return (_jsx("div", { className: "rls-picker-day__header", children: DAY_LABELS().map((title, index) => (_jsx("label", { className: "rls-picker-day__label", children: title }, index))) }));
32
+ }
33
+ export function RlsPickerDay({ date: _date, disabled, formControl, maxDate, month, minDate, onValue, rlsTheme, year }) {
34
+ const date = useMemo(() => _date ?? new Date(), [_date]);
10
35
  const [weeks, setWeeks] = useState([]);
11
- const [value, setValue] = useState(formControl?.value || currentDate.getDate());
36
+ const [value, setValue] = useState(formControl?.value || date.getDate());
37
+ const [headers, setHeaders] = useState(_jsx(RlsPickerDayHeaders, {}));
38
+ const [component, setComponent] = useState(_jsx(_Fragment, {}));
39
+ useEffect(() => {
40
+ return i18nSubscribe(() => {
41
+ setHeaders(_jsx(RlsPickerDayHeaders, {}));
42
+ });
43
+ }, []);
44
+ useEffect(() => {
45
+ setComponent(_jsx("div", { className: "rls-picker-day__component", children: weeks.map(({ days }, index) => (_jsx("div", { className: "rls-picker-day__week", children: days.map((day, index) => (_jsx(RlsPickerDayItem, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) }));
46
+ }, [weeks]);
12
47
  useEffect(() => {
13
48
  const options = createPickerOptions();
14
49
  const day = verifyDayPicker(options);
@@ -18,31 +53,25 @@ export function RlsPickerDay({ date, disabled: _disabled, formControl, maxDate,
18
53
  const day = verifyDayPicker(createPickerOptions());
19
54
  day
20
55
  ? formControl?.setValue(day)
21
- : setValue(formControl?.value || currentDate.getDate());
56
+ : setValue(formControl?.value || date.getDate());
22
57
  }, [formControl?.value]);
23
- function createPickerOptions() {
58
+ const createPickerOptions = useCallback(() => {
24
59
  return {
25
- date: currentDate,
26
- day: formControl?.value || value,
27
- month: itIsDefined(month) ? month : currentDate.getMonth(),
28
- year: year || currentDate.getFullYear(),
60
+ date,
61
+ day: formControl?.value ?? value,
62
+ month: month ?? date.getMonth(),
63
+ year: year ?? date.getFullYear(),
29
64
  minDate,
30
65
  maxDate
31
66
  };
32
- }
33
- function setDayValue(value) {
67
+ }, [date, formControl?.value, value, month, year, minDate, maxDate]);
68
+ const setDayValue = useCallback((value) => {
34
69
  formControl ? formControl.setValue(value) : setValue(value);
35
- }
36
- function onChange(value) {
70
+ }, [formControl]);
71
+ const onSelect = useCallback((value) => {
37
72
  setDayValue(value);
38
73
  onValue && onValue(value);
39
- }
40
- 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', {
41
- disabled: disabled || _disabled,
42
- focused,
43
- forbidden,
44
- selected,
45
- today
46
- }), onClick: value && !_disabled ? () => onChange(value) : undefined, children: _jsx("span", { className: "rls-picker-day__element__span", children: value || '??' }) }, index))) }, index))) })] }));
74
+ }, [setDayValue, onValue]);
75
+ return (_jsxs("div", { className: "rls-picker-day", "rls-theme": rlsTheme, children: [headers, component] }));
47
76
  }
48
77
  //# sourceMappingURL=PickerDay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PickerDay.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDay/PickerDay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PickerDay.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDay/PickerDay.tsx"],"names":[],"mappings":"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"}
@@ -9,5 +9,5 @@ interface PickerDayRangeProps extends RlsComponent {
9
9
  maxDate?: Date;
10
10
  minDate?: Date;
11
11
  }
12
- export declare function RlsPickerDayRange({ date, disabled: _disabled, formControl, maxDate, minDate, rlsTheme }: PickerDayRangeProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function RlsPickerDayRange({ date: _date, disabled, formControl, maxDate, minDate, rlsTheme }: PickerDayRangeProps): import("react/jsx-runtime").JSX.Element;
13
13
  export {};
@@ -1,44 +1,70 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { createDayRangePicker } from '@rolster/components';
3
- import { DAY_LABELS, DateRange, assignDayInDate, dateFormatTemplate, dateIsBefore, normalizeMinTime } from '@rolster/dates';
4
- import { useEffect, useRef, useState } from 'react';
3
+ import { assignDayInDate, DAY_LABELS, dateIsBefore, dateFormatTemplate, DateRange, normalizeMinTime } from '@rolster/dates';
4
+ import { i18nSubscribe } from '@rolster/i18n';
5
+ import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
5
6
  import { renderClassStatus } from '../../../helpers';
6
7
  import './PickerDayRange.css';
7
- const FORMAT_RANGE = '{dd}/{mx}/{aa}';
8
- export function RlsPickerDayRange({ date, disabled: _disabled, formControl, maxDate, minDate, rlsTheme }) {
9
- const currentRange = formControl?.value || DateRange.now();
10
- const currentDate = normalizeMinTime(date || currentRange.minDate);
11
- const sourceDate = useRef(currentRange.minDate);
8
+ const formatRange = '{dd}/{mx}/{aa}';
9
+ function RlsPickerDayRangeHeaders() {
10
+ return (_jsx("div", { className: "rls-picker-day__header", children: DAY_LABELS().map((title, index) => (_jsx("label", { className: "rls-picker-day__label", children: title }, index))) }));
11
+ }
12
+ function RlsPickerDayRangeItem({ day, onSelect, disabled }) {
13
+ const className = useMemo(() => {
14
+ return renderClassStatus('rls-picker-day-range__element', {
15
+ disabled: day.disabled || disabled,
16
+ end: day.end,
17
+ forbidden: day.forbidden,
18
+ ranged: day.ranged,
19
+ source: day.source
20
+ });
21
+ }, [day.disabled, day.end, day.forbidden, day.ranged, day.source, disabled]);
22
+ const onClick = useCallback(() => {
23
+ day.value && !day.disabled && !disabled && onSelect(day.value);
24
+ }, [day.value, day.disabled, disabled, onSelect]);
25
+ return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-day-range__element__span", children: day.value || '??' }) }));
26
+ }
27
+ export function RlsPickerDayRange({ date: _date, disabled, formControl, maxDate, minDate, rlsTheme }) {
28
+ const _range = useMemo(() => {
29
+ return formControl?.value ?? DateRange.now();
30
+ }, [formControl?.value]);
31
+ const date = useMemo(() => {
32
+ return normalizeMinTime(_date ?? _range.minDate);
33
+ }, [_date]);
34
+ const sourceDate = useRef(_range.minDate);
12
35
  const [weeks, setWeeks] = useState([]);
13
- const [range, setRange] = useState(currentRange);
36
+ const [range, setRange] = useState(_range);
37
+ const [headers, setHeaders] = useState(_jsx(RlsPickerDayRangeHeaders, {}));
38
+ const [component, setComponent] = useState(_jsx(_Fragment, {}));
39
+ useEffect(() => {
40
+ return i18nSubscribe(() => {
41
+ setHeaders(_jsx(RlsPickerDayRangeHeaders, {}));
42
+ });
43
+ }, []);
44
+ useEffect(() => {
45
+ setComponent(_jsx("div", { className: "rls-picker-day-range__component", children: weeks.map(({ days }, index) => (_jsx("div", { className: "rls-picker-day-range__week", children: days.map((day, index) => (_jsx(RlsPickerDayRangeItem, { day: day, onSelect: onSelect, disabled: disabled }, index))) }, index))) }));
46
+ }, [weeks]);
14
47
  useEffect(() => {
15
48
  setWeeks(createDayRangePicker({
16
- date: currentDate,
49
+ date,
17
50
  range,
18
51
  sourceDate: sourceDate.current,
19
52
  minDate,
20
53
  maxDate
21
54
  }));
22
- }, [range, date, minDate, maxDate]);
23
- function onChange(value) {
24
- const date = assignDayInDate(currentDate, value);
25
- const range = dateIsBefore(date, sourceDate.current)
26
- ? new DateRange(sourceDate.current, date)
27
- : new DateRange(date, sourceDate.current);
28
- sourceDate.current = date;
55
+ }, [date, range, minDate, maxDate]);
56
+ const title = useMemo(() => {
57
+ return (_jsx("div", { className: "rls-picker-day-range__title", children: dateFormatTemplate(sourceDate.current, formatRange) }));
58
+ }, [sourceDate.current]);
59
+ const onSelect = useCallback((value) => {
60
+ const _date = assignDayInDate(date, value);
61
+ const range = dateIsBefore(_date, sourceDate.current)
62
+ ? new DateRange(sourceDate.current, _date)
63
+ : new DateRange(_date, sourceDate.current);
64
+ sourceDate.current = _date;
29
65
  setRange(range);
30
66
  formControl?.setValue(range);
31
- }
32
- return (_jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [_jsx("div", { className: "rls-picker-day-range__title", children: dateFormatTemplate(sourceDate.current, FORMAT_RANGE) }), _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', {
33
- disabled: disabled || _disabled,
34
- end,
35
- forbidden,
36
- ranged,
37
- source
38
- }), onClick: value && !_disabled
39
- ? () => {
40
- onChange(value);
41
- }
42
- : undefined, children: _jsx("span", { className: "rls-picker-day-range__element__span", children: value || '??' }) }, index))) }, index))) })] }));
67
+ }, [date, sourceDate.current, formControl]);
68
+ return (_jsxs("div", { className: "rls-picker-day-range", "rls-theme": rlsTheme, children: [title, headers, component] }));
43
69
  }
44
70
  //# sourceMappingURL=PickerDayRange.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PickerDayRange.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDayRange/PickerDayRange.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAkB,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,SAAS,EACT,eAAe,EACf,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EACjB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAErD,OAAO,sBAAsB,CAAC;AAE9B,MAAM,YAAY,GAAG,gBAAgB,CAAC;AAUtC,MAAM,UAAU,iBAAiB,CAAC,EAChC,IAAI,EACJ,QAAQ,EAAE,SAAS,EACnB,WAAW,EACX,OAAO,EACP,OAAO,EACP,QAAQ,EACY;IACpB,MAAM,YAAY,GAAG,WAAW,EAAE,KAAK,IAAI,SAAS,CAAC,GAAG,EAAE,CAAC;IAC3D,MAAM,WAAW,GAAG,gBAAgB,CAAC,IAAI,IAAI,YAAY,CAAC,OAAO,CAAC,CAAC;IAEnE,MAAM,UAAU,GAAG,MAAM,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;IAEhD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAmB,EAAE,CAAC,CAAC;IACzD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IAEjD,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CACN,oBAAoB,CAAC;YACnB,IAAI,EAAE,WAAW;YACjB,KAAK;YACL,UAAU,EAAE,UAAU,CAAC,OAAO;YAC9B,OAAO;YACP,OAAO;SACR,CAAC,CACH,CAAC;IACJ,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;IAEpC,SAAS,QAAQ,CAAC,KAAa;QAC7B,MAAM,IAAI,GAAG,eAAe,CAAC,WAAW,EAAE,KAAK,CAAC,CAAC;QAEjD,MAAM,KAAK,GAAG,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC;YAClD,CAAC,CAAC,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC;YACzC,CAAC,CAAC,IAAI,SAAS,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC;QAE5C,UAAU,CAAC,OAAO,GAAG,IAAI,CAAC;QAE1B,QAAQ,CAAC,KAAK,CAAC,CAAC;QAChB,WAAW,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,CACL,eAAK,SAAS,EAAC,sBAAsB,eAAY,QAAQ,aACvD,cAAK,SAAS,EAAC,6BAA6B,YACzC,kBAAkB,CAAC,UAAU,CAAC,OAAO,EAAE,YAAY,CAAC,GACjD,EAEN,cAAK,SAAS,EAAC,8BAA8B,YAC1C,UAAU,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,CAClC,gBAAmB,SAAS,EAAC,6BAA6B,YACvD,KAAK,IADI,KAAK,CAET,CACT,CAAC,GACE,EAEN,cAAK,SAAS,EAAC,iCAAiC,YAC7C,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9B,cAAiB,SAAS,EAAC,4BAA4B,YACpD,IAAI,CAAC,GAAG,CACP,CAAC,EAAE,QAAQ,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,KAAK,EAAE,EAAE,CAAC,CAC9D,cAEE,SAAS,EAAE,iBAAiB,CAC1B,+BAA+B,EAC/B;4BACE,QAAQ,EAAE,QAAQ,IAAI,SAAS;4BAC/B,GAAG;4BACH,SAAS;4BACT,MAAM;4BACN,MAAM;yBACP,CACF,EACD,OAAO,EACL,KAAK,IAAI,CAAC,SAAS;4BACjB,CAAC,CAAC,GAAG,EAAE;gCACH,QAAQ,CAAC,KAAK,CAAC,CAAC;4BAClB,CAAC;4BACH,CAAC,CAAC,SAAS,YAGf,eAAM,SAAS,EAAC,qCAAqC,YAClD,KAAK,IAAI,IAAI,GACT,IArBF,KAAK,CAsBN,CACP,CACF,IA5BO,KAAK,CA6BT,CACP,CAAC,GACE,IACF,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"PickerDayRange.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerDayRange/PickerDayRange.tsx"],"names":[],"mappings":"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"}
@@ -10,5 +10,5 @@ interface PickerMonthProps extends RlsComponent {
10
10
  onValue?: (value: number) => void;
11
11
  year?: Nulleable<number>;
12
12
  }
13
- export declare function RlsPickerMonth({ date, disabled: _disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }: PickerMonthProps): import("react/jsx-runtime").JSX.Element;
13
+ export declare function RlsPickerMonth({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }: PickerMonthProps): import("react/jsx-runtime").JSX.Element;
14
14
  export {};
@@ -1,50 +1,73 @@
1
- import { jsx as _jsx } from "react/jsx-runtime";
1
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
2
2
  import { itIsDefined } from '@rolster/commons';
3
3
  import { createMonthPicker, verifyMonthPicker } from '@rolster/components';
4
- import { useEffect, useState } from 'react';
4
+ import { MONTH_NAMES } from '@rolster/dates';
5
+ import { i18nSubscribe } from '@rolster/i18n';
6
+ import { useCallback, useEffect, useMemo, useState } from 'react';
5
7
  import { renderClassStatus } from '../../../helpers';
6
8
  import './PickerMonth.css';
7
- export function RlsPickerMonth({ date, disabled: _disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
8
- const currentDate = date || new Date();
9
+ function RlsPickerMonthItem({ month, onSelect, disabled }) {
10
+ const [label, setLabel] = useState(MONTH_NAMES(month.value));
11
+ useEffect(() => {
12
+ return i18nSubscribe(() => {
13
+ setLabel(MONTH_NAMES(month.value));
14
+ });
15
+ }, []);
16
+ const className = useMemo(() => {
17
+ return renderClassStatus('rls-picker-month__component', {
18
+ disabled: month.disabled || disabled,
19
+ focused: month.focused,
20
+ selected: month.selected
21
+ });
22
+ }, [month.disabled, month.focused, month.selected, disabled]);
23
+ const onClick = useCallback(() => {
24
+ itIsDefined(month.value) &&
25
+ !month.disabled &&
26
+ !disabled &&
27
+ onSelect(month.value);
28
+ }, [month.value, month.disabled, disabled, onSelect]);
29
+ return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-month__span", children: label }) }));
30
+ }
31
+ export function RlsPickerMonth({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme, year }) {
32
+ const date = useMemo(() => _date || new Date(), [_date]);
9
33
  const [months, setMonths] = useState([]);
10
- const [value, setValue] = useState(formControl?.value || currentDate.getMonth());
34
+ const [value, setValue] = useState(formControl?.value ?? date.getMonth());
35
+ const [component, setComponent] = useState(_jsx(_Fragment, {}));
36
+ useEffect(() => {
37
+ setComponent(_jsx(_Fragment, { children: months.map((month, index) => (_jsx(RlsPickerMonthItem, { month: month, onSelect: onSelect, disabled: disabled }, index))) }));
38
+ }, [months]);
11
39
  useEffect(() => {
12
- const options = createPickerOptions(); // MonthPickerProps
40
+ const options = {
41
+ date,
42
+ month: formControl?.value ?? value,
43
+ year: year ?? date.getFullYear(),
44
+ minDate,
45
+ maxDate
46
+ };
13
47
  const month = verifyMonthPicker(options);
14
- month ? setMonthValue(month) : setMonths(createMonthPicker(options));
48
+ itIsDefined(month)
49
+ ? setMonthValue(month)
50
+ : setMonths(createMonthPicker(options));
15
51
  }, [date, year, value, minDate, maxDate]);
16
52
  useEffect(() => {
17
- const month = verifyMonthPicker(createPickerOptions());
53
+ const month = verifyMonthPicker({
54
+ date,
55
+ month: formControl?.value ?? value,
56
+ year: year ?? date.getFullYear(),
57
+ minDate,
58
+ maxDate
59
+ });
18
60
  itIsDefined(month)
19
61
  ? formControl?.setValue(month)
20
- : setValue(formControl?.value || currentDate.getMonth());
62
+ : setValue(formControl?.value ?? date.getMonth());
21
63
  }, [formControl?.value]);
22
- function createPickerOptions() {
23
- return {
24
- date: currentDate,
25
- month: itIsDefined(formControl?.value) ? formControl?.value : value,
26
- year: year || currentDate.getFullYear(),
27
- minDate,
28
- maxDate
29
- };
30
- }
31
- function setMonthValue(value) {
64
+ const setMonthValue = useCallback((value) => {
32
65
  formControl ? formControl.setValue(value) : setValue(value);
33
- }
34
- function onChange(value) {
66
+ }, [formControl]);
67
+ const onSelect = useCallback((value) => {
35
68
  setMonthValue(value);
36
- if (onValue) {
37
- onValue(value);
38
- }
39
- }
40
- 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', {
41
- disabled: disabled || _disabled,
42
- focused,
43
- selected
44
- }), onClick: !(disabled || _disabled)
45
- ? () => {
46
- onChange(value);
47
- }
48
- : undefined, children: _jsx("span", { className: "rls-picker-month__span", children: label }) }, index))) }));
69
+ onValue && onValue(value);
70
+ }, [setMonthValue, onValue]);
71
+ return (_jsx("div", { className: "rls-picker-month", "rls-theme": rlsTheme, children: component }));
49
72
  }
50
73
  //# sourceMappingURL=PickerMonth.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PickerMonth.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerMonth/PickerMonth.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PickerMonth.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerMonth/PickerMonth.tsx"],"names":[],"mappings":"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"}
@@ -1,9 +1,9 @@
1
- .rls-picker-month-title {
1
+ .rls-picker-selector-title {
2
2
  display: flex;
3
3
  justify-content: space-between;
4
4
  align-items: center;
5
5
  }
6
- .rls-picker-month-title span {
6
+ .rls-picker-selector-title span {
7
7
  color: var(--rls-app-color-300);
8
8
  cursor: default;
9
9
  height: var(--rls-sizing-x14);
@@ -11,6 +11,6 @@
11
11
  font-size: var(--rls-sizing-x10);
12
12
  font-weight: var(--rls-font-weight-bold);
13
13
  }
14
- .rls-picker-month-title span:hover {
14
+ .rls-picker-selector-title span:hover {
15
15
  color: var(--rls-theme-color-500);
16
16
  }
@@ -0,0 +1,15 @@
1
+ import { ReactControl } from '@rolster/react-forms';
2
+ import './PickerSelectorTitle.css';
3
+ type PickerSelectorTitleType = 'month' | 'year';
4
+ interface PickerSelectorTitleProps {
5
+ monthControl: ReactControl<HTMLElement, number>;
6
+ type: PickerSelectorTitleType;
7
+ yearControl: ReactControl<HTMLElement, number>;
8
+ date?: Date;
9
+ disabled?: boolean;
10
+ maxDate?: Date;
11
+ minDate?: Date;
12
+ onClick?: () => void;
13
+ }
14
+ export declare function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }: PickerSelectorTitleProps): import("react/jsx-runtime").JSX.Element;
15
+ export {};