@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
@@ -0,0 +1,65 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { itIsDefined } from '@rolster/commons';
3
+ import { monthLimitTemplate } from '@rolster/components';
4
+ import { MONTH_NAMES, Month } from '@rolster/dates';
5
+ import { i18nSubscribe } from '@rolster/i18n';
6
+ import { useCallback, useEffect, useMemo, useState } from 'react';
7
+ import { RlsButtonAction } from '../../atoms/ButtonAction/ButtonAction';
8
+ import './PickerSelectorTitle.css';
9
+ export function RlsPickerSelectorTitle({ monthControl, type, yearControl, date, disabled, maxDate, minDate, onClick }) {
10
+ const { limitNext, limitPrevious } = useMemo(() => {
11
+ return monthLimitTemplate({
12
+ date,
13
+ maxDate,
14
+ minDate,
15
+ month: monthControl.value
16
+ });
17
+ }, [date, maxDate, minDate, monthControl.value]);
18
+ const [label, setLabel] = useState(MONTH_NAMES(monthControl.value ?? Month.January));
19
+ useEffect(() => {
20
+ return i18nSubscribe(() => {
21
+ setLabel(MONTH_NAMES(monthControl.value ?? Month.January));
22
+ });
23
+ }, []);
24
+ useEffect(() => {
25
+ setLabel(MONTH_NAMES(monthControl.value ?? Month.January));
26
+ }, [monthControl.value]);
27
+ const onPreviousMonth = useCallback(() => {
28
+ if (itIsDefined(monthControl.value) && itIsDefined(yearControl.value)) {
29
+ if (monthControl.value > Month.January) {
30
+ monthControl.setValue(monthControl.value - 1);
31
+ }
32
+ else {
33
+ monthControl.setValue(Month.December);
34
+ yearControl.setValue(yearControl.value - 1);
35
+ }
36
+ }
37
+ }, [monthControl.value, yearControl.value]);
38
+ const onPreviousYear = useCallback(() => {
39
+ itIsDefined(yearControl.value) &&
40
+ yearControl.setValue(yearControl.value - 1);
41
+ }, [yearControl.value]);
42
+ const onPrevious = useCallback(() => {
43
+ type === 'month' ? onPreviousMonth() : onPreviousYear();
44
+ }, [type, onPreviousMonth, onPreviousYear]);
45
+ const onNextMonth = useCallback(() => {
46
+ if (itIsDefined(monthControl.value) && itIsDefined(yearControl.value)) {
47
+ if (monthControl.value < Month.December) {
48
+ monthControl.setValue(monthControl.value + 1);
49
+ }
50
+ else {
51
+ monthControl.setValue(Month.January);
52
+ yearControl.setValue(yearControl.value + 1);
53
+ }
54
+ }
55
+ }, [monthControl.value, yearControl.value]);
56
+ const onNextYear = useCallback(() => {
57
+ itIsDefined(yearControl.value) &&
58
+ yearControl.setValue(yearControl.value + 1);
59
+ }, [yearControl.value]);
60
+ const onNext = useCallback(() => {
61
+ type === 'month' ? onNextMonth() : onNextYear();
62
+ }, [type, onNextMonth, onNextYear]);
63
+ return (_jsxs("div", { className: "rls-picker-selector-title", children: [_jsx(RlsButtonAction, { icon: "arrow-ios-left", onClick: onPrevious, disabled: limitPrevious || disabled }), _jsx("span", { onClick: onClick, children: label }), _jsx(RlsButtonAction, { icon: "arrow-ios-right", onClick: onNext, disabled: limitNext || disabled })] }));
64
+ }
65
+ //# sourceMappingURL=PickerSelectorTitle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"PickerSelectorTitle.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerSelectorTitle/PickerSelectorTitle.tsx"],"names":[],"mappings":"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"}
@@ -52,7 +52,7 @@
52
52
  row-gap: var(--rls-sizing-x6);
53
53
  column-gap: var(--rls-sizing-x8);
54
54
  }
