Closed rafagouveia closed 4 months ago
2nd this issue. Just ran into it. No way to access the input via the ClassNames prop.
The label styles is not working too, only received: <"base" | "selectorButton" | "selectorIcon" | "popoverContent" | "calendar" | "calendarContent" | "timeInputLabel" | "timeInput">
Up on this. label, description, input, inputWrapper classes are not properly passed to the slots, so just ignored
I solved it like this:
<div className='bg-background-date'> <DateInput name='min_date' /> </div>
.bg-background-date [data-slot='base'] [data-slot='input-wrapper'] { @apply bg-background; }
/ bonus for select and autocomplete /
.bg-background-autocomplete [data-slot='main-wrapper'] [data-slot='input-wrapper'] { @apply bg-background; }
.bg-background-select [data-slot='base'] [data-slot='mainWrapper'] [data-slot='trigger'] { @apply bg-background; }
Any updates on this issue? I've done some research and discovered that although the data slots are commented in the NextUI npm package, they aren't actually implemented or usable.
Comment in "use-date-picker.d.ts"
/**
* Classname or List of classes to change the classNames of the element.
* if `className` is passed, it will be added to the base slot.
*
* @example
* ```ts
* <DatePicker classNames={{
* base:"base-classes",
* label: "label-classes",
* calendar:"calendar-classes",
* selectorButton:"selector-button-classes",
* selectorIcon:"selector-icon-classes",
* popoverContent:"popover-content-classes",
* calendarContent : "calendar-content-classes",
* inputWrapper: "input-wrapper-classes",
* input: "input-classes",
* segment: "segment-classes",
* helperWrapper: "helper-wrapper-classes",
* description: "description-classes",
* errorMessage: "error-message-classes",
* }} />
* ```
*/
Code in "date-picker.d.ts"
undefined, tailwind_variants_dist_config.TVConfig<unknown, {
[key: string]: {
[key: string]: tailwind_variants.ClassValue | {
base?: tailwind_variants.ClassValue;
selectorIcon?: tailwind_variants.ClassValue;
popoverContent?: tailwind_variants.ClassValue;
selectorButton?: tailwind_variants.ClassValue;
calendar?: tailwind_variants.ClassValue;
calendarContent?: tailwind_variants.ClassValue;
timeInputLabel?: tailwind_variants.ClassValue;
timeInput?: tailwind_variants.ClassValue;
};
};
}
Concluding: the data slots below do not work
I've encountered the same problem. In my case I needed to set some properties to the input wrapper. If you're using tailwind you may avoid this with its selectors. Still it's a temporary solution, so I'm looking forward to get it fixed
<DatePicker className="[&>div]:property-for-inputWrapper" />
<DatePicker className="my-4 [&>[data-slot='label']]:flex"
NextUI Version
2.3.6
Describe the bug
I'm facing difficulties while trying to style the DatePicker component. I noticed that the input and inputWrapper classes are not properly passing props to the component, which is hindering proper styling. This occurs both when attempting to style directly on the component and through extendedVariants.
I've tried several approaches to style this component, but the only property I managed to use was "base". However, when attempting to style, it ends up affecting the entire container of the component, including the label and the input.
screenshot:
Your Example Website or App
No response
Steps to Reproduce the Bug or Issue
Expected behavior
I expected that when applying styles to the DatePicker component using the input and inputWrapper classes, the component would properly receive the props and apply the styling accordingly. Specifically, I anticipated that styling would be applied to the input field and its wrapper without affecting other elements within the component, such as the label.
https://github.com/nextui-org/nextui/assets/12972547/11e1b002-765e-4f02-be72-13c57f74e224
Screenshots or Videos
with inputWrapper prop
with input prop
with base prop
Operating System Version
Browser
Edge