Skip to content

Commit f784603

Browse files
committed
명칭 변경 : timeselector => timepicker
1 parent 7a8ae23 commit f784603

File tree

10 files changed

+73
-91
lines changed

10 files changed

+73
-91
lines changed

package/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@shinyongjun/react-datepicker",
3-
"version": "2.1.1",
3+
"version": "2.1.2",
44
"main": "./dist/cjs/index.js",
55
"module": "./dist/esm/index.js",
66
"source": "./src/index.tsx",

package/src/assets/global.css

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -185,40 +185,40 @@
185185
color: #bbb;
186186
}
187187

188-
/* timeselector */
189-
.react-datepicker__timeselector-container {
188+
/* timepicker */
189+
.react-datepicker__timepicker-container {
190190
display: flex;
191191
flex-flow: column;
192192
position: relative;
193193
border-left: 1px solid #ddd;
194194
}
195-
.react-datepicker__timeselector-header {
195+
.react-datepicker__timepicker-header {
196196
display: flex;
197197
justify-content: center;
198198
align-items: center;
199199
height: 36px;
200200
flex-shrink: 0;
201201
border-bottom: 1px solid #ddd;
202202
}
203-
.react-datepicker__timeselector-selector {
203+
.react-datepicker__timepicker-selector {
204204
overflow: hidden;
205205
display: flex;
206206
}
207-
.react-datepicker__timeselector-list {
207+
.react-datepicker__timepicker-list {
208208
overflow-y: auto;
209209
width: 40px;
210210
/* -ms-overflow-style: none;
211211
scrollbar-width: none; */
212212
scrollbar-width: thin;
213213
}
214-
/* .react-datepicker__timeselector-selector
215-
.react-datepicker__timeselector-list::-webkit-scrollbar {
214+
/* .react-datepicker__timepicker-selector
215+
.react-datepicker__timepicker-list::-webkit-scrollbar {
216216
scrollbar-width: thin;
217217
} */
218-
.react-datepicker__timeselector-list-item {
218+
.react-datepicker__timepicker-list-item {
219219
display: block;
220220
}
221-
.react-datepicker__timeselector-list-button {
221+
.react-datepicker__timepicker-list-button {
222222
display: block;
223223
width: 100%;
224224
height: 36px;

package/src/components/Datepicker.tsx

Lines changed: 12 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
IDateValue,
77
ITimeStep,
88
ITimeValue,
9-
ITimeselector,
9+
ITimepicker,
1010
TIsVisible,
1111
} from '../types/props';
1212
import { formatDate } from '../utils/datetime';
@@ -18,8 +18,8 @@ import DatepickerDecade from './datepicker/Decade';
1818
import DatepickerMonth from './datepicker/Month';
1919
import DatepickerYear from './datepicker/Year';
2020
import DatepickerInput from './input/DatepickerInput';
21-
import TimeselectorHeader from './timeselector/Header';
22-
import TimeselectorSelector from './timeselector/Selector';
21+
import TimepickerHeader from './timepicker/Header';
22+
import TimepickerSelector from './timepicker/Selector';
2323

2424
interface IProps {
2525
initValue?: Date | null;
@@ -33,7 +33,7 @@ interface IProps {
3333
className?: string;
3434
placeholder?: string;
3535
disabled?: boolean;
36-
timeselector?: false | ITimeselector;
36+
timepicker?: false | ITimepicker;
3737
timeStep?: ITimeStep;
3838
hourStep?: number;
3939
minuteStep?: number;
@@ -55,13 +55,11 @@ function Datepicker({
5555
className = '',
5656
placeholder = '',
5757
disabled = false,
58-
timeselector = false,
58+
timepicker = false,
5959
timeStep = { hour: 1, minute: 1, second: 1 },
6060
onChange,
6161
}: IProps) {
62-
const initialValueFormat = timeselector
63-
? 'YYYY-MM-DD hh:mm:ss'
64-
: 'YYYY-MM-DD';
62+
const initialValueFormat = timepicker ? 'YYYY-MM-DD hh:mm:ss' : 'YYYY-MM-DD';
6563
const comValueFormat = valueFormat ? valueFormat : initialValueFormat;
6664
const [value, setValue] = useState<Date | null>(initValue);
6765
const [timeValue, setTimeValue] = useState<ITimeValue>({
@@ -194,7 +192,7 @@ function Datepicker({
194192
weekdayLabels={weekdayLabels}
195193
timeValue={timeValue}
196194
closesAfterChange={closesAfterChange}
197-
timeselector={timeselector}
195+
timepicker={timepicker}
198196
setIsVisible={setIsVisible}
199197
/>
200198
)}
@@ -226,21 +224,18 @@ function Datepicker({
226224
)}
227225
</div>
228226
</div>
229-
{timeselector && (
227+
{timepicker && (
230228
<div
231-
className={`${NAME_SPACE}__timeselector-container`}
229+
className={`${NAME_SPACE}__timepicker-container`}
232230
style={{
233231
height: containerHeight,
234232
}}
235233
>
236-
<TimeselectorHeader
237-
timeValue={timeValue}
238-
timeselector={timeselector}
239-
/>
240-
<TimeselectorSelector
234+
<TimepickerHeader timeValue={timeValue} timepicker={timepicker} />
235+
<TimepickerSelector
241236
timeValue={timeValue}
242237
setTimeValue={setTimeValue}
243-
timeselector={timeselector}
238+
timepicker={timepicker}
244239
timeStep={timeStep}
245240
/>
246241
</div>

package/src/components/Rangepicker.tsx

Lines changed: 13 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ import {
66
IDateValue,
77
ITimeStep,
88
ITimeValue,
9-
ITimeselector,
9+
ITimepicker,
1010
TIsVisible,
1111
} from '../types/props';
1212
import { formatDate } from '../utils/datetime';
@@ -18,8 +18,8 @@ import DatepickerDecade from './datepicker/Decade';
1818
import DatepickerYear from './datepicker/Year';
1919
import RangepickerInput from './input/RangepickerInput';
2020
import RangepickerMonth from './rangepicker/Month';
21-
import TimeselectorHeader from './timeselector/Header';
22-
import TimeselectorSelector from './timeselector/Selector';
21+
import TimepickerHeader from './timepicker/Header';
22+
import TimepickerSelector from './timepicker/Selector';
2323

2424
interface IProps {
2525
initStartValue?: Date | null;
@@ -34,7 +34,7 @@ interface IProps {
3434
placeholder?: string;
3535
disabled?: boolean;
3636
/** 시간선택기 사용 여부를 결정합니다. */
37-
timeselector?: false | ITimeselector;
37+
timepicker?: false | ITimepicker;
3838
timeStep?: ITimeStep;
3939
/** value의 변화를 감지하여 Callback함수를 실행합니다. */
4040
onChange?: (startDate: Date | null, endDate: Date | null) => void;
@@ -54,13 +54,11 @@ export default function Rangepicker({
5454
className = '',
5555
placeholder = '',
5656
disabled = false,
57-
timeselector = false,
57+
timepicker = false,
5858
timeStep = { hour: 1, minute: 1, second: 1 },
5959
onChange,
6060
}: IProps) {
61-
const initialValueFormat = timeselector
62-
? 'YYYY-MM-DD hh:mm:ss'
63-
: 'YYYY-MM-DD';
61+
const initialValueFormat = timepicker ? 'YYYY-MM-DD hh:mm:ss' : 'YYYY-MM-DD';
6462
const comValueFormat = valueFormat ? valueFormat : initialValueFormat;
6563
const [startValue, setStartValue] = useState<Date | null>(initStartValue);
6664
const [endValue, setEndValue] = useState<Date | null>(initEndValue);
@@ -112,7 +110,7 @@ export default function Rangepicker({
112110
}, [isVisible, viewStartDate, viewEndDate]);
113111

114112
useEffect(() => {
115-
// if (closesAfterChange && !timeselector && endValue !== null) {
113+
// if (closesAfterChange && !timepicker && endValue !== null) {
116114
// setIsVisible(false);
117115
// }
118116
if (onChange && isMounted) {
@@ -348,23 +346,23 @@ export default function Rangepicker({
348346
)}
349347
</div>
350348
</div>
351-
{timeselector && (
349+
{timepicker && (
352350
<div
353-
className={`${NAME_SPACE}__timeselector-container`}
351+
className={`${NAME_SPACE}__timepicker-container`}
354352
style={{
355353
height: containerHeight,
356354
}}
357355
>
358-
<TimeselectorHeader
356+
<TimepickerHeader
359357
timeValue={isVisible === 'start' ? timeStartValue : timeEndValue}
360-
timeselector={timeselector}
358+
timepicker={timepicker}
361359
/>
362-
<TimeselectorSelector
360+
<TimepickerSelector
363361
timeValue={isVisible === 'start' ? timeStartValue : timeEndValue}
364362
setTimeValue={
365363
isVisible === 'start' ? setTimeStartValue : setTimeEndValue
366364
}
367-
timeselector={timeselector}
365+
timepicker={timepicker}
368366
timeStep={timeStep}
369367
/>
370368
</div>

package/src/components/datepicker/Month.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
'use client';
22

33
import { NAME_SPACE } from '../../constants/core';
4-
import { IDateValue, ITimeValue, ITimeselector } from '../../types/props';
4+
import { IDateValue, ITimeValue, ITimepicker } from '../../types/props';
55
import { formatDate, formatDateValue } from '../../utils/datetime';
66

77
interface Iprops {
@@ -12,7 +12,7 @@ interface Iprops {
1212
setDateValue: (value: IDateValue) => void;
1313
timeValue: ITimeValue;
1414
closesAfterChange: boolean;
15-
timeselector: false | ITimeselector;
15+
timepicker: false | ITimepicker;
1616
setIsVisible: (value: boolean) => void;
1717
}
1818

@@ -24,7 +24,7 @@ function DatepicerMonth({
2424
weekdayLabels,
2525
timeValue,
2626
closesAfterChange,
27-
timeselector,
27+
timepicker,
2828
setIsVisible,
2929
}: Iprops) {
3030
const year = Math.ceil(monthPage / 12);
@@ -53,7 +53,7 @@ function DatepicerMonth({
5353
const formatedThisValue = formatDate(buttonDate, valueFormat);
5454

5555
const handleClick = () => {
56-
if (closesAfterChange && !timeselector) {
56+
if (closesAfterChange && !timepicker) {
5757
setIsVisible(false);
5858
}
5959
setDateValue({
Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,32 @@
11
'use client';
22

33
import { NAME_SPACE } from '../../constants/core';
4-
import { ITimeValue, ITimeselector } from '../../types/props';
4+
import { ITimeValue, ITimepicker } from '../../types/props';
55
import { addLeadingZero } from '../../utils/string';
66

77
interface IProps {
88
timeValue: ITimeValue;
9-
timeselector: ITimeselector;
9+
timepicker: ITimepicker;
1010
}
1111

12-
function TimeselectorHeader({ timeValue, timeselector }: IProps) {
12+
export default function TimepickerHeader({ timeValue, timepicker }: IProps) {
1313
return (
14-
<div className={`${NAME_SPACE}__timeselector-header`}>
15-
{timeselector.hour && (
14+
<div className={`${NAME_SPACE}__timepicker-header`}>
15+
{timepicker.hour && (
1616
<div className="hour">{addLeadingZero(timeValue.hour)}</div>
1717
)}
18-
{timeselector.hour && timeselector.minute && (
18+
{timepicker.hour && timepicker.minute && (
1919
<div className="delimiter">:</div>
2020
)}
21-
{timeselector.minute && (
21+
{timepicker.minute && (
2222
<div className="minute">{addLeadingZero(timeValue.minute)}</div>
2323
)}
24-
{timeselector.minute && timeselector.second && (
24+
{timepicker.minute && timepicker.second && (
2525
<div className="delimiter">:</div>
2626
)}
27-
{timeselector.second && (
27+
{timepicker.second && (
2828
<div className="second">{addLeadingZero(timeValue.second)}</div>
2929
)}
3030
</div>
3131
);
3232
}
33-
34-
export default TimeselectorHeader;

package/src/components/timeselector/Selector.tsx renamed to package/src/components/timepicker/Selector.tsx

Lines changed: 9 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,20 +2,20 @@
22

33
import { Fragment } from 'react';
44
import { NAME_SPACE } from '../../constants/core';
5-
import { ITimeStep, ITimeValue, ITimeselector } from '../../types/props';
6-
import TimeselectorSelectorList from './SelectorList';
5+
import { ITimeStep, ITimeValue, ITimepicker } from '../../types/props';
6+
import TimepickerSelectorList from './SelectorList';
77

88
interface IProps {
99
timeValue: ITimeValue;
1010
setTimeValue: (value: ITimeValue) => void;
11-
timeselector: ITimeselector;
11+
timepicker: ITimepicker;
1212
timeStep: ITimeStep;
1313
}
1414

15-
function TimeselectorSelector({
15+
export default function TimepickerSelector({
1616
timeValue,
1717
setTimeValue,
18-
timeselector,
18+
timepicker,
1919
timeStep,
2020
}: IProps) {
2121
const generateArray = (step: number, max: number) => {
@@ -39,12 +39,12 @@ function TimeselectorSelector({
3939
};
4040

4141
return (
42-
<div className={`${NAME_SPACE}__timeselector-selector`}>
42+
<div className={`${NAME_SPACE}__timepicker-selector`}>
4343
{Object.entries(selectors).map(([key, { items }]) => (
4444
<Fragment key={key}>
45-
{timeselector[key as keyof ITimeselector] && (
46-
<TimeselectorSelectorList
47-
timeKey={key as keyof ITimeselector}
45+
{timepicker[key as keyof ITimepicker] && (
46+
<TimepickerSelectorList
47+
timeKey={key as keyof ITimepicker}
4848
items={items}
4949
timeValue={timeValue}
5050
setTimeValue={setTimeValue}
@@ -55,5 +55,3 @@ function TimeselectorSelector({
5555
</div>
5656
);
5757
}
58-
59-
export default TimeselectorSelector;

package/src/components/timeselector/SelectorList.tsx renamed to package/src/components/timepicker/SelectorList.tsx

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,17 @@
22

33
import { useEffect, useRef } from 'react';
44
import { NAME_SPACE } from '../../constants/core';
5-
import { ITimeValue, ITimeselector } from '../../types/props';
5+
import { ITimeValue, ITimepicker } from '../../types/props';
66
import { addLeadingZero } from '../../utils/string';
77

88
interface IProps {
9-
timeKey: keyof ITimeselector;
9+
timeKey: keyof ITimepicker;
1010
items: number[];
1111
timeValue: ITimeValue;
1212
setTimeValue: (value: ITimeValue) => void;
1313
}
1414

15-
function TimeselectorSelectorList({
15+
export default function TimepickerSelectorList({
1616
timeKey,
1717
items,
1818
timeValue,
@@ -34,12 +34,12 @@ function TimeselectorSelectorList({
3434
}, [items, timeKey, timeValue]);
3535

3636
return (
37-
<div className={`${NAME_SPACE}__timeselector-list`} ref={listRef}>
37+
<div className={`${NAME_SPACE}__timepicker-list`} ref={listRef}>
3838
{items.map((item, index) => (
39-
<div key={index} className={`${NAME_SPACE}__timeselector-list-item`}>
39+
<div key={index} className={`${NAME_SPACE}__timepicker-list-item`}>
4040
<button
4141
type="button"
42-
className={`${NAME_SPACE}__timeselector-list-button`}
42+
className={`${NAME_SPACE}__timepicker-list-button`}
4343
data-active={item === timeValue[timeKey]}
4444
onClick={() =>
4545
setTimeValue({
@@ -55,5 +55,3 @@ function TimeselectorSelectorList({
5555
</div>
5656
);
5757
}
58-
59-
export default TimeselectorSelectorList;

0 commit comments

Comments
 (0)