55
- .rls-picker-year__year {
55
+ .rls-picker-year__element {
56
56
  position: relative;
57
57
  display: flex;
58
58
  align-items: center;
@@ -62,31 +62,31 @@
62
62
  height: var(--rls-sizing-x20);
63
63
  border-radius: var(--rls-sizing-x4);
64
64
  }
65
- .rls-picker-year__year:not(:hover) {
65
+ .rls-picker-year__element:not(:hover) {
66
66
  color: var(--pvt-component-font-color);
67
67
  border: var(--pvt-component-border);
68
68
  background: var(--pvt-component-background);
69
69
  }
70
- .rls-picker-year__year:hover {
70
+ .rls-picker-year__element:hover {
71
71
  background: var(--rls-theme-color-900);
72
72
  color: var(--rls-theme-font-900);
73
73
  border: var(--rls-theme-border-1-900);
74
74
  }
75
- .rls-picker-year__year--selected {
75
+ .rls-picker-year__element--selected {
76
76
  --pvt-component-border: var(--rls-app-border-1-300);
77
77
  }
78
- .rls-picker-year__year--focused {
78
+ .rls-picker-year__element--focused {
79
79
  --pvt-component-background: var(--rls-theme-color-500);
80
80
  --pvt-component-font-color: var(--rls-theme-font-500);
81
81
  --pvt-component-border: var(--rls-theme-border-1-500);
82
82
  }
83
- .rls-picker-year__year--disabled {
83
+ .rls-picker-year__element--disabled {
84
84
  --pvt-span-background: var(--rls-app-background-300);
85
85
  --pvt-component-font-color: var(--rls-app-color-100);
86
86
  --pvt-span-border: var(--rls-border-1) solid var(--rls-app-background-300);
87
87
  pointer-events: none;
88
88
  }
89
- .rls-picker-year__year__span {
89
+ .rls-picker-year__span {
90
90
  font-weight: var(--rls-font-weight-medium);
91
91
  font-size: 7.5rem;
92
92
  cursor: default;
@@ -9,5 +9,5 @@ interface PickerYearProps extends RlsComponent {
9
9
  minDate?: Date;
10
10
  onValue?: (value: number) => void;
11
11
  }
12
- export declare function RlsPickerYear({ date, disabled: _disabled, formControl, maxDate, minDate, onValue, rlsTheme }: PickerYearProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function RlsPickerYear({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme }: PickerYearProps): import("react/jsx-runtime").JSX.Element;
13
13
  export {};
@@ -1,58 +1,65 @@
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 { itIsDefined } from '@rolster/commons';
3
3
  import { createYearPicker, verifyYearPicker } from '@rolster/components';
4
- import { useEffect, useState } from 'react';
4
+ import { useCallback, useEffect, useMemo, useState } from 'react';
5
5
  import { renderClassStatus } from '../../../helpers';
6
- import { RlsButtonAction } from '../../atoms';
6
+ import { RlsButtonAction } from '../../atoms/ButtonAction/ButtonAction';
7
7
  import './PickerYear.css';
8
- export function RlsPickerYear({ date, disabled: _disabled, formControl, maxDate, minDate, onValue, rlsTheme }) {
9
- const currentDate = date || new Date();
10
- const [value, setValue] = useState(formControl?.value || currentDate.getFullYear());
11
- const [year, setYear] = useState(formControl?.value || currentDate.getFullYear());
8
+ function RlsPickerYearItem({ onSelect, year, disabled }) {
9
+ const className = useMemo(() => {
10
+ return renderClassStatus('rls-picker-year__element', {
11
+ disabled: year.disabled || disabled,
12
+ focused: year.focused,
13
+ selected: year.selected
14
+ });
15
+ }, [year.disabled, year.focused, year.selected, disabled]);
16
+ const onClick = useCallback(() => {
17
+ year.value && !year.disabled && !disabled && onSelect(year.value);
18
+ }, [year.value, year.disabled, disabled, onSelect]);
19
+ return (_jsx("div", { className: className, onClick: onClick, children: _jsx("span", { className: "rls-picker-year__span rls-body1-medium", children: year.value || '????' }) }));
20
+ }
21
+ export function RlsPickerYear({ date: _date, disabled, formControl, maxDate, minDate, onValue, rlsTheme }) {
22
+ const date = useMemo(() => _date || new Date(), [_date]);
23
+ const [value, setValue] = useState(formControl?.value ?? date.getFullYear());
24
+ const [year, setYear] = useState(formControl?.value ?? date.getFullYear());
25
+ const [component, setComponent] = useState(_jsx(_Fragment, {}));
26
+ const createPickerOptions = useCallback(() => {
27
+ return {
28
+ date,
29
+ year,
30
+ minDate,
31
+ maxDate
32
+ };
33
+ }, [date, year, minDate, maxDate]);
12
34
  const [template, setTemplate] = useState(createYearPicker(createPickerOptions()));
13
35
  useEffect(() => {
14
36
  const options = createPickerOptions(); // YearPickerProps
15
37
  const year = verifyYearPicker(options);
16
- year
17
- ? setYearValue(year)
18
- : setTemplate(createYearPicker(createPickerOptions()));
38
+ year ? setYearValue(year) : setTemplate(createYearPicker(options));
19
39
  }, [date, year, value, minDate, maxDate]);
40
+ useEffect(() => {
41
+ setComponent(_jsx(_Fragment, { children: template.years.map((year, index) => (_jsx(RlsPickerYearItem, { year: year, onSelect: onSelect, disabled: disabled }, index))) }));
42
+ }, [template.years]);
20
43
  useEffect(() => {
21
44
  const year = verifyYearPicker(createPickerOptions());
22
45
  itIsDefined(year)
23
46
  ? formControl?.setValue(year)
24
- : setValue(formControl?.value || currentDate.getFullYear());
47
+ : setValue(formControl?.value ?? date.getFullYear());
25
48
  }, [formControl?.value]);
26
- function createPickerOptions() {
27
- return {
28
- date: currentDate,
29
- year,
30
- minDate,
31
- maxDate
32
- };
33
- }
34
- function setYearValue(value) {
49
+ const setYearValue = useCallback((value) => {
35
50
  formControl ? formControl.setValue(value) : setValue(value);
36
51
  setYear(value);
37
- }
38
- function onClickPrev() {
39
- setYear(year - 8);
40
- }
41
- function onClickNext() {
42
- setYear(year + 8);
43
- }
44
- function onChange(value) {
52
+ }, [formControl]);
53
+ const onClickPrev = useCallback(() => {
54
+ setYear((year) => year - 8);
55
+ }, []);
56
+ const onClickNext = useCallback(() => {
57
+ setYear((year) => year + 8);
58
+ }, []);
59
+ const onSelect = useCallback((value) => {
45
60
  setYearValue(value);
46
61
  onValue && onValue(value);
47
- }
48
- 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 || _disabled }) }), _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 || _disabled }) })] }), _jsx("div", { className: "rls-picker-year__component", children: template.years.map(({ value, disabled, focused, selected }, index) => (_jsx("div", { className: renderClassStatus('rls-picker-year__year', {
49
- disabled: disabled || _disabled,
50
- focused,
51
- selected
52
- }), onClick: value && !_disabled
53
- ? () => {
54
- onChange(value);
55
- }
56
- : undefined, children: _jsx("span", { className: "rls-picker-year__year__span rls-body1-medium", children: value || '????' }) }, index))) })] }));
62
+ }, [setYearValue, onValue]);
63
+ 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 || disabled }) }), _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 || disabled }) })] }), _jsx("div", { className: "rls-picker-year__component", children: component })] }));
57
64
  }
