@rolster/react-components 18.18.3 → 18.20.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (118) hide show
  1. package/dist/cjs/assets/{index-DLCk3aif.css → index-DYtIRACv.css} +15 -0
  2. package/dist/cjs/index.js +284 -293
  3. package/dist/cjs/index.js.map +1 -1
  4. package/dist/es/assets/{index-DLCk3aif.css → index-DYtIRACv.css} +15 -0
  5. package/dist/es/index.js +285 -295
  6. package/dist/es/index.js.map +1 -1
  7. package/dist/esm/components/atoms/Avatar/Avatar.js +2 -2
  8. package/dist/esm/components/atoms/Avatar/Avatar.js.map +1 -1
  9. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js +2 -2
  10. package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.js.map +1 -1
  11. package/dist/esm/components/atoms/Button/Button.css +15 -0
  12. package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
  13. package/dist/esm/components/atoms/Button/Button.js +2 -2
  14. package/dist/esm/components/atoms/Button/Button.js.map +1 -1
  15. package/dist/esm/components/atoms/CheckBox/CheckBox.js +2 -2
  16. package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +1 -1
  17. package/dist/esm/components/atoms/Icon/Icon.js +2 -2
  18. package/dist/esm/components/atoms/Icon/Icon.js.map +1 -1
  19. package/dist/esm/components/atoms/Input/Input.js +13 -15
  20. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  21. package/dist/esm/components/atoms/InputMoney/InputMoney.js +3 -3
  22. package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -1
  23. package/dist/esm/components/atoms/InputNumber/InputNumber.js +3 -3
  24. package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -1
  25. package/dist/esm/components/atoms/InputPassword/InputPassword.js +9 -9
  26. package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -1
  27. package/dist/esm/components/atoms/InputSearch/InputSearch.js +5 -5
  28. package/dist/esm/components/atoms/InputSearch/InputSearch.js.map +1 -1
  29. package/dist/esm/components/atoms/InputText/InputText.js +3 -3
  30. package/dist/esm/components/atoms/InputText/InputText.js.map +1 -1
  31. package/dist/esm/components/atoms/Poster/Poster.js +2 -2
  32. package/dist/esm/components/atoms/Poster/Poster.js.map +1 -1
  33. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js +2 -2
  34. package/dist/esm/components/atoms/ProgressBar/ProgressBar.js.map +1 -1
  35. package/dist/esm/components/atoms/RadioButton/RadioButton.js +2 -2
  36. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  37. package/dist/esm/components/atoms/Switch/Switch.js +2 -2
  38. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  39. package/dist/esm/components/atoms/TabularText/TabularText.js +8 -3
  40. package/dist/esm/components/atoms/TabularText/TabularText.js.map +1 -1
  41. package/dist/esm/components/molecules/Ballot/Ballot.js +2 -2
  42. package/dist/esm/components/molecules/Ballot/Ballot.js.map +1 -1
  43. package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js +2 -2
  44. package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js.map +1 -1
  45. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js +10 -10
  46. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +1 -1
  47. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js +2 -2
  48. package/dist/esm/components/molecules/FieldMoney/FieldMoney.js.map +1 -1
  49. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js +2 -2
  50. package/dist/esm/components/molecules/FieldNumber/FieldNumber.js.map +1 -1
  51. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js +6 -6
  52. package/dist/esm/components/molecules/FieldPassword/FieldPassword.js.map +1 -1
  53. package/dist/esm/components/molecules/FieldText/FieldText.js +2 -2
  54. package/dist/esm/components/molecules/FieldText/FieldText.js.map +1 -1
  55. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js +8 -11
  56. package/dist/esm/components/molecules/LabelCheckBox/LabelCheckBox.js.map +1 -1
  57. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js +5 -5
  58. package/dist/esm/components/molecules/LabelRadioButton/LabelRadioButton.js.map +1 -1
  59. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js +11 -11
  60. package/dist/esm/components/molecules/LabelSwitch/LabelSwitch.js.map +1 -1
  61. package/dist/esm/components/molecules/Pagination/Pagination.js +2 -2
  62. package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -1
  63. package/dist/esm/components/molecules/PickerDay/PickerDay.js +1 -1
  64. package/dist/esm/components/molecules/PickerDay/PickerDay.js.map +1 -1
  65. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js +1 -1
  66. package/dist/esm/components/molecules/PickerDayRange/PickerDayRange.js.map +1 -1
  67. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js +1 -1
  68. package/dist/esm/components/molecules/PickerMonth/PickerMonth.js.map +1 -1
  69. package/dist/esm/components/molecules/PickerYear/PickerYear.js +1 -1
  70. package/dist/esm/components/molecules/PickerYear/PickerYear.js.map +1 -1
  71. package/dist/esm/components/organisms/Card/Card.js +2 -2
  72. package/dist/esm/components/organisms/Card/Card.js.map +1 -1
  73. package/dist/esm/components/organisms/Confirmation/Confirmation.js +2 -2
  74. package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +1 -1
  75. package/dist/esm/components/organisms/Datatable/Datatable.js +7 -7
  76. package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -1
  77. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.d.ts +4 -3
  78. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js +9 -10
  79. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocomplete.js.map +1 -1
  80. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.d.ts +5 -5
  81. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js +8 -8
  82. package/dist/esm/components/organisms/FieldAutocomplete/FieldAutocompleteController.js.map +1 -1
  83. package/dist/esm/components/organisms/FieldDate/FieldDate.js +2 -2
  84. package/dist/esm/components/organisms/FieldDate/FieldDate.js.map +1 -1
  85. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js +5 -2
  86. package/dist/esm/components/organisms/FieldDateRange/FieldDateRange.js.map +1 -1
  87. package/dist/esm/components/organisms/FieldSelect/FieldSelect.d.ts +4 -3
  88. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js +8 -9
  89. package/dist/esm/components/organisms/FieldSelect/FieldSelect.js.map +1 -1
  90. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.d.ts +5 -5
  91. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js +8 -8
  92. package/dist/esm/components/organisms/FieldSelect/FieldSelectController.js.map +1 -1
  93. package/dist/esm/components/organisms/FormNavigation/FormNavigation.js +2 -2
  94. package/dist/esm/components/organisms/FormNavigation/FormNavigation.js.map +1 -1
  95. package/dist/esm/components/organisms/Modal/Modal.js +2 -2
  96. package/dist/esm/components/organisms/Modal/Modal.js.map +1 -1
  97. package/dist/esm/components/organisms/PickerDate/PickerDate.js +2 -2
  98. package/dist/esm/components/organisms/PickerDate/PickerDate.js.map +1 -1
  99. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js +4 -3
  100. package/dist/esm/components/organisms/PickerDateRange/PickerDateRange.js.map +1 -1
  101. package/dist/esm/components/organisms/Snackbar/Snackbar.js +2 -2
  102. package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
  103. package/dist/esm/controllers/ListController.d.ts +4 -3
  104. package/dist/esm/controllers/ListController.js +48 -52
  105. package/dist/esm/controllers/ListController.js.map +1 -1
  106. package/dist/esm/controllers/RenderClassStatusController.d.ts +2 -0
  107. package/dist/esm/controllers/RenderClassStatusController.js +10 -0
  108. package/dist/esm/controllers/RenderClassStatusController.js.map +1 -0
  109. package/dist/esm/controllers/index.d.ts +1 -0
  110. package/dist/esm/controllers/index.js +1 -0
  111. package/dist/esm/controllers/index.js.map +1 -1
  112. package/dist/esm/definitions.d.ts +10 -0
  113. package/dist/esm/definitions.js +2 -0
  114. package/dist/esm/definitions.js.map +1 -0
  115. package/dist/esm/helpers/css.d.ts +2 -3
  116. package/dist/esm/helpers/css.js +3 -3
  117. package/dist/esm/helpers/css.js.map +1 -1
  118. package/package.json +5 -7
