ml-uikit 1.1.6 → 1.1.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/ui/date-range-picker.d.ts +3 -0
- package/dist/components/ui/date-range-picker.d.ts.map +1 -1
- package/dist/index.cjs29.js +1 -1
- package/dist/index.cjs29.js.map +1 -1
- package/dist/index.es29.js +190 -186
- package/dist/index.es29.js.map +1 -1
- package/dist/style.css +143 -52
- package/package.json +1 -1
package/dist/index.es29.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.es29.js","sources":["../src/components/ui/date-range-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport {\n addMonths,\n format,\n isAfter,\n isBefore,\n setMonth,\n setYear,\n startOfMonth,\n} from \"date-fns\"\nimport { CalendarDays, ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\"\nimport { DayPicker, type Matcher } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\n\nexport type DateRangePickerValue = {\n from?: Date\n to?: Date\n}\n\nexport interface DateRangePickerProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"value\" | \"defaultValue\" | \"onChange\"> {\n value?: DateRangePickerValue\n defaultValue?: DateRangePickerValue\n onValueChange?: (value: DateRangePickerValue | undefined) => void\n wrapperClassName?: string\n popoverClassName?: string\n placeholder?: string\n dateFormat?: string\n minYear?: number\n maxYear?: number\n}\n\nconst DEFAULT_FORMAT = \"dd/MM/yyyy\"\nconst DEFAULT_PLACEHOLDER = \"DD/MM/YYYY - DD/MM/YYYY\"\nconst MONTH_LABELS = Array.from({ length: 12 }, (_, monthIndex) =>\n new Date(2020, monthIndex, 1).toLocaleString(\"default\", { month: \"long\" })\n)\n\nconst clampMonth = (month: Date, minMonth: Date, maxMonth: Date) => {\n if (isBefore(month, minMonth)) {\n return minMonth\n }\n\n if (isAfter(month, maxMonth)) {\n return maxMonth\n }\n\n return month\n}\n\nconst normalizeRange = (\n value?: DateRangePickerValue\n): DateRangePickerValue | undefined => {\n if (!value?.from && !value?.to) {\n return undefined\n }\n\n if (value.from && value.to && isAfter(value.from, value.to)) {\n return {\n from: value.to,\n to: value.from,\n }\n }\n\n return {\n from: value.from,\n to: value.to,\n }\n}\n\nconst formatDate = (date: Date | undefined, dateFormat: string) => {\n if (!date) {\n return undefined\n }\n\n return format(date, dateFormat)\n}\n\nconst formatCommittedValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat)\n const toText = formatDate(value?.to, dateFormat)\n\n if (!fromText || !toText) {\n return \"\"\n }\n\n return `${fromText} - ${toText}`\n}\n\nconst formatDraftValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat) ?? \"DD/MM/YYYY\"\n const toText = formatDate(value?.to, dateFormat) ?? \"DD/MM/YYYY\"\n\n return `${fromText} - ${toText}`\n}\n\ntype CalendarPanelProps = {\n label: string\n month: Date\n minMonth: Date\n maxMonth: Date\n minDate: Date\n maxDate: Date\n selectedDate?: Date\n disabledMatcher?: Matcher\n disabled?: boolean\n years: number[]\n onMonthChange: (month: Date) => void\n onSelectDate: (date: Date | undefined) => void\n}\n\nfunction CalendarPanel({\n label,\n month,\n minMonth,\n maxMonth,\n minDate,\n maxDate,\n selectedDate,\n disabledMatcher,\n disabled,\n years,\n onMonthChange,\n onSelectDate,\n}: CalendarPanelProps) {\n const handlePrevMonth = () => {\n onMonthChange(addMonths(month, -1))\n }\n\n const handleNextMonth = () => {\n onMonthChange(addMonths(month, 1))\n }\n\n const isPrevDisabled = disabled || !isAfter(month, minMonth)\n const isNextDisabled = disabled || !isBefore(month, maxMonth)\n\n return (\n <div className=\"w-full min-w-0\">\n <div className=\"flex items-center gap-2 md:gap-3\">\n <button\n type=\"button\"\n onClick={handlePrevMonth}\n disabled={isPrevDisabled}\n className={cn(\n \"inline-flex h-10 w-10 items-center justify-center rounded-[8px] text-[#6e6d71] transition-colors\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Previous month for ${label.toLowerCase()}`}\n >\n <ChevronLeft className=\"h-6 w-6\" />\n </button>\n\n <div className=\"relative min-w-0 flex-1\">\n <select\n value={month.getMonth()}\n onChange={(event) => {\n const monthValue = Number(event.target.value)\n onMonthChange(setMonth(month, monthValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-14 w-full appearance-none rounded-[14px] border border-[#b7b7b9] bg-white px-5 pr-11 text-left text-[16px] font-medium leading-[22px] text-[#111111]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Month for ${label.toLowerCase()}`}\n >\n {MONTH_LABELS.map((monthLabel, monthIndex) => (\n <option key={monthLabel} value={monthIndex}>\n {monthLabel}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#7f7d83]\" />\n </div>\n\n <div className=\"relative w-[132px] shrink-0\">\n <select\n value={month.getFullYear()}\n onChange={(event) => {\n const yearValue = Number(event.target.value)\n onMonthChange(setYear(month, yearValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-14 w-full appearance-none rounded-[14px] border border-[#b7b7b9] bg-white px-5 pr-10 text-left text-[16px] font-medium leading-[22px] text-[#111111]\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Year for ${label.toLowerCase()}`}\n >\n {years.map((year) => (\n <option key={year} value={year}>\n {year}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-4 top-1/2 h-5 w-5 -translate-y-1/2 text-[#7f7d83]\" />\n </div>\n\n <button\n type=\"button\"\n onClick={handleNextMonth}\n disabled={isNextDisabled}\n className={cn(\n \"inline-flex h-10 w-10 items-center justify-center rounded-[8px] text-[#6e6d71] transition-colors\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Next month for ${label.toLowerCase()}`}\n >\n <ChevronRight className=\"h-6 w-6\" />\n </button>\n </div>\n\n <p className=\"mt-4 text-center text-[16px] font-medium leading-[22px] text-[#666666]\">\n {label}\n </p>\n\n <DayPicker\n mode=\"single\"\n month={month}\n onMonthChange={onMonthChange}\n selected={selectedDate}\n onSelect={onSelectDate}\n showOutsideDays\n fixedWeeks\n hideNavigation\n disabled={[\n { before: minDate },\n { after: maxDate },\n ...(disabledMatcher ? [disabledMatcher] : []),\n ]}\n className=\"mt-2 p-0\"\n classNames={{\n root: \"w-full\",\n months: \"w-full\",\n month: \"w-full\",\n month_caption: \"hidden\",\n month_grid: \"w-full border-collapse\",\n weekdays: \"grid grid-cols-7\",\n weekday:\n \"h-10 text-center text-[16px] font-medium leading-[22px] text-[#666666]\",\n weeks: \"grid gap-1\",\n week: \"grid grid-cols-7\",\n day: \"flex h-12 w-full items-center justify-center p-0\",\n day_button:\n \"h-10 w-10 rounded-[12px] border border-transparent bg-transparent p-0 text-[18px] font-normal leading-none text-[#444444] transition-colors hover:border-[#cccccc] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#2bbd8f]/25 aria-selected:border-[#2bbd8f] aria-selected:text-[#111111]\",\n selected: \"\",\n today: \"font-medium\",\n outside: \"text-[#a4a4a8]\",\n disabled: \"pointer-events-none text-[#d3d3d6]\",\n hidden: \"invisible\",\n }}\n />\n </div>\n )\n}\n\nconst DateRangePicker = React.forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n defaultValue,\n onValueChange,\n wrapperClassName,\n popoverClassName,\n className,\n placeholder = DEFAULT_PLACEHOLDER,\n dateFormat = DEFAULT_FORMAT,\n minYear = 2000,\n maxYear = 2100,\n disabled,\n ...triggerProps\n },\n ref\n ) => {\n const safeMinYear = Math.min(minYear, maxYear)\n const safeMaxYear = Math.max(minYear, maxYear)\n\n const minMonth = React.useMemo(\n () => startOfMonth(new Date(safeMinYear, 0, 1)),\n [safeMinYear]\n )\n const maxMonth = React.useMemo(\n () => startOfMonth(new Date(safeMaxYear, 11, 1)),\n [safeMaxYear]\n )\n const minDate = React.useMemo(() => new Date(safeMinYear, 0, 1), [safeMinYear])\n const maxDate = React.useMemo(\n () => new Date(safeMaxYear, 11, 31),\n [safeMaxYear]\n )\n\n const years = React.useMemo(\n () =>\n Array.from(\n { length: safeMaxYear - safeMinYear + 1 },\n (_, yearIndex) => safeMinYear + yearIndex\n ),\n [safeMinYear, safeMaxYear]\n )\n\n const isControlled = value !== undefined\n const [internalValue, setInternalValue] = React.useState<DateRangePickerValue | undefined>(\n normalizeRange(defaultValue)\n )\n\n const committedValue = normalizeRange(isControlled ? value : internalValue)\n\n const buildPanelMonths = React.useCallback(\n (range: DateRangePickerValue | undefined) => {\n const now = startOfMonth(new Date())\n const initialStart = clampMonth(\n startOfMonth(range?.from ?? now),\n minMonth,\n maxMonth\n )\n\n const initialEndRaw = range?.to\n ? startOfMonth(range.to)\n : addMonths(initialStart, 1)\n const initialEnd = clampMonth(initialEndRaw, minMonth, maxMonth)\n\n return {\n start: initialStart,\n end: initialEnd,\n }\n },\n [minMonth, maxMonth]\n )\n\n const [open, setOpen] = React.useState(false)\n const [draftValue, setDraftValue] = React.useState<DateRangePickerValue | undefined>(\n committedValue\n )\n const initialMonths = buildPanelMonths(committedValue)\n const [startMonth, setStartMonth] = React.useState<Date>(initialMonths.start)\n const [endMonth, setEndMonth] = React.useState<Date>(initialMonths.end)\n\n const syncDraftState = React.useCallback(\n (nextValue: DateRangePickerValue | undefined) => {\n const normalized = normalizeRange(nextValue)\n setDraftValue(normalized)\n const nextMonths = buildPanelMonths(normalized)\n setStartMonth(nextMonths.start)\n setEndMonth(nextMonths.end)\n },\n [buildPanelMonths]\n )\n\n React.useEffect(() => {\n if (!open) {\n syncDraftState(committedValue)\n }\n }, [committedValue, open, syncDraftState])\n\n const handleStartMonthChange = (nextMonth: Date) => {\n setStartMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleEndMonthChange = (nextMonth: Date) => {\n setEndMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleStartDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: date,\n to: previousValue?.to,\n }\n\n if (nextValue.to && isAfter(date, nextValue.to)) {\n nextValue.to = date\n }\n\n return nextValue\n })\n }\n\n const handleEndDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: previousValue?.from,\n to: date,\n }\n\n if (nextValue.from && isAfter(nextValue.from, date)) {\n nextValue.from = date\n }\n\n return nextValue\n })\n }\n\n const handleCancel = () => {\n syncDraftState(committedValue)\n setOpen(false)\n }\n\n const handleApply = () => {\n const normalized = normalizeRange(draftValue)\n\n if (!isControlled) {\n setInternalValue(normalized)\n }\n\n onValueChange?.(normalized)\n setOpen(false)\n }\n\n const canApply = Boolean(draftValue?.from && draftValue?.to)\n const committedText = formatCommittedValue(committedValue, dateFormat)\n const draftText = formatDraftValue(draftValue, dateFormat)\n\n return (\n <div className={cn(\"w-full\", wrapperClassName)}>\n <Popover\n open={open}\n onOpenChange={(nextOpen) => {\n if (disabled) {\n return\n }\n\n if (nextOpen) {\n syncDraftState(committedValue)\n }\n\n setOpen(nextOpen)\n }}\n >\n <PopoverTrigger asChild>\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-left text-[14px] leading-[20px] transition-colors\",\n \"focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:opacity-100\",\n className\n )}\n {...triggerProps}\n >\n <span\n className={cn(\n \"truncate text-[14px] font-normal leading-[20px]\",\n committedText ? \"text-[#111111]\" : \"text-[#b3b3b3]\"\n )}\n >\n {committedText || placeholder}\n </span>\n <CalendarDays className=\"ml-3 h-4 w-4 shrink-0 text-[#111111]\" />\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n align=\"start\"\n sideOffset={10}\n className={cn(\n \"w-[min(96vw,980px)] rounded-[16px] border border-[#d8d8da] bg-[#f7f7f8] p-4 shadow-[0px_12px_24px_rgba(0,0,0,0.08)] md:p-6\",\n popoverClassName\n )}\n >\n <div className=\"grid gap-8 md:grid-cols-2 md:gap-10\">\n <CalendarPanel\n label=\"Start date\"\n month={startMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.from}\n disabledMatcher={draftValue?.to ? { after: draftValue.to } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleStartMonthChange}\n onSelectDate={handleStartDateSelect}\n />\n\n <CalendarPanel\n label=\"End date\"\n month={endMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.to}\n disabledMatcher={draftValue?.from ? { before: draftValue.from } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleEndMonthChange}\n onSelectDate={handleEndDateSelect}\n />\n </div>\n\n <div className=\"mt-5 border-t border-[#d8d8da] pt-4\">\n <input\n readOnly\n value={draftText}\n className=\"h-10 w-full rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-[14px] leading-[20px] text-[#111111] outline-none transition-colors placeholder:text-[#b3b3b3] focus-visible:border-[#1D1C20]\"\n aria-label=\"Selected date range\"\n />\n\n <div className=\"mt-4 flex justify-end gap-3\">\n <Button\n type=\"button\"\n variant=\"outline\"\n className=\"h-12 rounded-[14px] px-7 text-[14px]\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n className=\"h-12 rounded-[14px] px-7 text-[14px]\"\n disabled={!canApply}\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n </div>\n )\n }\n)\n\nDateRangePicker.displayName = \"DateRangePicker\"\n\nexport { DateRangePicker }\n"],"names":["DEFAULT_FORMAT","DEFAULT_PLACEHOLDER","MONTH_LABELS","_","monthIndex","clampMonth","month","minMonth","maxMonth","isBefore","isAfter","normalizeRange","value","formatDate","date","dateFormat","format","formatCommittedValue","fromText","toText","formatDraftValue","CalendarPanel","label","minDate","maxDate","selectedDate","disabledMatcher","disabled","years","onMonthChange","onSelectDate","handlePrevMonth","addMonths","handleNextMonth","isPrevDisabled","isNextDisabled","React","cn","ChevronLeft","event","monthValue","setMonth","monthLabel","ChevronDown","yearValue","setYear","year","ChevronRight","DayPicker","DateRangePicker","defaultValue","onValueChange","wrapperClassName","popoverClassName","className","placeholder","minYear","maxYear","triggerProps","ref","safeMinYear","safeMaxYear","startOfMonth","yearIndex","isControlled","internalValue","setInternalValue","committedValue","buildPanelMonths","range","now","initialStart","initialEndRaw","initialEnd","open","setOpen","draftValue","setDraftValue","initialMonths","startMonth","setStartMonth","endMonth","setEndMonth","syncDraftState","nextValue","normalized","nextMonths","handleStartMonthChange","nextMonth","handleEndMonthChange","handleStartDateSelect","previousValue","handleEndDateSelect","handleCancel","handleApply","canApply","committedText","draftText","Popover","nextOpen","PopoverTrigger","CalendarDays","PopoverContent","Button"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.es29.js","sources":["../src/components/ui/date-range-picker.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport {\n addMonths,\n format,\n isAfter,\n isBefore,\n setMonth,\n setYear,\n startOfMonth,\n} from \"date-fns\"\nimport { CalendarDays, ChevronDown, ChevronLeft, ChevronRight } from \"lucide-react\"\nimport { DayPicker, type Matcher } from \"react-day-picker\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/components/ui/popover\"\n\nexport type DateRangePickerValue = {\n from?: Date\n to?: Date\n}\n\nexport interface DateRangePickerProps\n extends Omit<React.ButtonHTMLAttributes<HTMLButtonElement>, \"value\" | \"defaultValue\" | \"onChange\"> {\n value?: DateRangePickerValue\n defaultValue?: DateRangePickerValue\n onValueChange?: (value: DateRangePickerValue | undefined) => void\n wrapperClassName?: string\n popoverClassName?: string\n popoverSide?: React.ComponentPropsWithoutRef<typeof PopoverContent>[\"side\"]\n popoverAvoidCollisions?: boolean\n placeholder?: string\n dateFormat?: string\n minYear?: number\n maxYear?: number\n}\n\nconst DEFAULT_FORMAT = \"dd/MM/yyyy\"\nconst DEFAULT_PLACEHOLDER = \"DD/MM/YYYY - DD/MM/YYYY\"\nconst MONTH_LABELS = Array.from({ length: 12 }, (_, monthIndex) =>\n new Date(2020, monthIndex, 1).toLocaleString(\"default\", { month: \"long\" })\n)\n\nconst clampMonth = (month: Date, minMonth: Date, maxMonth: Date) => {\n if (isBefore(month, minMonth)) {\n return minMonth\n }\n\n if (isAfter(month, maxMonth)) {\n return maxMonth\n }\n\n return month\n}\n\nconst normalizeRange = (\n value?: DateRangePickerValue\n): DateRangePickerValue | undefined => {\n if (!value?.from && !value?.to) {\n return undefined\n }\n\n if (value.from && value.to && isAfter(value.from, value.to)) {\n return {\n from: value.to,\n to: value.from,\n }\n }\n\n return {\n from: value.from,\n to: value.to,\n }\n}\n\nconst formatDate = (date: Date | undefined, dateFormat: string) => {\n if (!date) {\n return undefined\n }\n\n return format(date, dateFormat)\n}\n\nconst formatCommittedValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat)\n const toText = formatDate(value?.to, dateFormat)\n\n if (!fromText || !toText) {\n return \"\"\n }\n\n return `${fromText} - ${toText}`\n}\n\nconst formatDraftValue = (\n value: DateRangePickerValue | undefined,\n dateFormat: string\n) => {\n const fromText = formatDate(value?.from, dateFormat) ?? \"DD/MM/YYYY\"\n const toText = formatDate(value?.to, dateFormat) ?? \"DD/MM/YYYY\"\n\n return `${fromText} - ${toText}`\n}\n\ntype CalendarPanelProps = {\n label: string\n month: Date\n minMonth: Date\n maxMonth: Date\n minDate: Date\n maxDate: Date\n selectedDate?: Date\n disabledMatcher?: Matcher\n disabled?: boolean\n years: number[]\n onMonthChange: (month: Date) => void\n onSelectDate: (date: Date | undefined) => void\n}\n\nfunction CalendarPanel({\n label,\n month,\n minMonth,\n maxMonth,\n minDate,\n maxDate,\n selectedDate,\n disabledMatcher,\n disabled,\n years,\n onMonthChange,\n onSelectDate,\n}: CalendarPanelProps) {\n const handlePrevMonth = () => {\n onMonthChange(addMonths(month, -1))\n }\n\n const handleNextMonth = () => {\n onMonthChange(addMonths(month, 1))\n }\n\n const isPrevDisabled = disabled || !isAfter(month, minMonth)\n const isNextDisabled = disabled || !isBefore(month, maxMonth)\n\n return (\n <div className=\"w-full min-w-0\">\n <div className=\"flex flex-wrap items-center gap-2 sm:flex-nowrap\">\n <button\n type=\"button\"\n onClick={handlePrevMonth}\n disabled={isPrevDisabled}\n className={cn(\n \"inline-flex h-8 w-8 items-center justify-center rounded-md text-[#6e6d71] transition-colors lg:h-9 lg:w-9\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Previous month for ${label.toLowerCase()}`}\n >\n <ChevronLeft className=\"h-4 w-4 lg:h-5 lg:w-5\" />\n </button>\n\n <div className=\"relative min-w-0 flex-1\">\n <select\n value={month.getMonth()}\n onChange={(event) => {\n const monthValue = Number(event.target.value)\n onMonthChange(setMonth(month, monthValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-9 w-full appearance-none rounded-md border border-[#b7b7b9] bg-white px-3 pr-8 text-left text-sm font-medium leading-5 text-[#111111] lg:h-10 lg:px-4 lg:pr-10\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Month for ${label.toLowerCase()}`}\n >\n {MONTH_LABELS.map((monthLabel, monthIndex) => (\n <option key={monthLabel} value={monthIndex}>\n {monthLabel}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-[#7f7d83] lg:right-3\" />\n </div>\n\n <div className=\"relative w-[104px] shrink-0 sm:w-[120px]\">\n <select\n value={month.getFullYear()}\n onChange={(event) => {\n const yearValue = Number(event.target.value)\n onMonthChange(setYear(month, yearValue))\n }}\n disabled={disabled}\n className={cn(\n \"h-9 w-full appearance-none rounded-md border border-[#b7b7b9] bg-white px-3 pr-8 text-left text-sm font-medium leading-5 text-[#111111] lg:h-10 lg:px-4 lg:pr-9\",\n \"focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#b3b3b3]\"\n )}\n aria-label={`Year for ${label.toLowerCase()}`}\n >\n {years.map((year) => (\n <option key={year} value={year}>\n {year}\n </option>\n ))}\n </select>\n <ChevronDown className=\"pointer-events-none absolute right-2.5 top-1/2 h-4 w-4 -translate-y-1/2 text-[#7f7d83] lg:right-3\" />\n </div>\n\n <button\n type=\"button\"\n onClick={handleNextMonth}\n disabled={isNextDisabled}\n className={cn(\n \"inline-flex h-8 w-8 items-center justify-center rounded-md text-[#6e6d71] transition-colors lg:h-9 lg:w-9\",\n \"hover:bg-[#f5f5f5] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#1d1c20]/20\",\n \"disabled:cursor-not-allowed disabled:opacity-40\"\n )}\n aria-label={`Next month for ${label.toLowerCase()}`}\n >\n <ChevronRight className=\"h-4 w-4 lg:h-5 lg:w-5\" />\n </button>\n </div>\n\n <p className=\"mt-1.5 text-center text-sm font-medium leading-5 text-[#666666] lg:mt-2\">\n {label}\n </p>\n\n <DayPicker\n mode=\"single\"\n month={month}\n onMonthChange={onMonthChange}\n selected={selectedDate}\n onSelect={onSelectDate}\n showOutsideDays\n fixedWeeks\n hideNavigation\n disabled={[\n { before: minDate },\n { after: maxDate },\n ...(disabledMatcher ? [disabledMatcher] : []),\n ]}\n className=\"mt-1 p-0 [--drp-cell-size:1.625rem] md:[--drp-cell-size:1.875rem] xl:[--drp-cell-size:2.125rem]\"\n classNames={{\n root: \"w-full\",\n months: \"w-full\",\n month: \"w-full\",\n month_caption: \"hidden\",\n month_grid: \"w-full border-collapse\",\n weekdays: \"grid grid-cols-7\",\n weekday:\n \"h-[calc(var(--drp-cell-size)-0.25rem)] text-center text-[11px] font-medium leading-4 text-[#666666] lg:text-xs\",\n weeks: \"grid gap-0\",\n week: \"grid grid-cols-7\",\n day: \"flex h-[var(--drp-cell-size)] w-full items-center justify-center p-0\",\n day_button:\n \"h-[--drp-cell-size] w-[--drp-cell-size] rounded-md border border-transparent bg-transparent p-0 text-[13px] font-normal leading-none text-[#444444] transition-colors hover:border-[#cccccc] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-[#2bbd8f]/25 lg:text-sm\",\n selected:\n \"[&>button]:border-[#2bbd8f] [&>button]:bg-[#2bbd8f] [&>button]:text-[#111111]\",\n today: \"font-medium\",\n outside: \"text-[#a4a4a8]\",\n disabled: \"pointer-events-none text-[#d3d3d6]\",\n hidden: \"invisible\",\n }}\n />\n </div>\n )\n}\n\nconst DateRangePicker = React.forwardRef<HTMLButtonElement, DateRangePickerProps>(\n (\n {\n value,\n defaultValue,\n onValueChange,\n wrapperClassName,\n popoverClassName,\n popoverSide = \"bottom\",\n popoverAvoidCollisions = true,\n className,\n placeholder = DEFAULT_PLACEHOLDER,\n dateFormat = DEFAULT_FORMAT,\n minYear = 2000,\n maxYear = 2100,\n disabled,\n ...triggerProps\n },\n ref\n ) => {\n const safeMinYear = Math.min(minYear, maxYear)\n const safeMaxYear = Math.max(minYear, maxYear)\n\n const minMonth = React.useMemo(\n () => startOfMonth(new Date(safeMinYear, 0, 1)),\n [safeMinYear]\n )\n const maxMonth = React.useMemo(\n () => startOfMonth(new Date(safeMaxYear, 11, 1)),\n [safeMaxYear]\n )\n const minDate = React.useMemo(() => new Date(safeMinYear, 0, 1), [safeMinYear])\n const maxDate = React.useMemo(\n () => new Date(safeMaxYear, 11, 31),\n [safeMaxYear]\n )\n\n const years = React.useMemo(\n () =>\n Array.from(\n { length: safeMaxYear - safeMinYear + 1 },\n (_, yearIndex) => safeMinYear + yearIndex\n ),\n [safeMinYear, safeMaxYear]\n )\n\n const isControlled = value !== undefined\n const [internalValue, setInternalValue] = React.useState<DateRangePickerValue | undefined>(\n normalizeRange(defaultValue)\n )\n\n const committedValue = normalizeRange(isControlled ? value : internalValue)\n\n const buildPanelMonths = React.useCallback(\n (range: DateRangePickerValue | undefined) => {\n const now = startOfMonth(new Date())\n const initialStart = clampMonth(\n startOfMonth(range?.from ?? now),\n minMonth,\n maxMonth\n )\n\n const initialEndRaw = range?.to\n ? startOfMonth(range.to)\n : addMonths(initialStart, 1)\n const initialEnd = clampMonth(initialEndRaw, minMonth, maxMonth)\n\n return {\n start: initialStart,\n end: initialEnd,\n }\n },\n [minMonth, maxMonth]\n )\n\n const [open, setOpen] = React.useState(false)\n const [draftValue, setDraftValue] = React.useState<DateRangePickerValue | undefined>(\n committedValue\n )\n const initialMonths = buildPanelMonths(committedValue)\n const [startMonth, setStartMonth] = React.useState<Date>(initialMonths.start)\n const [endMonth, setEndMonth] = React.useState<Date>(initialMonths.end)\n\n const syncDraftState = React.useCallback(\n (nextValue: DateRangePickerValue | undefined) => {\n const normalized = normalizeRange(nextValue)\n setDraftValue(normalized)\n const nextMonths = buildPanelMonths(normalized)\n setStartMonth(nextMonths.start)\n setEndMonth(nextMonths.end)\n },\n [buildPanelMonths]\n )\n\n React.useEffect(() => {\n if (!open) {\n syncDraftState(committedValue)\n }\n }, [committedValue, open, syncDraftState])\n\n const handleStartMonthChange = (nextMonth: Date) => {\n setStartMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleEndMonthChange = (nextMonth: Date) => {\n setEndMonth(clampMonth(startOfMonth(nextMonth), minMonth, maxMonth))\n }\n\n const handleStartDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: date,\n to: previousValue?.to,\n }\n\n if (nextValue.to && isAfter(date, nextValue.to)) {\n nextValue.to = date\n }\n\n return nextValue\n })\n }\n\n const handleEndDateSelect = (date: Date | undefined) => {\n if (!date) {\n return\n }\n\n setDraftValue((previousValue) => {\n const nextValue: DateRangePickerValue = {\n from: previousValue?.from,\n to: date,\n }\n\n if (nextValue.from && isAfter(nextValue.from, date)) {\n nextValue.from = date\n }\n\n return nextValue\n })\n }\n\n const handleCancel = () => {\n syncDraftState(committedValue)\n setOpen(false)\n }\n\n const handleApply = () => {\n const normalized = normalizeRange(draftValue)\n\n if (!isControlled) {\n setInternalValue(normalized)\n }\n\n onValueChange?.(normalized)\n setOpen(false)\n }\n\n const canApply = Boolean(draftValue?.from && draftValue?.to)\n const committedText = formatCommittedValue(committedValue, dateFormat)\n const draftText = formatDraftValue(draftValue, dateFormat)\n\n return (\n <div className={cn(\"w-full\", wrapperClassName)}>\n <Popover\n open={open}\n onOpenChange={(nextOpen) => {\n if (disabled) {\n return\n }\n\n if (nextOpen) {\n syncDraftState(committedValue)\n }\n\n setOpen(nextOpen)\n }}\n >\n <PopoverTrigger asChild>\n <button\n ref={ref}\n type=\"button\"\n disabled={disabled}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-[8px] border border-[#e6e6e6] bg-white px-3 py-2 text-left text-[14px] leading-[20px] transition-colors\",\n \"focus-visible:outline-none focus-visible:border-[#1D1C20] focus-visible:ring-0\",\n \"disabled:cursor-not-allowed disabled:bg-[#f2f2f2] disabled:text-[#9ca3af] disabled:opacity-100\",\n className\n )}\n {...triggerProps}\n >\n <span\n className={cn(\n \"truncate text-[14px] font-normal leading-[20px]\",\n committedText ? \"text-[#111111]\" : \"text-[#b3b3b3]\"\n )}\n >\n {committedText || placeholder}\n </span>\n <CalendarDays className=\"ml-3 h-4 w-4 shrink-0 text-[#111111]\" />\n </button>\n </PopoverTrigger>\n\n <PopoverContent\n side={popoverSide}\n avoidCollisions={popoverAvoidCollisions}\n align=\"start\"\n sideOffset={10}\n className={cn(\n \"w-[min(95vw,760px)] max-h-[var(--radix-popover-content-available-height)] overflow-y-auto overscroll-contain rounded-xl border border-[#d8d8da] bg-[#f7f7f8] p-3 shadow-[0px_12px_24px_rgba(0,0,0,0.08)] sm:p-4\",\n popoverClassName\n )}\n >\n <div className=\"grid gap-3 md:grid-cols-2 md:gap-4\">\n <CalendarPanel\n label=\"Start date\"\n month={startMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.from}\n disabledMatcher={draftValue?.to ? { after: draftValue.to } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleStartMonthChange}\n onSelectDate={handleStartDateSelect}\n />\n\n <CalendarPanel\n label=\"End date\"\n month={endMonth}\n minMonth={minMonth}\n maxMonth={maxMonth}\n minDate={minDate}\n maxDate={maxDate}\n selectedDate={draftValue?.to}\n disabledMatcher={draftValue?.from ? { before: draftValue.from } : undefined}\n disabled={disabled}\n years={years}\n onMonthChange={handleEndMonthChange}\n onSelectDate={handleEndDateSelect}\n />\n </div>\n\n <div className=\"mt-2.5 border-t border-[#d8d8da] pt-2.5\">\n <input\n readOnly\n value={draftText}\n className=\"h-9 w-full rounded-md border border-[#e6e6e6] bg-white px-3 py-2 text-sm leading-5 text-[#111111] outline-none transition-colors placeholder:text-[#b3b3b3] focus-visible:border-[#1D1C20]\"\n aria-label=\"Selected date range\"\n />\n\n <div className=\"mt-2.5 flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\">\n <Button\n type=\"button\"\n variant=\"outline\"\n className=\"h-9 rounded-md px-4 text-sm\"\n onClick={handleCancel}\n >\n Cancel\n </Button>\n <Button\n type=\"button\"\n className=\"h-9 rounded-md px-4 text-sm\"\n disabled={!canApply}\n onClick={handleApply}\n >\n Apply\n </Button>\n </div>\n </div>\n </PopoverContent>\n </Popover>\n </div>\n )\n }\n)\n\nDateRangePicker.displayName = \"DateRangePicker\"\n\nexport { DateRangePicker }\n"],"names":["DEFAULT_FORMAT","DEFAULT_PLACEHOLDER","MONTH_LABELS","_","monthIndex","clampMonth","month","minMonth","maxMonth","isBefore","isAfter","normalizeRange","value","formatDate","date","dateFormat","format","formatCommittedValue","fromText","toText","formatDraftValue","CalendarPanel","label","minDate","maxDate","selectedDate","disabledMatcher","disabled","years","onMonthChange","onSelectDate","handlePrevMonth","addMonths","handleNextMonth","isPrevDisabled","isNextDisabled","React","cn","ChevronLeft","event","monthValue","setMonth","monthLabel","ChevronDown","yearValue","setYear","year","ChevronRight","DayPicker","DateRangePicker","defaultValue","onValueChange","wrapperClassName","popoverClassName","popoverSide","popoverAvoidCollisions","className","placeholder","minYear","maxYear","triggerProps","ref","safeMinYear","safeMaxYear","startOfMonth","yearIndex","isControlled","internalValue","setInternalValue","committedValue","buildPanelMonths","range","now","initialStart","initialEndRaw","initialEnd","open","setOpen","draftValue","setDraftValue","initialMonths","startMonth","setStartMonth","endMonth","setEndMonth","syncDraftState","nextValue","normalized","nextMonths","handleStartMonthChange","nextMonth","handleEndMonthChange","handleStartDateSelect","previousValue","handleEndDateSelect","handleCancel","handleApply","canApply","committedText","draftText","Popover","nextOpen","PopoverTrigger","CalendarDays","PopoverContent","Button"],"mappings":"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"}
|
package/dist/style.css
CHANGED
|
@@ -656,6 +656,9 @@ video {
|
|
|
656
656
|
.right-2 {
|
|
657
657
|
right: 0.5rem;
|
|
658
658
|
}
|
|
659
|
+
.right-2\.5 {
|
|
660
|
+
right: 0.625rem;
|
|
661
|
+
}
|
|
659
662
|
.right-3 {
|
|
660
663
|
right: 0.75rem;
|
|
661
664
|
}
|
|
@@ -785,21 +788,24 @@ video {
|
|
|
785
788
|
.mr-2 {
|
|
786
789
|
margin-right: 0.5rem;
|
|
787
790
|
}
|
|
791
|
+
.mt-1 {
|
|
792
|
+
margin-top: 0.25rem;
|
|
793
|
+
}
|
|
788
794
|
.mt-1\.5 {
|
|
789
795
|
margin-top: 0.375rem;
|
|
790
796
|
}
|
|
791
797
|
.mt-2 {
|
|
792
798
|
margin-top: 0.5rem;
|
|
793
799
|
}
|
|
800
|
+
.mt-2\.5 {
|
|
801
|
+
margin-top: 0.625rem;
|
|
802
|
+
}
|
|
794
803
|
.mt-24 {
|
|
795
804
|
margin-top: 6rem;
|
|
796
805
|
}
|
|
797
806
|
.mt-4 {
|
|
798
807
|
margin-top: 1rem;
|
|
799
808
|
}
|
|
800
|
-
.mt-5 {
|
|
801
|
-
margin-top: 1.25rem;
|
|
802
|
-
}
|
|
803
809
|
.mt-auto {
|
|
804
810
|
margin-top: auto;
|
|
805
811
|
}
|
|
@@ -890,9 +896,6 @@ video {
|
|
|
890
896
|
.h-12 {
|
|
891
897
|
height: 3rem;
|
|
892
898
|
}
|
|
893
|
-
.h-14 {
|
|
894
|
-
height: 3.5rem;
|
|
895
|
-
}
|
|
896
899
|
.h-2 {
|
|
897
900
|
height: 0.5rem;
|
|
898
901
|
}
|
|
@@ -944,6 +947,9 @@ video {
|
|
|
944
947
|
.h-\[--cell-size\] {
|
|
945
948
|
height: var(--cell-size);
|
|
946
949
|
}
|
|
950
|
+
.h-\[--drp-cell-size\] {
|
|
951
|
+
height: var(--drp-cell-size);
|
|
952
|
+
}
|
|
947
953
|
.h-\[1px\] {
|
|
948
954
|
height: 1px;
|
|
949
955
|
}
|
|
@@ -953,6 +959,12 @@ video {
|
|
|
953
959
|
.h-\[320px\] {
|
|
954
960
|
height: 320px;
|
|
955
961
|
}
|
|
962
|
+
.h-\[calc\(var\(--drp-cell-size\)-0\.25rem\)\] {
|
|
963
|
+
height: calc(var(--drp-cell-size) - 0.25rem);
|
|
964
|
+
}
|
|
965
|
+
.h-\[var\(--drp-cell-size\)\] {
|
|
966
|
+
height: var(--drp-cell-size);
|
|
967
|
+
}
|
|
956
968
|
.h-\[var\(--radix-navigation-menu-viewport-height\)\] {
|
|
957
969
|
height: var(--radix-navigation-menu-viewport-height);
|
|
958
970
|
}
|
|
@@ -983,6 +995,9 @@ video {
|
|
|
983
995
|
.max-h-\[var\(--radix-dropdown-menu-content-available-height\)\] {
|
|
984
996
|
max-height: var(--radix-dropdown-menu-content-available-height);
|
|
985
997
|
}
|
|
998
|
+
.max-h-\[var\(--radix-popover-content-available-height\)\] {
|
|
999
|
+
max-height: var(--radix-popover-content-available-height);
|
|
1000
|
+
}
|
|
986
1001
|
.min-h-0 {
|
|
987
1002
|
min-height: 0px;
|
|
988
1003
|
}
|
|
@@ -1004,6 +1019,9 @@ video {
|
|
|
1004
1019
|
.min-h-\[420px\] {
|
|
1005
1020
|
min-height: 420px;
|
|
1006
1021
|
}
|
|
1022
|
+
.min-h-\[65vh\] {
|
|
1023
|
+
min-height: 65vh;
|
|
1024
|
+
}
|
|
1007
1025
|
.min-h-\[82px\] {
|
|
1008
1026
|
min-height: 82px;
|
|
1009
1027
|
}
|
|
@@ -1085,18 +1103,21 @@ video {
|
|
|
1085
1103
|
.w-\[--cell-size\] {
|
|
1086
1104
|
width: var(--cell-size);
|
|
1087
1105
|
}
|
|
1106
|
+
.w-\[--drp-cell-size\] {
|
|
1107
|
+
width: var(--drp-cell-size);
|
|
1108
|
+
}
|
|
1088
1109
|
.w-\[--sidebar-width\] {
|
|
1089
1110
|
width: var(--sidebar-width);
|
|
1090
1111
|
}
|
|
1091
1112
|
.w-\[100px\] {
|
|
1092
1113
|
width: 100px;
|
|
1093
1114
|
}
|
|
1115
|
+
.w-\[104px\] {
|
|
1116
|
+
width: 104px;
|
|
1117
|
+
}
|
|
1094
1118
|
.w-\[120px\] {
|
|
1095
1119
|
width: 120px;
|
|
1096
1120
|
}
|
|
1097
|
-
.w-\[132px\] {
|
|
1098
|
-
width: 132px;
|
|
1099
|
-
}
|
|
1100
1121
|
.w-\[140px\] {
|
|
1101
1122
|
width: 140px;
|
|
1102
1123
|
}
|
|
@@ -1118,11 +1139,14 @@ video {
|
|
|
1118
1139
|
.w-\[280px\] {
|
|
1119
1140
|
width: 280px;
|
|
1120
1141
|
}
|
|
1142
|
+
.w-\[560px\] {
|
|
1143
|
+
width: 560px;
|
|
1144
|
+
}
|
|
1121
1145
|
.w-\[60\%\] {
|
|
1122
1146
|
width: 60%;
|
|
1123
1147
|
}
|
|
1124
|
-
.w-\[min\(
|
|
1125
|
-
width: min(
|
|
1148
|
+
.w-\[min\(95vw\2c 760px\)\] {
|
|
1149
|
+
width: min(95vw, 760px);
|
|
1126
1150
|
}
|
|
1127
1151
|
.w-fit {
|
|
1128
1152
|
width: -moz-fit-content;
|
|
@@ -1186,6 +1210,9 @@ video {
|
|
|
1186
1210
|
.max-w-\[760px\] {
|
|
1187
1211
|
max-width: 760px;
|
|
1188
1212
|
}
|
|
1213
|
+
.max-w-full {
|
|
1214
|
+
max-width: 100%;
|
|
1215
|
+
}
|
|
1189
1216
|
.max-w-lg {
|
|
1190
1217
|
max-width: 32rem;
|
|
1191
1218
|
}
|
|
@@ -1264,6 +1291,10 @@ video {
|
|
|
1264
1291
|
--tw-translate-x: 1px;
|
|
1265
1292
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1266
1293
|
}
|
|
1294
|
+
.translate-y-8 {
|
|
1295
|
+
--tw-translate-y: 2rem;
|
|
1296
|
+
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
1297
|
+
}
|
|
1267
1298
|
.translate-y-\[-50\%\] {
|
|
1268
1299
|
--tw-translate-y: -50%;
|
|
1269
1300
|
transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y));
|
|
@@ -1415,9 +1446,6 @@ video {
|
|
|
1415
1446
|
.gap-7 {
|
|
1416
1447
|
gap: 1.75rem;
|
|
1417
1448
|
}
|
|
1418
|
-
.gap-8 {
|
|
1419
|
-
gap: 2rem;
|
|
1420
|
-
}
|
|
1421
1449
|
.gap-\[13px\] {
|
|
1422
1450
|
gap: 13px;
|
|
1423
1451
|
}
|
|
@@ -1496,6 +1524,9 @@ video {
|
|
|
1496
1524
|
.overflow-x-hidden {
|
|
1497
1525
|
overflow-x: hidden;
|
|
1498
1526
|
}
|
|
1527
|
+
.overscroll-contain {
|
|
1528
|
+
overscroll-behavior: contain;
|
|
1529
|
+
}
|
|
1499
1530
|
.truncate {
|
|
1500
1531
|
overflow: hidden;
|
|
1501
1532
|
text-overflow: ellipsis;
|
|
@@ -1516,12 +1547,6 @@ video {
|
|
|
1516
1547
|
.rounded-\[12px\] {
|
|
1517
1548
|
border-radius: 12px;
|
|
1518
1549
|
}
|
|
1519
|
-
.rounded-\[14px\] {
|
|
1520
|
-
border-radius: 14px;
|
|
1521
|
-
}
|
|
1522
|
-
.rounded-\[16px\] {
|
|
1523
|
-
border-radius: 16px;
|
|
1524
|
-
}
|
|
1525
1550
|
.rounded-\[2px\] {
|
|
1526
1551
|
border-radius: 2px;
|
|
1527
1552
|
}
|
|
@@ -1850,10 +1875,6 @@ video {
|
|
|
1850
1875
|
padding-left: 1.5rem;
|
|
1851
1876
|
padding-right: 1.5rem;
|
|
1852
1877
|
}
|
|
1853
|
-
.px-7 {
|
|
1854
|
-
padding-left: 1.75rem;
|
|
1855
|
-
padding-right: 1.75rem;
|
|
1856
|
-
}
|
|
1857
1878
|
.px-\[--cell-size\] {
|
|
1858
1879
|
padding-left: var(--cell-size);
|
|
1859
1880
|
padding-right: var(--cell-size);
|
|
@@ -1928,12 +1949,6 @@ video {
|
|
|
1928
1949
|
.pr-1 {
|
|
1929
1950
|
padding-right: 0.25rem;
|
|
1930
1951
|
}
|
|
1931
|
-
.pr-10 {
|
|
1932
|
-
padding-right: 2.5rem;
|
|
1933
|
-
}
|
|
1934
|
-
.pr-11 {
|
|
1935
|
-
padding-right: 2.75rem;
|
|
1936
|
-
}
|
|
1937
1952
|
.pr-2 {
|
|
1938
1953
|
padding-right: 0.5rem;
|
|
1939
1954
|
}
|
|
@@ -1949,6 +1964,9 @@ video {
|
|
|
1949
1964
|
.pt-0 {
|
|
1950
1965
|
padding-top: 0px;
|
|
1951
1966
|
}
|
|
1967
|
+
.pt-2\.5 {
|
|
1968
|
+
padding-top: 0.625rem;
|
|
1969
|
+
}
|
|
1952
1970
|
.pt-3 {
|
|
1953
1971
|
padding-top: 0.75rem;
|
|
1954
1972
|
}
|
|
@@ -1989,18 +2007,21 @@ video {
|
|
|
1989
2007
|
.text-\[10px\] {
|
|
1990
2008
|
font-size: 10px;
|
|
1991
2009
|
}
|
|
2010
|
+
.text-\[11px\] {
|
|
2011
|
+
font-size: 11px;
|
|
2012
|
+
}
|
|
1992
2013
|
.text-\[12px\] {
|
|
1993
2014
|
font-size: 12px;
|
|
1994
2015
|
}
|
|
2016
|
+
.text-\[13px\] {
|
|
2017
|
+
font-size: 13px;
|
|
2018
|
+
}
|
|
1995
2019
|
.text-\[14px\] {
|
|
1996
2020
|
font-size: 14px;
|
|
1997
2021
|
}
|
|
1998
2022
|
.text-\[16px\] {
|
|
1999
2023
|
font-size: 16px;
|
|
2000
2024
|
}
|
|
2001
|
-
.text-\[18px\] {
|
|
2002
|
-
font-size: 18px;
|
|
2003
|
-
}
|
|
2004
2025
|
.text-\[20px\] {
|
|
2005
2026
|
font-size: 20px;
|
|
2006
2027
|
}
|
|
@@ -2067,6 +2088,9 @@ video {
|
|
|
2067
2088
|
.leading-10 {
|
|
2068
2089
|
line-height: 2.5rem;
|
|
2069
2090
|
}
|
|
2091
|
+
.leading-4 {
|
|
2092
|
+
line-height: 1rem;
|
|
2093
|
+
}
|
|
2070
2094
|
.leading-5 {
|
|
2071
2095
|
line-height: 1.25rem;
|
|
2072
2096
|
}
|
|
@@ -2079,9 +2103,6 @@ video {
|
|
|
2079
2103
|
.leading-\[20px\] {
|
|
2080
2104
|
line-height: 20px;
|
|
2081
2105
|
}
|
|
2082
|
-
.leading-\[22px\] {
|
|
2083
|
-
line-height: 22px;
|
|
2084
|
-
}
|
|
2085
2106
|
.leading-\[24px\] {
|
|
2086
2107
|
line-height: 24px;
|
|
2087
2108
|
}
|
|
@@ -2484,6 +2505,9 @@ video {
|
|
|
2484
2505
|
.\[--cell-size\:2rem\] {
|
|
2485
2506
|
--cell-size: 2rem;
|
|
2486
2507
|
}
|
|
2508
|
+
.\[--drp-cell-size\:1\.625rem\] {
|
|
2509
|
+
--drp-cell-size: 1.625rem;
|
|
2510
|
+
}
|
|
2487
2511
|
.\[color\:var\(--raw-black\2c \#000\)\] {
|
|
2488
2512
|
color: var(--raw-black,#000);
|
|
2489
2513
|
}
|
|
@@ -2953,14 +2977,6 @@ video {
|
|
|
2953
2977
|
.aria-disabled\:opacity-50[aria-disabled="true"] {
|
|
2954
2978
|
opacity: 0.5;
|
|
2955
2979
|
}
|
|
2956
|
-
.aria-selected\:border-\[\#2bbd8f\][aria-selected="true"] {
|
|
2957
|
-
--tw-border-opacity: 1;
|
|
2958
|
-
border-color: rgb(43 189 143 / var(--tw-border-opacity, 1));
|
|
2959
|
-
}
|
|
2960
|
-
.aria-selected\:text-\[\#111111\][aria-selected="true"] {
|
|
2961
|
-
--tw-text-opacity: 1;
|
|
2962
|
-
color: rgb(17 17 17 / var(--tw-text-opacity, 1));
|
|
2963
|
-
}
|
|
2964
2980
|
.aria-selected\:text-muted-foreground[aria-selected="true"] {
|
|
2965
2981
|
color: hsl(var(--muted-foreground));
|
|
2966
2982
|
}
|
|
@@ -3577,6 +3593,10 @@ video {
|
|
|
3577
3593
|
display: flex;
|
|
3578
3594
|
}
|
|
3579
3595
|
|
|
3596
|
+
.sm\:w-\[120px\] {
|
|
3597
|
+
width: 120px;
|
|
3598
|
+
}
|
|
3599
|
+
|
|
3580
3600
|
.sm\:max-w-sm {
|
|
3581
3601
|
max-width: 24rem;
|
|
3582
3602
|
}
|
|
@@ -3589,6 +3609,10 @@ video {
|
|
|
3589
3609
|
flex-direction: row;
|
|
3590
3610
|
}
|
|
3591
3611
|
|
|
3612
|
+
.sm\:flex-nowrap {
|
|
3613
|
+
flex-wrap: nowrap;
|
|
3614
|
+
}
|
|
3615
|
+
|
|
3592
3616
|
.sm\:justify-end {
|
|
3593
3617
|
justify-content: flex-end;
|
|
3594
3618
|
}
|
|
@@ -3607,6 +3631,10 @@ video {
|
|
|
3607
3631
|
border-radius: var(--radius);
|
|
3608
3632
|
}
|
|
3609
3633
|
|
|
3634
|
+
.sm\:p-4 {
|
|
3635
|
+
padding: 1rem;
|
|
3636
|
+
}
|
|
3637
|
+
|
|
3610
3638
|
.sm\:text-left {
|
|
3611
3639
|
text-align: left;
|
|
3612
3640
|
}
|
|
@@ -3633,24 +3661,28 @@ video {
|
|
|
3633
3661
|
flex-direction: row;
|
|
3634
3662
|
}
|
|
3635
3663
|
|
|
3636
|
-
.md\:gap-
|
|
3637
|
-
gap:
|
|
3638
|
-
}
|
|
3639
|
-
|
|
3640
|
-
.md\:gap-3 {
|
|
3641
|
-
gap: 0.75rem;
|
|
3664
|
+
.md\:gap-4 {
|
|
3665
|
+
gap: 1rem;
|
|
3642
3666
|
}
|
|
3643
3667
|
|
|
3644
3668
|
.md\:p-12 {
|
|
3645
3669
|
padding: 3rem;
|
|
3646
3670
|
}
|
|
3647
3671
|
|
|
3648
|
-
.md\:
|
|
3649
|
-
|
|
3672
|
+
.md\:\[--drp-cell-size\:1\.875rem\] {
|
|
3673
|
+
--drp-cell-size: 1.875rem;
|
|
3650
3674
|
}
|
|
3651
3675
|
}
|
|
3652
3676
|
@media (min-width: 1024px) {
|
|
3653
3677
|
|
|
3678
|
+
.lg\:right-3 {
|
|
3679
|
+
right: 0.75rem;
|
|
3680
|
+
}
|
|
3681
|
+
|
|
3682
|
+
.lg\:mt-2 {
|
|
3683
|
+
margin-top: 0.5rem;
|
|
3684
|
+
}
|
|
3685
|
+
|
|
3654
3686
|
.lg\:block {
|
|
3655
3687
|
display: block;
|
|
3656
3688
|
}
|
|
@@ -3659,6 +3691,49 @@ video {
|
|
|
3659
3691
|
display: flex;
|
|
3660
3692
|
}
|
|
3661
3693
|
|
|
3694
|
+
.lg\:h-10 {
|
|
3695
|
+
height: 2.5rem;
|
|
3696
|
+
}
|
|
3697
|
+
|
|
3698
|
+
.lg\:h-5 {
|
|
3699
|
+
height: 1.25rem;
|
|
3700
|
+
}
|
|
3701
|
+
|
|
3702
|
+
.lg\:h-9 {
|
|
3703
|
+
height: 2.25rem;
|
|
3704
|
+
}
|
|
3705
|
+
|
|
3706
|
+
.lg\:w-5 {
|
|
3707
|
+
width: 1.25rem;
|
|
3708
|
+
}
|
|
3709
|
+
|
|
3710
|
+
.lg\:w-9 {
|
|
3711
|
+
width: 2.25rem;
|
|
3712
|
+
}
|
|
3713
|
+
|
|
3714
|
+
.lg\:px-4 {
|
|
3715
|
+
padding-left: 1rem;
|
|
3716
|
+
padding-right: 1rem;
|
|
3717
|
+
}
|
|
3718
|
+
|
|
3719
|
+
.lg\:pr-10 {
|
|
3720
|
+
padding-right: 2.5rem;
|
|
3721
|
+
}
|
|
3722
|
+
|
|
3723
|
+
.lg\:pr-9 {
|
|
3724
|
+
padding-right: 2.25rem;
|
|
3725
|
+
}
|
|
3726
|
+
|
|
3727
|
+
.lg\:text-sm {
|
|
3728
|
+
font-size: 0.875rem;
|
|
3729
|
+
line-height: 1.25rem;
|
|
3730
|
+
}
|
|
3731
|
+
|
|
3732
|
+
.lg\:text-xs {
|
|
3733
|
+
font-size: 0.75rem;
|
|
3734
|
+
line-height: 1rem;
|
|
3735
|
+
}
|
|
3736
|
+
|
|
3662
3737
|
.lg\:opacity-0 {
|
|
3663
3738
|
opacity: 0;
|
|
3664
3739
|
}
|
|
@@ -3691,6 +3766,10 @@ video {
|
|
|
3691
3766
|
.xl\:grid-cols-4 {
|
|
3692
3767
|
grid-template-columns: repeat(4, minmax(0, 1fr));
|
|
3693
3768
|
}
|
|
3769
|
+
|
|
3770
|
+
.xl\:\[--drp-cell-size\:2\.125rem\] {
|
|
3771
|
+
--drp-cell-size: 2.125rem;
|
|
3772
|
+
}
|
|
3694
3773
|
}
|
|
3695
3774
|
.\[\&\+\[data-slot\=item-content\]\]\:flex-none+[data-slot=item-content] {
|
|
3696
3775
|
flex: none;
|
|
@@ -3773,6 +3852,18 @@ video {
|
|
|
3773
3852
|
.\[\&\>button\]\:hidden>button {
|
|
3774
3853
|
display: none;
|
|
3775
3854
|
}
|
|
3855
|
+
.\[\&\>button\]\:border-\[\#2bbd8f\]>button {
|
|
3856
|
+
--tw-border-opacity: 1;
|
|
3857
|
+
border-color: rgb(43 189 143 / var(--tw-border-opacity, 1));
|
|
3858
|
+
}
|
|
3859
|
+
.\[\&\>button\]\:bg-\[\#2bbd8f\]>button {
|
|
3860
|
+
--tw-bg-opacity: 1;
|
|
3861
|
+
background-color: rgb(43 189 143 / var(--tw-bg-opacity, 1));
|
|
3862
|
+
}
|
|
3863
|
+
.\[\&\>button\]\:text-\[\#111111\]>button {
|
|
3864
|
+
--tw-text-opacity: 1;
|
|
3865
|
+
color: rgb(17 17 17 / var(--tw-text-opacity, 1));
|
|
3866
|
+
}
|
|
3776
3867
|
.\[\&\>input\]\:flex-1>input {
|
|
3777
3868
|
flex: 1 1 0%;
|
|
3778
3869
|
}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "ml-uikit",
|
|
3
3
|
"description": "A Metis Labs UI kit library starter for React with Tailwind CSS, Vite, TypeScript and Shadcn-ui components.",
|
|
4
4
|
"private": false,
|
|
5
|
-
"version": "1.1.
|
|
5
|
+
"version": "1.1.7",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"main": "dist/index.cjs.js",
|
|
8
8
|
"module": "dist/index.es.js",
|