58
65
  //# sourceMappingURL=PickerYear.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PickerYear.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerYear/PickerYear.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PickerYear.js","sourceRoot":"","sources":["../../../../../src/components/molecules/PickerYear/PickerYear.tsx"],"names":[],"mappings":"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"}
@@ -14,6 +14,6 @@ export * from './Pagination/Pagination';
14
14
  export * from './PickerDay/PickerDay';
15
15
  export * from './PickerDayRange/PickerDayRange';
16
16
  export * from './PickerMonth/PickerMonth';
17
- export * from './PickerMonthTitle/PickerMonthTitle';
17
+ export * from './PickerSelectorTitle/PickerSelectorTitle';
18
18
  export * from './PickerYear/PickerYear';
19
19
  export * from './Toolbar/Toolbar';
@@ -14,7 +14,7 @@ export * from './Pagination/Pagination';
14
14
  export * from './PickerDay/PickerDay';
15
15
  export * from './PickerDayRange/PickerDayRange';
16
16
  export * from './PickerMonth/PickerMonth';
17
- export * from './PickerMonthTitle/PickerMonthTitle';
17
+ export * from './PickerSelectorTitle/PickerSelectorTitle';
18
18
  export * from './PickerYear/PickerYear';
19
19
  export * from './Toolbar/Toolbar';
