Skip to content

Commit 0d55e86

Browse files
authored
Merge pull request #203 from protocols-fyi/master
feat(popupcls): ✨ Added a popup classname
2 parents 7c8b3e6 + be6480e commit 0d55e86

File tree

2 files changed

+13
-4
lines changed

2 files changed

+13
-4
lines changed

src/components/Datepicker.tsx

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ const Datepicker: React.FC<DatepickerType> = ({
2929
disabled = false,
3030
inputClassName = null,
3131
containerClassName = null,
32+
popupClassName = null,
3233
toggleClassName = null,
3334
toggleIcon = undefined,
3435
displayFormat = DATE_FORMAT,
@@ -330,15 +331,22 @@ const Datepicker: React.FC<DatepickerType> = ({
330331
: defaultContainerClassName;
331332
}, [containerClassName]);
332333

334+
const popupClassNameOverload = useMemo(() => {
335+
const defaultPopupClassName =
336+
"transition-all ease-out duration-300 absolute z-10 mt-[1px] text-sm lg:text-xs 2xl:text-sm translate-y-4 opacity-0 hidden";
337+
return typeof popupClassName === "function"
338+
? popupClassName(defaultPopupClassName)
339+
: typeof popupClassName === "string" && popupClassName !== ""
340+
? popupClassName
341+
: defaultPopupClassName;
342+
}, [popupClassName]);
343+
333344
return (
334345
<DatepickerContext.Provider value={contextValues}>
335346
<div className={containerClassNameOverload} ref={containerRef}>
336347
<Input setContextRef={setInputRef} />
337348

338-
<div
339-
className="transition-all ease-out duration-300 absolute z-10 mt-[1px] text-sm lg:text-xs 2xl:text-sm translate-y-4 opacity-0 hidden"
340-
ref={calendarContainerRef}
341-
>
349+
<div className={popupClassNameOverload} ref={calendarContainerRef}>
342350
<Arrow ref={arrowRef} />
343351

344352
<div className="mt-2.5 shadow-sm border border-gray-300 px-1 py-0.5 bg-white dark:bg-slate-800 dark:text-white dark:border-slate-600 rounded-lg">

src/types/index.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -69,6 +69,7 @@ export interface DatepickerType {
6969
disabled?: boolean;
7070
classNames?: ClassNamesTypeProp | undefined;
7171
containerClassName?: ((className: string) => string) | string | null;
72+
popupClassName?: ((className: string) => string) | string | null;
7273
inputClassName?: ((className: string) => string) | string | null;
7374
toggleClassName?: ((className: string) => string) | string | null;
7475
toggleIcon?: (open: boolean) => React.ReactNode;

0 commit comments

Comments
 (0)