imbric-theme 1.1.5 → 1.1.7
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/atoms/Input/Input.js +158 -133
- package/atoms/Label/Label.js +11 -5
- package/atoms/Modal/Modal.js +73 -61
- package/layout/DynamicTable/DynamicTable.js +51 -129
- package/molecules/CardServiceDetail/CardServiceDetail.js +70 -14
- package/molecules/CardServiceDetail/CardServiceDetail.module.css +34 -17
- package/molecules/ColumnTable/ColumnTable.js +94 -116
- package/molecules/DatePicker/DatePicker.js +169 -165
- package/molecules/DatePickerTime/DatePickerTime.js +18 -23
- package/package-lock.json +36916 -0
- package/package.json +9 -1
- package/styles/globals.css +2 -1
@@ -1,17 +1,24 @@
|
|
1
1
|
import React from 'react'
|
2
2
|
import PropTypes from 'prop-types'
|
3
|
-
import { useState } from 'react'
|
3
|
+
import { useState } from 'react'
|
4
4
|
import styles from './DatePicker.module.css'
|
5
5
|
import { options } from './constants'
|
6
6
|
import withStyles from '../../hocs/withStyles'
|
7
|
-
import {
|
8
|
-
|
9
|
-
|
7
|
+
import {
|
8
|
+
Calendar,
|
9
|
+
DateRangePicker,
|
10
|
+
DateRange,
|
11
|
+
DefinedRange,
|
12
|
+
defaultStaticRanges,
|
13
|
+
defaultInputRanges,
|
14
|
+
} from 'react-date-range'
|
15
|
+
import Input from '../../atoms/Input'
|
16
|
+
import * as locales from 'react-date-range/dist/locale'
|
10
17
|
import moment from 'moment'
|
11
|
-
import Label from '../../atoms/Label'
|
18
|
+
import Label from '../../atoms/Label'
|
12
19
|
import { Horizontal, Vertical } from '../../layout/Spacer/components'
|
13
|
-
import Icon from '../../atoms/Icon'
|
14
|
-
import useStateDate from '../../hook/useStateDate'
|
20
|
+
import Icon from '../../atoms/Icon'
|
21
|
+
import useStateDate from '../../hook/useStateDate'
|
15
22
|
// import 'react-date-range/dist/styles.css'; // main css file
|
16
23
|
// import 'react-date-range/dist/theme/default.css'; // theme css file
|
17
24
|
|
@@ -28,19 +35,22 @@ import {
|
|
28
35
|
startOfWeek,
|
29
36
|
endOfWeek,
|
30
37
|
isSameDay,
|
31
|
-
differenceInCalendarDays
|
32
|
-
} from
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
38
|
+
differenceInCalendarDays,
|
39
|
+
} from 'date-fns'
|
40
|
+
|
41
|
+
export const DatePicker = ({
|
42
|
+
getStyles,
|
43
|
+
isLayoutDate,
|
44
|
+
onChangeRange,
|
45
|
+
sinceDateRange,
|
46
|
+
tillDateRange,
|
47
|
+
disabledInputRange,
|
48
|
+
rangeDefault,
|
49
|
+
}) => {
|
38
50
|
const [isShowCalendar, setShowCalendar] = useState(false)
|
39
51
|
|
40
|
-
|
41
52
|
const { state, setState } = useStateDate(rangeDefault)
|
42
53
|
|
43
|
-
|
44
54
|
// const [state, setState] = useState([
|
45
55
|
// {
|
46
56
|
// startDate: addDays(new Date(), -59),
|
@@ -51,15 +61,14 @@ export const DatePicker = ({ getStyles, isLayoutDate, onChangeRange, sinceDateRa
|
|
51
61
|
// ]);
|
52
62
|
|
53
63
|
moment.locale('es')
|
54
|
-
const format =
|
55
|
-
|
64
|
+
const format = 'DD/MM/YYYY'
|
56
65
|
|
57
66
|
const handleSelectRange = (item) => {
|
58
67
|
setState([item.selection])
|
59
68
|
}
|
60
69
|
|
61
70
|
const handleSelect = (date) => {
|
62
|
-
console.log(date)
|
71
|
+
console.log(date) // native Date object
|
63
72
|
console.log(state)
|
64
73
|
}
|
65
74
|
|
@@ -71,158 +80,153 @@ export const DatePicker = ({ getStyles, isLayoutDate, onChangeRange, sinceDateRa
|
|
71
80
|
const handleClickCloseCalendar = () => {
|
72
81
|
setShowCalendar(false)
|
73
82
|
console.log(state)
|
74
|
-
}
|
75
|
-
|
83
|
+
}
|
76
84
|
|
77
85
|
return (
|
78
86
|
<div className={getStyles('date-picker')}>
|
79
|
-
|
80
|
-
|
81
|
-
|
82
|
-
|
83
|
-
|
84
|
-
onChange={
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
87
|
+
{isLayoutDate === 'Calendar' ? (
|
88
|
+
<Calendar date={new Date()} onChange={handleSelect} color={'#3d91ff'} />
|
89
|
+
) : isLayoutDate === 'DateRange' ? (
|
90
|
+
<DateRange
|
91
|
+
editableDateInputs={true}
|
92
|
+
onChange={(item) => useStateDate([item.selection])}
|
93
|
+
moveRangeOnFirstSelection={false}
|
94
|
+
ranges={state}
|
95
|
+
/>
|
96
|
+
) : !isShowCalendar ? (
|
97
|
+
<div className={getStyles('date-picker-input')}>
|
98
|
+
<div>
|
99
|
+
<Label>{sinceDateRange}</Label>
|
100
|
+
<Input
|
101
|
+
isInline
|
102
|
+
isDate
|
103
|
+
id="startDate"
|
104
|
+
onClick={handleClickOpenCalendar}
|
105
|
+
placeholder="Et harum quidem"
|
106
|
+
value={moment(state[0].startDate).format(format).toString()}
|
107
|
+
disabled={disabledInputRange}
|
108
|
+
/>
|
109
|
+
{/* <Vertical size="xs" /> */}
|
110
|
+
</div>
|
111
|
+
<Horizontal size="xs" />
|
112
|
+
<div>
|
113
|
+
<Label>{tillDateRange}</Label>
|
114
|
+
<Input
|
115
|
+
isInline
|
116
|
+
isDate
|
117
|
+
id="endDate"
|
118
|
+
onClick={handleClickOpenCalendar}
|
119
|
+
placeholder="Et harum quidem"
|
120
|
+
value={moment(state[0].endDate).format(format).toString()}
|
121
|
+
disabled={disabledInputRange}
|
122
|
+
/>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
) : (
|
126
|
+
<div className={getStyles('modalDatePickerRange')}>
|
127
|
+
<DateRangePicker
|
128
|
+
locale={locales.es}
|
129
|
+
dateDisplayFormat="d MMMM yyyy"
|
130
|
+
onChange={(item) => {
|
131
|
+
handleSelectRange(item)
|
132
|
+
onChangeRange(item)
|
133
|
+
}}
|
134
|
+
showSelectionPreview={false}
|
92
135
|
moveRangeOnFirstSelection={false}
|
136
|
+
months={2}
|
93
137
|
ranges={state}
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
|
123
|
-
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
128
|
-
|
129
|
-
|
130
|
-
|
131
|
-
|
132
|
-
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
141
|
-
|
142
|
-
|
143
|
-
|
144
|
-
|
145
|
-
|
146
|
-
|
147
|
-
|
148
|
-
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
153
|
-
|
154
|
-
|
155
|
-
|
156
|
-
|
157
|
-
|
158
|
-
|
159
|
-
|
160
|
-
|
161
|
-
|
162
|
-
|
163
|
-
|
164
|
-
|
165
|
-
|
166
|
-
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
|
175
|
-
|
176
|
-
|
177
|
-
|
178
|
-
|
179
|
-
|
180
|
-
range: () => ({
|
181
|
-
startDate: startOfYear(addYears(new Date(), -1)),
|
182
|
-
endDate: endOfYear(addYears(new Date(), -1))
|
183
|
-
}),
|
184
|
-
isSelected(range) {
|
185
|
-
const definedRange = this.range();
|
186
|
-
return (
|
187
|
-
isSameDay(range.startDate, definedRange.startDate) &&
|
188
|
-
isSameDay(range.endDate, definedRange.endDate)
|
189
|
-
);
|
190
|
-
}
|
191
|
-
},
|
192
|
-
{
|
193
|
-
label: "Año actual",
|
194
|
-
range: () => ({
|
195
|
-
startDate: startOfYear(new Date()),
|
196
|
-
endDate: endOfDay(new Date())
|
197
|
-
}),
|
198
|
-
isSelected(range) {
|
199
|
-
const definedRange = this.range();
|
200
|
-
return (
|
201
|
-
isSameDay(range.startDate, definedRange.startDate) &&
|
202
|
-
isSameDay(range.endDate, definedRange.endDate)
|
203
|
-
);
|
204
|
-
}
|
205
|
-
}
|
206
|
-
]}
|
207
|
-
/>
|
208
|
-
|
209
|
-
<div className={getStyles('btnSave')} onClick={handleClickCloseCalendar}>
|
210
|
-
<Icon
|
211
|
-
id='iconClosedDatePicker'
|
212
|
-
name="checkCircle"
|
213
|
-
color="inverted"
|
214
|
-
onClick={function noRefCheck() { }}
|
215
|
-
/>
|
216
|
-
</div>
|
217
|
-
|
218
|
-
{/* <DefinedRange
|
138
|
+
direction="horizontal"
|
139
|
+
inputRanges={[
|
140
|
+
{
|
141
|
+
...defaultInputRanges[0],
|
142
|
+
label: 'Dias hasta hoy',
|
143
|
+
},
|
144
|
+
{
|
145
|
+
...defaultInputRanges[1],
|
146
|
+
label: 'Dias desde hoy',
|
147
|
+
},
|
148
|
+
]}
|
149
|
+
staticRanges={[
|
150
|
+
// ...defaultStaticRanges,
|
151
|
+
{
|
152
|
+
label: 'Mes pasado',
|
153
|
+
range: () => ({
|
154
|
+
startDate: startOfMonth(addMonths(new Date(), -1)),
|
155
|
+
endDate: endOfMonth(addMonths(new Date(), -1)),
|
156
|
+
}),
|
157
|
+
isSelected(range) {
|
158
|
+
const definedRange = this.range()
|
159
|
+
return (
|
160
|
+
isSameDay(range.startDate, definedRange.startDate) &&
|
161
|
+
isSameDay(range.endDate, definedRange.endDate)
|
162
|
+
)
|
163
|
+
},
|
164
|
+
},
|
165
|
+
{
|
166
|
+
label: 'Mes actual',
|
167
|
+
range: () => ({
|
168
|
+
startDate: startOfMonth(new Date()),
|
169
|
+
endDate: endOfDay(new Date()),
|
170
|
+
}),
|
171
|
+
isSelected(range) {
|
172
|
+
const definedRange = this.range()
|
173
|
+
return (
|
174
|
+
isSameDay(range.startDate, definedRange.startDate) &&
|
175
|
+
isSameDay(range.endDate, definedRange.endDate)
|
176
|
+
)
|
177
|
+
},
|
178
|
+
},
|
179
|
+
{
|
180
|
+
label: 'Año pasado',
|
181
|
+
range: () => ({
|
182
|
+
startDate: startOfYear(addYears(new Date(), -1)),
|
183
|
+
endDate: endOfYear(addYears(new Date(), -1)),
|
184
|
+
}),
|
185
|
+
isSelected(range) {
|
186
|
+
const definedRange = this.range()
|
187
|
+
return (
|
188
|
+
isSameDay(range.startDate, definedRange.startDate) &&
|
189
|
+
isSameDay(range.endDate, definedRange.endDate)
|
190
|
+
)
|
191
|
+
},
|
192
|
+
},
|
193
|
+
{
|
194
|
+
label: 'Año actual',
|
195
|
+
range: () => ({
|
196
|
+
startDate: startOfYear(new Date()),
|
197
|
+
endDate: endOfDay(new Date()),
|
198
|
+
}),
|
199
|
+
isSelected(range) {
|
200
|
+
const definedRange = this.range()
|
201
|
+
return (
|
202
|
+
isSameDay(range.startDate, definedRange.startDate) &&
|
203
|
+
isSameDay(range.endDate, definedRange.endDate)
|
204
|
+
)
|
205
|
+
},
|
206
|
+
},
|
207
|
+
]}
|
208
|
+
/>
|
209
|
+
|
210
|
+
<div
|
211
|
+
className={getStyles('btnSave')}
|
212
|
+
onClick={handleClickCloseCalendar}
|
213
|
+
>
|
214
|
+
<Icon
|
215
|
+
size="sm"
|
216
|
+
id="iconClosedDatePicker"
|
217
|
+
name="checkCircle"
|
218
|
+
color="inverted"
|
219
|
+
onClick={function noRefCheck() {}}
|
220
|
+
/>
|
221
|
+
</div>
|
222
|
+
|
223
|
+
{/* <DefinedRange
|
219
224
|
locale={locales.es}
|
220
225
|
onChange={item => useStateDate([item.selection])}
|
221
226
|
ranges={state}
|
222
227
|
/> */}
|
223
|
-
|
224
|
-
|
225
|
-
}
|
228
|
+
</div>
|
229
|
+
)}
|
226
230
|
</div>
|
227
231
|
)
|
228
232
|
}
|
@@ -238,13 +242,13 @@ DatePicker.propTypes = {
|
|
238
242
|
}
|
239
243
|
|
240
244
|
DatePicker.defaultProps = {
|
241
|
-
getStyles: () => {
|
245
|
+
getStyles: () => {},
|
242
246
|
isLayoutDate: 'Calendar',
|
243
|
-
onChangeRange: () => {
|
247
|
+
onChangeRange: () => {},
|
244
248
|
sinceDateRange: 'Desde',
|
245
249
|
tillDateRange: 'Hasta',
|
246
250
|
disabledInputRange: false,
|
247
|
-
rangeDefault: 'quarter'
|
251
|
+
rangeDefault: 'quarter',
|
248
252
|
}
|
249
253
|
|
250
254
|
export default withStyles(styles)(DatePicker)
|
@@ -7,12 +7,11 @@ import withStyles from '../../hocs/withStyles'
|
|
7
7
|
import DatePicker, { CalendarContainer } from 'react-datepicker'
|
8
8
|
// import "react-datepicker/dist/react-datepicker.css"
|
9
9
|
|
10
|
-
import { registerLocale, setDefaultLocale } from
|
10
|
+
import { registerLocale, setDefaultLocale } from 'react-datepicker'
|
11
11
|
import es from 'date-fns/locale/es'
|
12
12
|
import moment from 'moment'
|
13
13
|
import Input from '../../atoms/Input/Input'
|
14
14
|
|
15
|
-
|
16
15
|
export const DatePickerTime = ({
|
17
16
|
getStyles,
|
18
17
|
showIcon,
|
@@ -26,7 +25,6 @@ export const DatePickerTime = ({
|
|
26
25
|
timeIntervals,
|
27
26
|
idPicker,
|
28
27
|
}) => {
|
29
|
-
|
30
28
|
registerLocale('es', es)
|
31
29
|
setDefaultLocale('es')
|
32
30
|
|
@@ -46,7 +44,6 @@ export const DatePickerTime = ({
|
|
46
44
|
// return currentDate.getTime() < selectedDate.getTime()
|
47
45
|
// }
|
48
46
|
|
49
|
-
|
50
47
|
// const MyContainer = ({ className, children }) => {
|
51
48
|
// return (
|
52
49
|
// // <div style={{ padding: "0px", background: "#216ba5", color: "#fff" }}>
|
@@ -65,7 +62,6 @@ export const DatePickerTime = ({
|
|
65
62
|
// }
|
66
63
|
|
67
64
|
return (
|
68
|
-
|
69
65
|
<div className={getStyles('date-picker-time')}>
|
70
66
|
<DatePicker
|
71
67
|
showIcon={showIcon}
|
@@ -84,22 +80,21 @@ export const DatePickerTime = ({
|
|
84
80
|
timeIntervals={timeIntervals}
|
85
81
|
id={idPicker}
|
86
82
|
customInput={<Input isInputSecondary> </Input>}
|
87
|
-
|
88
|
-
|
89
|
-
|
90
|
-
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
|
95
|
-
|
96
|
-
|
97
|
-
|
98
|
-
|
83
|
+
// calendarContainer={MyContainer}
|
84
|
+
|
85
|
+
// minTime={(new Date(), 0)}
|
86
|
+
// maxTime={(new Date(), 30)}
|
87
|
+
// maxTime={setHours(setMinutes(new Date(), 30), 20)}
|
88
|
+
// includeTimes={[
|
89
|
+
// setHours(setMinutes(new Date(), 0), 17),
|
90
|
+
// setHours(setMinutes(new Date(), 30), 18),
|
91
|
+
// setHours(setMinutes(new Date(), 30), 19),
|
92
|
+
// setHours(setMinutes(new Date(), 30), 17),
|
93
|
+
// ]}
|
94
|
+
// dateFormat="d MMMM yyyy, HH:mm aa"
|
99
95
|
/>
|
100
96
|
</div>
|
101
97
|
)
|
102
|
-
|
103
98
|
}
|
104
99
|
|
105
100
|
DatePickerTime.propTypes = {
|
@@ -117,17 +112,17 @@ DatePickerTime.propTypes = {
|
|
117
112
|
}
|
118
113
|
|
119
114
|
DatePickerTime.defaultProps = {
|
120
|
-
getStyles: () => {
|
115
|
+
getStyles: () => {},
|
121
116
|
showIcon: true,
|
122
117
|
// selected: { startDate },
|
123
|
-
onChange: () => {
|
124
|
-
timeCaption:
|
118
|
+
onChange: () => {},
|
119
|
+
timeCaption: 'Hora',
|
125
120
|
// minDate: { now },
|
126
121
|
showTimeSelect: true,
|
127
122
|
// filterTime: { filterPassedTime },
|
128
|
-
dateFormat:
|
123
|
+
dateFormat: 'dd-MM-yyyy HH:mm aa',
|
129
124
|
timeIntervals: 1,
|
130
|
-
idPicker: 'hola'
|
125
|
+
idPicker: 'hola',
|
131
126
|
}
|
132
127
|
|
133
128
|
export default withStyles(styles)(DatePickerTime)
|