20
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/components/molecules/index.ts"],"names":[],"mappings":"AAAA,cAAc,eAAe,CAAC;AAC9B,cAAc,iBAAiB,CAAC;AAChC,cAAc,iCAAiC,CAAC;AAChD,cAAc,6BAA6B,CAAC;AAC5C,cAAc,yBAAyB,CAAC;AACxC,cAAc,2BAA2B,CAAC;AAC1C,cAAc,+BAA+B,CAAC;AAC9C,cAAc,uBAAuB,CAAC;AACtC,cAAc,+BAA+B,CAAC;AAC9C,cAAc,qCAAqC,CAAC;AACpD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,qCAAqC,CAAC;AACpD,cAAc,yBAAyB,CAAC;AACxC,cAAc,uBAAuB,CAAC;AACtC,cAAc,iCAAiC,CAAC;AAChD,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2CAA2C,CAAC;AAC1D,cAAc,yBAAyB,CAAC;AACxC,cAAc,mBAAmB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
- import { useMemo } from 'react';
2
+ import { i18nSubscribe } from '@rolster/i18n';
3
+ import { useCallback, useEffect, useMemo, useState } from 'react';
3
4
  import { renderClassStatus } from '../../../helpers';
4
5
  import { reactI18n } from '../../../i18n';
5
6
  import { RlsIcon } from '../../atoms/Icon/Icon';
@@ -10,7 +11,23 @@ import './FieldAutocomplete.css';
10
11
  export function RlsFieldAutocompleteTemplate(props) {
11
12
  const autocomplete = useFieldAutocomplete(props);
12
13
  const { render, children, formControl, msgErrorDisabled, onSearch, placeholder, rlsTheme, searching } = props;
13
- const _disabled = formControl?.disabled || props.disabled;
14
+ const [labels, setLabels] = useState({
15
+ listEmptyDescription: reactI18n('listEmptyDescription'),
16
+ listEmptyTitle: reactI18n('listEmptyTitle'),
17
+ listInputPlaceholder: reactI18n('listInputPlaceholder')
18
+ });
19
+ useEffect(() => {
20
+ return i18nSubscribe(() => {
21
+ setLabels({
22
+ listEmptyDescription: reactI18n('listEmptyDescription'),
23
+ listEmptyTitle: reactI18n('listEmptyTitle'),
24
+ listInputPlaceholder: reactI18n('listInputPlaceholder')
25
+ });
26
+ });
27
+ }, []);
28
+ const _disabled = useMemo(() => {
29
+ return formControl?.disabled || props.disabled;
30
+ }, [formControl?.disabled, props.disabled]);
14
31
  const className = useMemo(() => {
15
32
  return renderClassStatus('rls-field-box', {
16
33
  focused: autocomplete.focused && !_disabled,
@@ -18,24 +35,20 @@ export function RlsFieldAutocompleteTemplate(props) {
18
35
  disabled: _disabled,
19
36
  selected: !!autocomplete.value
20
37
  }, 'rls-field-list rls-field-autocomplete');
21
- }, [
22
- formControl?.wrong,
23
- formControl?.disabled,
24
- autocomplete.value,
25
- autocomplete.focused,
26
- props.disabled
27
- ]);
38
+ }, [formControl?.wrong, autocomplete.value, autocomplete.focused, _disabled]);
28
39
  const classNameList = useMemo(() => {
29
40
  return renderClassStatus('rls-field-list__suggestions', {
30
41
  higher: autocomplete.higher,
31
42
  visible: autocomplete.modalIsVisible
32
43
  });
33
44
  }, [autocomplete.higher, autocomplete.modalIsVisible]);
