@rolster/react-components 1.5.7 → 18.10.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.
Files changed (153) hide show
  1. package/dist/cjs/assets/{lib.cjs-c052832f.css → index-Fy0sGm5F.css} +159 -106
  2. package/dist/cjs/index.js +2119 -0
  3. package/dist/cjs/index.js.map +1 -0
  4. package/dist/es/assets/{lib-c052832f.css → index-Fy0sGm5F.css} +159 -106
  5. package/dist/es/index.js +2051 -0
  6. package/dist/es/index.js.map +1 -0
  7. package/dist/esm/components/atoms/Amount/Amount.css +3 -2
  8. package/dist/esm/components/atoms/Amount/Amount.d.ts +3 -1
  9. package/dist/esm/components/atoms/Amount/Amount.js +2 -2
  10. package/dist/esm/components/atoms/Amount/Amount.js.map +1 -1
  11. package/dist/esm/components/atoms/Button/Button.css +1 -1
  12. package/dist/esm/components/atoms/CheckBox/CheckBox.d.ts +8 -1
  13. package/dist/esm/components/atoms/CheckBox/CheckBox.js +7 -2
  14. package/dist/esm/components/atoms/CheckBox/CheckBox.js.map +1 -1
  15. package/dist/esm/components/atoms/Icon/Icon.css +1 -1
  16. package/dist/esm/components/atoms/Input/Input.css +1 -1
  17. package/dist/esm/components/atoms/Input/Input.d.ts +3 -3
  18. package/dist/esm/components/atoms/Input/Input.js +12 -10
  19. package/dist/esm/components/atoms/Input/Input.js.map +1 -1
  20. package/dist/esm/components/atoms/InputMoney/InputMoney.d.ts +3 -3
  21. package/dist/esm/components/atoms/InputMoney/InputMoney.js +5 -10
  22. package/dist/esm/components/atoms/InputMoney/InputMoney.js.map +1 -1
  23. package/dist/esm/components/atoms/InputNumber/InputNumber.d.ts +3 -3
  24. package/dist/esm/components/atoms/InputNumber/InputNumber.js +5 -10
  25. package/dist/esm/components/atoms/InputNumber/InputNumber.js.map +1 -1
  26. package/dist/esm/components/atoms/InputPassword/InputPassword.d.ts +1 -1
  27. package/dist/esm/components/atoms/InputPassword/InputPassword.js +9 -7
  28. package/dist/esm/components/atoms/InputPassword/InputPassword.js.map +1 -1
  29. package/dist/esm/components/atoms/InputText/InputText.d.ts +3 -3
  30. package/dist/esm/components/atoms/InputText/InputText.js +5 -10
  31. package/dist/esm/components/atoms/InputText/InputText.js.map +1 -1
  32. package/dist/esm/components/atoms/Label/Label.css +3 -0
  33. package/dist/esm/components/atoms/Label/Label.d.ts +2 -0
  34. package/dist/esm/components/atoms/Label/Label.js +5 -0
  35. package/dist/esm/components/atoms/Label/Label.js.map +1 -0
  36. package/dist/esm/components/atoms/MessageIcon/MessageIcon.css +12 -0
  37. package/dist/esm/components/atoms/MessageIcon/MessageIcon.d.ts +7 -0
  38. package/dist/esm/components/atoms/MessageIcon/MessageIcon.js +7 -0
  39. package/dist/esm/components/atoms/MessageIcon/MessageIcon.js.map +1 -0
  40. package/dist/esm/components/atoms/RadioButton/RadioButton.d.ts +2 -1
  41. package/dist/esm/components/atoms/RadioButton/RadioButton.js +2 -2
  42. package/dist/esm/components/atoms/RadioButton/RadioButton.js.map +1 -1
  43. package/dist/esm/components/atoms/SearchInput/SearchInput.d.ts +2 -2
  44. package/dist/esm/components/atoms/Switch/Switch.css +40 -21
  45. package/dist/esm/components/atoms/Switch/Switch.d.ts +7 -1
  46. package/dist/esm/components/atoms/Switch/Switch.js +8 -3
  47. package/dist/esm/components/atoms/Switch/Switch.js.map +1 -1
  48. package/dist/esm/components/atoms/index.d.ts +2 -0
  49. package/dist/esm/components/atoms/index.js +2 -0
  50. package/dist/esm/components/atoms/index.js.map +1 -1
  51. package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.js.map +1 -1
  52. package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.css +1 -5
  53. package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.d.ts +1 -1
  54. package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.js.map +1 -1
  55. package/dist/esm/components/molecules/DayPicker/DayPicker.d.ts +1 -1
  56. package/dist/esm/components/molecules/DayPicker/DayPicker.js +1 -1
  57. package/dist/esm/components/molecules/DayPicker/DayPicker.js.map +1 -1
  58. package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.d.ts +1 -1
  59. package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js +1 -1
  60. package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js.map +1 -1
  61. package/dist/esm/components/molecules/MoneyField/MoneyField.d.ts +4 -2
  62. package/dist/esm/components/molecules/MoneyField/MoneyField.js +7 -8
  63. package/dist/esm/components/molecules/MoneyField/MoneyField.js.map +1 -1
  64. package/dist/esm/components/molecules/MonthPicker/MonthPicker.d.ts +1 -1
  65. package/dist/esm/components/molecules/MonthPicker/MonthPicker.js.map +1 -1
  66. package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +1 -1
  67. package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js +1 -1
  68. package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js.map +1 -1
  69. package/dist/esm/components/molecules/NumberField/NumberField.d.ts +4 -2
  70. package/dist/esm/components/molecules/NumberField/NumberField.js +7 -8
  71. package/dist/esm/components/molecules/NumberField/NumberField.js.map +1 -1
  72. package/dist/esm/components/molecules/Pagination/Pagination.js.map +1 -1
  73. package/dist/esm/components/molecules/PasswordField/PasswordField.d.ts +1 -1
  74. package/dist/esm/components/molecules/PasswordField/PasswordField.js +6 -7
  75. package/dist/esm/components/molecules/PasswordField/PasswordField.js.map +1 -1
  76. package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.d.ts +1 -1
  77. package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.js.map +1 -1
  78. package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.css +2 -5
  79. package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.d.ts +1 -1
  80. package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.js.map +1 -1
  81. package/dist/esm/components/molecules/TextField/TextField.d.ts +4 -2
  82. package/dist/esm/components/molecules/TextField/TextField.js +7 -8
  83. package/dist/esm/components/molecules/TextField/TextField.js.map +1 -1
  84. package/dist/esm/components/molecules/YearPicker/YearPicker.d.ts +2 -2
  85. package/dist/esm/components/molecules/YearPicker/YearPicker.js +2 -2
  86. package/dist/esm/components/molecules/YearPicker/YearPicker.js.map +1 -1
  87. package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.css +21 -19
  88. package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.d.ts +15 -8
  89. package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js +26 -159
  90. package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js.map +1 -1
  91. package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.d.ts +27 -0
  92. package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.js +170 -0
  93. package/dist/esm/components/organisms/AutocompleteField/autocomplete-field.hook.js.map +1 -0
  94. package/dist/esm/components/organisms/Card/Card.css +1 -1
  95. package/dist/esm/components/organisms/Confirmation/Confirmation.css +58 -34
  96. package/dist/esm/components/organisms/Confirmation/Confirmation.js +2 -1
  97. package/dist/esm/components/organisms/Confirmation/Confirmation.js.map +1 -1
  98. package/dist/esm/components/organisms/Datatable/Datatable.d.ts +2 -1
  99. package/dist/esm/components/organisms/Datatable/Datatable.js +3 -2
  100. package/dist/esm/components/organisms/Datatable/Datatable.js.map +1 -1
  101. package/dist/esm/components/organisms/DateField/DateField.css +3 -0
  102. package/dist/esm/components/organisms/DateField/DateField.d.ts +1 -1
  103. package/dist/esm/components/organisms/DateField/DateField.js +10 -3
  104. package/dist/esm/components/organisms/DateField/DateField.js.map +1 -1
  105. package/dist/esm/components/organisms/DatePicker/DatePicker.d.ts +1 -1
  106. package/dist/esm/components/organisms/DatePicker/DatePicker.js +4 -3
  107. package/dist/esm/components/organisms/DatePicker/DatePicker.js.map +1 -1
  108. package/dist/esm/components/organisms/DateRangeField/DateRangeField.d.ts +1 -1
  109. package/dist/esm/components/organisms/DateRangeField/DateRangeField.js.map +1 -1
  110. package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.d.ts +1 -1
  111. package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js +3 -2
  112. package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js.map +1 -1
  113. package/dist/esm/components/organisms/SelectField/SelectField.d.ts +13 -8
  114. package/dist/esm/components/organisms/SelectField/SelectField.js +21 -89
  115. package/dist/esm/components/organisms/SelectField/SelectField.js.map +1 -1
  116. package/dist/esm/components/organisms/SelectField/select-field.hook.d.ts +24 -0
  117. package/dist/esm/components/organisms/SelectField/select-field.hook.js +104 -0
  118. package/dist/esm/components/organisms/SelectField/select-field.hook.js.map +1 -0
  119. package/dist/esm/components/organisms/Snackbar/Snackbar.css +14 -16
  120. package/dist/esm/components/organisms/Snackbar/Snackbar.d.ts +1 -1
  121. package/dist/esm/components/organisms/Snackbar/Snackbar.js +1 -1
  122. package/dist/esm/components/organisms/Snackbar/Snackbar.js.map +1 -1
  123. package/dist/esm/hooks/index.d.ts +0 -2
  124. package/dist/esm/hooks/index.js +0 -2
  125. package/dist/esm/hooks/index.js.map +1 -1
  126. package/dist/esm/hooks/list-control.hook.d.ts +14 -8
  127. package/dist/esm/hooks/list-control.hook.js +22 -15
  128. package/dist/esm/hooks/list-control.hook.js.map +1 -1
  129. package/dist/esm/i18n.d.ts +18 -0
  130. package/dist/esm/i18n.js +23 -0
  131. package/dist/esm/i18n.js.map +1 -0
  132. package/dist/esm/models.d.ts +19 -8
  133. package/dist/esm/models.js +8 -9
  134. package/dist/esm/models.js.map +1 -1
  135. package/dist/esm/utils/css.d.ts +1 -1
  136. package/dist/esm/utils/css.js +4 -1
  137. package/dist/esm/utils/css.js.map +1 -1
  138. package/dist/esm/utils/date-range-picker.js.map +1 -1
  139. package/dist/esm/utils/day-picker.js.map +1 -1
  140. package/dist/esm/utils/month-picker.js +1 -1
  141. package/dist/esm/utils/month-picker.js.map +1 -1
  142. package/dist/esm/utils/year-picker.js.map +1 -1
  143. package/package.json +26 -11
  144. package/dist/cjs/lib.cjs.js +0 -3366
  145. package/dist/cjs/lib.cjs.js.map +0 -1
  146. package/dist/es/lib.js +0 -3300
  147. package/dist/es/lib.js.map +0 -1
  148. package/dist/esm/hooks/form-control.hook.d.ts +0 -15
  149. package/dist/esm/hooks/form-control.hook.js +0 -77
  150. package/dist/esm/hooks/form-control.hook.js.map +0 -1
  151. package/dist/esm/hooks/form-group.hook.d.ts +0 -2
  152. package/dist/esm/hooks/form-group.hook.js +0 -22
  153. package/dist/esm/hooks/form-group.hook.js.map +0 -1
