Skip to content

Commit 336177e

Browse files
Merge pull request #4632 from yuki0410-dev/feat/3798
feat: #3798 Replaced classnames with clsx
2 parents 009efaf + c9bb7fd commit 336177e

14 files changed

+35
-44
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@
8383
},
8484
"dependencies": {
8585
"@floating-ui/react": "^0.26.2",
86-
"classnames": "^2.2.6",
86+
"clsx": "^2.1.0",
8787
"date-fns": "^3.3.1",
8888
"prop-types": "^15.7.2",
8989
"react-onclickoutside": "^6.13.0"

rollup.config.mjs

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ const globals = {
4646
react: "React",
4747
"prop-types": "PropTypes",
4848
"react-onclickoutside": "onClickOutside",
49-
classnames: "classNames",
5049
};
5150

5251
// NOTE:https://rollupjs.org/migration/#changed-defaults

src/calendar.jsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import Year from "./year";
77
import InputTime from "./inputTime";
88
import React from "react";
99
import PropTypes from "prop-types";
10-
import classnames from "classnames";
10+
import { clsx } from "clsx";
1111
import CalendarContainer from "./calendar_container";
1212
import {
1313
newDate,
@@ -441,10 +441,7 @@ export default class Calendar extends React.Component {
441441
return (
442442
<div
443443
key={offset}
444-
className={classnames(
445-
"react-datepicker__day-name",
446-
weekDayClassName,
447-
)}
444+
className={clsx("react-datepicker__day-name", weekDayClassName)}
448445
>
449446
{weekDayName}
450447
</div>
@@ -1098,7 +1095,7 @@ export default class Calendar extends React.Component {
10981095
return (
10991096
<div style={{ display: "contents" }} ref={this.containerRef}>
11001097
<Container
1101-
className={classnames("react-datepicker", this.props.className, {
1098+
className={clsx("react-datepicker", this.props.className, {
11021099
"react-datepicker--time-only": this.props.showTimeSelectOnly,
11031100
})}
11041101
showTime={this.props.showTimeSelect || this.props.showTimeInput}

src/day.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
22
import PropTypes from "prop-types";
3-
import classnames from "classnames";
3+
import { clsx } from "clsx";
44
import {
55
getDay,
66
getMonth,
@@ -305,7 +305,7 @@ export default class Day extends React.Component {
305305
const dayClassName = this.props.dayClassName
306306
? this.props.dayClassName(date)
307307
: undefined;
308-
return classnames(
308+
return clsx(
309309
"react-datepicker__day",
310310
dayClassName,
311311
"react-datepicker__day--" + getDayOfWeekCode(this.props.day),

src/index.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import CalendarIcon from "./calendar_icon";
55
import Portal from "./portal";
66
import PopperComponent from "./popper_component";
77
import { popperPlacementPositions } from "./with_floating";
8-
import classnames from "classnames";
8+
import { clsx } from "clsx";
99
import { set } from "date-fns/set";
1010
import { startOfDay } from "date-fns/startOfDay";
1111
import { endOfDay } from "date-fns/endOfDay";
@@ -1226,7 +1226,7 @@ export default class DatePicker extends React.Component {
12261226
};
12271227

12281228
renderDateInput = () => {
1229-
const className = classnames(this.props.className, {
1229+
const className = clsx(this.props.className, {
12301230
[outsideClickIgnoreClass]: this.state.open,
12311231
});
12321232

@@ -1264,7 +1264,7 @@ export default class DatePicker extends React.Component {
12641264
placeholder: this.props.placeholderText,
12651265
disabled: this.props.disabled,
12661266
autoComplete: this.props.autoComplete,
1267-
className: classnames(customInput.props.className, className),
1267+
className: clsx(customInput.props.className, className),
12681268
title: this.props.title,
12691269
readOnly: this.props.readOnly,
12701270
required: this.props.required,
@@ -1298,7 +1298,7 @@ export default class DatePicker extends React.Component {
12981298
return (
12991299
<button
13001300
type="button"
1301-
className={classnames(
1301+
className={clsx(
13021302
"react-datepicker__close-icon",
13031303
clearButtonClassName,
13041304
{ "react-datepicker__close-icon--disabled": disabled },

src/month.jsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
22
import PropTypes from "prop-types";
3-
import classnames from "classnames";
3+
import { clsx } from "clsx";
44
import Week from "./week";
55
import * as utils from "./date_utils";
66

@@ -562,7 +562,7 @@ export default class Month extends React.Component {
562562
? monthClassName(utils.setMonth(day, m))
563563
: undefined;
564564
const labelDate = utils.setMonth(day, m);
565-
return classnames(
565+
return clsx(
566566
"react-datepicker__month-text",
567567
`react-datepicker__month-${m}`,
568568
_monthClassName,
@@ -644,7 +644,7 @@ export default class Month extends React.Component {
644644
preSelection,
645645
disabledKeyboardNavigation,
646646
} = this.props;
647-
return classnames(
647+
return clsx(
648648
"react-datepicker__quarter-text",
649649
`react-datepicker__quarter-${q}`,
650650
{
@@ -797,7 +797,7 @@ export default class Month extends React.Component {
797797
showWeekPicker,
798798
} = this.props;
799799

800-
return classnames(
800+
return clsx(
801801
"react-datepicker__month",
802802
{
803803
"react-datepicker__month--selecting-range":

src/month_year_dropdown_options.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
22
import PropTypes from "prop-types";
3-
import classNames from "classnames";
3+
import { clsx } from "clsx";
44
import {
55
addMonths,
66
formatDate,
@@ -87,7 +87,7 @@ export default class MonthYearDropdownOptions extends React.Component {
8787
};
8888

8989
render() {
90-
let dropdownClass = classNames({
90+
let dropdownClass = clsx({
9191
"react-datepicker__month-year-dropdown": true,
9292
"react-datepicker__month-year-dropdown--scrollable":
9393
this.props.scrollableMonthYearDropdown,

src/popper_component.jsx

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
import classnames from "classnames";
1+
import { clsx } from "clsx";
22
import React from "react";
33
import PropTypes from "prop-types";
44
import { FloatingArrow } from "@floating-ui/react";
@@ -47,7 +47,7 @@ export class PopperComponent extends React.Component {
4747
let popper;
4848

4949
if (!hidePopper) {
50-
const classes = classnames("react-datepicker-popper", className);
50+
const classes = clsx("react-datepicker-popper", className);
5151
popper = (
5252
<TabLoop enableTabLoop={enableTabLoop}>
5353
<div
@@ -87,10 +87,7 @@ export class PopperComponent extends React.Component {
8787
);
8888
}
8989

90-
const wrapperClasses = classnames(
91-
"react-datepicker-wrapper",
92-
wrapperClassName,
93-
);
90+
const wrapperClasses = clsx("react-datepicker-wrapper", wrapperClassName);
9491

9592
return (
9693
<React.Fragment>

src/week.jsx

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ import React from "react";
22
import PropTypes from "prop-types";
33
import Day from "./day";
44
import WeekNumber from "./week_number";
5-
import classnames from "classnames";
5+
import { clsx } from "clsx";
66

77
import { addDays, getWeek, getStartOfWeek, isSameDay } from "./date_utils";
88

@@ -214,8 +214,6 @@ export default class Week extends React.Component {
214214
),
215215
"react-datepicker__week--keyboard-selected": this.isKeyboardSelected(),
216216
};
217-
return (
218-
<div className={classnames(weekNumberClasses)}>{this.renderDays()}</div>
219-
);
217+
return <div className={clsx(weekNumberClasses)}>{this.renderDays()}</div>;
220218
}
221219
}

src/week_number.jsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import React from "react";
22
import PropTypes from "prop-types";
3-
import classnames from "classnames";
3+
import { clsx } from "clsx";
44
import { isSameDay } from "./date_utils";
55

66
export default class WeekNumber extends React.Component {
@@ -124,7 +124,7 @@ export default class WeekNumber extends React.Component {
124124
return (
125125
<div
126126
ref={this.weekNumberEl}
127-
className={classnames(weekNumberClasses)}
127+
className={clsx(weekNumberClasses)}
128128
aria-label={`${ariaLabelPrefix} ${this.props.weekNumber}`}
129129
onClick={this.handleClick}
130130
onKeyDown={this.handleOnKeyDown}

0 commit comments

Comments
 (0)