34
- return (_jsxs("div", { id: props.identifier, ref: autocomplete.contentRef, className: className, "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", { className: "rls-field-list__control", readOnly: true, disabled: _disabled, placeholder: placeholder, value: autocomplete.value, onClick: autocomplete.onClickControl }), _jsx("button", { className: "rls-field-list__action", disabled: _disabled, onClick: autocomplete.onClickAction, children: _jsx(RlsIcon, { value: autocomplete.value ? 'trash-2' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (_jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), _jsx("div", { className: classNameList, children: autocomplete.modalIsVisible && (_jsxs(_Fragment, { children: [_jsx("div", { className: "rls-field-list__suggestions__body", children: _jsxs("ul", { ref: autocomplete.listRef, className: "rls-field-list__ul", children: [_jsxs("div", { className: "rls-field-list__ul__search", children: [_jsx("input", { ref: autocomplete.inputRef, className: "rls-field-list__ul__control", type: "text", placeholder: reactI18n('listInputPlaceholder'), value: autocomplete.pattern, onChange: (event) => {
35
- autocomplete.setPattern(event.target.value);
36
- }, disabled: _disabled || searching, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: autocomplete.onKeydownInput }), onSearch && (_jsx("button", { disabled: _disabled || searching, onClick: () => {
37
- onSearch(autocomplete.pattern);
38
- }, children: _jsx(RlsIcon, { value: "search" }) }))] }), searching && _jsx(RlsProgressBar, { indeterminate: true }), autocomplete.coincidences.map((element, index) => (_jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: autocomplete.onClickElement(element), onKeyDown: autocomplete.onKeydownElement(element), children: render(element) }, index))), !autocomplete.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: autocomplete.onClickBackdrop })] })) })] }));
45
+ const onInputSearch = useCallback((event) => {
46
+ autocomplete.setPattern(event.target.value);
47
+ }, []);
48
+ const onClickSearch = useCallback(() => {
49
+ onSearch && onSearch(autocomplete.pattern);
50
+ }, [onSearch, autocomplete.pattern]);
51
+ return (_jsxs("div", { id: props.identifier, ref: autocomplete.contentRef, className: className, "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", { className: "rls-field-list__control", readOnly: true, disabled: _disabled, placeholder: placeholder, value: autocomplete.value, onClick: autocomplete.onClickControl }), _jsx("button", { className: "rls-field-list__action", disabled: _disabled, onClick: autocomplete.onClickAction, children: _jsx(RlsIcon, { value: autocomplete.value ? 'trash-2' : 'arrow-ios-down' }) })] }) }), !msgErrorDisabled && (_jsx(RlsMessageFormError, { className: "rls-field-box__error", formControl: formControl })), _jsx("div", { className: classNameList, children: autocomplete.modalIsVisible && (_jsxs(_Fragment, { children: [_jsx("div", { className: "rls-field-list__suggestions__body", children: _jsxs("ul", { ref: autocomplete.listRef, className: "rls-field-list__ul", children: [_jsxs("div", { className: "rls-field-list__ul__search", children: [_jsx("input", { ref: autocomplete.inputRef, className: "rls-field-list__ul__control", type: "text", placeholder: labels.listInputPlaceholder, value: autocomplete.pattern, onChange: onInputSearch, disabled: _disabled || searching, onFocus: autocomplete.onFocusInput, onBlur: autocomplete.onBlurInput, onKeyDown: autocomplete.onKeydownInput }), onSearch && (_jsx("button", { disabled: _disabled || searching, onClick: onClickSearch, children: _jsx(RlsIcon, { value: "search" }) }))] }), searching && _jsx(RlsProgressBar, { indeterminate: true }), autocomplete.coincidences.map((element, index) => (_jsx("li", { className: "rls-field-list__element", tabIndex: -1, onClick: autocomplete.onClickElement(element), onKeyDown: autocomplete.onKeydownElement(element), children: render(element) }, index))), !autocomplete.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: labels.listEmptyTitle }), _jsx("p", { className: "rls-caption-regular", children: labels.listEmptyDescription })] }) }))] }) }), _jsx("div", { className: "rls-field-list__backdrop", onClick: autocomplete.onClickBackdrop })] })) })] }));
39
52
  }
