@nextui-org/theme
Version:
The default theme for NextUI components
473 lines (467 loc) • 17.8 kB
JavaScript
"use strict";
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/components/calendar.ts
var calendar_exports = {};
__export(calendar_exports, {
calendar: () => calendar
});
module.exports = __toCommonJS(calendar_exports);
// src/utils/classes.ts
var dataFocusVisibleClasses = [
"outline-none",
"data-[focus-visible=true]:z-10",
"data-[focus-visible=true]:outline-2",
"data-[focus-visible=true]:outline-focus",
"data-[focus-visible=true]:outline-offset-2"
];
// src/utils/tw-merge-config.ts
var COMMON_UNITS = ["small", "medium", "large"];
var twMergeConfig = {
theme: {
opacity: ["disabled"],
spacing: ["divider"],
borderWidth: COMMON_UNITS,
borderRadius: COMMON_UNITS
},
classGroups: {
shadow: [{ shadow: COMMON_UNITS }],
"font-size": [{ text: ["tiny", ...COMMON_UNITS] }],
"bg-image": [
"bg-stripe-gradient-default",
"bg-stripe-gradient-primary",
"bg-stripe-gradient-secondary",
"bg-stripe-gradient-success",
"bg-stripe-gradient-warning",
"bg-stripe-gradient-danger"
]
}
};
// src/utils/tv.ts
var import_tailwind_variants = require("tailwind-variants");
var tv = (options, config) => {
var _a, _b, _c;
return (0, import_tailwind_variants.tv)(options, {
...config,
twMerge: (_a = config == null ? void 0 : config.twMerge) != null ? _a : true,
twMergeConfig: {
...config == null ? void 0 : config.twMergeConfig,
theme: {
...(_b = config == null ? void 0 : config.twMergeConfig) == null ? void 0 : _b.theme,
...twMergeConfig.theme
},
classGroups: {
...(_c = config == null ? void 0 : config.twMergeConfig) == null ? void 0 : _c.classGroups,
...twMergeConfig.classGroups
}
}
});
};
// src/components/calendar.ts
var calendar = tv({
slots: {
base: [
"relative w-fit max-w-full shadow-small inline-block overflow-y-hidden",
"rounded-large overflow-x-auto bg-default-50 dark:bg-background",
"w-[calc(var(--visible-months)_*_var(--calendar-width))]"
],
prevButton: ["order-1"],
nextButton: ["order-3"],
headerWrapper: [
"px-4 py-2 flex items-center justify-between gap-2 bg-content1 overflow-hidden rtl:flex-row-reverse",
"[&_.chevron-icon]:flex-none",
"after:content-['']",
"after:bg-content1 origin-top",
"after:w-full after:h-0",
"after:absolute after:top-0 after:left-0"
],
header: "flex w-full items-center justify-center gap-2 z-10 order-2",
title: "text-default-500 text-small font-medium",
content: "w-[calc(var(--visible-months)_*_var(--calendar-width))]",
gridWrapper: "flex max-w-full overflow-hidden pb-2 h-auto relative",
grid: "w-full border-collapse z-0",
gridHeader: "bg-content1 shadow-[0px_20px_20px_0px_rgb(0_0_0/0.05)]",
gridHeaderRow: "px-4 pb-2 flex justify-center text-default-400",
gridHeaderCell: "flex w-8 justify-center items-center font-medium text-small",
gridBody: "",
gridBodyRow: "flex justify-center items-center first:mt-2",
cell: "py-0.5 px-0",
cellButton: [
"w-8 h-8 flex items-center text-foreground justify-center rounded-full",
"box-border appearance-none select-none whitespace-nowrap font-normal",
"subpixel-antialiased overflow-hidden tap-highlight-transparent",
"data-[disabled=true]:text-default-300",
"data-[disabled=true]:cursor-default",
"data-[readonly=true]:cursor-default",
"data-[disabled=true]:transition-none",
"data-[unavailable=true]:text-default-300",
"data-[unavailable=true]:cursor-default",
"data-[unavailable=true]:line-through",
...dataFocusVisibleClasses
],
pickerWrapper: "absolute inset-x-0 top-0 flex w-full h-[var(--picker-height)] justify-center opacity-0 pointer-events-none",
pickerMonthList: "items-start",
pickerYearList: "items-center",
pickerHighlight: "h-8 bg-default-200 absolute w-[calc(100%_-_16px)] rounded-medium z-0 top-1/2 -translate-y-1/2 pointer-events-none",
pickerItem: [
"w-full flex text-foreground items-center h-8 leading-[32px] min-h-[32px] snap-center text-large z-20",
"data-[pressed=true]:opacity-50",
...dataFocusVisibleClasses
],
helperWrapper: "px-4 pb-2 max-w-[270px] flex justify-start flex-wrap items-center",
errorMessage: "text-small text-danger break-words max-w-full"
},
variants: {
color: {
foreground: {},
primary: {},
secondary: {},
success: {},
warning: {},
danger: {}
},
isRange: {
true: {
cellButton: [
"relative",
"overflow-visible",
"before:content-[''] before:absolute before:inset-0 before:z-[-1] before:rounded-none",
"data-[outside-month=true]:before:hidden",
"data-[selected=true]:data-[range-selection=true]:data-[outside-month=true]:bg-transparent",
"data-[selected=true]:data-[range-selection=true]:data-[outside-month=true]:text-default-300",
"data-[range-start=true]:before:rounded-l-full",
"data-[selection-start=true]:before:rounded-l-full",
"data-[range-end=true]:before:rounded-r-full",
"data-[selection-end=true]:before:rounded-r-full",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:rounded-full",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:rounded-full"
]
},
false: {}
},
hideDisabledDates: {
true: {
cellButton: "data-[disabled=true]:data-[outside-month=true]:opacity-0"
},
false: {}
},
isHeaderWrapperExpanded: {
true: {
headerWrapper: ["[&_.chevron-icon]:rotate-180", "after:h-full", "after:z-0"],
pickerWrapper: "opacity-100 pointer-events-auto z-10",
gridWrapper: "h-[var(--picker-height)] overflow-y-hidden",
grid: "opacity-0 pointer-events-none",
nextButton: "opacity-0 pointer-events-none",
prevButton: "opacity-0 pointer-events-none"
},
false: {}
},
showMonthAndYearPickers: {
true: {
base: "[--picker-height:224px]",
header: "h-8 bg-default-100 rounded-full"
},
false: {}
},
showShadow: {
true: {
cellButton: "data-[selected=true]:shadow-md"
},
false: {
cellButton: "shadow-none data-[selected=true]:shadow-none"
}
},
disableAnimation: {
true: {
cellButton: "transition-none"
},
false: {
headerWrapper: ["[&_.chevron-icon]:transition-transform", "after:transition-height"],
grid: "transition-opacity",
cellButton: ["origin-center transition-[transform,background-color,color] !duration-150"],
pickerWrapper: "transition-opacity !duration-250",
pickerItem: "transition-opacity"
}
}
},
defaultVariants: {
color: "primary",
showShadow: false,
hideDisabledDates: false,
showMonthAndYearPickers: false
},
compoundVariants: [
{
isRange: false,
color: "foreground",
class: {
cellButton: [
"data-[hover=true]:bg-default-200",
"data-[selected=true]:bg-foreground",
"data-[selected=true]:text-background",
"data-[hover=true]:bg-foreground-200",
"data-[hover=true]:text-foreground-600",
"data-[selected=true]:data-[hover=true]:bg-foreground",
"data-[selected=true]:data-[hover=true]:text-background"
]
}
},
{
isRange: false,
color: "primary",
class: {
cellButton: [
"data-[selected=true]:bg-primary",
"data-[selected=true]:text-primary-foreground",
"data-[hover=true]:bg-primary-50",
"data-[hover=true]:text-primary-400",
"data-[selected=true]:data-[hover=true]:bg-primary",
"data-[selected=true]:data-[hover=true]:text-primary-foreground"
]
}
},
{
isRange: false,
color: "secondary",
class: {
cellButton: [
"data-[selected=true]:bg-secondary",
"data-[selected=true]:text-secondary-foreground",
"data-[hover=true]:bg-secondary-50",
"data-[hover=true]:text-secondary-400",
"data-[selected=true]:data-[hover=true]:bg-secondary",
"data-[selected=true]:data-[hover=true]:text-secondary-foreground"
]
}
},
{
isRange: false,
color: "success",
class: {
cellButton: [
"data-[selected=true]:bg-success",
"data-[selected=true]:text-success-foreground",
"data-[hover=true]:bg-success-100",
"data-[hover=true]:text-success-600",
"dark:data-[hover=true]:bg-success-50",
"dark:data-[hover=true]:text-success-500",
"data-[selected=true]:data-[hover=true]:bg-success",
"dark:data-[selected=true]:data-[hover=true]:bg-success",
"dark:data-[selected=true]:data-[hover=true]:text-success-foreground",
"data-[selected=true]:data-[hover=true]:text-success-foreground"
]
}
},
{
isRange: false,
color: "warning",
class: {
cellButton: [
"data-[selected=true]:bg-warning",
"data-[selected=true]:text-warning-foreground",
"data-[hover=true]:bg-warning-100",
"data-[hover=true]:text-warning-600",
"dark:data-[hover=true]:bg-warning-50",
"dark:data-[hover=true]:text-warning-500",
"data-[selected=true]:data-[hover=true]:bg-warning",
"dark:data-[selected=true]:data-[hover=true]:bg-warning",
"dark:data-[selected=true]:data-[hover=true]:text-warning-foreground",
"data-[selected=true]:data-[hover=true]:text-warning-foreground"
]
}
},
{
isRange: false,
color: "danger",
class: {
cellButton: [
"data-[selected=true]:bg-danger",
"data-[selected=true]:text-danger-foreground",
"data-[hover=true]:bg-danger-100",
"data-[hover=true]:text-danger-500",
"dark:data-[hover=true]:bg-danger-50",
"dark:data-[hover=true]:text-danger-500",
"data-[selected=true]:data-[hover=true]:bg-danger",
"dark:data-[selected=true]:data-[hover=true]:bg-danger",
"dark:data-[selected=true]:data-[hover=true]:text-danger-foreground",
"data-[selected=true]:data-[hover=true]:text-danger-foreground"
]
}
},
{
isRange: true,
color: "foreground",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-foreground/10",
"data-[selected=true]:data-[range-selection=true]:text-foreground",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-foreground",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-background",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-background"
]
}
},
{
isRange: true,
color: "primary",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-primary-50",
"data-[selected=true]:data-[range-selection=true]:text-primary",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-primary",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-primary-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-primary",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-primary-foreground"
]
}
},
{
isRange: true,
color: "secondary",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-secondary-50",
"data-[selected=true]:data-[range-selection=true]:text-secondary",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-secondary",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-secondary-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-secondary",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-secondary-foreground"
]
}
},
{
isRange: true,
color: "success",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-success-100",
"data-[selected=true]:data-[range-selection=true]:text-success-600",
"dark:data-[selected=true]:data-[range-selection=true]:before:bg-success-50",
"dark:data-[selected=true]:data-[range-selection=true]:text-success-500",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-success",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-success-foreground",
"dark:data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-success-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-success",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-success-foreground",
"dark:data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-success-foreground"
]
}
},
{
isRange: true,
color: "warning",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-warning-100",
"dark:data-[selected=true]:data-[range-selection=true]:before:bg-warning-50",
"data-[selected=true]:data-[range-selection=true]:text-warning-500",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-warning",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-warning-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-warning",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-warning-foreground"
]
}
},
{
isRange: true,
color: "danger",
class: {
cellButton: [
"data-[selected=true]:data-[range-selection=true]:before:bg-danger-50",
"data-[selected=true]:data-[range-selection=true]:text-danger-500",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:bg-danger",
"data-[selected=true]:data-[selection-start=true]:data-[range-selection=true]:text-danger-foreground",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:bg-danger",
"data-[selected=true]:data-[selection-end=true]:data-[range-selection=true]:text-danger-foreground"
]
}
},
{
showShadow: true,
color: "foreground",
class: {
cellButton: "data-[selected=true]:shadow-foreground/40"
}
},
{
showShadow: true,
color: "primary",
class: {
cellButton: "data-[selected=true]:shadow-primary/40"
}
},
{
showShadow: true,
color: "secondary",
class: {
cellButton: "data-[selected=true]:shadow-secondary/40"
}
},
{
showShadow: true,
color: "success",
class: {
cellButton: "data-[selected=true]:shadow-success/40"
}
},
{
showShadow: true,
color: "warning",
class: {
cellButton: "data-[selected=true]:shadow-warning/40"
}
},
{
showShadow: true,
color: "danger",
class: {
cellButton: "data-[selected=true]:shadow-danger/40"
}
},
{
showShadow: true,
isRange: true,
class: {
cellButton: [
"data-[selected=true]:shadow-none",
"data-[selected=true]:data-[selection-start=true]:shadow-md",
"data-[selected=true]:data-[selection-end=true]:shadow-md"
]
}
}
],
compoundSlots: [
{
slots: ["prevButton", "nextButton"],
class: ["text-medium", "text-default-400"]
},
{
slots: ["pickerMonthList", "pickerYearList"],
class: [
"flex flex-col px-4 overflow-y-scroll scrollbar-hide snap-y snap-mandatory",
"[--scroll-shadow-size:100px]",
"[mask-image:linear-gradient(#000,#000,transparent_0,#000_var(--scroll-shadow-size),#000_calc(100%_-_var(--scroll-shadow-size)),transparent)]"
]
}
]
});
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
calendar
});