@@ -1,15 +0,0 @@
1
- import { AbstractControl, FormState, ValidatorFn } from '@rolster/helpers-forms';
2
- import { LegacyRef } from 'react';
3
- export interface ReactControl<E extends HTMLElement, T = any> extends AbstractControl<T> {
4
- elementRef: LegacyRef<E>;
5
- }
6
- interface Props<T> {
7
- state?: FormState<T>;
8
- validators?: ValidatorFn<T>[];
9
- }
10
- export declare function useReactControl<E extends HTMLElement, T = any>(props?: Props<T>): ReactControl<E, T>;
11
- type Element<T> = ReactControl<HTMLElement, T>;
12
- type Input<T> = ReactControl<HTMLInputElement, T>;
13
- export declare function useFormControl<T = any>(props?: Props<T>): Element<T>;
14
- export declare function useInputControl<T = any>(props?: Props<T>): Input<T>;
15
- export {};
@@ -1,77 +0,0 @@
1
- import { useEffect, useRef, useState } from 'react';
2
- export function useReactControl(props = {}) {
3
- const [state, setState] = useState(props.state);
4
- const [value, setValue] = useState(props.state);
5
- const [dirty, setDirty] = useState(false);
6
- const [active, setActive] = useState(false);
7
- const [disabled, setDisabled] = useState(false);
8
- const [initialValue] = useState(props.state);
9
- const [valid, setValid] = useState(true);
10
- const [invalid, setInvalid] = useState(false);
11
- const [validators, setValidators] = useState(props.validators || []);
12
- const [errors, setErrors] = useState([]);
13
- const [error, setError] = useState();
14
- const [subscribers] = useState(new Set());
15
- const elementRef = useRef(null);
16
- useEffect(() => {
17
- updateValueAndValidity();
18
- if (state) {
19
- setValue(state);
20
- }
21
- subscribers.forEach((subscriber) => {
22
- subscriber(state);
23
- });
24
- }, [state]);
25
- useEffect(() => {
26
- updateValueAndValidity();
27
- }, [validators]);
28
- function reset() {
29
- setDirty(false);
30
- setState(initialValue);
31
- }
32
- function subscribe(subscriber) {
33
- subscribers.add(subscriber);
34
- }
35
- function updateValueAndValidity() {
36
- const errors = validators.reduce((errors, validator) => {
37
- const error = validator(state);
38
- if (error) {
39
- errors.push(error);
40
- }
41
- return errors;
42
- }, []);
43
- const [error] = errors;
44
- setErrors(errors);
45
- setError(error);
46
- const validState = errors.length === 0;
47
- setValid(validState);
48
- setInvalid(!validState);
49
- }
50
- return {
51
- active,
52
- dirty,
53
- disabled,
54
- elementRef,
55
- errors,
56
- invalid,
57
- valid,
58
- value,
59
- error,
60
- state,
61
- reset,
62
- setActive,
63
- setDirty,
64
- setDisabled,
65
- setValidators,
66
- setState,
67
- subscribe,
68
- updateValueAndValidity
69
- };
70
- }
71
- export function useFormControl(props = {}) {
72
- return useReactControl(props);
73
- }
74
- export function useInputControl(props = {}) {
75
- return useReactControl(props);
76
- }
77
- //# sourceMappingURL=form-control.hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-control.hook.js","sourceRoot":"","sources":["../../../src/hooks/form-control.hook.ts"],"names":[],"mappings":"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"}
@@ -1,2 +0,0 @@
1
- import { AbstractGroup, FormControls } from '@rolster/helpers-forms';
2
- export declare function useFormGroup<T extends FormControls>(controls: T): AbstractGroup<T>;
@@ -1,22 +0,0 @@
1
- export function useFormGroup(controls) {
2
- function valid() {
3
- return Object.values(controls).reduce((validState, { valid }) => validState && valid, true);
4
- }
5
- function invalid() {
6
- return !valid();
7
- }
8
- function reset() {
9
- Object.values(controls).forEach((control) => control.reset());
10
- }
11
- function json() {
12
- return Object.entries(controls).reduce((json, [key, { state }]) => {
13
- json[key] = state;
14
- return json;
15
- }, {});
16
- }
17
- function updateValueAndValidity() {
18
- Object.values(controls).forEach((control) => control.updateValueAndValidity());
19
- }
20
- return { controls, invalid, json, reset, updateValueAndValidity, valid };
21
- }
22
- //# sourceMappingURL=form-group.hook.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"form-group.hook.js","sourceRoot":"","sources":["../../../src/hooks/form-group.hook.ts"],"names":[],"mappings":"AAIA,MAAM,UAAU,YAAY,CAC1B,QAAW;IAEX,SAAS,KAAK;QACZ,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,MAAM,CACnC,CAAC,UAAU,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,CAAC,UAAU,IAAI,KAAK,EAC9C,IAAI,CACL,CAAC;IACJ,CAAC;IAED,SAAS,OAAO;QACd,OAAO,CAAC,KAAK,EAAE,CAAC;IAClB,CAAC;IAED,SAAS,KAAK;QACZ,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC;IAChE,CAAC;IAED,SAAS,IAAI;QACX,OAAO,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAM,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,EAAE;YACrE,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAClB,OAAO,IAAI,CAAC;QACd,CAAC,EAAE,EAAE,CAAC,CAAC;IACT,CAAC;IAED,SAAS,sBAAsB;QAC7B,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1C,OAAO,CAAC,sBAAsB,EAAE,CACjC,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC;AAC3E,CAAC"}