@rolster/react-components 18.12.9 → 18.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/assets/{index-7UzJ6VgT.css → index-fykwrWLx.css} +747 -648
- package/dist/cjs/index.js +760 -776
- package/dist/cjs/index.js.map +1 -1
- package/dist/es/assets/{index-7UzJ6VgT.css → index-fykwrWLx.css} +747 -648
- package/dist/es/index.js +760 -778
- package/dist/es/index.js.map +1 -1
- package/dist/esm/components/atoms/Amount/Amount.css +3 -3
- package/dist/esm/components/atoms/Avatar/Avatar.css +7 -7
- package/dist/esm/components/atoms/Badge/Badge.css +7 -7
- package/dist/esm/components/atoms/Breadcrumb/Breadcrumb.css +12 -12
- package/dist/esm/components/atoms/Button/Button.css +74 -53
- package/dist/esm/components/atoms/Button/Button.d.ts +1 -1
- package/dist/esm/components/atoms/Button/Button.js +1 -1
- package/dist/esm/components/atoms/Button/Button.js.map +1 -1
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.css +22 -22
- package/dist/esm/components/atoms/ButtonAction/ButtonAction.d.ts +1 -1
- package/dist/esm/components/atoms/CheckBox/CheckBox.css +8 -8
- package/dist/esm/components/atoms/Icon/Icon.css +7 -8
- package/dist/esm/components/atoms/Input/Input.css +13 -15
- package/dist/esm/components/atoms/InputMoney/InputMoney.css +1 -1
- package/dist/esm/components/atoms/InputNumber/InputNumber.css +1 -1
- package/dist/esm/components/atoms/InputPassword/InputPassword.css +8 -8
- package/dist/esm/components/atoms/InputText/InputText.css +1 -1
- package/dist/esm/components/atoms/Label/Label.css +1 -1
- package/dist/esm/components/atoms/MessageIcon/MessageIcon.css +6 -6
- package/dist/esm/components/atoms/Poster/Poster.css +6 -6
- package/dist/esm/components/atoms/ProgressBar/ProgressBar.css +7 -7
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.css +44 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.d.ts +7 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js +6 -0
- package/dist/esm/components/atoms/ProgressCircular/ProgressCircular.js.map +1 -0
- package/dist/esm/components/atoms/RadioButton/RadioButton.css +6 -6
- package/dist/esm/components/atoms/SearchInput/SearchInput.css +4 -4
- package/dist/esm/components/atoms/Skeleton/Skeleton.css +6 -6
- package/dist/esm/components/atoms/SkeletonText/SkeletonText.css +6 -8
- package/dist/esm/components/atoms/Switch/Switch.css +16 -16
- package/dist/esm/components/atoms/TabularText/TabularText.css +2 -2
- package/dist/esm/components/atoms/index.d.ts +1 -0
- package/dist/esm/components/atoms/index.js +1 -0
- package/dist/esm/components/atoms/index.js.map +1 -1
- package/dist/esm/components/definitions.d.ts +1 -1
- package/dist/esm/components/molecules/Ballot/Ballot.css +27 -34
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.css +7 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.d.ts +12 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js +8 -0
- package/dist/esm/components/molecules/ButtonProgress/ButtonProgress.js.map +1 -0
- package/dist/esm/components/molecules/ButtonToggle/ButtonToggle.css +32 -30
- package/dist/esm/components/molecules/CheckBoxLabel/CheckBoxLabel.css +8 -8
- package/dist/esm/components/molecules/DayPicker/DayPicker.css +39 -27
- package/dist/esm/components/molecules/DayPicker/DayPicker.d.ts +3 -1
- package/dist/esm/components/molecules/DayPicker/DayPicker.js +32 -24
- package/dist/esm/components/molecules/DayPicker/DayPicker.js.map +1 -1
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.css +28 -28
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js +18 -21
- package/dist/esm/components/molecules/DayRangePicker/DayRangePicker.js.map +1 -1
- package/dist/esm/components/molecules/MoneyField/MoneyField.css +1 -2
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.css +34 -19
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.d.ts +2 -1
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js +30 -19
- package/dist/esm/components/molecules/MonthPicker/MonthPicker.js.map +1 -1
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.css +6 -6
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.d.ts +1 -1
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js +26 -21
- package/dist/esm/components/molecules/MonthTitlePicker/MonthTitlePicker.js.map +1 -1
- package/dist/esm/components/molecules/NumberField/NumberField.css +1 -2
- package/dist/esm/components/molecules/Pagination/Pagination.css +29 -30
- package/dist/esm/components/molecules/PasswordField/PasswordField.css +4 -5
- package/dist/esm/components/molecules/RadioButtonLabel/RadioButtonLabel.css +8 -10
- package/dist/esm/components/molecules/SwitchLabel/SwitchLabel.css +8 -9
- package/dist/esm/components/molecules/TextField/TextField.css +1 -2
- package/dist/esm/components/molecules/Toolbar/Toolbar.css +10 -10
- package/dist/esm/components/molecules/YearPicker/YearPicker.css +42 -28
- package/dist/esm/components/molecules/YearPicker/YearPicker.d.ts +1 -1
- package/dist/esm/components/molecules/YearPicker/YearPicker.js +33 -26
- package/dist/esm/components/molecules/YearPicker/YearPicker.js.map +1 -1
- package/dist/esm/components/molecules/index.d.ts +1 -0
- package/dist/esm/components/molecules/index.js +1 -0
- package/dist/esm/components/molecules/index.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.css +22 -22
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.d.ts +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteField.js.map +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.d.ts +1 -1
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.js +27 -81
- package/dist/esm/components/organisms/AutocompleteField/AutocompleteFieldHook.js.map +1 -1
- package/dist/esm/components/organisms/Card/Card.css +5 -5
- package/dist/esm/components/organisms/Confirmation/Confirmation.css +38 -38
- package/dist/esm/components/organisms/DateField/DateField.css +15 -15
- package/dist/esm/components/organisms/DateField/DateField.d.ts +2 -2
- package/dist/esm/components/organisms/DateField/DateField.js +28 -16
- package/dist/esm/components/organisms/DateField/DateField.js.map +1 -1
- package/dist/esm/components/organisms/DatePicker/DatePicker.css +27 -24
- package/dist/esm/components/organisms/DatePicker/DatePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DatePicker/DatePicker.js +38 -56
- package/dist/esm/components/organisms/DatePicker/DatePicker.js.map +1 -1
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.css +13 -15
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js +5 -5
- package/dist/esm/components/organisms/DateRangeField/DateRangeField.js.map +1 -1
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.css +20 -20
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.d.ts +2 -2
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js +16 -36
- package/dist/esm/components/organisms/DateRangePicker/DateRangePicker.js.map +1 -1
- package/dist/esm/components/organisms/FormNavigation/FormNavigation.css +15 -14
- package/dist/esm/components/organisms/Modal/Modal.css +11 -11
- package/dist/esm/components/organisms/SelectField/SelectField.css +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.d.ts +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.js +1 -1
- package/dist/esm/components/organisms/SelectField/SelectField.js.map +1 -1
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.d.ts +1 -1
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.js +18 -35
- package/dist/esm/components/organisms/SelectField/SelectFieldHook.js.map +1 -1
- package/dist/esm/components/organisms/Snackbar/Snackbar.css +26 -26
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +2 -0
- package/dist/esm/constants/index.js.map +1 -0
- package/dist/esm/constants/picker.constant.d.ts +1 -0
- package/dist/esm/constants/picker.constant.js +2 -0
- package/dist/esm/constants/picker.constant.js.map +1 -0
- package/dist/esm/helpers/date-range-picker.d.ts +1 -12
- package/dist/esm/helpers/date-range-picker.js +5 -105
- package/dist/esm/helpers/date-range-picker.js.map +1 -1
- package/dist/esm/helpers/index.d.ts +2 -0
- package/dist/esm/helpers/index.js +3 -0
- package/dist/esm/helpers/index.js.map +1 -0
- package/dist/esm/hooks/ListControlHook.d.ts +2 -3
- package/dist/esm/hooks/ListControlHook.js +22 -92
- package/dist/esm/hooks/ListControlHook.js.map +1 -1
- package/dist/esm/index.d.ts +1 -2
- package/dist/esm/index.js +1 -2
- package/dist/esm/index.js.map +1 -1
- package/package.json +7 -6
- package/dist/esm/helpers/date-picker.d.ts +0 -1
- package/dist/esm/helpers/date-picker.js +0 -5
- package/dist/esm/helpers/date-picker.js.map +0 -1
- package/dist/esm/helpers/day-picker.d.ts +0 -9
- package/dist/esm/helpers/day-picker.js +0 -84
- package/dist/esm/helpers/day-picker.js.map +0 -1
- package/dist/esm/helpers/month-picker.d.ts +0 -14
- package/dist/esm/helpers/month-picker.js +0 -78
- package/dist/esm/helpers/month-picker.js.map +0 -1
- package/dist/esm/helpers/year-picker.d.ts +0 -17
- package/dist/esm/helpers/year-picker.js +0 -83
- package/dist/esm/helpers/year-picker.js.map +0 -1
- package/dist/esm/models.d.ts +0 -58
- package/dist/esm/models.js +0 -9
- package/dist/esm/models.js.map +0 -1
- package/dist/esm/types.d.ts +0 -12
- package/dist/esm/types.js +0 -7
- package/dist/esm/types.js.map +0 -1
|
@@ -1,13 +1,7 @@
|
|
|
1
|
+
import { itIsDefined } from '@rolster/helpers-advanced';
|
|
2
|
+
import { ListCollection, listNavigationElement, listNavigationInput, locationListIsBottom } from '@rolster/helpers-components';
|
|
1
3
|
import { useEffect, useRef, useState } from 'react';
|
|
2
|
-
|
|
3
|
-
const classElement = '.rls-list-field__element';
|
|
4
|
-
const MAX_POSITION_VISIBLE = 4;
|
|
5
|
-
const LIST_SIZE_REM = 16;
|
|
6
|
-
const ELEMENT_SIZE_REM = 4;
|
|
7
|
-
const BASE_SIZE_PX = 16;
|
|
8
|
-
const ELEMENT_SIZE_PX = BASE_SIZE_PX * ELEMENT_SIZE_REM;
|
|
9
|
-
const MAZ_LIST_SIZE_PX = BASE_SIZE_PX * LIST_SIZE_REM;
|
|
10
|
-
export function useListControl({ suggestions, formControl, higher: withHigher = false }) {
|
|
4
|
+
export function useListControl({ suggestions, formControl }) {
|
|
11
5
|
const boxContentRef = useRef(null);
|
|
12
6
|
const listRef = useRef(null);
|
|
13
7
|
const inputRef = useRef(null);
|
|
@@ -17,11 +11,10 @@ export function useListControl({ suggestions, formControl, higher: withHigher =
|
|
|
17
11
|
const [visible, setVisible] = useState(false);
|
|
18
12
|
const [higher, setHigher] = useState(false);
|
|
19
13
|
const [focused, setFocused] = useState(false);
|
|
20
|
-
const
|
|
21
|
-
const [listElements, setListElements] = useState(undefined);
|
|
14
|
+
const position = useRef(0);
|
|
22
15
|
useEffect(() => {
|
|
23
|
-
function onCloseSuggestions(
|
|
24
|
-
if (!boxContentRef?.current?.contains(
|
|
16
|
+
function onCloseSuggestions({ target }) {
|
|
17
|
+
if (!boxContentRef?.current?.contains(target)) {
|
|
25
18
|
setVisible(false);
|
|
26
19
|
}
|
|
27
20
|
}
|
|
@@ -34,95 +27,32 @@ export function useListControl({ suggestions, formControl, higher: withHigher =
|
|
|
34
27
|
if (visible && !opened) {
|
|
35
28
|
setOpened(true);
|
|
36
29
|
}
|
|
37
|
-
if (!visible && opened && formControl
|
|
30
|
+
if (!visible && opened && !!formControl?.touched) {
|
|
38
31
|
formControl.touch();
|
|
39
32
|
}
|
|
40
|
-
|
|
33
|
+
setHigher(!locationListIsBottom(boxContentRef.current, listRef.current));
|
|
41
34
|
}, [visible]);
|
|
42
35
|
useEffect(() => {
|
|
43
36
|
setCollection(new ListCollection(suggestions));
|
|
44
37
|
}, [suggestions]);
|
|
45
|
-
function setLocationList() {
|
|
46
|
-
if (boxContentRef?.current) {
|
|
47
|
-
const { top, height } = boxContentRef.current.getBoundingClientRect();
|
|
48
|
-
const overflow = BASE_SIZE_PX / 2;
|
|
49
|
-
const positionEnd = top + height + MAZ_LIST_SIZE_PX + overflow;
|
|
50
|
-
setHigher(positionEnd > window.innerHeight);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
38
|
function navigationInput(event) {
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
if (visible && (withHigher || !higher)) {
|
|
62
|
-
navigationInputDown();
|
|
63
|
-
}
|
|
64
|
-
break;
|
|
39
|
+
if (visible) {
|
|
40
|
+
const newPosition = listNavigationInput({
|
|
41
|
+
contentElement: boxContentRef.current,
|
|
42
|
+
event: event,
|
|
43
|
+
listElement: listRef.current
|
|
44
|
+
});
|
|
45
|
+
position.current = itIsDefined(newPosition) ? newPosition : 0;
|
|
65
46
|
}
|
|
66
47
|
}
|
|
67
48
|
function navigationElement(event) {
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function navigationInputUp() {
|
|
78
|
-
const elements = listRef?.current?.querySelectorAll(classElement);
|
|
79
|
-
if (elements?.length) {
|
|
80
|
-
const newPosition = elements.length - 1;
|
|
81
|
-
setListElements(elements);
|
|
82
|
-
setPositionElement(newPosition);
|
|
83
|
-
elements.item(newPosition).focus();
|
|
84
|
-
if (positionElement > MAX_POSITION_VISIBLE) {
|
|
85
|
-
const elementPosition = elements.length - MAX_POSITION_VISIBLE;
|
|
86
|
-
setTimeout(() => {
|
|
87
|
-
listRef?.current?.scroll({
|
|
88
|
-
top: ELEMENT_SIZE_PX * elementPosition,
|
|
89
|
-
behavior: 'smooth'
|
|
90
|
-
});
|
|
91
|
-
}, 100);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
function navigationInputDown() {
|
|
96
|
-
const elements = listRef?.current?.querySelectorAll(classElement);
|
|
97
|
-
if (elements?.length) {
|
|
98
|
-
setListElements(elements);
|
|
99
|
-
setPositionElement(0);
|
|
100
|
-
elements.item(0).focus();
|
|
101
|
-
setTimeout(() => {
|
|
102
|
-
listRef?.current?.scroll({ top: 0, behavior: 'smooth' });
|
|
103
|
-
}, 100);
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
function navigationElementUp() {
|
|
107
|
-
if (positionElement > 0) {
|
|
108
|
-
const newPosition = positionElement - 1;
|
|
109
|
-
setPositionElement(newPosition);
|
|
110
|
-
listElements?.item(newPosition).focus();
|
|
111
|
-
}
|
|
112
|
-
else if (withHigher || !higher) {
|
|
113
|
-
inputRef?.current?.focus();
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
function navigationElementDown() {
|
|
117
|
-
const newPosition = positionElement + 1;
|
|
118
|
-
const length = listElements?.length || 0;
|
|
119
|
-
if (newPosition < length) {
|
|
120
|
-
setPositionElement(newPosition);
|
|
121
|
-
listElements?.item(newPosition).focus();
|
|
122
|
-
}
|
|
123
|
-
else if (higher && !withHigher) {
|
|
124
|
-
inputRef?.current?.focus();
|
|
125
|
-
}
|
|
49
|
+
position.current = listNavigationElement({
|
|
50
|
+
contentElement: boxContentRef.current,
|
|
51
|
+
event: event,
|
|
52
|
+
inputElement: inputRef.current,
|
|
53
|
+
listElement: listRef.current,
|
|
54
|
+
position: position.current
|
|
55
|
+
});
|
|
126
56
|
}
|
|
127
57
|
return {
|
|
128
58
|
boxContentRef,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ListControlHook.js","sourceRoot":"","sources":["../../../src/hooks/ListControlHook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"ListControlHook.js","sourceRoot":"","sources":["../../../src/hooks/ListControlHook.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/index.d.ts
CHANGED
package/dist/esm/index.js
CHANGED
package/dist/esm/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,cAAc,CAAC;AAC7B,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rolster/react-components",
|
|
3
|
-
"version": "18.
|
|
3
|
+
"version": "18.13.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"description": "Package containing UI components for React Project.",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -34,12 +34,13 @@
|
|
|
34
34
|
"prepublishOnly": "npm run build"
|
|
35
35
|
},
|
|
36
36
|
"dependencies": {
|
|
37
|
-
"@rolster/helpers-advanced": "^1.1
|
|
38
|
-
"@rolster/helpers-
|
|
37
|
+
"@rolster/helpers-advanced": "^1.2.1",
|
|
38
|
+
"@rolster/helpers-components": "^0.1.25",
|
|
39
|
+
"@rolster/helpers-date": "^1.4.5",
|
|
39
40
|
"@rolster/helpers-forms": "^1.10.8",
|
|
40
41
|
"@rolster/helpers-string": "^1.1.3",
|
|
41
42
|
"@rolster/i18n": "^1.3.4",
|
|
42
|
-
"@rolster/react-forms": "^18.2.
|
|
43
|
+
"@rolster/react-forms": "^18.2.9",
|
|
43
44
|
"@rolster/validators": "^1.0.5",
|
|
44
45
|
"lottie-react": "^2.4.0",
|
|
45
46
|
"match-sorter": "^6.3.1",
|
|
@@ -58,8 +59,8 @@
|
|
|
58
59
|
"@rollup/plugin-commonjs": "^25.0.4",
|
|
59
60
|
"@rollup/plugin-node-resolve": "^15.2.1",
|
|
60
61
|
"@rollup/plugin-typescript": "^11.1.3",
|
|
61
|
-
"@rolster/styles-foundations": "^
|
|
62
|
-
"@rolster/types": "^1.0.
|
|
62
|
+
"@rolster/styles-foundations": "^2.2.0",
|
|
63
|
+
"@rolster/types": "^1.0.7",
|
|
63
64
|
"@types/node-sass": "^4.11.4",
|
|
64
65
|
"@types/react": "^18.0.28",
|
|
65
66
|
"@types/react-dom": "^18.0.11",
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare function verifyDateRange(date: Date, min?: Date, max?: Date): Date;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"date-picker.js","sourceRoot":"","sources":["../../../src/helpers/date-picker.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAEtD,MAAM,UAAU,eAAe,CAAC,IAAU,EAAE,GAAU,EAAE,GAAU;IAChE,OAAO,GAAG,IAAI,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAI,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC;AAC/E,CAAC"}
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
import { assignDay, daysFromMonth, weight } from '@rolster/helpers-date';
|
|
2
|
-
class DayPickerFactory {
|
|
3
|
-
constructor(props) {
|
|
4
|
-
const { date, value, maxDate, minDate } = props;
|
|
5
|
-
this.value = value;
|
|
6
|
-
this.date = new Date(date.getTime());
|
|
7
|
-
this.maxDate = maxDate;
|
|
8
|
-
this.minDate = minDate;
|
|
9
|
-
this.date.setDate(1);
|
|
10
|
-
}
|
|
11
|
-
static execute(props) {
|
|
12
|
-
const factory = new DayPickerFactory(props);
|
|
13
|
-
const firstWeek = factory.createFirstWeek();
|
|
14
|
-
const rightWeeks = factory.createRightWeeks();
|
|
15
|
-
return [firstWeek, ...rightWeeks];
|
|
16
|
-
}
|
|
17
|
-
createFirstWeek() {
|
|
18
|
-
const dayStart = this.date.getDay();
|
|
19
|
-
const days = [];
|
|
20
|
-
let day = 1;
|
|
21
|
-
for (let start = 0; start < dayStart; start++) {
|
|
22
|
-
days.push(this.createDayState());
|
|
23
|
-
}
|
|
24
|
-
for (let end = dayStart; end < 7; end++) {
|
|
25
|
-
days.push(this.createDayState(day));
|
|
26
|
-
day++;
|
|
27
|
-
}
|
|
28
|
-
return { days };
|
|
29
|
-
}
|
|
30
|
-
createRightWeeks() {
|
|
31
|
-
const dayStart = this.date.getDay();
|
|
32
|
-
const rightWeeks = [];
|
|
33
|
-
const dayCount = daysFromMonth(this.date.getFullYear(), this.date.getMonth());
|
|
34
|
-
let days = [];
|
|
35
|
-
let countDaysWeek = 1;
|
|
36
|
-
let day = 8 - dayStart;
|
|
37
|
-
do {
|
|
38
|
-
days.push(this.createDayState(day));
|
|
39
|
-
day++;
|
|
40
|
-
countDaysWeek++;
|
|
41
|
-
if (countDaysWeek > 7) {
|
|
42
|
-
rightWeeks.push({ days });
|
|
43
|
-
days = [];
|
|
44
|
-
countDaysWeek = 1;
|
|
45
|
-
}
|
|
46
|
-
} while (day <= dayCount);
|
|
47
|
-
const daysPending = this.createDaysPending(days.length);
|
|
48
|
-
rightWeeks.push({ days: [...days, ...daysPending] });
|
|
49
|
-
return rightWeeks;
|
|
50
|
-
}
|
|
51
|
-
createDaysPending(daysWeek) {
|
|
52
|
-
const daysPending = [];
|
|
53
|
-
const length = 7 - daysWeek;
|
|
54
|
-
for (let index = 0; index < length; index++) {
|
|
55
|
-
daysPending.push(this.createDayState());
|
|
56
|
-
}
|
|
57
|
-
return daysPending;
|
|
58
|
-
}
|
|
59
|
-
createDayState(value) {
|
|
60
|
-
return {
|
|
61
|
-
disabled: this.overflowDay(value || 0),
|
|
62
|
-
forbidden: !value,
|
|
63
|
-
selected: value === this.value,
|
|
64
|
-
value
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
overflowDay(day) {
|
|
68
|
-
return this.minOverflowDay(day) || this.maxOverflowDay(day);
|
|
69
|
-
}
|
|
70
|
-
minOverflowDay(day) {
|
|
71
|
-
return this.minDate
|
|
72
|
-
? weight(assignDay(this.date, day)) < weight(this.minDate)
|
|
73
|
-
: false;
|
|
74
|
-
}
|
|
75
|
-
maxOverflowDay(day) {
|
|
76
|
-
return this.maxDate
|
|
77
|
-
? weight(assignDay(this.date, day)) > weight(this.maxDate)
|
|
78
|
-
: false;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
export function createDayPicker(props) {
|
|
82
|
-
return DayPickerFactory.execute(props);
|
|
83
|
-
}
|
|
84
|
-
//# sourceMappingURL=day-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"day-picker.js","sourceRoot":"","sources":["../../../src/helpers/day-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Month } from '@rolster/helpers-date';
|
|
2
|
-
import { MonthState } from '../models';
|
|
3
|
-
interface FactoryProps {
|
|
4
|
-
value: number;
|
|
5
|
-
date: Date;
|
|
6
|
-
minDate?: Date;
|
|
7
|
-
maxDate?: Date;
|
|
8
|
-
}
|
|
9
|
-
export declare const MONTH_MAX_VALUE = Month.December;
|
|
10
|
-
export declare const MONTH_MIN_VALUE = Month.January;
|
|
11
|
-
export declare function isMinLimitMonth(month?: Nulleable<number>, date?: Date, minDate?: Date): boolean;
|
|
12
|
-
export declare function isMaxLimitMonth(month?: Nulleable<number>, date?: Date, maxDate?: Date): boolean;
|
|
13
|
-
export declare function createMonthPicker(props: FactoryProps): MonthState[];
|
|
14
|
-
export {};
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import { MONTH_NAMES, Month } from '@rolster/helpers-date';
|
|
2
|
-
export const MONTH_MAX_VALUE = Month.December;
|
|
3
|
-
export const MONTH_MIN_VALUE = Month.January;
|
|
4
|
-
class MonthPickerFactory {
|
|
5
|
-
constructor(props) {
|
|
6
|
-
const { date, value, maxDate, minDate } = props;
|
|
7
|
-
this.value = value;
|
|
8
|
-
this.date = new Date(date.getTime());
|
|
9
|
-
this.maxDate = maxDate;
|
|
10
|
-
this.minDate = minDate;
|
|
11
|
-
}
|
|
12
|
-
static execute(props) {
|
|
13
|
-
const factory = new MonthPickerFactory(props);
|
|
14
|
-
return [
|
|
15
|
-
factory.createMonth(Month.January),
|
|
16
|
-
factory.createMonth(Month.February),
|
|
17
|
-
factory.createMonth(Month.March),
|
|
18
|
-
factory.createMonth(Month.April),
|
|
19
|
-
factory.createMonth(Month.May),
|
|
20
|
-
factory.createMonth(Month.June),
|
|
21
|
-
factory.createMonth(Month.July),
|
|
22
|
-
factory.createMonth(Month.August),
|
|
23
|
-
factory.createMonth(Month.September),
|
|
24
|
-
factory.createMonth(Month.October),
|
|
25
|
-
factory.createMonth(Month.November),
|
|
26
|
-
factory.createMonth(Month.December)
|
|
27
|
-
];
|
|
28
|
-
}
|
|
29
|
-
createMonth(value) {
|
|
30
|
-
return {
|
|
31
|
-
value,
|
|
32
|
-
label: MONTH_NAMES()[value],
|
|
33
|
-
disabled: this.overflowMonth(value),
|
|
34
|
-
selected: value === this.value
|
|
35
|
-
};
|
|
36
|
-
}
|
|
37
|
-
get minYear() {
|
|
38
|
-
return this.minDate?.getFullYear() || 0;
|
|
39
|
-
}
|
|
40
|
-
get maxYear() {
|
|
41
|
-
return this.maxDate?.getFullYear() || 10000;
|
|
42
|
-
}
|
|
43
|
-
get minMonth() {
|
|
44
|
-
return this.minDate ? this.minDate.getMonth() : MONTH_MIN_VALUE;
|
|
45
|
-
}
|
|
46
|
-
get maxMonth() {
|
|
47
|
-
return this.maxDate ? this.maxDate.getMonth() : MONTH_MAX_VALUE;
|
|
48
|
-
}
|
|
49
|
-
overflowMonth(month) {
|
|
50
|
-
return this.minOverflowMonth(month) || this.maxOverflowMonth(month);
|
|
51
|
-
}
|
|
52
|
-
minOverflowMonth(month) {
|
|
53
|
-
return this.date.getFullYear() === this.minYear && month < this.minMonth;
|
|
54
|
-
}
|
|
55
|
-
maxOverflowMonth(month) {
|
|
56
|
-
return this.date.getFullYear() === this.maxYear && month > this.maxMonth;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
export function isMinLimitMonth(month, date, minDate) {
|
|
60
|
-
if (typeof month === 'number' && date) {
|
|
61
|
-
const minMonth = minDate ? minDate.getMonth() : MONTH_MIN_VALUE;
|
|
62
|
-
const minYear = minDate ? minDate.getFullYear() : 0;
|
|
63
|
-
return date.getFullYear() === minYear && month <= minMonth;
|
|
64
|
-
}
|
|
65
|
-
return false;
|
|
66
|
-
}
|
|
67
|
-
export function isMaxLimitMonth(month, date, maxDate) {
|
|
68
|
-
if (typeof month === 'number' && date) {
|
|
69
|
-
const maxMonth = maxDate ? maxDate.getMonth() : MONTH_MAX_VALUE;
|
|
70
|
-
const maxYear = maxDate ? maxDate.getFullYear() : 10000;
|
|
71
|
-
return date.getFullYear() === maxYear && month >= maxMonth;
|
|
72
|
-
}
|
|
73
|
-
return false;
|
|
74
|
-
}
|
|
75
|
-
export function createMonthPicker(props) {
|
|
76
|
-
return MonthPickerFactory.execute(props);
|
|
77
|
-
}
|
|
78
|
-
//# sourceMappingURL=month-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"month-picker.js","sourceRoot":"","sources":["../../../src/helpers/month-picker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { YearState } from '../models';
|
|
2
|
-
export declare const COUNT_YEAR_RANGE = 4;
|
|
3
|
-
interface FactoryProps {
|
|
4
|
-
value: number;
|
|
5
|
-
year: number;
|
|
6
|
-
minDate?: Date;
|
|
7
|
-
maxDate?: Date;
|
|
8
|
-
}
|
|
9
|
-
interface YearPickerTemplate {
|
|
10
|
-
hasNext: boolean;
|
|
11
|
-
hasPrevious: boolean;
|
|
12
|
-
maxRange: number;
|
|
13
|
-
minRange: number;
|
|
14
|
-
years: YearState[];
|
|
15
|
-
}
|
|
16
|
-
export declare function createYearPicker(props: FactoryProps): YearPickerTemplate;
|
|
17
|
-
export {};
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
export const COUNT_YEAR_RANGE = 4;
|
|
2
|
-
class YearPickerFactory {
|
|
3
|
-
constructor(props) {
|
|
4
|
-
const { value, maxDate, minDate } = props;
|
|
5
|
-
this.value = value;
|
|
6
|
-
this.maxDate = maxDate;
|
|
7
|
-
this.minDate = minDate;
|
|
8
|
-
}
|
|
9
|
-
static execute(props) {
|
|
10
|
-
const factory = new YearPickerFactory(props);
|
|
11
|
-
let year = props.year;
|
|
12
|
-
if (factory.minOverflowYear(year)) {
|
|
13
|
-
year = factory.minYear;
|
|
14
|
-
}
|
|
15
|
-
else if (factory.maxOverflowYear(year)) {
|
|
16
|
-
year = factory.maxYear;
|
|
17
|
-
}
|
|
18
|
-
const years = factory.createYears(year);
|
|
19
|
-
return {
|
|
20
|
-
hasNext: factory.hasNext,
|
|
21
|
-
hasPrevious: factory.hasPrevious,
|
|
22
|
-
maxRange: factory.maxYearRange,
|
|
23
|
-
minRange: factory.minYearRange,
|
|
24
|
-
years
|
|
25
|
-
};
|
|
26
|
-
}
|
|
27
|
-
createYears(year) {
|
|
28
|
-
const prevYears = [];
|
|
29
|
-
const nextYears = [];
|
|
30
|
-
this.minYearRange = year;
|
|
31
|
-
this.maxYearRange = year;
|
|
32
|
-
for (let index = 0; index < COUNT_YEAR_RANGE; index++) {
|
|
33
|
-
const yearPrev = year - COUNT_YEAR_RANGE + index;
|
|
34
|
-
const yearNext = year + index + 1;
|
|
35
|
-
const valuePrev = yearPrev >= this.minYear ? yearPrev : undefined;
|
|
36
|
-
const valueNext = yearNext <= this.maxYear ? yearNext : undefined;
|
|
37
|
-
const prevState = this.createYear(valuePrev);
|
|
38
|
-
const nextState = this.createYear(valueNext);
|
|
39
|
-
prevYears.push(prevState);
|
|
40
|
-
nextYears.push(nextState);
|
|
41
|
-
this.recalculateRange(prevState, nextState);
|
|
42
|
-
}
|
|
43
|
-
const yearCenter = this.createYear(year);
|
|
44
|
-
return [...prevYears, yearCenter, ...nextYears];
|
|
45
|
-
}
|
|
46
|
-
minOverflowYear(year) {
|
|
47
|
-
return year < this.minYear;
|
|
48
|
-
}
|
|
49
|
-
maxOverflowYear(year) {
|
|
50
|
-
return year > this.maxYear;
|
|
51
|
-
}
|
|
52
|
-
get minYear() {
|
|
53
|
-
return this.minDate?.getFullYear() || 0;
|
|
54
|
-
}
|
|
55
|
-
get maxYear() {
|
|
56
|
-
return this.maxDate?.getFullYear() || 10000;
|
|
57
|
-
}
|
|
58
|
-
get hasPrevious() {
|
|
59
|
-
return this.minYear < this.minYearRange;
|
|
60
|
-
}
|
|
61
|
-
get hasNext() {
|
|
62
|
-
return this.maxYear > this.maxYearRange;
|
|
63
|
-
}
|
|
64
|
-
createYear(value) {
|
|
65
|
-
return {
|
|
66
|
-
value,
|
|
67
|
-
disabled: !value,
|
|
68
|
-
selected: value === this.value
|
|
69
|
-
};
|
|
70
|
-
}
|
|
71
|
-
recalculateRange(prev, next) {
|
|
72
|
-
if (!!prev.value && this.minYearRange > prev.value) {
|
|
73
|
-
this.minYearRange = prev.value;
|
|
74
|
-
}
|
|
75
|
-
if (!!next.value && this.maxYearRange < next.value) {
|
|
76
|
-
this.maxYearRange = next.value;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
export function createYearPicker(props) {
|
|
81
|
-
return YearPickerFactory.execute(props);
|
|
82
|
-
}
|
|
83
|
-
//# sourceMappingURL=year-picker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"year-picker.js","sourceRoot":"","sources":["../../../src/helpers/year-picker.ts"],"names":[],"mappings":"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"}
|
package/dist/esm/models.d.ts
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
export interface AbstractListElement<T = unknown> {
|
|
2
|
-
description: string;
|
|
3
|
-
value: T;
|
|
4
|
-
compareTo(value: T): boolean;
|
|
5
|
-
}
|
|
6
|
-
export interface AbstractAutocompleteElement<T = unknown> extends AbstractListElement<T> {
|
|
7
|
-
hasCoincidence(pattern: string): boolean;
|
|
8
|
-
}
|
|
9
|
-
export interface ListElement<T = unknown> extends AbstractListElement<T> {
|
|
10
|
-
title: string;
|
|
11
|
-
code?: string;
|
|
12
|
-
img?: string;
|
|
13
|
-
initials?: string;
|
|
14
|
-
subtitle?: string;
|
|
15
|
-
}
|
|
16
|
-
export interface AutocompleteElement<T = unknown> extends AbstractAutocompleteElement<T> {
|
|
17
|
-
title: string;
|
|
18
|
-
code?: string;
|
|
19
|
-
img?: string;
|
|
20
|
-
initials?: string;
|
|
21
|
-
subtitle?: string;
|
|
22
|
-
}
|
|
23
|
-
export declare class ListCollection<T = unknown> {
|
|
24
|
-
readonly value: AbstractListElement<T>[];
|
|
25
|
-
constructor(value: AbstractListElement<T>[]);
|
|
26
|
-
find(element: T): Undefined<AbstractListElement<T>>;
|
|
27
|
-
}
|
|
28
|
-
export interface DayState {
|
|
29
|
-
value?: number;
|
|
30
|
-
disabled: boolean;
|
|
31
|
-
forbidden: boolean;
|
|
32
|
-
selected: boolean;
|
|
33
|
-
}
|
|
34
|
-
export interface WeekState {
|
|
35
|
-
days: DayState[];
|
|
36
|
-
}
|
|
37
|
-
export interface DayRangeState {
|
|
38
|
-
disabled: boolean;
|
|
39
|
-
end: boolean;
|
|
40
|
-
forbidden: boolean;
|
|
41
|
-
source: boolean;
|
|
42
|
-
ranged: boolean;
|
|
43
|
-
value?: number;
|
|
44
|
-
}
|
|
45
|
-
export interface WeekRangeState {
|
|
46
|
-
days: DayRangeState[];
|
|
47
|
-
}
|
|
48
|
-
export interface MonthState {
|
|
49
|
-
value: number;
|
|
50
|
-
label: string;
|
|
51
|
-
disabled: boolean;
|
|
52
|
-
selected: boolean;
|
|
53
|
-
}
|
|
54
|
-
export interface YearState {
|
|
55
|
-
value?: number;
|
|
56
|
-
disabled: boolean;
|
|
57
|
-
selected: boolean;
|
|
58
|
-
}
|
package/dist/esm/models.js
DELETED
package/dist/esm/models.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"models.js","sourceRoot":"","sources":["../../src/models.ts"],"names":[],"mappings":"AA4BA,MAAM,OAAO,cAAc;IACzB,YAA4B,KAA+B;QAA/B,UAAK,GAAL,KAAK,CAA0B;IAAG,CAAC;IAExD,IAAI,CAAC,OAAU;QACpB,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC,CAAC;IAClE,CAAC;CACF"}
|
package/dist/esm/types.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import { DateRange } from '@rolster/helpers-date';
|
|
2
|
-
export declare enum PickerListenerType {
|
|
3
|
-
Select = "PickerSelect",
|
|
4
|
-
Now = "PickerNow",
|
|
5
|
-
Cancel = "PickerCancel"
|
|
6
|
-
}
|
|
7
|
-
type PickerValue = DateRange | Date | number;
|
|
8
|
-
export interface PickerListener<D extends PickerValue> {
|
|
9
|
-
type: PickerListenerType;
|
|
10
|
-
value?: D;
|
|
11
|
-
}
|
|
12
|
-
export {};
|
package/dist/esm/types.js
DELETED
|
@@ -1,7 +0,0 @@
|
|
|
1
|
-
export var PickerListenerType;
|
|
2
|
-
(function (PickerListenerType) {
|
|
3
|
-
PickerListenerType["Select"] = "PickerSelect";
|
|
4
|
-
PickerListenerType["Now"] = "PickerNow";
|
|
5
|
-
PickerListenerType["Cancel"] = "PickerCancel";
|
|
6
|
-
})(PickerListenerType || (PickerListenerType = {}));
|
|
7
|
-
//# sourceMappingURL=types.js.map
|
package/dist/esm/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/types.ts"],"names":[],"mappings":"AAEA,MAAM,CAAN,IAAY,kBAIX;AAJD,WAAY,kBAAkB;IAC5B,6CAAuB,CAAA;IACvB,uCAAiB,CAAA;IACjB,6CAAuB,CAAA;AACzB,CAAC,EAJW,kBAAkB,KAAlB,kBAAkB,QAI7B"}
|