Skip to content

Commit e3a6810

Browse files
committed
Merge branch 'develop'
2 parents 634ef73 + 873bf8c commit e3a6810

File tree

13 files changed

+177
-74
lines changed

13 files changed

+177
-74
lines changed

index.d.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -595,6 +595,7 @@ declare module "react-multi-date-picker/plugins/time_picker" {
595595
interface TimePickerProps {
596596
position?: string;
597597
disabled?: boolean;
598+
hideSeconds?: boolean;
598599
}
599600

600601
export default function TimePicker(

package-lock.json

Lines changed: 33 additions & 35 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "react-multi-date-picker",
3-
"version": "2.9.0",
3+
"version": "2.9.1",
44
"description": "a simple React datepicker component for working with gregorian, persian, arabic and indian calendars with the ability to select the date by single, multiple and range pickers.",
55
"main": "./build/index.js",
66
"types": "index.d.ts",
@@ -55,11 +55,11 @@
5555
"@rollup/plugin-url": "^6.0.0",
5656
"@svgr/rollup": "^5.5.0",
5757
"@tabler/icons": "^1.41.2",
58-
"postcss": "8.2.15",
58+
"postcss": "8.3.0",
5959
"postcss-css-variables": "^0.18.0",
6060
"react": "^17.0.2",
6161
"react-dom": "^17.0.2",
62-
"rollup": "^2.48.0",
62+
"rollup": "^2.49.0",
6363
"rollup-plugin-peer-deps-external": "^2.2.4",
6464
"rollup-plugin-postcss": "^4.0.0",
6565
"rollup-plugin-terser": "^7.0.2"

plugins/all/analog_time_picker/analog_time_picker.js

Lines changed: 30 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ export default function AnalogTimePicker({
1616
handleChange,
1717
position,
1818
calendarProps: { disableDayPicker },
19+
hideSeconds,
1920
}) {
2021
let { date, selectedDate, multiple, range, focused } = state,
2122
availbleDate;
@@ -63,27 +64,38 @@ export default function AnalogTimePicker({
6364
<div className="rmdp-analog-clock">
6465
<div className="dot" />
6566
<div>
66-
{array.map((name, index) => (
67-
<div
68-
key={index}
69-
style={{ transform: getTransform(degree[name]) }}
70-
className={`rmdp-${name}`}
71-
/>
72-
))}
67+
{array.map((name, index) => {
68+
if (name === "second" && hideSeconds) return null;
69+
70+
return (
71+
<div
72+
key={index}
73+
style={{ transform: getTransform(degree[name]) }}
74+
className={`rmdp-${name}`}
75+
/>
76+
);
77+
})}
7378
</div>
7479
<div>{numbers}</div>
7580
<div>{lines}</div>
7681
</div>
7782
<div className="rmdp-time-picker" style={{ marginBottom: "10px" }}>
78-
{array.map((name, index) => (
79-
<Button
80-
key={index}
81-
name={name}
82-
value={getValue(name)}
83-
update={update}
84-
digits={date.digits}
85-
/>
86-
))}
83+
{array.map((name, index) => {
84+
if (name === "second") return null;
85+
86+
return (
87+
<Button
88+
key={index}
89+
name={name}
90+
value={getValue(name)}
91+
update={update}
92+
digits={date.digits}
93+
hideDivider={
94+
name === "second" || (name === "minute" && hideSeconds)
95+
}
96+
/>
97+
);
98+
})}
8799
</div>
88100
</div>
89101
);
@@ -109,15 +121,15 @@ export default function AnalogTimePicker({
109121
}
110122
}
111123

112-
function Button({ name, value, update, digits }) {
124+
function Button({ name, value, update, digits, hideDivider }) {
113125
return (
114126
<>
115127
<div>
116128
<Arrow direction="rmdp-up" onClick={() => update(name, value + 1)} />
117129
<Input value={value} onChange={update} digits={digits} name={name} />
118130
<Arrow direction="rmdp-down" onClick={() => update(name, value - 1)} />
119131
</div>
120-
{name !== "second" && <span className="dvdr">:</span>}
132+
{!hideDivider && <span className="dvdr">:</span>}
121133
</>
122134
);
123135
}

plugins/all/date_picker_header/date_picker_header.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ export default function DatePickerHeader({
2525
selectedDate = state.selectedDate;
2626
} else if (Array.isArray(state.selectedDate)) {
2727
selectedDate = state.focused || getLastItem(state.selectedDate);
28-
} else if (!selectedDate) {
28+
} else {
2929
selectedDate = new DateObject();
3030
}
3131

plugins/all/time_picker/time_picker.js

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ export default function TimePicker({
1010
calendarProps: { formattingIgnoreList, disableDayPicker },
1111
nodes,
1212
Calendar,
13+
hideSeconds,
1314
}) {
1415
let { date, selectedDate, multiple, range, focused } = state,
1516
meridiems = date.meridiems;
@@ -68,15 +69,22 @@ export default function TimePicker({
6869
["padding" + padding]: padding ? "5px" : "0",
6970
}}
7071
>
71-
{["hour", "minute", "second"].map((name, index) => (
72-
<Button
73-
key={index}
74-
name={name}
75-
value={getValue(name)}
76-
update={update}
77-
digits={date.digits}
78-
/>
79-
))}
72+
{["hour", "minute", "second"].map((name, index) => {
73+
if (name === "second" && hideSeconds) return null;
74+
75+
return (
76+
<Button
77+
key={index}
78+
name={name}
79+
value={getValue(name)}
80+
update={update}
81+
digits={date.digits}
82+
hideDivider={
83+
name === "second" || (name === "minute" && hideSeconds)
84+
}
85+
/>
86+
);
87+
})}
8088
<div style={getStyle()}>
8189
<Arrow direction="rmdp-up" onClick={toggleMeridiem} />
8290
<div className="rmdp-am">
@@ -126,15 +134,15 @@ export default function TimePicker({
126134
}
127135
}
128136

129-
function Button({ name, value, update, digits }) {
137+
function Button({ name, value, update, digits, hideDivider }) {
130138
return (
131139
<>
132140
<div>
133141
<Arrow direction="rmdp-up" onClick={() => update(name, value + 1)} />
134142
<Input value={value} onChange={update} digits={digits} name={name} />
135143
<Arrow direction="rmdp-down" onClick={() => update(name, value - 1)} />
136144
</div>
137-
{name !== "second" && <span className="dvdr">:</span>}
145+
{!hideDivider && <span className="dvdr">:</span>}
138146
</>
139147
);
140148
}

src/components/date_picker/date_picker.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -518,7 +518,7 @@ function DatePicker(
518518

519519
if (input || !isVisible) {
520520
setIsVisible(true);
521-
} else if (isVisible) {
521+
} else {
522522
closeCalendar();
523523
}
524524
}

src/components/day_picker/day_picker.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -209,6 +209,8 @@ export default function DayPicker({
209209
}
210210

211211
function getOtherProps(object) {
212+
if (!object.current && !showOtherDays) return {};
213+
212214
let otherProps = mapDays({
213215
date: object.date,
214216
today,
@@ -217,8 +219,7 @@ export default function DayPicker({
217219
isSameDate,
218220
});
219221

220-
if (!otherProps || otherProps.constructor !== Object) otherProps = {};
221-
222+
if (otherProps?.constructor !== Object) otherProps = {};
222223
if (otherProps.disabled || otherProps.hidden) object.disabled = true;
223224
if (otherProps.hidden) object.hidden = true;
224225

website/src/components/demo/quick_access.js

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -249,6 +249,10 @@ const list = [
249249
name: "Only Time Picker Meridiem",
250250
path: "other-pickers/#only-time-picker-meridiem",
251251
},
252+
{
253+
name: "Hiding Seconds",
254+
path: "other-pickers/#hiding-seconds",
255+
},
252256
{
253257
name: "Only Month Picker",
254258
path: "other-pickers/#only-month-picker",
@@ -915,6 +919,10 @@ const list = [
915919
name: "Color & Background",
916920
path: "plugins/analog-time-picker/#color-&-background",
917921
},
922+
{
923+
name: "Hiding Seconds",
924+
path: "plugins/analog-time-picker/#hiding-seconds",
925+
},
918926
{
919927
name: "Position Bottom",
920928
path: "plugins/analog-time-picker/#position-bottom",

0 commit comments

Comments
 (0)