40
53
  export function RlsFieldAutocomplete(props) {
41
54
  return (_jsx(RlsFieldAutocompleteTemplate, { ...props, render: (element) => (_jsx(RlsBallot, { subtitle: element.subtitle, img: element.img, initials: element.initials, children: _jsx("span", { children: element.title }) })) }));
@@ -1 +1 @@
1
- {"version":3,"file":"FieldAutocomplete.js","sourceRoot":"","sources":["../../../../../src/components/organisms/FieldAutocomplete/FieldAutocomplete.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldAutocomplete.js","sourceRoot":"","sources":["../../../../../src/components/organisms/FieldAutocomplete/FieldAutocomplete.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import { createAutocompleteStore } from '@rolster/components';
2
- import { useEffect, useRef, useState } from 'react';
2
+ import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  import { useListController } from '../../../controllers';
4
4
  const DURATION_ANIMATION = 240;
5
5
  const MAX_ELEMENTS = 6;
@@ -12,19 +12,29 @@ export function useFieldAutocomplete(props) {
12
12
  pattern: '',
13
13
  previous: null
14
14
  });
15
+ const refreshCoincidences = useCallback((suggestions, pattern, reboot = false) => {
16
+ const { collection, store } = createAutocompleteStore({
17
+ pattern,
18
+ suggestions,
19
+ reboot,
20
+ store: currentStore.current
21
+ });
22
+ currentStore.current = store;
23
+ setCoincidences(collection.slice(0, MAX_ELEMENTS));
24
+ }, []);
15
25
  useEffect(() => {
16
- refreshCoincidences(pattern, true);
26
+ refreshCoincidences(props.suggestions, pattern, true);
17
27
  }, [props.suggestions]);
18
28
  useEffect(() => {
19
- refreshCoincidences(pattern);
29
+ refreshCoincidences(props.suggestions, pattern);
20
30
  }, [pattern]);
21
- function onFocusInput() {
31
+ const onFocusInput = useCallback(() => {
22
32
  controller.setState({ focused: true });
23
- }
24
- function onBlurInput() {
33
+ }, [controller.setState]);
34
+ const onBlurInput = useCallback(() => {
25
35
  controller.setState({ focused: false });
26
- }
27
- function onKeydownInput(event) {
36
+ }, [controller.setState]);
37
+ const onKeydownInput = useCallback((event) => {
28
38
  switch (event.code) {
29
39
  case 'Escape':
30
40
  case 'Tab':
@@ -34,14 +44,14 @@ export function useFieldAutocomplete(props) {
34
44
  controller.navigationInput(event);
35
45
  break;
36
46
  }
37
- }
38
- function onClickControl() {
47
+ }, [controller.setState, controller.navigationInput]);
48
+ const onClickControl = useCallback(() => {
39
49
  controller.setState({ modalIsVisible: true });
40
50
  setTimeout(() => {
41
51
  controller.inputRef?.current?.focus();
42
52
  }, DURATION_ANIMATION);
43
- }
44
- function onClickAction() {
53
+ }, [controller.setState]);
54
+ const onClickAction = useCallback(() => {
45
55
  if (controller.value) {
46
56
  controller.setState({ modalIsVisible: false });
47
57
  controller.setFormValue(undefined);
@@ -50,44 +60,43 @@ export function useFieldAutocomplete(props) {
50
60
  else {
51
61
  onClickControl();
52
62
  }
53
- }
54
- function onClickBackdrop() {
63
+ }, [
64
+ controller.value,
65
+ controller.setState,
66
+ controller.setFormValue,
67
+ props.onValue
68
+ ]);
69
+ const onClickBackdrop = useCallback(() => {
55
70
  controller.setState({ modalIsVisible: false });
56
- }
57
- function onClickElement(element) {
71
+ }, [controller.setState]);
72
+ const onChange = useCallback((element) => {
73
+ if (props.onSelect) {
74
+ controller.setState({ modalIsVisible: false });
75
+ element.value && props.onSelect(element.value);
76
+ }
77
+ else {
78
+ controller.setState({ modalIsVisible: false });
79
+ controller.setFormValue(element);
80
+ }
81
+ props.onValue && props.onValue(element.value);
82
+ }, [
83
+ controller.setState,
84
+ controller.setFormValue,
85
+ props.onSelect,
86
+ props.onValue
87
+ ]);
88
+ const onClickElement = useCallback((element) => {
58
89
  return () => {
59
90
  onChange(element);
60
91
  };
61
- }
62
- function onKeydownElement(element) {
92
+ }, []);
93
+ const onKeydownElement = useCallback((element) => {
63
94
  return (event) => {
64
95
  event.code === 'Enter'
65
96
  ? onChange(element)
66
97
  : controller.navigationElement(event);
67
98
  };
68
- }
69
- function onChange(element) {
70
- const { onSelect, onValue } = props;
71
- if (onSelect) {
72
- controller.setState({ modalIsVisible: false });
73
- element.value && onSelect(element.value);
74
- }
75
- else {
76
- controller.setState({ modalIsVisible: false });
77
- controller.setFormValue(element);
78
- }
79
- onValue && onValue(element.value);
80
- }
81
- function refreshCoincidences(pattern, reboot = false) {
82
- const { collection, store } = createAutocompleteStore({
83
- pattern,
84
- suggestions: props.suggestions,
85
- reboot,
86
- store: currentStore.current
87
- });
88
- currentStore.current = store;
89
- setCoincidences(collection.slice(0, MAX_ELEMENTS));
90
- }
99
+ }, [controller.navigationElement]);
91
100
  return {
92
101
  ...controller,
93
102
  coincidences,
@@ -1 +1 @@
1
- {"version":3,"file":"FieldAutocompleteController.js","sourceRoot":"","sources":["../../../../../src/components/organisms/FieldAutocomplete/FieldAutocompleteController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FieldAutocompleteController.js","sourceRoot":"","sources":["../../../../../src/components/organisms/FieldAutocomplete/FieldAutocompleteController.ts"],"names":[],"mappings":"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"}