@@ -1,24 +1,25 @@
1
1
  import { ListCollection, locationListCanTop, navigationListFromElement, navigationListFromInput } from '@rolster/components';
2
2
  import { useCallback, useEffect, useRef, useState } from 'react';
3
3
  export function useListController(props) {
4
- const { suggestions, automatic, formControl, value } = props;
4
+ const { suggestions, automatic, formControl, reference } = props;
5
5
  const listIsOpen = useRef(false);
6
6
  const contentRef = useRef(null);
7
7
  const listRef = useRef(null);
8
8
  const inputRef = useRef(null);
9
- const [state, setState] = useState({
9
+ const [collection, setCollection] = useState(new ListCollection(suggestions));
10
+ const [state, refreshState] = useState({
10
11
  focused: false,
11
12
  higher: false,
12
13
  value: '',
13
14
  modalIsVisible: false
14
15
  });
15
- const collection = useRef(new ListCollection([]));
16
16
  const position = useRef(0);
17
- const _protected = useRef();
17
+ const valueProtected = useRef();
18
+ const changeValueInternal = useRef(false);
18
19
  useEffect(() => {
19
20
  function onCloseSuggestions({ target }) {
20
21
  !contentRef?.current?.contains(target) &&
21
- setState((state) => ({ ...state, modalIsVisible: false }));
22
+ refreshState((state) => ({ ...state, modalIsVisible: false }));
22
23
  }
23
24
  document.addEventListener('click', onCloseSuggestions);
24
25
  return () => {
@@ -32,67 +33,62 @@ export function useListController(props) {
32
33
  if (listIsOpen.current && !state.modalIsVisible) {
33
34
  formControl?.touch();
34
35
  }
35
- setState((state) => ({
36
+ refreshState((state) => ({
36
37
  ...state,
37
38
  higher: locationListCanTop(contentRef.current, listRef.current)
38
39
  }));
39
40
  }, [state.modalIsVisible]);
40
41
  useEffect(() => {
41
- collection.current = new ListCollection(suggestions);
42
- refresh(collection.current, formControl?.value, automatic);
42
+ setCollection(new ListCollection(suggestions, reference));
43
43
  }, [suggestions]);
44
44
  useEffect(() => {
45
- refresh(collection.current, formControl?.value);
46
- }, [formControl?.value]);
47
- function refresh(collection, state, automatic) {
48
- if (!state) {
49
- !refreshWithProtected(collection, automatic) &&
50
- refreshState({ value: '' });
51
- return undefined;
52
- }
53
- const element = collection.find(state);
54
- if (element) {
55
- _protected.current = undefined;
56
- return refreshState({ value: element.description });
57
- }
58
- if (!refreshWithProtected(collection, automatic)) {
59
- _protected.current = state;
60
- setFormValue(value);
61
- refreshState({ value: '' });
62
- }
63
- }
64
- function refreshWithProtected(collection, automatic) {
65
- if (automatic && collection.value[0]) {
66
- formControl?.setInitialValue(collection.value[0].value);
67
- return true;
68
- }
69
- if (_protected.current) {
70
- const element = collection.find(_protected.current);
71
- if (element) {
72
- formControl?.setValue(_protected.current);
73
- _protected.current = undefined;
74
- return true;
45
+ if (!changeValueInternal.current) {
46
+ if (formControl?.value) {
47
+ const element = collection.find(formControl.value);
48
+ if (!element) {
49
+ valueProtected.current = formControl.value;
50
+ automatic
51
+ ? setFormValue(collection.value[0], true)
52
+ : setFormValue(undefined);
53
+ }
54
+ else {
55
+ refreshState((state) => ({ ...state, value: element.description }));
56
+ }
57
+ }
58
+ else if (valueProtected.current) {
59
+ const element = collection.find(valueProtected.current);
60
+ element && setFormValue(element);
61
+ }
62
+ else {
63
+ automatic && setFormValue(collection.value[0], true);
75
64
  }
76
65
  }
77
- return false;
78
- }
79
- function refreshState(state) {
80
- setState((currentState) => ({ ...currentState, ...state }));
81
- }
82
- const setFormValue = useCallback((value) => {
83
- formControl?.setValue(value);
66
+ changeValueInternal.current = false;
67
+ }, [collection, formControl?.value]);
68
+ const setState = useCallback((state) => {
69
+ refreshState((_state) => ({ ..._state, ...state }));
70
+ }, []);
71
+ const setFormValue = useCallback((element, initialValue = false) => {
72
+ refreshState((_state) => ({
73
+ ..._state,
74
+ value: element?.description || ''
75
+ }));
76
+ changeValueInternal.current = true;
77
+ initialValue
78
+ ? formControl?.setInitialValue(element?.value)
79
+ : formControl?.setValue(element?.value);
84
80
  }, [formControl]);
85
- function navigationInput(event) {
81
+ const navigationInput = useCallback((event) => {
86
82
  if (state.modalIsVisible) {
87
- const newPosition = navigationListFromInput({
83
+ const _position = navigationListFromInput({
88
84
  content: contentRef.current,
89
85
  event: event,
90
86
  list: listRef.current
91
87
  });
92
- position.current = newPosition ?? 0;
88
+ position.current = _position ?? 0;
93
89
  }
94
- }
95
- function navigationElement(event) {
90
+ }, [state.modalIsVisible]);
91
+ const navigationElement = useCallback((event) => {
96
92
  position.current = navigationListFromElement({
97
93
  content: contentRef.current,
98
94
  event: event,
@@ -100,7 +96,7 @@ export function useListController(props) {
100
96
  list: listRef.current,
101
97
  position: position.current
102
98
  });
103
- }
99
+ }, [state.modalIsVisible]);
104
100
  return {
105
101
  ...state,
106
102
  contentRef,
@@ -109,7 +105,7 @@ export function useListController(props) {
109
105
  navigationElement,
110
106
  navigationInput,
111
107
  setFormValue,
112
- setState: refreshState
108
+ setState
113
109
  };
114
110
  }
115
111
  //# sourceMappingURL=ListController.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ListController.js","sourceRoot":"","sources":["../../../src/controllers/ListController.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ListController.js","sourceRoot":"","sources":["../../../src/controllers/ListController.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { ClassStatus } from '../helpers';
2
+ export declare function useRenderClassStatus(base: string, status?: ClassStatus, additionals?: string): string;
@@ -0,0 +1,10 @@
1
+ import { useEffect, useState } from 'react';
2
+ import { renderClassStatus } from '../helpers';
3
+ export function useRenderClassStatus(base, status = {}, additionals) {
4
+ const [className, setClassName] = useState('');
5
+ useEffect(() => {
6
+ setClassName(renderClassStatus(base, status, additionals));
7
+ }, [base, Object.values(status), additionals]);
8
+ return className;
9
+ }
10
+ //# sourceMappingURL=RenderClassStatusController.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"RenderClassStatusController.js","sourceRoot":"","sources":["../../../src/controllers/RenderClassStatusController.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AAC5C,OAAO,EAAe,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE5D,MAAM,UAAU,oBAAoB,CAClC,IAAY,EACZ,SAAsB,EAAE,EACxB,WAAoB;IAEpB,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,YAAY,CAAC,iBAAiB,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC;IAC7D,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC;IAE/C,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -1,2 +1,3 @@
1
1
  export * from './DatatableController';
2
2
  export * from './ListController';
3
+ export * from './RenderClassStatusController';
@@ -1,3 +1,4 @@
1
1
  export * from './DatatableController';
2
2
  export * from './ListController';
3
+ export * from './RenderClassStatusController';
3
4
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/controllers/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAC;AACtC,cAAc,kBAAkB,CAAC;AACjC,cAAc,+BAA+B,CAAC"}
@@ -0,0 +1,10 @@
1
+ import { RefObject } from 'react';
2
+ export interface ListControllerState {
3
+ contentRef: RefObject<HTMLDivElement>;
4
+ focused: boolean;
5
+ higher: boolean;
6
+ inputRef: RefObject<HTMLInputElement>;
7
+ listRef: RefObject<HTMLUListElement>;
8
+ modalIsVisible: boolean;
9
+ value: string;
10
+ }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=definitions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/definitions.ts"],"names":[],"mappings":""}
@@ -1,3 +1,2 @@
1
- type Status = Record<string, string | boolean | undefined | null>;
2
- export declare function renderClassStatus(base: string, status?: Status, aditionals?: string): string;
3
- export {};
1
+ export type ClassStatus = Record<string, string | boolean | undefined | null>;
2
+ export declare function renderClassStatus(base: string, status?: ClassStatus, additionals?: string): string;
@@ -1,4 +1,4 @@
1
- export function renderClassStatus(base, status = {}, aditionals) {
1
+ export function renderClassStatus(base, status = {}, additionals) {
2
2
  const resultClass = [base];
3
3
  Object.entries(status).forEach(([name, value]) => {
4
4
  if (value) {
@@ -7,8 +7,8 @@ export function renderClassStatus(base, status = {}, aditionals) {
7
7
  : resultClass.push(`${base}--${name}`);
8
8
  }
9
9
  });
10
- if (aditionals) {
11
- resultClass.push(aditionals);
10
+ if (additionals) {
11
+ resultClass.push(additionals);
12
12
  }
13
13
  return resultClass.join(' ');
14
14
  }
@@ -1 +1 @@
1
- {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/helpers/css.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,SAAiB,EAAE,EACnB,UAAmB;IAEnB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,EAAE,CAAC;QACf,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
1
+ {"version":3,"file":"css.js","sourceRoot":"","sources":["../../../src/helpers/css.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,iBAAiB,CAC/B,IAAY,EACZ,SAAsB,EAAE,EACxB,WAAoB;IAEpB,MAAM,WAAW,GAAG,CAAC,IAAI,CAAC,CAAC;IAE3B,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE;QAC/C,IAAI,KAAK,EAAE,CAAC;YACV,OAAO,KAAK,KAAK,QAAQ;gBACvB,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,KAAK,EAAE,CAAC;gBACvC,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,IAAI,KAAK,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,WAAW,EAAE,CAAC;QAChB,WAAW,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAChC,CAAC;IAED,OAAO,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC/B,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rolster/react-components",
3
- "version": "18.18.3",
3
+ "version": "18.20.2",
4
4
  "type": "module",
5
5
  "description": "Package containing UI components for React Project.",
6
6
  "module": "dist/esm/index.js",
@@ -35,11 +35,11 @@
35
35
  },
36
36
  "dependencies": {
37
37
  "@rolster/commons": "^2.3.0",
38
- "@rolster/components": "^0.4.1",
38
+ "@rolster/components": "^0.5.0",
39
39
  "@rolster/dates": "^2.1.0",
40
40
  "@rolster/forms": "^2.9.0",
41
41
  "@rolster/i18n": "^2.1.2",
42
- "@rolster/react-forms": "^18.10.3",
42
+ "@rolster/react-forms": "^18.11.3",
43
43
  "@rolster/strings": "^2.1.2",
44
44
  "@rolster/validators": "^2.1.0",
45
45
  "lottie-react": "^2.4.0",
@@ -61,8 +61,7 @@
61
61
  "@types/uuid": "^9.0.6",
62
62
  "@typescript-eslint/eslint-plugin": "^5.57.1",
63
63
  "@typescript-eslint/parser": "^5.57.1",
64
- "@vitejs/plugin-react": "^4.0.0",
65
- "@vitejs/plugin-react-swc": "^3.3.1",
64
+ "@vitejs/plugin-react": "^4.2.1",
66
65
  "eslint": "^8.38.0",
67
66
  "eslint-plugin-react-hooks": "^4.6.0",
68
67
  "eslint-plugin-react-refresh": "^0.3.4",
@@ -76,8 +75,7 @@
76
75
  "sass": "^1.62.1",
77
76
  "sort-by": "^0.0.2",
78
77
  "typescript": "^5.7.2",
79
- "vite": "^4.3.2",
80
- "vite-tsconfig-paths": "^4.2.0"
78
+ "vite": "^6.2.0"
81
79
  },
82
80
  "repository": {
83
81
  "type": "git",