@codefast/ui 0.1.48 → 0.1.50

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.
Files changed (89) hide show
  1. package/dist/{chunk-UZ2CW6TS.js → chunk-BHLW3MWI.js} +2 -2
  2. package/dist/{chunk-UZ2CW6TS.js.map → chunk-BHLW3MWI.js.map} +1 -1
  3. package/dist/{chunk-VA36YONO.cjs → chunk-E2QRPDUI.cjs} +1 -1
  4. package/dist/{chunk-VA36YONO.cjs.map → chunk-E2QRPDUI.cjs.map} +1 -1
  5. package/dist/chunk-EEDKRHHZ.cjs +2 -0
  6. package/dist/chunk-EEDKRHHZ.cjs.map +1 -0
  7. package/dist/{chunk-A5RTV4IE.js → chunk-FSXJI6UE.js} +1 -1
  8. package/dist/{chunk-A5RTV4IE.js.map → chunk-FSXJI6UE.js.map} +1 -1
  9. package/dist/chunk-GV5FQF4J.js +2 -0
  10. package/dist/chunk-GV5FQF4J.js.map +1 -0
  11. package/dist/chunk-HO5BFEZO.cjs +4 -0
  12. package/dist/chunk-HO5BFEZO.cjs.map +1 -0
  13. package/dist/chunk-KASTA74M.cjs +2 -0
  14. package/dist/chunk-KASTA74M.cjs.map +1 -0
  15. package/dist/chunk-OUWUINGX.cjs +2 -0
  16. package/dist/chunk-OUWUINGX.cjs.map +1 -0
  17. package/dist/{chunk-3TS74A2W.cjs → chunk-PYKB3C2F.cjs} +2 -2
  18. package/dist/{chunk-3TS74A2W.cjs.map → chunk-PYKB3C2F.cjs.map} +1 -1
  19. package/dist/chunk-TTKMKXCU.js +2 -0
  20. package/dist/chunk-TTKMKXCU.js.map +1 -0
  21. package/dist/{chunk-3TOWLKUY.js → chunk-UHHMORLE.js} +2 -2
  22. package/dist/chunk-WNXJ2WHS.js +4 -0
  23. package/dist/chunk-WNXJ2WHS.js.map +1 -0
  24. package/dist/components/alert-dialog.d.cts +1 -1
  25. package/dist/components/alert-dialog.d.ts +1 -1
  26. package/dist/components/breadcrumb.d.cts +1 -1
  27. package/dist/components/breadcrumb.d.ts +1 -1
  28. package/dist/components/calendar.cjs +1 -1
  29. package/dist/components/calendar.d.cts +2 -2
  30. package/dist/components/calendar.d.ts +2 -2
  31. package/dist/components/calendar.js +1 -1
  32. package/dist/components/chart.cjs +1 -1
  33. package/dist/components/chart.d.cts +1 -1
  34. package/dist/components/chart.d.ts +1 -1
  35. package/dist/components/chart.js +1 -1
  36. package/dist/components/command.d.cts +1 -1
  37. package/dist/components/command.d.ts +1 -1
  38. package/dist/components/context-menu.d.cts +1 -1
  39. package/dist/components/context-menu.d.ts +1 -1
  40. package/dist/components/data-table.cjs +1 -1
  41. package/dist/components/data-table.js +1 -1
  42. package/dist/components/dialog.d.cts +1 -1
  43. package/dist/components/dialog.d.ts +1 -1
  44. package/dist/components/drawer.d.cts +1 -1
  45. package/dist/components/drawer.d.ts +1 -1
  46. package/dist/components/dropdown-menu.d.cts +1 -1
  47. package/dist/components/dropdown-menu.d.ts +1 -1
  48. package/dist/components/form.d.cts +2 -2
  49. package/dist/components/form.d.ts +2 -2
  50. package/dist/components/hover-card.d.cts +1 -1
  51. package/dist/components/hover-card.d.ts +1 -1
  52. package/dist/components/input-otp.cjs +1 -1
  53. package/dist/components/input-otp.js +1 -1
  54. package/dist/components/menubar.d.cts +1 -1
  55. package/dist/components/menubar.d.ts +1 -1
  56. package/dist/components/popover.d.cts +1 -1
  57. package/dist/components/popover.d.ts +1 -1
  58. package/dist/components/select.cjs +1 -1
  59. package/dist/components/select.d.cts +1 -1
  60. package/dist/components/select.d.ts +1 -1
  61. package/dist/components/select.js +1 -1
  62. package/dist/components/sheet.d.cts +1 -1
  63. package/dist/components/sheet.d.ts +1 -1
  64. package/dist/components/sidebar.cjs +1 -1
  65. package/dist/components/sidebar.js +1 -1
  66. package/dist/components/table.d.cts +1 -1
  67. package/dist/components/table.d.ts +1 -1
  68. package/dist/components/tooltip.d.cts +1 -1
  69. package/dist/components/tooltip.d.ts +1 -1
  70. package/dist/index.cjs +1 -1
  71. package/dist/index.d.cts +1 -1
  72. package/dist/index.d.ts +1 -1
  73. package/dist/index.js +1 -1
  74. package/package.json +20 -20
  75. package/dist/chunk-2XO4KTBF.js +0 -4
  76. package/dist/chunk-2XO4KTBF.js.map +0 -1
  77. package/dist/chunk-3SJHSQTX.cjs +0 -4
  78. package/dist/chunk-3SJHSQTX.cjs.map +0 -1
  79. package/dist/chunk-LOFRT7V5.js +0 -2
  80. package/dist/chunk-LOFRT7V5.js.map +0 -1
  81. package/dist/chunk-SQURQUD2.js +0 -2
  82. package/dist/chunk-SQURQUD2.js.map +0 -1
  83. package/dist/chunk-V2AN2A7C.cjs +0 -2
  84. package/dist/chunk-V2AN2A7C.cjs.map +0 -1
  85. package/dist/chunk-VFQ5AO6A.cjs +0 -2
  86. package/dist/chunk-VFQ5AO6A.cjs.map +0 -1
  87. package/dist/chunk-X2F3KWSW.cjs +0 -2
  88. package/dist/chunk-X2F3KWSW.cjs.map +0 -1
  89. /package/dist/{chunk-3TOWLKUY.js.map → chunk-UHHMORLE.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ "use client";import{a as p}from"./chunk-EVRI6TWT.js";import{a as n}from"./chunk-VPYH6JWS.js";import{DayFlag as d,DayPicker as c,SelectionState as i,UI as e}from"@codefast-ui/day-picker";import{ChevronDownIcon as s,ChevronLeftIcon as g,ChevronRightIcon as m,ChevronUpIcon as y,DotFilledIcon as b}from"@radix-ui/react-icons";import{format as f}from"date-fns";import{useEffect as h,useRef as C}from"react";import{jsx as o,jsxs as P}from"react/jsx-runtime";function D({orientation:r,...t}){switch(r){case"up":return o(y,{className:"size-4",...t});case"down":return o(s,{className:"size-4",...t});case"left":return o(g,{className:"size-4",...t});case"right":return o(m,{className:"size-4",...t});default:return o(b,{className:"size-4",...t})}}function x({modifiers:r,className:t,day:a,...u}){let l=C(null);return h(()=>{r.focused&&l.current?.focus()},[r.focused]),o("button",{ref:l,className:p({icon:!0,size:"sm",variant:r.selected&&!r.range_middle?"default":"ghost",className:["focus-visible:ring-1 focus-visible:ring-offset-0",(!r.selected||r.range_middle)&&[r.today?"bg-accent":"hover:border-accent hover:bg-transparent",r.outside&&"text-opacity-30"],r.range_middle&&"bg-transparent",t]}),type:"button",...u})}function z({className:r,classNames:t,...a}){return o(c,{showOutsideDays:!0,className:n("p-3",r),classNames:{[d.disabled]:n("",t?.[d.disabled]),[d.focused]:n("",t?.[d.focused]),[d.hidden]:n("invisible",t?.[d.hidden]),[d.outside]:n(!a.mode&&"text-opacity-30",t?.[d.outside]),[d.today]:n(!a.mode&&"bg-accent rounded-md",t?.[d.today]),[i.range_end]:n("to-accent rounded-r-md bg-gradient-to-l from-transparent to-50% first:rounded-l-md",t?.[i.range_end]),[i.range_middle]:n("bg-accent first:rounded-l-md last:rounded-r-md",t?.[i.range_middle]),[i.range_start]:n("to-accent rounded-l-md bg-gradient-to-r from-transparent to-50% last:rounded-r-md",t?.[i.range_start]),[i.selected]:n("",t?.[i.selected]),[e.CaptionLabel]:n("inline-flex items-center",t?.[e.CaptionLabel]),[e.Chevron]:n("",t?.[e.Chevron]),[e.Day]:n("py-0",!a.mode&&"text-foreground mx-px flex min-h-9 min-w-9 items-center justify-center text-sm font-medium",t?.[e.Day]),[e.DayButton]:n("border border-transparent",t?.[e.DayButton]),[e.Dropdown]:n("absolute size-full appearance-none opacity-0",t?.[e.Dropdown]),[e.DropdownRoot]:n("relative inline-flex",t?.[e.DropdownRoot]),[e.Dropdowns]:n("inline-flex items-center gap-2",t?.[e.Dropdowns]),[e.Footer]:n("text-sm",t?.[e.Footer]),[e.Month]:n("grid grid-rows-[2rem_1fr] gap-4",!((a.numberOfMonths||0)>1)&&"w-full",t?.[e.Month]),[e.MonthCaption]:n("flex w-full justify-center text-sm font-medium",t?.[e.MonthCaption]),[e.MonthGrid]:n("relative block table-fixed border-collapse space-y-2 [&>thead]:block",t?.[e.MonthGrid]),[e.Months]:n("relative flex flex-wrap gap-4",t?.[e.Months]),[e.MonthsDropdown]:n("",t?.[e.MonthsDropdown]),[e.Nav]:n("-mr-4",t?.[e.Nav]),[e.NextMonthButton]:p({className:["absolute end-0",t?.[e.NextMonthButton]],icon:!0,size:"xs",variant:"outline"}),[e.PreviousMonthButton]:p({className:["absolute start-0",t?.[e.PreviousMonthButton]],icon:!0,size:"xs",variant:"outline"}),[e.Root]:n("inline-grid gap-4",t?.[e.Root]),[e.Week]:n("flex justify-between",t?.[e.Week]),[e.WeekNumber]:n("text-foreground/50 size-9 text-center text-xs",t?.[e.WeekNumber]),[e.WeekNumberHeader]:n("",t?.[e.WeekNumberHeader]),[e.Weekday]:n("text-muted-foreground flex-1 text-sm font-normal",t?.[e.Weekday]),[e.Weekdays]:n("flex justify-between",t?.[e.Weekdays]),[e.Weeks]:n("grid gap-y-2",t?.[e.Weeks]),[e.YearsDropdown]:n("",t?.[e.YearsDropdown])},components:{Chevron:D,DayButton:x},...a})}function B({date:r,formatStr:t="LLL dd, y",placeholder:a="Pick a date"}){if(!r?.from)return o("span",{className:"truncate",children:a});let u=f(r.from,t);if(!r.to)return o("span",{className:"truncate",children:u});let l=f(r.to,t);return P("span",{className:"truncate",children:[u," - ",l]})}function S({date:r,formatStr:t="PPP",placeholder:a="Pick a date"}){return r?o("span",{className:"truncate",children:f(r,t)}):o("span",{className:"truncate",children:a})}export{z as a,B as b,S as c};
2
+ //# sourceMappingURL=chunk-GV5FQF4J.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/calendar.tsx"],"names":["DayFlag","DayPicker","SelectionState","UI","ChevronDownIcon","ChevronLeftIcon","ChevronRightIcon","ChevronUpIcon","DotFilledIcon","format","useEffect","useRef","jsx","jsxs","Chevron","orientation","props","DayButton","modifiers","className","_","buttonRef","buttonVariants","Calendar","classNames","cn","CalendarRangeLabel","date","formatStr","placeholder","formattedFromDate","formattedToDate","CalendarLabel"],"mappings":"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","sourcesContent":["'use client';\n\nimport {\n type Components,\n type DateRange,\n type DayButtonProps,\n DayFlag,\n DayPicker,\n type DayPickerProps,\n type Matcher,\n SelectionState,\n UI,\n} from '@codefast-ui/day-picker';\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n DotFilledIcon,\n} from '@radix-ui/react-icons';\nimport { format } from 'date-fns';\nimport { type ComponentProps, type JSX, useEffect, useRef } from 'react';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/styles/button-variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\ntype ChevronProps = ComponentProps<Components['Chevron']>;\n\nfunction Chevron({ orientation, ...props }: ChevronProps): JSX.Element {\n switch (orientation) {\n case 'up': {\n return <ChevronUpIcon className=\"size-4\" {...props} />;\n }\n\n case 'down': {\n return <ChevronDownIcon className=\"size-4\" {...props} />;\n }\n\n case 'left': {\n return <ChevronLeftIcon className=\"size-4\" {...props} />;\n }\n\n case 'right': {\n return <ChevronRightIcon className=\"size-4\" {...props} />;\n }\n\n default:\n return <DotFilledIcon className=\"size-4\" {...props} />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DayButton\n * -------------------------------------------------------------------------- */\n\nfunction DayButton({ modifiers, className, day: _, ...props }: DayButtonProps): JSX.Element {\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (modifiers.focused) {\n buttonRef.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <button\n ref={buttonRef}\n className={buttonVariants({\n icon: true,\n size: 'sm',\n variant: modifiers.selected && !modifiers.range_middle ? 'default' : 'ghost',\n className: [\n 'focus-visible:ring-1 focus-visible:ring-offset-0',\n (!modifiers.selected || modifiers.range_middle) && [\n modifiers.today ? 'bg-accent' : 'hover:border-accent hover:bg-transparent',\n modifiers.outside && 'text-opacity-30',\n ],\n modifiers.range_middle && 'bg-transparent',\n className,\n ],\n })}\n type=\"button\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Calendar\n * -------------------------------------------------------------------------- */\n\ntype CalendarProps = DayPickerProps;\n\nfunction Calendar({ className, classNames, ...props }: CalendarProps): JSX.Element {\n return (\n <DayPicker\n showOutsideDays\n className={cn('p-3', className)}\n classNames={{\n [DayFlag.disabled]: cn('', classNames?.[DayFlag.disabled]),\n [DayFlag.focused]: cn('', classNames?.[DayFlag.focused]),\n [DayFlag.hidden]: cn('invisible', classNames?.[DayFlag.hidden]),\n [DayFlag.outside]: cn(!props.mode && 'text-opacity-30', classNames?.[DayFlag.outside]),\n [DayFlag.today]: cn(!props.mode && 'bg-accent rounded-md', classNames?.[DayFlag.today]),\n [SelectionState.range_end]: cn(\n 'to-accent rounded-r-md bg-gradient-to-l from-transparent to-50% first:rounded-l-md',\n classNames?.[SelectionState.range_end],\n ),\n [SelectionState.range_middle]: cn(\n 'bg-accent first:rounded-l-md last:rounded-r-md',\n classNames?.[SelectionState.range_middle],\n ),\n [SelectionState.range_start]: cn(\n 'to-accent rounded-l-md bg-gradient-to-r from-transparent to-50% last:rounded-r-md',\n classNames?.[SelectionState.range_start],\n ),\n [SelectionState.selected]: cn('', classNames?.[SelectionState.selected]),\n [UI.CaptionLabel]: cn('inline-flex items-center', classNames?.[UI.CaptionLabel]),\n [UI.Chevron]: cn('', classNames?.[UI.Chevron]),\n [UI.Day]: cn(\n 'py-0',\n !props.mode && 'text-foreground mx-px flex min-h-9 min-w-9 items-center justify-center text-sm font-medium',\n classNames?.[UI.Day],\n ),\n [UI.DayButton]: cn('border border-transparent', classNames?.[UI.DayButton]),\n [UI.Dropdown]: cn('absolute size-full appearance-none opacity-0', classNames?.[UI.Dropdown]),\n [UI.DropdownRoot]: cn('relative inline-flex', classNames?.[UI.DropdownRoot]),\n [UI.Dropdowns]: cn('inline-flex items-center gap-2', classNames?.[UI.Dropdowns]),\n [UI.Footer]: cn('text-sm', classNames?.[UI.Footer]),\n [UI.Month]: cn(\n 'grid grid-rows-[2rem_1fr] gap-4',\n !((props.numberOfMonths || 0) > 1) && 'w-full',\n classNames?.[UI.Month],\n ),\n [UI.MonthCaption]: cn('flex w-full justify-center text-sm font-medium', classNames?.[UI.MonthCaption]),\n [UI.MonthGrid]: cn(\n 'relative block table-fixed border-collapse space-y-2 [&>thead]:block',\n classNames?.[UI.MonthGrid],\n ),\n [UI.Months]: cn('relative flex flex-wrap gap-4', classNames?.[UI.Months]),\n [UI.MonthsDropdown]: cn('', classNames?.[UI.MonthsDropdown]),\n [UI.Nav]: cn('-mr-4', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: buttonVariants({\n className: ['absolute end-0', classNames?.[UI.NextMonthButton]],\n icon: true,\n size: 'xs',\n variant: 'outline',\n }),\n [UI.PreviousMonthButton]: buttonVariants({\n className: ['absolute start-0', classNames?.[UI.PreviousMonthButton]],\n icon: true,\n size: 'xs',\n variant: 'outline',\n }),\n [UI.Root]: cn('inline-grid gap-4', classNames?.[UI.Root]),\n [UI.Week]: cn('flex justify-between', classNames?.[UI.Week]),\n [UI.WeekNumber]: cn('text-foreground/50 size-9 text-center text-xs', classNames?.[UI.WeekNumber]),\n [UI.WeekNumberHeader]: cn('', classNames?.[UI.WeekNumberHeader]),\n [UI.Weekday]: cn('text-muted-foreground flex-1 text-sm font-normal', classNames?.[UI.Weekday]),\n [UI.Weekdays]: cn('flex justify-between', classNames?.[UI.Weekdays]),\n [UI.Weeks]: cn('grid gap-y-2', classNames?.[UI.Weeks]),\n [UI.YearsDropdown]: cn('', classNames?.[UI.YearsDropdown]),\n }}\n components={{ Chevron, DayButton }}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarRangeLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarRangeLabelProps {\n date: DateRange | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: CalendarRangeLabelProps): string | JSX.Element {\n if (!date?.from) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n const formattedFromDate = format(date.from, formatStr);\n\n if (!date.to) {\n return <span className=\"truncate\">{formattedFromDate}</span>;\n }\n\n const formattedToDate = format(date.to, formatStr);\n\n return (\n <span className=\"truncate\">\n {formattedFromDate} - {formattedToDate}\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarLabelProps {\n date: Date | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarLabel({\n date,\n formatStr = 'PPP',\n placeholder = 'Pick a date',\n}: CalendarLabelProps): string | JSX.Element {\n if (!date) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n return <span className=\"truncate\">{format(date, formatStr)}</span>;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Calendar,\n CalendarLabel,\n CalendarRangeLabel,\n type CalendarLabelProps,\n type CalendarProps,\n type CalendarRangeLabelProps,\n type DateRange,\n type Matcher,\n};\n"]}
@@ -0,0 +1,4 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkDD6AVCRHcjs = require('./chunk-DD6AVCRH.cjs');var _react = require('react');var _recharts = require('recharts'); var f = _interopRequireWildcard(_recharts);var _jsxruntime = require('react/jsx-runtime');var N={light:"",dark:".dark"},_=_react.createContext.call(void 0, null);function w(){let e=_react.useContext.call(void 0, _);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}var $=_react.forwardRef.call(void 0, ({children:e,className:n,config:t,id:o,...a},c)=>{let s=_react.useId.call(void 0, ),l=`chart-${o||s.replace(/:/g,"")}`;return _jsxruntime.jsx.call(void 0, _.Provider,{value:{config:t},children:_jsxruntime.jsxs.call(void 0, "div",{ref:c,className:_chunkDD6AVCRHcjs.a.call(void 0, "flex aspect-video justify-center text-xs","[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground","[&_.recharts-cartesian-grid_line]:stroke-border/50","[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border","[&_.recharts-dot]:stroke-transparent","[&_.recharts-layer]:outline-none","[&_.recharts-polar-grid_]:stroke-border","[&_.recharts-radial-bar-background-sector]:fill-muted","[&_.recharts-reference-line_]:stroke-border","[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted","[&_.recharts-sector]:outline-none","[&_.recharts-sector]:stroke-transparent","[&_.recharts-surface]:outline-none",n),"data-chart":l,...a,children:[_jsxruntime.jsx.call(void 0, I,{config:t,id:l}),_jsxruntime.jsx.call(void 0, f.ResponsiveContainer,{children:e})]})})});$.displayName="Chart";function I({id:e,config:n}){let t=_react.useMemo.call(void 0, ()=>J(e,n),[e,n]);return _jsxruntime.jsx.call(void 0, "style",{dangerouslySetInnerHTML:{__html:t}})}var G=f.Tooltip,O= exports.d =_react.forwardRef.call(void 0, ({active:e,className:n,color:t,formatter:o,hideIndicator:a=!1,hideLabel:c=!1,indicator:s="dot",label:l,labelClassName:p,labelFormatter:h,labelKey:y,nameKey:E,payload:u},j)=>{let{config:m}=w(),R=_react.useMemo.call(void 0, ()=>{if(c||!_optionalChain([u, 'optionalAccess', _2 => _2.length]))return null;let[r]=u,P=`${y||r.dataKey||r.name||"value"}`,b=T(m,r,P),C=!y&&typeof l=="string"?m[l].label||l:_optionalChain([b, 'optionalAccess', _3 => _3.label]);return h?_jsxruntime.jsx.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "font-medium",p),children:h(C,u)}):C?_jsxruntime.jsx.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "font-medium",p),children:C}):null},[m,c,l,p,h,y,u]);if(!e||!_optionalChain([u, 'optionalAccess', _4 => _4.length]))return null;let v=u.length===1&&s!=="dot";return _jsxruntime.jsxs.call(void 0, "div",{ref:j,className:_chunkDD6AVCRHcjs.a.call(void 0, "border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[v?null:R,_jsxruntime.jsx.call(void 0, "div",{className:"grid gap-1.5",children:u.map((r,P)=>{let b=`${E||r.name||r.dataKey||"value"}`,C=T(m,r,b),S=t||r.payload.fill||r.color;return _jsxruntime.jsx.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",s==="dot"&&"items-center"),children:o&&r.value!==void 0&&r.name?o(r.value,r.name,r,P,r.payload):_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[_optionalChain([C, 'optionalAccess', _5 => _5.icon])?_jsxruntime.jsx.call(void 0, C.icon,{}):!a&&_jsxruntime.jsx.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":s==="dot","w-1":s==="line","w-0 border-[1.5px] border-dashed bg-transparent":s==="dashed","my-0.5":v&&s==="dashed"}),style:{"--color-bg":S,"--color-border":S}}),_jsxruntime.jsxs.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "flex flex-1 justify-between leading-none",v?"items-end":"items-center"),children:[_jsxruntime.jsxs.call(void 0, "div",{className:"grid gap-1.5",children:[v?R:null,_jsxruntime.jsx.call(void 0, "span",{className:"text-muted-foreground",children:_optionalChain([C, 'optionalAccess', _6 => _6.label])||r.name})]}),r.value?_jsxruntime.jsx.call(void 0, "span",{className:"text-foreground font-mono font-medium tabular-nums",children:r.value.toLocaleString()}):null]})]})},r.dataKey)})})]})});O.displayName="ChartTooltipContent";var Q=f.Legend,D= exports.f =_react.forwardRef.call(void 0, ({className:e,hideIcon:n=!1,nameKey:t,payload:o,verticalAlign:a="bottom"},c)=>{let{config:s}=w();return _optionalChain([o, 'optionalAccess', _7 => _7.length])?_jsxruntime.jsx.call(void 0, "div",{ref:c,className:_chunkDD6AVCRHcjs.a.call(void 0, "flex items-center justify-center gap-4",a==="top"?"pb-3":"pt-3",e),children:o.map(l=>{let p="value";t?p=t:l.dataKey&&(p=String(l.dataKey));let h=T(s,l,p);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3"),children:[_optionalChain([h, 'optionalAccess', _8 => _8.icon])&&!n?_jsxruntime.jsx.call(void 0, h.icon,{}):_jsxruntime.jsx.call(void 0, "div",{className:"size-2 shrink-0 rounded",style:{backgroundColor:l.color}}),_optionalChain([h, 'optionalAccess', _9 => _9.label])]},String(l.value))})}):null});D.displayName="ChartLegendContent";function T(e,n,t){if(!L(n))return;let o="payload"in n&&L(n.payload)?n.payload:void 0,a=V(n,o,t);return a in e?e[a]:e[t]}function L(e){return typeof e=="object"&&e!==null}function V(e,n,t){return t in e&&typeof e[t]=="string"?e[t]:n&&t in n&&typeof n[t]=="string"?n[t]:t}function z(e,n,t){let o=[];return o.push(`${N[e]} [data-chart=${n}] {`),t.forEach(([a,c])=>{let s=_optionalChain([c, 'access', _10 => _10.theme, 'optionalAccess', _11 => _11[e]])||c.color;s&&o.push(` --color-${a}: ${s};`)}),o.push("}"),o.join(`
2
+ `)}function J(e,n){let t=Object.entries(n).filter(([a,{theme:c,color:s}])=>c||s),o=[];return Object.keys(N).forEach(a=>{let c=z(a,e,t);o.push(c)}),o.join(`
3
+ `)}exports.a = $; exports.b = I; exports.c = G; exports.d = O; exports.e = Q; exports.f = D;
4
+ //# sourceMappingURL=chunk-HO5BFEZO.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HO5BFEZO.cjs","../src/components/chart.tsx"],"names":["RechartsPrimitive","createContext","useChart","ChartContainer","children","className","id","ref","uniqueId","useId","chartId","jsx","ChartContext"],"mappings":"AAAA,22BAAY,CAAC,wDCKX,8BASUA,gFA4MM,+CAtMhB,IACA,CAAA,CAAA,CAAA,KAAM,CAAA,EACR,CAAA,IAwBqBC,CAAwC,OAE7D,CAAA,CAAA,CAAA,CAAA,kCAAA,IAASC,CAA8B,CACrC,SAAuC,CAAA,CAEvC,CAAA,CAAA,IACE,CAAA,CAAA,+BAAA,CAAA,CAAM,CAAA,EAAA,CAAI,CAAA,CAAA,CAAA,MAAM,IAAA,KAAA,CAAA,mDAgBpB,CAAA,CAAMC,OACD,CAAA,CAAA,IAAA,CAAA,CAAAC,+BAAAA,CAAU,CAAA,QAAAC,CAAAA,CAAW,CAAA,SAAQ,CAAA,CAAAC,CAAAA,MAAa,CAAGC,CAAAA,CAAAA,EAAQ,CACtD,CAAA,CAAA,GAAMC,CAAWC,CAAAA,CAAM,CAAA,CACjBC,EAAU,CAAA,IAAA,CAAA,CAAA,0BAAA,CAASJ,CAAAA,CAAME,CAAAA,CAAS,MAAA,EAAQ,CAAA,EAAA,CAAA,CAAM,OAEtD,CAAA,IAAA,CACEG,EAACC,CAAAA,CAAa,CAAA;AAgZG;AACvB","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HO5BFEZO.cjs","sourcesContent":[null,"'use client';\n\nimport {\n type ComponentProps,\n type ComponentType,\n createContext,\n type CSSProperties,\n forwardRef,\n type JSX,\n type ReactNode,\n useContext,\n useId,\n useMemo,\n} from 'react';\nimport * as RechartsPrimitive from 'recharts';\nimport { type NameType, type Payload, type ValueType } from 'recharts/types/component/DefaultTooltipContent';\n\nimport { cn } from '@/lib/utils';\n\nconst THEMES = {\n light: '',\n dark: '.dark',\n} as const;\n\ntype Theme = keyof typeof THEMES;\n\ntype ChartConfig = {\n [k in string]: {\n icon?: ComponentType;\n label?: ReactNode;\n } & (\n | {\n color?: string;\n theme?: never;\n }\n | {\n theme: Record<Theme, string>;\n color?: never;\n }\n );\n};\n\ninterface ChartContextProps {\n config: ChartConfig;\n}\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n const context = useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Chart\n * -------------------------------------------------------------------------- */\n\ntype ChartContainerElement = HTMLDivElement;\ninterface ChartContainerProps extends ComponentProps<'div'> {\n children: ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n config: ChartConfig;\n}\n\nconst ChartContainer = forwardRef<ChartContainerElement, ChartContainerProps>(\n ({ children, className, config, id, ...props }, ref) => {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n ref={ref}\n className={cn(\n 'flex aspect-video justify-center text-xs',\n '[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground',\n '[&_.recharts-cartesian-grid_line]:stroke-border/50',\n '[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n '[&_.recharts-dot]:stroke-transparent',\n '[&_.recharts-layer]:outline-none',\n '[&_.recharts-polar-grid_]:stroke-border',\n '[&_.recharts-radial-bar-background-sector]:fill-muted',\n '[&_.recharts-reference-line_]:stroke-border',\n '[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted',\n '[&_.recharts-sector]:outline-none',\n '[&_.recharts-sector]:stroke-transparent',\n '[&_.recharts-surface]:outline-none',\n className,\n )}\n data-chart={chartId}\n {...props}\n >\n <ChartStyle config={config} id={chartId} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n },\n);\n\nChartContainer.displayName = 'Chart';\n\n/* -----------------------------------------------------------------------------\n * Component: ChartStyle\n * -------------------------------------------------------------------------- */\n\ninterface ChartStyleProps {\n config: ChartConfig;\n id: string;\n}\n\nfunction ChartStyle({ id, config }: ChartStyleProps): JSX.Element | null {\n const cssString = useMemo(() => generateCSS(id, config), [id, config]);\n\n return <style dangerouslySetInnerHTML={{ __html: cssString }} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltip\n * -------------------------------------------------------------------------- */\n\ntype ChartTooltipProps = ComponentProps<typeof RechartsPrimitive.Tooltip>;\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltipContent\n * -------------------------------------------------------------------------- */\n\ntype ChartTooltipContentElement = HTMLDivElement;\ninterface ChartTooltipContentProps\n extends ComponentProps<typeof RechartsPrimitive.Tooltip>,\n Omit<ComponentProps<'div'>, 'content'> {\n hideIndicator?: boolean;\n hideLabel?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n labelKey?: string;\n nameKey?: string;\n}\n\nconst ChartTooltipContent = forwardRef<ChartTooltipContentElement, ChartTooltipContentProps>(\n (\n {\n active,\n className,\n color,\n formatter,\n hideIndicator = false,\n hideLabel = false,\n indicator = 'dot',\n label,\n labelClassName,\n labelFormatter,\n labelKey,\n nameKey,\n payload,\n },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n\n const key = `${labelKey || item.dataKey || item.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label].label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || (item.payload as { fill?: string }).fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Payload<ValueType, NameType>[])\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value ? (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n ) : null}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\n\nChartTooltipContent.displayName = 'ChartTooltipContent';\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegend\n * -------------------------------------------------------------------------- */\n\ntype ChartLegendProps = ComponentProps<typeof RechartsPrimitive.Legend>;\nconst ChartLegend = RechartsPrimitive.Legend;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegendContent\n * -------------------------------------------------------------------------- */\n\ntype ChartLegendContent = HTMLDivElement;\ninterface ChartLegendContentProps\n extends ComponentProps<'div'>,\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> {\n hideIcon?: boolean;\n nameKey?: string;\n}\n\nconst ChartLegendContent = forwardRef<HTMLDivElement, ChartLegendContentProps>(\n ({ className, hideIcon = false, nameKey, payload, verticalAlign = 'bottom' }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}\n >\n {payload.map((item) => {\n let key = 'value';\n\n if (nameKey) {\n key = nameKey;\n } else if (item.dataKey) {\n key = String(item.dataKey);\n }\n\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={String(item.value)}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"size-2 shrink-0 rounded\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n },\n);\n\nChartLegendContent.displayName = 'ChartLegendContent';\n\n/* -----------------------------------------------------------------------------\n * Helpers\n * -------------------------------------------------------------------------- */\n\n/**\n * Extracts and returns the appropriate configuration object from\n * the payload based on the specified key.\n *\n * @param config - The chart configuration object that contains various\n * settings.\n * @param payload - The payload object that might contain nested payload data.\n * @param key - The key used to retrieve the specific configuration from the\n * chart config.\n * @returns Returns a configuration object with optional properties `icon`,\n * `label`, `color` or `theme`, or `undefined` if the payload is invalid or\n * no configuration is found for the provided key.\n */\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n):\n | ({\n icon?: ComponentType;\n label?: ReactNode;\n } & {\n color?: string;\n theme?: never;\n })\n | ({\n icon?: ComponentType;\n label?: ReactNode;\n } & {\n theme: Record<Theme, string>;\n color?: never;\n })\n | undefined {\n if (!isValidObject(payload)) {\n return undefined;\n }\n\n const nestedPayload = 'payload' in payload && isValidObject(payload.payload) ? payload.payload : undefined;\n\n const configLabelKey = getConfigLabelKey(payload, nestedPayload, key);\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\n/**\n * Checks if the provided value is a valid object.\n *\n * @param obj - The value to check.\n * @returns - Returns true if the value is an object and not null, false\n * otherwise.\n */\nfunction isValidObject(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === 'object' && obj !== null;\n}\n\n/**\n * Retrieves the configuration label key from either the payload or\n * nestedPayload. If the key exists in the payload and is a string, the\n * corresponding value is returned. Otherwise, if the key exists in the\n * nestedPayload and is a string, its value is returned. If the key is not\n * found as a string in either object, the key itself is returned.\n *\n * @param payload - The primary payload containing key-value pairs.\n * @param nestedPayload - An optional nested payload containing additional\n * key-value pairs.\n * @param key - The key to search for within the payload and nestedPayload.\n *\n * @returns The string value associated with the key if found; otherwise, the\n * key itself.\n */\nfunction getConfigLabelKey(\n payload: Record<string, unknown>,\n nestedPayload: Record<string, unknown> | undefined,\n key: string,\n): string {\n if (key in payload && typeof payload[key] === 'string') {\n return payload[key];\n }\n\n if (nestedPayload && key in nestedPayload && typeof nestedPayload[key] === 'string') {\n return nestedPayload[key];\n }\n\n return key;\n}\n\n/**\n * Generates CSS for a specified theme and chart configuration.\n *\n * @param theme - The theme to be used (for example, 'light', 'dark').\n * @param id - The unique identifier of the chart.\n * @param configEntries - A list of configuration entries, each containing a\n * key and a chart configuration.\n * @returns The generated CSS as a string.\n */\nfunction generateThemeCSS(theme: Theme, id: string, configEntries: [string, ChartConfig[string]][]): string {\n const rules: string[] = [];\n\n rules.push(`${THEMES[theme]} [data-chart=${id}] {`);\n\n configEntries.forEach(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme] || itemConfig.color;\n\n if (color) {\n rules.push(` --color-${key}: ${color};`);\n }\n });\n\n rules.push('}');\n\n return rules.join('\\n');\n}\n\n/**\n * Generates CSS styles for a chart based on the provided configuration and\n * themes.\n *\n * @param id - The unique identifier for the chart element.\n * @param config - Configuration object for the chart. This includes theme and\n * color settings.\n * @returns A string containing the generated CSS rules.\n */\nfunction generateCSS(id: string, config: ChartConfig): string {\n const themeOrColorConfig = Object.entries(config).filter(([_, { theme, color }]) => theme || color);\n\n const allRules: string[] = [];\n\n Object.keys(THEMES).forEach((theme) => {\n const themeCSS = generateThemeCSS(theme as Theme, id, themeOrColorConfig);\n\n allRules.push(themeCSS);\n });\n\n return allRules.join('\\n');\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n type ChartContainerProps,\n type ChartLegendContentProps,\n type ChartLegendProps,\n type ChartStyleProps,\n type ChartTooltipContentProps,\n type ChartTooltipProps,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkDD6AVCRHcjs = require('./chunk-DD6AVCRH.cjs');var _reacticons = require('@radix-ui/react-icons');var _inputotp = require('input-otp');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var m=_react.forwardRef.call(void 0, ({className:t,containerClassName:e,...p},s)=>_jsxruntime.jsx.call(void 0, _inputotp.OTPInput,{ref:s,className:_chunkDD6AVCRHcjs.a.call(void 0, "disabled:cursor-default",t),containerClassName:_chunkDD6AVCRHcjs.a.call(void 0, "flex items-center gap-2","has-[:disabled]:opacity-50",e),...p}));m.displayName="InputOTP";var T=_react.forwardRef.call(void 0, ({className:t,...e},p)=>_jsxruntime.jsx.call(void 0, "div",{ref:p,className:_chunkDD6AVCRHcjs.a.call(void 0, "flex items-center",t),...e}));T.displayName="InputOTPGroup";var I=_react.forwardRef.call(void 0, ({index:t,className:e,...p},s)=>{let u=_react.useContext.call(void 0, _inputotp.OTPInputContext).slots[t];return _jsxruntime.jsxs.call(void 0, "div",{ref:s,className:_chunkDD6AVCRHcjs.a.call(void 0, "border-input relative flex size-10 items-center justify-center border-y border-r text-sm shadow-sm transition-all","first:rounded-l-md first:border-l","last:rounded-r-md",u.isActive&&"z-10 outline outline-2",e),...p,children:[u.char,u.hasFakeCaret?_jsxruntime.jsx.call(void 0, "div",{className:"pointer-events-none absolute inset-0 flex items-center justify-center",children:_jsxruntime.jsx.call(void 0, "div",{className:"animate-caret-blink bg-foreground animate-duration-1000 h-4 w-px"})}):null]})});I.displayName="InputOTPSlot";var O=_react.forwardRef.call(void 0, ({...t},e)=>_jsxruntime.jsx.call(void 0, "div",{ref:e,role:"separator",...t,children:_jsxruntime.jsx.call(void 0, _reacticons.DotFilledIcon,{})}));O.displayName="InputOTPSeparator";exports.a = _inputotp.REGEXP_ONLY_CHARS; exports.b = _inputotp.REGEXP_ONLY_DIGITS; exports.c = _inputotp.REGEXP_ONLY_DIGITS_AND_CHARS; exports.d = m; exports.e = T; exports.f = I; exports.g = O;
2
+ //# sourceMappingURL=chunk-KASTA74M.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-KASTA74M.cjs","../src/components/input-otp.tsx"],"names":["className","jsx","OTPInput","forwardedRef","cn","InputOTP","InputOTPGroup","index","slot","useContext","OTPInputContext","InputOTPSlot","props","DotFilledIcon","InputOTPSeparator"],"mappings":"AAAA,qFAAY,CAAC,wDCEJ,mDAEP,qCAMyD,8BAavD,+CADC,IAAA,CAAA,CAAA,+BAAAA,CAAW,CAAA,SAAA,CAAA,CAAA,CAAA,kBACZC,CAAAA,CAACC,CAAAA,GACC,CAAA,CAAA,CAAKC,CAAAA,CACL,EAAA,6BAAA,kBAAA,CAAA,CAAA,GAAWC,CAAAA,CAAG,CAAA,SAAA,CAAA,iCAAA,yBACd,CAAA,CAAA,CAAA,CAAA,kBAAuB,CAAA,iCAAA,yBAA2B,CAAA,4BAMxDC,CAAS,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,WASvB,CAAA,UAA8E,CAAA,IAAA,CAAA,CAAA,+BAAAL,CAAW,CAAA,SACvFC,CAAAA,CAAC,CAAA,GAAA,CAAA,CAAA,CAAI,CAAA,CAAA,EAAKE,6BAAAA,KAAc,CAAA,CAAA,GAAWC,CAAAA,CAAG,CAAA,SAAA,CAAA,iCAAA,mBAGxCE,CAAc,CAAA,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,WAAA,CAAA,eAavB,CAAA,IAAAC,CAAO,CAAA,+BAAA,CAAA,CAAA,KAAAP,CAAAA,CAAW,CAAA,SAA6B,CAEhD,CAAA,CAAA,GAAMQ,CADkBC,CAAAA,CAAWC,CAAe,CAAA,EACrB,CAAA,IAAMH,CAAK,CAAA,+BAExC,yBAAA,CAAA,CAAA,KACG,CAAA,CAAA,CAAA,CAAA,OACMJ,8BAAAA,KACL,CAAA,CAAA,GAAWC,CAAAA,CACT,CAAA,SAAA,CAAA,iCAAA,mHACA,CAAA,mCACA,CAAA,mBACiB,CAAA,CAAA,CAAA,QAAA,EAAA,wBAKlB,CAAA,CAAA,CAAA,CAAA,GAAAI,CAAK,CAAA,QACA,CAAA,CAAA,CAAA,CAAA,IAAA,CAAA,CAAA,CACJP,YAAK,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,uEACZ,CAAA,QAAI,CAAA,6BAAA,KAAU,CAAA,CAAA,SAAA,CAAA,kEAM3B,CAAA,CAEAU,CAAAA,CAAa,CAAA,IAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,WAAA,CAAA,cAS+D,CAAGC,IAAST,CAAAA,CAAAA,+BACpGF,CAAC,CAAA,GAAA,CAAA,CAAA,CAAI,CAAA,CAAA,EAAKE,6BAAAA,KAAmB,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,IAAa,CAAA,WACxC,CAAA,GAACU,CAAAA,CAAA,QAILC,CAAkB,6BAAA,yBAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAA,CAAc,CAAA,WAAA,CAAA,mBAAA,CAAA,kMAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-KASTA74M.cjs","sourcesContent":[null,"'use client';\n\nimport { DotFilledIcon } from '@radix-ui/react-icons';\nimport {\n OTPInput,\n OTPInputContext,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS,\n} from 'input-otp';\nimport { type ComponentPropsWithoutRef, type ComponentRef, forwardRef, type HTMLAttributes, useContext } from 'react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: InputOtp\n * -------------------------------------------------------------------------- */\n\ntype InputOTPElement = ComponentRef<typeof OTPInput>;\ntype InputOTPProps = ComponentPropsWithoutRef<typeof OTPInput>;\n\nconst InputOTP = forwardRef<InputOTPElement, InputOTPProps>(\n ({ className, containerClassName, ...props }, forwardedRef) => (\n <OTPInput\n ref={forwardedRef}\n className={cn('disabled:cursor-default', className)}\n containerClassName={cn('flex items-center gap-2', 'has-[:disabled]:opacity-50', containerClassName)}\n {...props}\n />\n ),\n);\n\nInputOTP.displayName = 'InputOTP';\n\n/* -----------------------------------------------------------------------------\n * Component: InputOTPGroup\n * -------------------------------------------------------------------------- */\n\ntype InputOTPGroupElement = HTMLDivElement;\ntype InputOTPGroupProps = HTMLAttributes<HTMLDivElement>;\n\nconst InputOTPGroup = forwardRef<InputOTPGroupElement, InputOTPGroupProps>(({ className, ...props }, forwardedRef) => (\n <div ref={forwardedRef} className={cn('flex items-center', className)} {...props} />\n));\n\nInputOTPGroup.displayName = 'InputOTPGroup';\n\n/* -----------------------------------------------------------------------------\n * Component: InputOTPSlot\n * -------------------------------------------------------------------------- */\n\ntype InputOTPSlotElement = HTMLDivElement;\n\ninterface InputOTPSlotProps extends HTMLAttributes<HTMLDivElement> {\n index: number;\n}\n\nconst InputOTPSlot = forwardRef<InputOTPSlotElement, InputOTPSlotProps>(\n ({ index, className, ...props }, forwardedRef) => {\n const inputOTPContext = useContext(OTPInputContext);\n const slot = inputOTPContext.slots[index];\n\n return (\n <div\n ref={forwardedRef}\n className={cn(\n 'border-input relative flex size-10 items-center justify-center border-y border-r text-sm shadow-sm transition-all',\n 'first:rounded-l-md first:border-l',\n 'last:rounded-r-md',\n slot.isActive && 'z-10 outline outline-2',\n className,\n )}\n {...props}\n >\n {slot.char}\n {slot.hasFakeCaret ? (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"animate-caret-blink bg-foreground animate-duration-1000 h-4 w-px\" />\n </div>\n ) : null}\n </div>\n );\n },\n);\n\nInputOTPSlot.displayName = 'InputOTPSlot';\n\n/* -----------------------------------------------------------------------------\n * Component: InputOTPSeparator\n * -------------------------------------------------------------------------- */\n\ntype InputOTPSeparatorElement = HTMLDivElement;\ntype InputOTPSeparatorProps = HTMLAttributes<HTMLDivElement>;\n\nconst InputOTPSeparator = forwardRef<InputOTPSeparatorElement, InputOTPSeparatorProps>(({ ...props }, forwardedRef) => (\n <div ref={forwardedRef} role=\"separator\" {...props}>\n <DotFilledIcon />\n </div>\n));\n\nInputOTPSeparator.displayName = 'InputOTPSeparator';\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n InputOTP,\n InputOTPGroup,\n InputOTPSeparator,\n InputOTPSlot,\n REGEXP_ONLY_CHARS,\n REGEXP_ONLY_DIGITS,\n REGEXP_ONLY_DIGITS_AND_CHARS,\n type InputOTPGroupProps,\n type InputOTPProps,\n type InputOTPSeparatorProps,\n type InputOTPSlotProps,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkKF7Y7B3Gcjs = require('./chunk-KF7Y7B3G.cjs');var _chunkDD6AVCRHcjs = require('./chunk-DD6AVCRH.cjs');var _daypicker = require('@codefast-ui/day-picker');var _reacticons = require('@radix-ui/react-icons');var _datefns = require('date-fns');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');function D({orientation:r,...t}){switch(r){case"up":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronUpIcon,{className:"size-4",...t});case"down":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronDownIcon,{className:"size-4",...t});case"left":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon,{className:"size-4",...t});case"right":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon,{className:"size-4",...t});default:return _jsxruntime.jsx.call(void 0, _reacticons.DotFilledIcon,{className:"size-4",...t})}}function x({modifiers:r,className:t,day:a,...u}){let l=_react.useRef.call(void 0, null);return _react.useEffect.call(void 0, ()=>{r.focused&&_optionalChain([l, 'access', _2 => _2.current, 'optionalAccess', _3 => _3.focus, 'call', _4 => _4()])},[r.focused]),_jsxruntime.jsx.call(void 0, "button",{ref:l,className:_chunkKF7Y7B3Gcjs.a.call(void 0, {icon:!0,size:"sm",variant:r.selected&&!r.range_middle?"default":"ghost",className:["focus-visible:ring-1 focus-visible:ring-offset-0",(!r.selected||r.range_middle)&&[r.today?"bg-accent":"hover:border-accent hover:bg-transparent",r.outside&&"text-opacity-30"],r.range_middle&&"bg-transparent",t]}),type:"button",...u})}function _({className:r,classNames:t,...a}){return _jsxruntime.jsx.call(void 0, _daypicker.DayPicker,{showOutsideDays:!0,className:_chunkDD6AVCRHcjs.a.call(void 0, "p-3",r),classNames:{[_daypicker.DayFlag.disabled]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _5 => _5[_daypicker.DayFlag.disabled]])),[_daypicker.DayFlag.focused]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _6 => _6[_daypicker.DayFlag.focused]])),[_daypicker.DayFlag.hidden]:_chunkDD6AVCRHcjs.a.call(void 0, "invisible",_optionalChain([t, 'optionalAccess', _7 => _7[_daypicker.DayFlag.hidden]])),[_daypicker.DayFlag.outside]:_chunkDD6AVCRHcjs.a.call(void 0, !a.mode&&"text-opacity-30",_optionalChain([t, 'optionalAccess', _8 => _8[_daypicker.DayFlag.outside]])),[_daypicker.DayFlag.today]:_chunkDD6AVCRHcjs.a.call(void 0, !a.mode&&"bg-accent rounded-md",_optionalChain([t, 'optionalAccess', _9 => _9[_daypicker.DayFlag.today]])),[_daypicker.SelectionState.range_end]:_chunkDD6AVCRHcjs.a.call(void 0, "to-accent rounded-r-md bg-gradient-to-l from-transparent to-50% first:rounded-l-md",_optionalChain([t, 'optionalAccess', _10 => _10[_daypicker.SelectionState.range_end]])),[_daypicker.SelectionState.range_middle]:_chunkDD6AVCRHcjs.a.call(void 0, "bg-accent first:rounded-l-md last:rounded-r-md",_optionalChain([t, 'optionalAccess', _11 => _11[_daypicker.SelectionState.range_middle]])),[_daypicker.SelectionState.range_start]:_chunkDD6AVCRHcjs.a.call(void 0, "to-accent rounded-l-md bg-gradient-to-r from-transparent to-50% last:rounded-r-md",_optionalChain([t, 'optionalAccess', _12 => _12[_daypicker.SelectionState.range_start]])),[_daypicker.SelectionState.selected]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _13 => _13[_daypicker.SelectionState.selected]])),[_daypicker.UI.CaptionLabel]:_chunkDD6AVCRHcjs.a.call(void 0, "inline-flex items-center",_optionalChain([t, 'optionalAccess', _14 => _14[_daypicker.UI.CaptionLabel]])),[_daypicker.UI.Chevron]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _15 => _15[_daypicker.UI.Chevron]])),[_daypicker.UI.Day]:_chunkDD6AVCRHcjs.a.call(void 0, "py-0",!a.mode&&"text-foreground mx-px flex min-h-9 min-w-9 items-center justify-center text-sm font-medium",_optionalChain([t, 'optionalAccess', _16 => _16[_daypicker.UI.Day]])),[_daypicker.UI.DayButton]:_chunkDD6AVCRHcjs.a.call(void 0, "border border-transparent",_optionalChain([t, 'optionalAccess', _17 => _17[_daypicker.UI.DayButton]])),[_daypicker.UI.Dropdown]:_chunkDD6AVCRHcjs.a.call(void 0, "absolute size-full appearance-none opacity-0",_optionalChain([t, 'optionalAccess', _18 => _18[_daypicker.UI.Dropdown]])),[_daypicker.UI.DropdownRoot]:_chunkDD6AVCRHcjs.a.call(void 0, "relative inline-flex",_optionalChain([t, 'optionalAccess', _19 => _19[_daypicker.UI.DropdownRoot]])),[_daypicker.UI.Dropdowns]:_chunkDD6AVCRHcjs.a.call(void 0, "inline-flex items-center gap-2",_optionalChain([t, 'optionalAccess', _20 => _20[_daypicker.UI.Dropdowns]])),[_daypicker.UI.Footer]:_chunkDD6AVCRHcjs.a.call(void 0, "text-sm",_optionalChain([t, 'optionalAccess', _21 => _21[_daypicker.UI.Footer]])),[_daypicker.UI.Month]:_chunkDD6AVCRHcjs.a.call(void 0, "grid grid-rows-[2rem_1fr] gap-4",!((a.numberOfMonths||0)>1)&&"w-full",_optionalChain([t, 'optionalAccess', _22 => _22[_daypicker.UI.Month]])),[_daypicker.UI.MonthCaption]:_chunkDD6AVCRHcjs.a.call(void 0, "flex w-full justify-center text-sm font-medium",_optionalChain([t, 'optionalAccess', _23 => _23[_daypicker.UI.MonthCaption]])),[_daypicker.UI.MonthGrid]:_chunkDD6AVCRHcjs.a.call(void 0, "relative block table-fixed border-collapse space-y-2 [&>thead]:block",_optionalChain([t, 'optionalAccess', _24 => _24[_daypicker.UI.MonthGrid]])),[_daypicker.UI.Months]:_chunkDD6AVCRHcjs.a.call(void 0, "relative flex flex-wrap gap-4",_optionalChain([t, 'optionalAccess', _25 => _25[_daypicker.UI.Months]])),[_daypicker.UI.MonthsDropdown]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _26 => _26[_daypicker.UI.MonthsDropdown]])),[_daypicker.UI.Nav]:_chunkDD6AVCRHcjs.a.call(void 0, "-mr-4",_optionalChain([t, 'optionalAccess', _27 => _27[_daypicker.UI.Nav]])),[_daypicker.UI.NextMonthButton]:_chunkKF7Y7B3Gcjs.a.call(void 0, {className:["absolute end-0",_optionalChain([t, 'optionalAccess', _28 => _28[_daypicker.UI.NextMonthButton]])],icon:!0,size:"xs",variant:"outline"}),[_daypicker.UI.PreviousMonthButton]:_chunkKF7Y7B3Gcjs.a.call(void 0, {className:["absolute start-0",_optionalChain([t, 'optionalAccess', _29 => _29[_daypicker.UI.PreviousMonthButton]])],icon:!0,size:"xs",variant:"outline"}),[_daypicker.UI.Root]:_chunkDD6AVCRHcjs.a.call(void 0, "inline-grid gap-4",_optionalChain([t, 'optionalAccess', _30 => _30[_daypicker.UI.Root]])),[_daypicker.UI.Week]:_chunkDD6AVCRHcjs.a.call(void 0, "flex justify-between",_optionalChain([t, 'optionalAccess', _31 => _31[_daypicker.UI.Week]])),[_daypicker.UI.WeekNumber]:_chunkDD6AVCRHcjs.a.call(void 0, "text-foreground/50 size-9 text-center text-xs",_optionalChain([t, 'optionalAccess', _32 => _32[_daypicker.UI.WeekNumber]])),[_daypicker.UI.WeekNumberHeader]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _33 => _33[_daypicker.UI.WeekNumberHeader]])),[_daypicker.UI.Weekday]:_chunkDD6AVCRHcjs.a.call(void 0, "text-muted-foreground flex-1 text-sm font-normal",_optionalChain([t, 'optionalAccess', _34 => _34[_daypicker.UI.Weekday]])),[_daypicker.UI.Weekdays]:_chunkDD6AVCRHcjs.a.call(void 0, "flex justify-between",_optionalChain([t, 'optionalAccess', _35 => _35[_daypicker.UI.Weekdays]])),[_daypicker.UI.Weeks]:_chunkDD6AVCRHcjs.a.call(void 0, "grid gap-y-2",_optionalChain([t, 'optionalAccess', _36 => _36[_daypicker.UI.Weeks]])),[_daypicker.UI.YearsDropdown]:_chunkDD6AVCRHcjs.a.call(void 0, "",_optionalChain([t, 'optionalAccess', _37 => _37[_daypicker.UI.YearsDropdown]]))},components:{Chevron:D,DayButton:x},...a})}function z({date:r,formatStr:t="LLL dd, y",placeholder:a="Pick a date"}){if(!_optionalChain([r, 'optionalAccess', _38 => _38.from]))return _jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:a});let u=_datefns.format.call(void 0, r.from,t);if(!r.to)return _jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:u});let l=_datefns.format.call(void 0, r.to,t);return _jsxruntime.jsxs.call(void 0, "span",{className:"truncate",children:[u," - ",l]})}function B({date:r,formatStr:t="PPP",placeholder:a="Pick a date"}){return r?_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:_datefns.format.call(void 0, r,t)}):_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:a})}exports.a = _; exports.b = z; exports.c = B;
2
+ //# sourceMappingURL=chunk-OUWUINGX.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-OUWUINGX.cjs","../src/components/calendar.tsx"],"names":["orientation","jsx","props","DayButton","modifiers","className","buttonRef","useRef","buttonVariants","Calendar","classNames","DayPicker","cn","DayFlag","SelectionState","UI","CalendarRangeLabel","formatStr","placeholder","date","jsxs","CalendarLabel"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-OUWUINGX.cjs","sourcesContent":[null,"'use client';\n\nimport {\n type Components,\n type DateRange,\n type DayButtonProps,\n DayFlag,\n DayPicker,\n type DayPickerProps,\n type Matcher,\n SelectionState,\n UI,\n} from '@codefast-ui/day-picker';\nimport {\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n DotFilledIcon,\n} from '@radix-ui/react-icons';\nimport { format } from 'date-fns';\nimport { type ComponentProps, type JSX, useEffect, useRef } from 'react';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/styles/button-variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Chevron\n * -------------------------------------------------------------------------- */\n\ntype ChevronProps = ComponentProps<Components['Chevron']>;\n\nfunction Chevron({ orientation, ...props }: ChevronProps): JSX.Element {\n switch (orientation) {\n case 'up': {\n return <ChevronUpIcon className=\"size-4\" {...props} />;\n }\n\n case 'down': {\n return <ChevronDownIcon className=\"size-4\" {...props} />;\n }\n\n case 'left': {\n return <ChevronLeftIcon className=\"size-4\" {...props} />;\n }\n\n case 'right': {\n return <ChevronRightIcon className=\"size-4\" {...props} />;\n }\n\n default:\n return <DotFilledIcon className=\"size-4\" {...props} />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DayButton\n * -------------------------------------------------------------------------- */\n\nfunction DayButton({ modifiers, className, day: _, ...props }: DayButtonProps): JSX.Element {\n const buttonRef = useRef<HTMLButtonElement>(null);\n\n useEffect(() => {\n if (modifiers.focused) {\n buttonRef.current?.focus();\n }\n }, [modifiers.focused]);\n\n return (\n <button\n ref={buttonRef}\n className={buttonVariants({\n icon: true,\n size: 'sm',\n variant: modifiers.selected && !modifiers.range_middle ? 'default' : 'ghost',\n className: [\n 'focus-visible:ring-1 focus-visible:ring-offset-0',\n (!modifiers.selected || modifiers.range_middle) && [\n modifiers.today ? 'bg-accent' : 'hover:border-accent hover:bg-transparent',\n modifiers.outside && 'text-opacity-30',\n ],\n modifiers.range_middle && 'bg-transparent',\n className,\n ],\n })}\n type=\"button\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Calendar\n * -------------------------------------------------------------------------- */\n\ntype CalendarProps = DayPickerProps;\n\nfunction Calendar({ className, classNames, ...props }: CalendarProps): JSX.Element {\n return (\n <DayPicker\n showOutsideDays\n className={cn('p-3', className)}\n classNames={{\n [DayFlag.disabled]: cn('', classNames?.[DayFlag.disabled]),\n [DayFlag.focused]: cn('', classNames?.[DayFlag.focused]),\n [DayFlag.hidden]: cn('invisible', classNames?.[DayFlag.hidden]),\n [DayFlag.outside]: cn(!props.mode && 'text-opacity-30', classNames?.[DayFlag.outside]),\n [DayFlag.today]: cn(!props.mode && 'bg-accent rounded-md', classNames?.[DayFlag.today]),\n [SelectionState.range_end]: cn(\n 'to-accent rounded-r-md bg-gradient-to-l from-transparent to-50% first:rounded-l-md',\n classNames?.[SelectionState.range_end],\n ),\n [SelectionState.range_middle]: cn(\n 'bg-accent first:rounded-l-md last:rounded-r-md',\n classNames?.[SelectionState.range_middle],\n ),\n [SelectionState.range_start]: cn(\n 'to-accent rounded-l-md bg-gradient-to-r from-transparent to-50% last:rounded-r-md',\n classNames?.[SelectionState.range_start],\n ),\n [SelectionState.selected]: cn('', classNames?.[SelectionState.selected]),\n [UI.CaptionLabel]: cn('inline-flex items-center', classNames?.[UI.CaptionLabel]),\n [UI.Chevron]: cn('', classNames?.[UI.Chevron]),\n [UI.Day]: cn(\n 'py-0',\n !props.mode && 'text-foreground mx-px flex min-h-9 min-w-9 items-center justify-center text-sm font-medium',\n classNames?.[UI.Day],\n ),\n [UI.DayButton]: cn('border border-transparent', classNames?.[UI.DayButton]),\n [UI.Dropdown]: cn('absolute size-full appearance-none opacity-0', classNames?.[UI.Dropdown]),\n [UI.DropdownRoot]: cn('relative inline-flex', classNames?.[UI.DropdownRoot]),\n [UI.Dropdowns]: cn('inline-flex items-center gap-2', classNames?.[UI.Dropdowns]),\n [UI.Footer]: cn('text-sm', classNames?.[UI.Footer]),\n [UI.Month]: cn(\n 'grid grid-rows-[2rem_1fr] gap-4',\n !((props.numberOfMonths || 0) > 1) && 'w-full',\n classNames?.[UI.Month],\n ),\n [UI.MonthCaption]: cn('flex w-full justify-center text-sm font-medium', classNames?.[UI.MonthCaption]),\n [UI.MonthGrid]: cn(\n 'relative block table-fixed border-collapse space-y-2 [&>thead]:block',\n classNames?.[UI.MonthGrid],\n ),\n [UI.Months]: cn('relative flex flex-wrap gap-4', classNames?.[UI.Months]),\n [UI.MonthsDropdown]: cn('', classNames?.[UI.MonthsDropdown]),\n [UI.Nav]: cn('-mr-4', classNames?.[UI.Nav]),\n [UI.NextMonthButton]: buttonVariants({\n className: ['absolute end-0', classNames?.[UI.NextMonthButton]],\n icon: true,\n size: 'xs',\n variant: 'outline',\n }),\n [UI.PreviousMonthButton]: buttonVariants({\n className: ['absolute start-0', classNames?.[UI.PreviousMonthButton]],\n icon: true,\n size: 'xs',\n variant: 'outline',\n }),\n [UI.Root]: cn('inline-grid gap-4', classNames?.[UI.Root]),\n [UI.Week]: cn('flex justify-between', classNames?.[UI.Week]),\n [UI.WeekNumber]: cn('text-foreground/50 size-9 text-center text-xs', classNames?.[UI.WeekNumber]),\n [UI.WeekNumberHeader]: cn('', classNames?.[UI.WeekNumberHeader]),\n [UI.Weekday]: cn('text-muted-foreground flex-1 text-sm font-normal', classNames?.[UI.Weekday]),\n [UI.Weekdays]: cn('flex justify-between', classNames?.[UI.Weekdays]),\n [UI.Weeks]: cn('grid gap-y-2', classNames?.[UI.Weeks]),\n [UI.YearsDropdown]: cn('', classNames?.[UI.YearsDropdown]),\n }}\n components={{ Chevron, DayButton }}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarRangeLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarRangeLabelProps {\n date: DateRange | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarRangeLabel({\n date,\n formatStr = 'LLL dd, y',\n placeholder = 'Pick a date',\n}: CalendarRangeLabelProps): string | JSX.Element {\n if (!date?.from) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n const formattedFromDate = format(date.from, formatStr);\n\n if (!date.to) {\n return <span className=\"truncate\">{formattedFromDate}</span>;\n }\n\n const formattedToDate = format(date.to, formatStr);\n\n return (\n <span className=\"truncate\">\n {formattedFromDate} - {formattedToDate}\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CalendarLabel\n * -------------------------------------------------------------------------- */\n\ninterface CalendarLabelProps {\n date: Date | undefined;\n formatStr?: string;\n placeholder?: string;\n}\n\nfunction CalendarLabel({\n date,\n formatStr = 'PPP',\n placeholder = 'Pick a date',\n}: CalendarLabelProps): string | JSX.Element {\n if (!date) {\n return <span className=\"truncate\">{placeholder}</span>;\n }\n\n return <span className=\"truncate\">{format(date, formatStr)}</span>;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Calendar,\n CalendarLabel,\n CalendarRangeLabel,\n type CalendarLabelProps,\n type CalendarProps,\n type CalendarRangeLabelProps,\n type DateRange,\n type Matcher,\n};\n"]}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkV2AN2A7Ccjs = require('./chunk-V2AN2A7C.cjs');var _chunkYORY32TXcjs = require('./chunk-YORY32TX.cjs');var _chunkFINPFQTZcjs = require('./chunk-FINPFQTZ.cjs');var _chunkKF7Y7B3Gcjs = require('./chunk-KF7Y7B3G.cjs');var _chunkDD6AVCRHcjs = require('./chunk-DD6AVCRH.cjs');var _reacticons = require('@radix-ui/react-icons');var _jsxruntime = require('react/jsx-runtime');function J({table:t}){return _jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.a,{children:[_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.b,{className:_chunkKF7Y7B3Gcjs.a.call(void 0, {size:"xs",variant:"outline"}),children:[_jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon,{className:"size-4"}),"View"]}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.h,{align:"end",className:"w-36",children:[_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.l,{children:"Toggle columns"}),_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.m,{}),t.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.j,{checked:n.getIsVisible(),className:"capitalize",onCheckedChange:r=>{n.toggleVisibility(!!r)},children:n.id},n.id))]})]})}function X({table:t,className:n,...r}){return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "flex flex-wrap items-center justify-between gap-4 px-2",n),...r,children:[_jsxruntime.jsxs.call(void 0, "div",{className:"text-muted-foreground min-w-max flex-1 text-sm",children:[t.getFilteredSelectedRowModel().rows.length," of ",t.getFilteredRowModel().rows.length," row(s) selected."]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[_jsxruntime.jsx.call(void 0, "p",{className:"text-sm font-medium",children:"Rows per page"}),_jsxruntime.jsxs.call(void 0, _chunkV2AN2A7Ccjs.a,{value:String(t.getState().pagination.pageSize),onValueChange:s=>{t.setPageSize(Number(s))},children:[_jsxruntime.jsx.call(void 0, _chunkV2AN2A7Ccjs.d,{className:"w-18 h-8",children:_jsxruntime.jsx.call(void 0, _chunkV2AN2A7Ccjs.c,{placeholder:t.getState().pagination.pageSize})}),_jsxruntime.jsx.call(void 0, _chunkV2AN2A7Ccjs.g,{side:"top",children:[10,20,30,40,50].map(s=>_jsxruntime.jsx.call(void 0, _chunkV2AN2A7Ccjs.i,{value:String(s),children:s},s))})]})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center justify-center text-sm font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,className:"max-md:hidden",disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(0)},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to first page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.previousPage()},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to previous page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.nextPage()},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to next page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,className:"max-md:hidden",disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(t.getPageCount()-1)},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to last page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon,{className:"size-4"})]})]})]})]})}function G({column:t,title:n}){return t.getCanSort()?_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.a,{children:[_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.b,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkFINPFQTZcjs.a,{className:_chunkDD6AVCRHcjs.a.call(void 0, "text-muted-foreground p-0","hover:bg-transparent","data-[state=open]:text-accent-foreground","focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0"),size:"xs",suffix:_jsxruntime.jsx.call(void 0, V,{sorted:t.getIsSorted()}),variant:"ghost",children:n})}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.h,{align:"start",children:[_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleSorting(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ChevronUpIcon,{className:"text-muted-foreground"}),"Asc"]}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleSorting(!0)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ChevronDownIcon,{className:"text-muted-foreground"}),"Desc"]}),_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.m,{}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleVisibility(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.EyeNoneIcon,{className:"text-muted-foreground"}),"Hide"]})]})]}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:n})}function V({sorted:t}){switch(t){case"desc":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronDownIcon,{});case"asc":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronUpIcon,{});default:return _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon,{})}}exports.a = J; exports.b = X; exports.c = G;
2
- //# sourceMappingURL=chunk-3TS74A2W.cjs.map
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkEEDKRHHZcjs = require('./chunk-EEDKRHHZ.cjs');var _chunkYORY32TXcjs = require('./chunk-YORY32TX.cjs');var _chunkFINPFQTZcjs = require('./chunk-FINPFQTZ.cjs');var _chunkKF7Y7B3Gcjs = require('./chunk-KF7Y7B3G.cjs');var _chunkDD6AVCRHcjs = require('./chunk-DD6AVCRH.cjs');var _reacticons = require('@radix-ui/react-icons');var _jsxruntime = require('react/jsx-runtime');function J({table:t}){return _jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.a,{children:[_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.b,{className:_chunkKF7Y7B3Gcjs.a.call(void 0, {size:"xs",variant:"outline"}),children:[_jsxruntime.jsx.call(void 0, _reacticons.MixerHorizontalIcon,{className:"size-4"}),"View"]}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.h,{align:"end",className:"w-36",children:[_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.l,{children:"Toggle columns"}),_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.m,{}),t.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.j,{checked:n.getIsVisible(),className:"capitalize",onCheckedChange:r=>{n.toggleVisibility(!!r)},children:n.id},n.id))]})]})}function X({table:t,className:n,...r}){return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkDD6AVCRHcjs.a.call(void 0, "flex flex-wrap items-center justify-between gap-4 px-2",n),...r,children:[_jsxruntime.jsxs.call(void 0, "div",{className:"text-muted-foreground min-w-max flex-1 text-sm",children:[t.getFilteredSelectedRowModel().rows.length," of ",t.getFilteredRowModel().rows.length," row(s) selected."]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8",children:[_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[_jsxruntime.jsx.call(void 0, "p",{className:"text-sm font-medium",children:"Rows per page"}),_jsxruntime.jsxs.call(void 0, _chunkEEDKRHHZcjs.a,{value:String(t.getState().pagination.pageSize),onValueChange:s=>{t.setPageSize(Number(s))},children:[_jsxruntime.jsx.call(void 0, _chunkEEDKRHHZcjs.d,{className:"w-18 h-8",children:_jsxruntime.jsx.call(void 0, _chunkEEDKRHHZcjs.c,{placeholder:t.getState().pagination.pageSize})}),_jsxruntime.jsx.call(void 0, _chunkEEDKRHHZcjs.g,{side:"top",children:[10,20,30,40,50].map(s=>_jsxruntime.jsx.call(void 0, _chunkEEDKRHHZcjs.i,{value:String(s),children:s},s))})]})]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center justify-center text-sm font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,className:"max-md:hidden",disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(0)},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to first page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.previousPage()},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to previous page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronLeftIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.nextPage()},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to next page"}),_jsxruntime.jsx.call(void 0, _reacticons.ChevronRightIcon,{className:"size-4"})]}),_jsxruntime.jsxs.call(void 0, _chunkFINPFQTZcjs.a,{icon:!0,className:"max-md:hidden",disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(t.getPageCount()-1)},children:[_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Go to last page"}),_jsxruntime.jsx.call(void 0, _reacticons.DoubleArrowRightIcon,{className:"size-4"})]})]})]})]})}function G({column:t,title:n}){return t.getCanSort()?_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.a,{children:[_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.b,{asChild:!0,children:_jsxruntime.jsx.call(void 0, _chunkFINPFQTZcjs.a,{className:_chunkDD6AVCRHcjs.a.call(void 0, "text-muted-foreground p-0","hover:bg-transparent","data-[state=open]:text-accent-foreground","focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0"),size:"xs",suffix:_jsxruntime.jsx.call(void 0, V,{sorted:t.getIsSorted()}),variant:"ghost",children:n})}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.h,{align:"start",children:[_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleSorting(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ChevronUpIcon,{className:"text-muted-foreground"}),"Asc"]}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleSorting(!0)},children:[_jsxruntime.jsx.call(void 0, _reacticons.ChevronDownIcon,{className:"text-muted-foreground"}),"Desc"]}),_jsxruntime.jsx.call(void 0, _chunkYORY32TXcjs.m,{}),_jsxruntime.jsxs.call(void 0, _chunkYORY32TXcjs.i,{onClick:()=>{t.toggleVisibility(!1)},children:[_jsxruntime.jsx.call(void 0, _reacticons.EyeNoneIcon,{className:"text-muted-foreground"}),"Hide"]})]})]}):_jsxruntime.jsx.call(void 0, _jsxruntime.Fragment,{children:n})}function V({sorted:t}){switch(t){case"desc":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronDownIcon,{});case"asc":return _jsxruntime.jsx.call(void 0, _reacticons.ChevronUpIcon,{});default:return _jsxruntime.jsx.call(void 0, _reacticons.CaretSortIcon,{})}}exports.a = J; exports.b = X; exports.c = G;
2
+ //# sourceMappingURL=chunk-PYKB3C2F.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-3TS74A2W.cjs","../src/components/data-table.tsx"],"names":["jsxs","DropdownMenu","DropdownMenuTrigger","buttonVariants","jsx","MixerHorizontalIcon","DropdownMenuContent","DropdownMenuLabel","DropdownMenuCheckboxItem","column","DataTablePagination","className","cn","table","SelectTrigger","SelectValue","pageSize","SelectItem","Button","DataTableColumnHeader","DropdownMenuItem","ChevronUpIcon","ChevronDownIcon","DropdownMenuSeparator","EyeNoneIcon","Fragment","title","SortIcon","sorted"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-3TS74A2W.cjs","sourcesContent":[null,"'use client';\n\nimport {\n CaretSortIcon,\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from '@radix-ui/react-icons';\nimport { type HTMLAttributes, type JSX } from 'react';\n\nimport { Button } from '@/components/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/select';\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/styles/button-variants';\n\nimport type * as ReactTable from '@tanstack/react-table';\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger className={buttonVariants({ size: 'xs', variant: 'outline' })}>\n <MixerHorizontalIcon className=\"size-4\" />\n View\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => (\n <DropdownMenuCheckboxItem\n key={column.id}\n checked={column.getIsVisible()}\n className=\"capitalize\"\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({ table, className, ...props }: DataTablePaginationProps<TData>): JSX.Element {\n return (\n <div className={cn('flex flex-wrap items-center justify-between gap-4 px-2', className)} {...props}>\n <div className=\"text-muted-foreground min-w-max flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n\n <div className=\"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8\">\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-4\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"w-18 h-8\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex flex-wrap items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-4\">\n <Button\n icon\n className=\"max-md:hidden\"\n disabled={!table.getCanPreviousPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n disabled={!table.getCanPreviousPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.previousPage();\n }}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n disabled={!table.getCanNextPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.nextPage();\n }}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n className=\"max-md:hidden\"\n disabled={!table.getCanNextPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n}: DataTableColumnHeaderProps<TData, TValue>): JSX.Element {\n if (!column.getCanSort()) {\n return <>{title}</>;\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n className={cn(\n 'text-muted-foreground p-0',\n 'hover:bg-transparent',\n 'data-[state=open]:text-accent-foreground',\n 'focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0',\n )}\n size=\"xs\"\n suffix={<SortIcon sorted={column.getIsSorted()} />}\n variant=\"ghost\"\n >\n {title}\n </Button>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ChevronUpIcon className=\"text-muted-foreground\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ChevronDownIcon className=\"text-muted-foreground\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): JSX.Element {\n switch (sorted) {\n case 'desc': {\n return <ChevronDownIcon />;\n }\n\n case 'asc': {\n return <ChevronUpIcon />;\n }\n\n default:\n return <CaretSortIcon />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableColumnHeader,\n DataTablePagination,\n DataTableViewOptions,\n type DataTableColumnHeaderProps,\n type DataTablePaginationProps,\n type DataTableViewOptionsProps,\n};\n"]}
1
+ {"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-PYKB3C2F.cjs","../src/components/data-table.tsx"],"names":["jsxs","DropdownMenu","DropdownMenuTrigger","buttonVariants","jsx","MixerHorizontalIcon","DropdownMenuContent","DropdownMenuLabel","DropdownMenuCheckboxItem","column","DataTablePagination","className","cn","table","SelectTrigger","SelectValue","pageSize","SelectItem","Button","DataTableColumnHeader","DropdownMenuItem","ChevronUpIcon","ChevronDownIcon","DropdownMenuSeparator","EyeNoneIcon","Fragment","title","SortIcon","sorted"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-PYKB3C2F.cjs","sourcesContent":[null,"'use client';\n\nimport {\n CaretSortIcon,\n ChevronDownIcon,\n ChevronLeftIcon,\n ChevronRightIcon,\n ChevronUpIcon,\n DoubleArrowLeftIcon,\n DoubleArrowRightIcon,\n EyeNoneIcon,\n MixerHorizontalIcon,\n} from '@radix-ui/react-icons';\nimport { type HTMLAttributes, type JSX } from 'react';\n\nimport { Button } from '@/components/button';\nimport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuTrigger,\n} from '@/components/dropdown-menu';\nimport { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from '@/components/select';\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/styles/button-variants';\n\nimport type * as ReactTable from '@tanstack/react-table';\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableViewOptions\n * -------------------------------------------------------------------------- */\n\ninterface DataTableViewOptionsProps<TData> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTableViewOptions<TData>({ table }: DataTableViewOptionsProps<TData>): JSX.Element {\n return (\n <DropdownMenu>\n <DropdownMenuTrigger className={buttonVariants({ size: 'xs', variant: 'outline' })}>\n <MixerHorizontalIcon className=\"size-4\" />\n View\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"w-36\">\n <DropdownMenuLabel>Toggle columns</DropdownMenuLabel>\n <DropdownMenuSeparator />\n {table\n .getAllColumns()\n .filter((column) => typeof column.accessorFn !== 'undefined' && column.getCanHide())\n .map((column) => (\n <DropdownMenuCheckboxItem\n key={column.id}\n checked={column.getIsVisible()}\n className=\"capitalize\"\n onCheckedChange={(value) => {\n column.toggleVisibility(Boolean(value));\n }}\n >\n {column.id}\n </DropdownMenuCheckboxItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTablePagination\n * -------------------------------------------------------------------------- */\n\ninterface DataTablePaginationProps<TData> extends HTMLAttributes<HTMLDivElement> {\n table: ReactTable.Table<TData>;\n}\n\nfunction DataTablePagination<TData>({ table, className, ...props }: DataTablePaginationProps<TData>): JSX.Element {\n return (\n <div className={cn('flex flex-wrap items-center justify-between gap-4 px-2', className)} {...props}>\n <div className=\"text-muted-foreground min-w-max flex-1 text-sm\">\n {table.getFilteredSelectedRowModel().rows.length} of {table.getFilteredRowModel().rows.length} row(s) selected.\n </div>\n\n <div className=\"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8\">\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-4\">\n <p className=\"text-sm font-medium\">Rows per page</p>\n <Select\n value={String(table.getState().pagination.pageSize)}\n onValueChange={(value) => {\n table.setPageSize(Number(value));\n }}\n >\n <SelectTrigger className=\"w-18 h-8\">\n <SelectValue placeholder={table.getState().pagination.pageSize} />\n </SelectTrigger>\n <SelectContent side=\"top\">\n {[10, 20, 30, 40, 50].map((pageSize) => (\n <SelectItem key={pageSize} value={String(pageSize)}>\n {pageSize}\n </SelectItem>\n ))}\n </SelectContent>\n </Select>\n </div>\n <div className=\"flex flex-wrap items-center justify-center text-sm font-medium\">\n Page {table.getState().pagination.pageIndex + 1} of {table.getPageCount()}\n </div>\n <div className=\"flex flex-wrap items-center gap-x-2 gap-y-4\">\n <Button\n icon\n className=\"max-md:hidden\"\n disabled={!table.getCanPreviousPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.setPageIndex(0);\n }}\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n disabled={!table.getCanPreviousPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.previousPage();\n }}\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n disabled={!table.getCanNextPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.nextPage();\n }}\n >\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n <Button\n icon\n className=\"max-md:hidden\"\n disabled={!table.getCanNextPage()}\n size=\"xs\"\n variant=\"outline\"\n onClick={() => {\n table.setPageIndex(table.getPageCount() - 1);\n }}\n >\n <span className=\"sr-only\">Go to last page</span>\n <DoubleArrowRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DataTableColumnHeader\n * -------------------------------------------------------------------------- */\n\ninterface DataTableColumnHeaderProps<TData, TValue> {\n column: ReactTable.Column<TData, TValue>;\n title: string;\n}\n\nfunction DataTableColumnHeader<TData, TValue>({\n column,\n title,\n}: DataTableColumnHeaderProps<TData, TValue>): JSX.Element {\n if (!column.getCanSort()) {\n return <>{title}</>;\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n className={cn(\n 'text-muted-foreground p-0',\n 'hover:bg-transparent',\n 'data-[state=open]:text-accent-foreground',\n 'focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0',\n )}\n size=\"xs\"\n suffix={<SortIcon sorted={column.getIsSorted()} />}\n variant=\"ghost\"\n >\n {title}\n </Button>\n </DropdownMenuTrigger>\n\n <DropdownMenuContent align=\"start\">\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(false);\n }}\n >\n <ChevronUpIcon className=\"text-muted-foreground\" />\n Asc\n </DropdownMenuItem>\n <DropdownMenuItem\n onClick={() => {\n column.toggleSorting(true);\n }}\n >\n <ChevronDownIcon className=\"text-muted-foreground\" />\n Desc\n </DropdownMenuItem>\n <DropdownMenuSeparator />\n <DropdownMenuItem\n onClick={() => {\n column.toggleVisibility(false);\n }}\n >\n <EyeNoneIcon className=\"text-muted-foreground\" />\n Hide\n </DropdownMenuItem>\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\nfunction SortIcon({ sorted }: { sorted: false | ReactTable.SortDirection }): JSX.Element {\n switch (sorted) {\n case 'desc': {\n return <ChevronDownIcon />;\n }\n\n case 'asc': {\n return <ChevronUpIcon />;\n }\n\n default:\n return <CaretSortIcon />;\n }\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n DataTableColumnHeader,\n DataTablePagination,\n DataTableViewOptions,\n type DataTableColumnHeaderProps,\n type DataTablePaginationProps,\n type DataTableViewOptionsProps,\n};\n"]}
@@ -0,0 +1,2 @@
1
+ import{a as s}from"./chunk-EVRI6TWT.js";import{a as l}from"./chunk-VPYH6JWS.js";import{CaretSortIcon as d,CheckIcon as P,ChevronDownIcon as f,ChevronUpIcon as y}from"@radix-ui/react-icons";import*as e from"@radix-ui/react-select";import{forwardRef as a}from"react";import{jsx as t,jsxs as c}from"react/jsx-runtime";var R=e.Root,E=e.Group,T=e.Value,u=a(({children:i,className:r,size:o,...p},n)=>c(e.Trigger,{ref:n,className:s({variant:"outline",size:o,className:["w-full justify-between px-3 font-normal [&>span]:truncate",r]}),...p,children:[i,t(e.Icon,{asChild:!0,children:t(d,{className:"size-4 shrink-0 opacity-50"})})]}));u.displayName=e.Trigger.displayName;var m=a(({className:i,...r},o)=>t(e.ScrollUpButton,{ref:o,className:l("flex cursor-pointer items-center justify-center py-1",i),...r,children:t(y,{})}));m.displayName=e.ScrollUpButton.displayName;var S=a(({className:i,...r},o)=>t(e.ScrollDownButton,{ref:o,className:l("flex cursor-pointer items-center justify-center py-1",i),...r,children:t(f,{})}));S.displayName=e.ScrollDownButton.displayName;var v=a(({children:i,className:r,position:o="popper",...p},n)=>t(e.Portal,{children:c(e.Content,{ref:n,className:l("bg-popover text-popover-foreground relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border shadow-md","data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95","data-[state=open]:data-[side=bottom]:slide-in-from-top-2","data-[state=open]:data-[side=left]:slide-in-from-right-2","data-[state=open]:data-[side=right]:slide-in-from-left-2","data-[state=open]:data-[side=top]:slide-in-from-bottom-2","data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95","data-[state=closed]:data-[side=bottom]:slide-out-to-top-2","data-[state=closed]:data-[side=left]:slide-out-to-right-2","data-[state=closed]:data-[side=right]:slide-out-to-left-2","data-[state=closed]:data-[side=top]:slide-out-to-bottom-2",o==="popper"&&["data-[side=bottom]:translate-y-1","data-[side=left]:-translate-x-1","data-[side=right]:translate-x-1","data-[side=top]:-translate-y-1"],r),position:o,...p,children:[t(m,{}),t(e.Viewport,{className:l("p-1",o==="popper"&&"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]"),children:i}),t(S,{})]})}));v.displayName=e.Content.displayName;var g=a(({className:i,...r},o)=>t(e.Label,{ref:o,className:l("gap-x-2 px-3 py-1.5","flex items-center text-sm font-semibold",i),...r}));g.displayName=e.Label.displayName;var C=a(({children:i,className:r,...o},p)=>c(e.Item,{ref:p,className:l("relative flex w-full cursor-pointer select-none items-center rounded py-1.5 pl-2 pr-8 text-sm","focus:bg-accent focus:text-accent-foreground focus:outline-none","aria-disabled:pointer-events-none aria-disabled:opacity-50",r),...o,children:[t("span",{className:"absolute right-2 flex size-3.5 items-center justify-center",children:t(e.ItemIndicator,{children:t(P,{className:"size-4"})})}),t(e.ItemText,{children:i})]}));C.displayName=e.Item.displayName;var h=a(({className:i,...r},o)=>t(e.Separator,{ref:o,className:l("bg-muted mx-2 my-1 h-px",i),...r}));h.displayName=e.Separator.displayName;export{R as a,E as b,T as c,u as d,m as e,S as f,v as g,g as h,C as i,h as j};
2
+ //# sourceMappingURL=chunk-TTKMKXCU.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/select.tsx"],"names":["CaretSortIcon","CheckIcon","ChevronDownIcon","ChevronUpIcon","SelectPrimitive","forwardRef","jsx","jsxs","Select","SelectGroup","SelectValue","SelectTrigger","children","className","size","props","forwardedRef","buttonVariants","SelectScrollUpButton","cn","SelectScrollDownButton","SelectContent","position","SelectLabel","SelectItem","SelectSeparator"],"mappings":"gFAAA,OAAS,iBAAAA,EAAe,aAAAC,EAAW,mBAAAC,EAAiB,iBAAAC,MAAqB,wBACzE,UAAYC,MAAqB,yBACjC,OAAgF,cAAAC,MAAkB,QAqC9F,OAWI,OAAAC,EAXJ,QAAAC,MAAA,oBA3BJ,IAAMC,EAAyB,OAOzBC,EAA8B,QAO9BC,EAA8B,QAW9BC,EAAgBN,EACpB,CAAC,CAAE,SAAAO,EAAU,UAAAC,EAAW,KAAAC,EAAM,GAAGC,CAAM,EAAGC,IACxCT,EAAiB,UAAhB,CACC,IAAKS,EACL,UAAWC,EAAe,CACxB,QAAS,UACT,KAAAH,EACA,UAAW,CAAC,4DAA6DD,CAAS,CACpF,CAAC,EACA,GAAGE,EAEH,UAAAH,EACDN,EAAiB,OAAhB,CAAqB,QAAO,GAC3B,SAAAA,EAACN,EAAA,CAAc,UAAU,6BAA6B,EACxD,GACF,CAEJ,EAEAW,EAAc,YAA8B,UAAQ,YASpD,IAAMO,EAAuBb,EAC3B,CAAC,CAAE,UAAAQ,EAAW,GAAGE,CAAM,EAAGC,IACxBV,EAAiB,iBAAhB,CACC,IAAKU,EACL,UAAWG,EAAG,uDAAwDN,CAAS,EAC9E,GAAGE,EAEJ,SAAAT,EAACH,EAAA,EAAc,EACjB,CAEJ,EAEAe,EAAqB,YAA8B,iBAAe,YASlE,IAAME,EAAyBf,EAC7B,CAAC,CAAE,UAAAQ,EAAW,GAAGE,CAAM,EAAGC,IACxBV,EAAiB,mBAAhB,CACC,IAAKU,EACL,UAAWG,EAAG,uDAAwDN,CAAS,EAC9E,GAAGE,EAEJ,SAAAT,EAACJ,EAAA,EAAgB,EACnB,CAEJ,EAEAkB,EAAuB,YAA8B,mBAAiB,YAStE,IAAMC,EAAgBhB,EACpB,CAAC,CAAE,SAAAO,EAAU,UAAAC,EAAW,SAAAS,EAAW,SAAU,GAAGP,CAAM,EAAGC,IACvDV,EAAiB,SAAhB,CACC,SAAAC,EAAiB,UAAhB,CACC,IAAKS,EACL,UAAWG,EACT,iHACA,sFACA,2DACA,2DACA,2DACA,2DACA,+FACA,4DACA,4DACA,4DACA,4DACAG,IAAa,UAAY,CACvB,mCACA,kCACA,kCACA,gCACF,EACAT,CACF,EACA,SAAUS,EACT,GAAGP,EAEJ,UAAAT,EAACY,EAAA,EAAqB,EACtBZ,EAAiB,WAAhB,CACC,UAAWa,EACT,MACAG,IAAa,UACX,yFACJ,EAEC,SAAAV,EACH,EACAN,EAACc,EAAA,EAAuB,GAC1B,EACF,CAEJ,EAEAC,EAAc,YAA8B,UAAQ,YASpD,IAAME,EAAclB,EAAiD,CAAC,CAAE,UAAAQ,EAAW,GAAGE,CAAM,EAAGC,IAC7FV,EAAiB,QAAhB,CACC,IAAKU,EACL,UAAWG,EAAG,sBAAuB,0CAA2CN,CAAS,EACxF,GAAGE,EACN,CACD,EAEDQ,EAAY,YAA8B,QAAM,YAShD,IAAMC,EAAanB,EAA+C,CAAC,CAAE,SAAAO,EAAU,UAAAC,EAAW,GAAGE,CAAM,EAAGC,IACpGT,EAAiB,OAAhB,CACC,IAAKS,EACL,UAAWG,EACT,gGACA,kEACA,6DACAN,CACF,EACC,GAAGE,EAEJ,UAAAT,EAAC,QAAK,UAAU,6DACd,SAAAA,EAAiB,gBAAhB,CACC,SAAAA,EAACL,EAAA,CAAU,UAAU,SAAS,EAChC,EACF,EACAK,EAAiB,WAAhB,CAA0B,SAAAM,EAAS,GACtC,CACD,EAEDY,EAAW,YAA8B,OAAK,YAS9C,IAAMC,EAAkBpB,EACtB,CAAC,CAAE,UAAAQ,EAAW,GAAGE,CAAM,EAAGC,IACxBV,EAAiB,YAAhB,CAA0B,IAAKU,EAAc,UAAWG,EAAG,0BAA2BN,CAAS,EAAI,GAAGE,EAAO,CAElH,EAEAU,EAAgB,YAA8B,YAAU","sourcesContent":["import { CaretSortIcon, CheckIcon, ChevronDownIcon, ChevronUpIcon } from '@radix-ui/react-icons';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { type ComponentProps, type ComponentPropsWithoutRef, type ComponentRef, forwardRef } from 'react';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants, type ButtonVariantsProps } from '@/styles/button-variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Select\n * -------------------------------------------------------------------------- */\n\ntype SelectProps = ComponentProps<typeof SelectPrimitive.Root>;\nconst Select = SelectPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectGroup\n * -------------------------------------------------------------------------- */\n\ntype SelectGroupProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Group>;\nconst SelectGroup = SelectPrimitive.Group;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectValue\n * -------------------------------------------------------------------------- */\n\ntype SelectValueProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Value>;\nconst SelectValue = SelectPrimitive.Value;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectTrigger\n * -------------------------------------------------------------------------- */\n\ntype SelectTriggerElement = ComponentRef<typeof SelectPrimitive.Trigger>;\ninterface SelectTriggerProps extends ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger> {\n size?: ButtonVariantsProps['size'];\n}\n\nconst SelectTrigger = forwardRef<SelectTriggerElement, SelectTriggerProps>(\n ({ children, className, size, ...props }, forwardedRef) => (\n <SelectPrimitive.Trigger\n ref={forwardedRef}\n className={buttonVariants({\n variant: 'outline',\n size,\n className: ['w-full justify-between px-3 font-normal [&>span]:truncate', className],\n })}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <CaretSortIcon className=\"size-4 shrink-0 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n ),\n);\n\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollUpButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollUpButtonElement = ComponentRef<typeof SelectPrimitive.ScrollUpButton>;\ntype SelectScrollUpButtonProps = ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>;\n\nconst SelectScrollUpButton = forwardRef<SelectScrollUpButtonElement, SelectScrollUpButtonProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.ScrollUpButton\n ref={forwardedRef}\n className={cn('flex cursor-pointer items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon />\n </SelectPrimitive.ScrollUpButton>\n ),\n);\n\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectScrollDownButton\n * -------------------------------------------------------------------------- */\n\ntype SelectScrollDownButtonElement = ComponentRef<typeof SelectPrimitive.ScrollDownButton>;\ntype SelectScrollDownButtonProps = ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>;\n\nconst SelectScrollDownButton = forwardRef<SelectScrollDownButtonElement, SelectScrollDownButtonProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.ScrollDownButton\n ref={forwardedRef}\n className={cn('flex cursor-pointer items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon />\n </SelectPrimitive.ScrollDownButton>\n ),\n);\n\nSelectScrollDownButton.displayName = SelectPrimitive.ScrollDownButton.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectContent\n * -------------------------------------------------------------------------- */\n\ntype SelectContentElement = ComponentRef<typeof SelectPrimitive.Content>;\ntype SelectContentProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Content>;\n\nconst SelectContent = forwardRef<SelectContentElement, SelectContentProps>(\n ({ children, className, position = 'popper', ...props }, forwardedRef) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={forwardedRef}\n className={cn(\n 'bg-popover text-popover-foreground relative z-50 max-h-96 min-w-32 overflow-hidden rounded-md border shadow-md',\n 'data-[state=open]:animate-in data-[state=open]:fade-in data-[state=open]:zoom-in-95',\n 'data-[state=open]:data-[side=bottom]:slide-in-from-top-2',\n 'data-[state=open]:data-[side=left]:slide-in-from-right-2',\n 'data-[state=open]:data-[side=right]:slide-in-from-left-2',\n 'data-[state=open]:data-[side=top]:slide-in-from-bottom-2',\n 'data-[state=closed]:animate-out data-[state=closed]:fade-out data-[state=closed]:zoom-out-95',\n 'data-[state=closed]:data-[side=bottom]:slide-out-to-top-2',\n 'data-[state=closed]:data-[side=left]:slide-out-to-right-2',\n 'data-[state=closed]:data-[side=right]:slide-out-to-left-2',\n 'data-[state=closed]:data-[side=top]:slide-out-to-bottom-2',\n position === 'popper' && [\n 'data-[side=bottom]:translate-y-1',\n 'data-[side=left]:-translate-x-1',\n 'data-[side=right]:translate-x-1',\n 'data-[side=top]:-translate-y-1',\n ],\n className,\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n 'p-1',\n position === 'popper' &&\n 'h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]',\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n ),\n);\n\nSelectContent.displayName = SelectPrimitive.Content.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectLabel\n * -------------------------------------------------------------------------- */\n\ntype SelectLabelElement = ComponentRef<typeof SelectPrimitive.Label>;\ntype SelectLabelProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Label>;\n\nconst SelectLabel = forwardRef<SelectLabelElement, SelectLabelProps>(({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Label\n ref={forwardedRef}\n className={cn('gap-x-2 px-3 py-1.5', 'flex items-center text-sm font-semibold', className)}\n {...props}\n />\n));\n\nSelectLabel.displayName = SelectPrimitive.Label.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectItem\n * -------------------------------------------------------------------------- */\n\ntype SelectItemElement = ComponentRef<typeof SelectPrimitive.Item>;\ntype SelectItemProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Item>;\n\nconst SelectItem = forwardRef<SelectItemElement, SelectItemProps>(({ children, className, ...props }, forwardedRef) => (\n <SelectPrimitive.Item\n ref={forwardedRef}\n className={cn(\n 'relative flex w-full cursor-pointer select-none items-center rounded py-1.5 pl-2 pr-8 text-sm',\n 'focus:bg-accent focus:text-accent-foreground focus:outline-none',\n 'aria-disabled:pointer-events-none aria-disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n));\n\nSelectItem.displayName = SelectPrimitive.Item.displayName;\n\n/* -----------------------------------------------------------------------------\n * Component: SelectSeparator\n * -------------------------------------------------------------------------- */\n\ntype SelectSeparatorElement = ComponentRef<typeof SelectPrimitive.Separator>;\ntype SelectSeparatorProps = ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>;\n\nconst SelectSeparator = forwardRef<SelectSeparatorElement, SelectSeparatorProps>(\n ({ className, ...props }, forwardedRef) => (\n <SelectPrimitive.Separator ref={forwardedRef} className={cn('bg-muted mx-2 my-1 h-px', className)} {...props} />\n ),\n);\n\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n type SelectContentProps,\n type SelectGroupProps,\n type SelectItemProps,\n type SelectLabelProps,\n type SelectProps,\n type SelectScrollDownButtonProps,\n type SelectScrollUpButtonProps,\n type SelectSeparatorProps,\n type SelectTriggerProps,\n type SelectValueProps,\n};\n"]}
@@ -1,2 +1,2 @@
1
- "use client";import{a as D,c as x,d as w,g as T,i as C}from"./chunk-SQURQUD2.js";import{a as c,b as g,h as p,i,j as m,l as f,m as d}from"./chunk-OH3BXT6D.js";import{a as o}from"./chunk-24TJIVWR.js";import{a as u}from"./chunk-EVRI6TWT.js";import{a as l}from"./chunk-VPYH6JWS.js";import{CaretSortIcon as N,ChevronDownIcon as v,ChevronLeftIcon as S,ChevronRightIcon as P,ChevronUpIcon as b,DoubleArrowLeftIcon as M,DoubleArrowRightIcon as I,EyeNoneIcon as h,MixerHorizontalIcon as y}from"@radix-ui/react-icons";import{Fragment as k,jsx as e,jsxs as a}from"react/jsx-runtime";function X({table:t}){return a(c,{children:[a(g,{className:u({size:"xs",variant:"outline"}),children:[e(y,{className:"size-4"}),"View"]}),a(p,{align:"end",className:"w-36",children:[e(f,{children:"Toggle columns"}),e(d,{}),t.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>e(m,{checked:n.getIsVisible(),className:"capitalize",onCheckedChange:r=>{n.toggleVisibility(!!r)},children:n.id},n.id))]})]})}function G({table:t,className:n,...r}){return a("div",{className:l("flex flex-wrap items-center justify-between gap-4 px-2",n),...r,children:[a("div",{className:"text-muted-foreground min-w-max flex-1 text-sm",children:[t.getFilteredSelectedRowModel().rows.length," of ",t.getFilteredRowModel().rows.length," row(s) selected."]}),a("div",{className:"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8",children:[a("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[e("p",{className:"text-sm font-medium",children:"Rows per page"}),a(D,{value:String(t.getState().pagination.pageSize),onValueChange:s=>{t.setPageSize(Number(s))},children:[e(w,{className:"w-18 h-8",children:e(x,{placeholder:t.getState().pagination.pageSize})}),e(T,{side:"top",children:[10,20,30,40,50].map(s=>e(C,{value:String(s),children:s},s))})]})]}),a("div",{className:"flex flex-wrap items-center justify-center text-sm font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),a("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[a(o,{icon:!0,className:"max-md:hidden",disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(0)},children:[e("span",{className:"sr-only",children:"Go to first page"}),e(M,{className:"size-4"})]}),a(o,{icon:!0,disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.previousPage()},children:[e("span",{className:"sr-only",children:"Go to previous page"}),e(S,{className:"size-4"})]}),a(o,{icon:!0,disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.nextPage()},children:[e("span",{className:"sr-only",children:"Go to next page"}),e(P,{className:"size-4"})]}),a(o,{icon:!0,className:"max-md:hidden",disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(t.getPageCount()-1)},children:[e("span",{className:"sr-only",children:"Go to last page"}),e(I,{className:"size-4"})]})]})]})]})}function O({column:t,title:n}){return t.getCanSort()?a(c,{children:[e(g,{asChild:!0,children:e(o,{className:l("text-muted-foreground p-0","hover:bg-transparent","data-[state=open]:text-accent-foreground","focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0"),size:"xs",suffix:e(V,{sorted:t.getIsSorted()}),variant:"ghost",children:n})}),a(p,{align:"start",children:[a(i,{onClick:()=>{t.toggleSorting(!1)},children:[e(b,{className:"text-muted-foreground"}),"Asc"]}),a(i,{onClick:()=>{t.toggleSorting(!0)},children:[e(v,{className:"text-muted-foreground"}),"Desc"]}),e(d,{}),a(i,{onClick:()=>{t.toggleVisibility(!1)},children:[e(h,{className:"text-muted-foreground"}),"Hide"]})]})]}):e(k,{children:n})}function V({sorted:t}){switch(t){case"desc":return e(v,{});case"asc":return e(b,{});default:return e(N,{})}}export{X as a,G as b,O as c};
2
- //# sourceMappingURL=chunk-3TOWLKUY.js.map
1
+ "use client";import{a as D,c as x,d as w,g as T,i as C}from"./chunk-TTKMKXCU.js";import{a as c,b as g,h as p,i,j as m,l as f,m as d}from"./chunk-OH3BXT6D.js";import{a as o}from"./chunk-24TJIVWR.js";import{a as u}from"./chunk-EVRI6TWT.js";import{a as l}from"./chunk-VPYH6JWS.js";import{CaretSortIcon as N,ChevronDownIcon as v,ChevronLeftIcon as S,ChevronRightIcon as P,ChevronUpIcon as b,DoubleArrowLeftIcon as M,DoubleArrowRightIcon as I,EyeNoneIcon as h,MixerHorizontalIcon as y}from"@radix-ui/react-icons";import{Fragment as k,jsx as e,jsxs as a}from"react/jsx-runtime";function X({table:t}){return a(c,{children:[a(g,{className:u({size:"xs",variant:"outline"}),children:[e(y,{className:"size-4"}),"View"]}),a(p,{align:"end",className:"w-36",children:[e(f,{children:"Toggle columns"}),e(d,{}),t.getAllColumns().filter(n=>typeof n.accessorFn<"u"&&n.getCanHide()).map(n=>e(m,{checked:n.getIsVisible(),className:"capitalize",onCheckedChange:r=>{n.toggleVisibility(!!r)},children:n.id},n.id))]})]})}function G({table:t,className:n,...r}){return a("div",{className:l("flex flex-wrap items-center justify-between gap-4 px-2",n),...r,children:[a("div",{className:"text-muted-foreground min-w-max flex-1 text-sm",children:[t.getFilteredSelectedRowModel().rows.length," of ",t.getFilteredRowModel().rows.length," row(s) selected."]}),a("div",{className:"flex grow flex-wrap items-center justify-between gap-4 md:justify-end md:gap-x-6 lg:gap-x-8",children:[a("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[e("p",{className:"text-sm font-medium",children:"Rows per page"}),a(D,{value:String(t.getState().pagination.pageSize),onValueChange:s=>{t.setPageSize(Number(s))},children:[e(w,{className:"w-18 h-8",children:e(x,{placeholder:t.getState().pagination.pageSize})}),e(T,{side:"top",children:[10,20,30,40,50].map(s=>e(C,{value:String(s),children:s},s))})]})]}),a("div",{className:"flex flex-wrap items-center justify-center text-sm font-medium",children:["Page ",t.getState().pagination.pageIndex+1," of ",t.getPageCount()]}),a("div",{className:"flex flex-wrap items-center gap-x-2 gap-y-4",children:[a(o,{icon:!0,className:"max-md:hidden",disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(0)},children:[e("span",{className:"sr-only",children:"Go to first page"}),e(M,{className:"size-4"})]}),a(o,{icon:!0,disabled:!t.getCanPreviousPage(),size:"xs",variant:"outline",onClick:()=>{t.previousPage()},children:[e("span",{className:"sr-only",children:"Go to previous page"}),e(S,{className:"size-4"})]}),a(o,{icon:!0,disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.nextPage()},children:[e("span",{className:"sr-only",children:"Go to next page"}),e(P,{className:"size-4"})]}),a(o,{icon:!0,className:"max-md:hidden",disabled:!t.getCanNextPage(),size:"xs",variant:"outline",onClick:()=>{t.setPageIndex(t.getPageCount()-1)},children:[e("span",{className:"sr-only",children:"Go to last page"}),e(I,{className:"size-4"})]})]})]})]})}function O({column:t,title:n}){return t.getCanSort()?a(c,{children:[e(g,{asChild:!0,children:e(o,{className:l("text-muted-foreground p-0","hover:bg-transparent","data-[state=open]:text-accent-foreground","focus-visible:text-accent-foreground focus-visible:bg-transparent focus-visible:outline-0"),size:"xs",suffix:e(V,{sorted:t.getIsSorted()}),variant:"ghost",children:n})}),a(p,{align:"start",children:[a(i,{onClick:()=>{t.toggleSorting(!1)},children:[e(b,{className:"text-muted-foreground"}),"Asc"]}),a(i,{onClick:()=>{t.toggleSorting(!0)},children:[e(v,{className:"text-muted-foreground"}),"Desc"]}),e(d,{}),a(i,{onClick:()=>{t.toggleVisibility(!1)},children:[e(h,{className:"text-muted-foreground"}),"Hide"]})]})]}):e(k,{children:n})}function V({sorted:t}){switch(t){case"desc":return e(v,{});case"asc":return e(b,{});default:return e(N,{})}}export{X as a,G as b,O as c};
2
+ //# sourceMappingURL=chunk-UHHMORLE.js.map
@@ -0,0 +1,4 @@
1
+ "use client";import{a as d}from"./chunk-VPYH6JWS.js";import{createContext as M,forwardRef as x,useContext as H,useId as K,useMemo as k}from"react";import*as f from"recharts";import{Fragment as X,jsx as i,jsxs as g}from"react/jsx-runtime";var N={light:"",dark:".dark"},_=M(null);function w(){let e=H(_);if(!e)throw new Error("useChart must be used within a <ChartContainer />");return e}var $=x(({children:e,className:n,config:t,id:o,...a},c)=>{let s=K(),l=`chart-${o||s.replace(/:/g,"")}`;return i(_.Provider,{value:{config:t},children:g("div",{ref:c,className:d("flex aspect-video justify-center text-xs","[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground","[&_.recharts-cartesian-grid_line]:stroke-border/50","[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border","[&_.recharts-dot]:stroke-transparent","[&_.recharts-layer]:outline-none","[&_.recharts-polar-grid_]:stroke-border","[&_.recharts-radial-bar-background-sector]:fill-muted","[&_.recharts-reference-line_]:stroke-border","[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted","[&_.recharts-sector]:outline-none","[&_.recharts-sector]:stroke-transparent","[&_.recharts-surface]:outline-none",n),"data-chart":l,...a,children:[i(I,{config:t,id:l}),i(f.ResponsiveContainer,{children:e})]})})});$.displayName="Chart";function I({id:e,config:n}){let t=k(()=>J(e,n),[e,n]);return i("style",{dangerouslySetInnerHTML:{__html:t}})}var Q=f.Tooltip,O=x(({active:e,className:n,color:t,formatter:o,hideIndicator:a=!1,hideLabel:c=!1,indicator:s="dot",label:l,labelClassName:p,labelFormatter:h,labelKey:y,nameKey:E,payload:u},j)=>{let{config:m}=w(),R=k(()=>{if(c||!u?.length)return null;let[r]=u,P=`${y||r.dataKey||r.name||"value"}`,b=T(m,r,P),C=!y&&typeof l=="string"?m[l].label||l:b?.label;return h?i("div",{className:d("font-medium",p),children:h(C,u)}):C?i("div",{className:d("font-medium",p),children:C}):null},[m,c,l,p,h,y,u]);if(!e||!u?.length)return null;let v=u.length===1&&s!=="dot";return g("div",{ref:j,className:d("border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl",n),children:[v?null:R,i("div",{className:"grid gap-1.5",children:u.map((r,P)=>{let b=`${E||r.name||r.dataKey||"value"}`,C=T(m,r,b),S=t||r.payload.fill||r.color;return i("div",{className:d("[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5",s==="dot"&&"items-center"),children:o&&r.value!==void 0&&r.name?o(r.value,r.name,r,P,r.payload):g(X,{children:[C?.icon?i(C.icon,{}):!a&&i("div",{className:d("shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]",{"h-2.5 w-2.5":s==="dot","w-1":s==="line","w-0 border-[1.5px] border-dashed bg-transparent":s==="dashed","my-0.5":v&&s==="dashed"}),style:{"--color-bg":S,"--color-border":S}}),g("div",{className:d("flex flex-1 justify-between leading-none",v?"items-end":"items-center"),children:[g("div",{className:"grid gap-1.5",children:[v?R:null,i("span",{className:"text-muted-foreground",children:C?.label||r.name})]}),r.value?i("span",{className:"text-foreground font-mono font-medium tabular-nums",children:r.value.toLocaleString()}):null]})]})},r.dataKey)})})]})});O.displayName="ChartTooltipContent";var U=f.Legend,D=x(({className:e,hideIcon:n=!1,nameKey:t,payload:o,verticalAlign:a="bottom"},c)=>{let{config:s}=w();return o?.length?i("div",{ref:c,className:d("flex items-center justify-center gap-4",a==="top"?"pb-3":"pt-3",e),children:o.map(l=>{let p="value";t?p=t:l.dataKey&&(p=String(l.dataKey));let h=T(s,l,p);return g("div",{className:d("[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3"),children:[h?.icon&&!n?i(h.icon,{}):i("div",{className:"size-2 shrink-0 rounded",style:{backgroundColor:l.color}}),h?.label]},String(l.value))})}):null});D.displayName="ChartLegendContent";function T(e,n,t){if(!L(n))return;let o="payload"in n&&L(n.payload)?n.payload:void 0,a=V(n,o,t);return a in e?e[a]:e[t]}function L(e){return typeof e=="object"&&e!==null}function V(e,n,t){return t in e&&typeof e[t]=="string"?e[t]:n&&t in n&&typeof n[t]=="string"?n[t]:t}function z(e,n,t){let o=[];return o.push(`${N[e]} [data-chart=${n}] {`),t.forEach(([a,c])=>{let s=c.theme?.[e]||c.color;s&&o.push(` --color-${a}: ${s};`)}),o.push("}"),o.join(`
2
+ `)}function J(e,n){let t=Object.entries(n).filter(([a,{theme:c,color:s}])=>c||s),o=[];return Object.keys(N).forEach(a=>{let c=z(a,e,t);o.push(c)}),o.join(`
3
+ `)}export{$ as a,I as b,Q as c,O as d,U as e,D as f};
4
+ //# sourceMappingURL=chunk-WNXJ2WHS.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/chart.tsx"],"names":["createContext","forwardRef","useContext","useId","useMemo","RechartsPrimitive","Fragment","jsx","jsxs","THEMES","ChartContext","useChart","context","ChartContainer","children","className","config","id","props","ref","uniqueId","chartId","cn","ChartStyle","cssString","generateCSS","ChartTooltip","ChartTooltipContent","active","color","formatter","hideIndicator","hideLabel","indicator","label","labelClassName","labelFormatter","labelKey","nameKey","payload","tooltipLabel","item","key","itemConfig","getPayloadConfigFromPayload","value","nestLabel","index","indicatorColor","ChartLegend","ChartLegendContent","hideIcon","verticalAlign","isValidObject","nestedPayload","configLabelKey","getConfigLabelKey","obj","generateThemeCSS","theme","configEntries","rules","themeOrColorConfig","_","allRules","themeCSS"],"mappings":"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","sourcesContent":["'use client';\n\nimport {\n type ComponentProps,\n type ComponentType,\n createContext,\n type CSSProperties,\n forwardRef,\n type JSX,\n type ReactNode,\n useContext,\n useId,\n useMemo,\n} from 'react';\nimport * as RechartsPrimitive from 'recharts';\nimport { type NameType, type Payload, type ValueType } from 'recharts/types/component/DefaultTooltipContent';\n\nimport { cn } from '@/lib/utils';\n\nconst THEMES = {\n light: '',\n dark: '.dark',\n} as const;\n\ntype Theme = keyof typeof THEMES;\n\ntype ChartConfig = {\n [k in string]: {\n icon?: ComponentType;\n label?: ReactNode;\n } & (\n | {\n color?: string;\n theme?: never;\n }\n | {\n theme: Record<Theme, string>;\n color?: never;\n }\n );\n};\n\ninterface ChartContextProps {\n config: ChartConfig;\n}\n\nconst ChartContext = createContext<ChartContextProps | null>(null);\n\nfunction useChart(): ChartContextProps {\n const context = useContext(ChartContext);\n\n if (!context) {\n throw new Error('useChart must be used within a <ChartContainer />');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Chart\n * -------------------------------------------------------------------------- */\n\ntype ChartContainerElement = HTMLDivElement;\ninterface ChartContainerProps extends ComponentProps<'div'> {\n children: ComponentProps<typeof RechartsPrimitive.ResponsiveContainer>['children'];\n config: ChartConfig;\n}\n\nconst ChartContainer = forwardRef<ChartContainerElement, ChartContainerProps>(\n ({ children, className, config, id, ...props }, ref) => {\n const uniqueId = useId();\n const chartId = `chart-${id || uniqueId.replace(/:/g, '')}`;\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n ref={ref}\n className={cn(\n 'flex aspect-video justify-center text-xs',\n '[&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground',\n '[&_.recharts-cartesian-grid_line]:stroke-border/50',\n '[&_.recharts-curve.recharts-tooltip-cursor]:stroke-border',\n '[&_.recharts-dot]:stroke-transparent',\n '[&_.recharts-layer]:outline-none',\n '[&_.recharts-polar-grid_]:stroke-border',\n '[&_.recharts-radial-bar-background-sector]:fill-muted',\n '[&_.recharts-reference-line_]:stroke-border',\n '[&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted',\n '[&_.recharts-sector]:outline-none',\n '[&_.recharts-sector]:stroke-transparent',\n '[&_.recharts-surface]:outline-none',\n className,\n )}\n data-chart={chartId}\n {...props}\n >\n <ChartStyle config={config} id={chartId} />\n <RechartsPrimitive.ResponsiveContainer>{children}</RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n );\n },\n);\n\nChartContainer.displayName = 'Chart';\n\n/* -----------------------------------------------------------------------------\n * Component: ChartStyle\n * -------------------------------------------------------------------------- */\n\ninterface ChartStyleProps {\n config: ChartConfig;\n id: string;\n}\n\nfunction ChartStyle({ id, config }: ChartStyleProps): JSX.Element | null {\n const cssString = useMemo(() => generateCSS(id, config), [id, config]);\n\n return <style dangerouslySetInnerHTML={{ __html: cssString }} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltip\n * -------------------------------------------------------------------------- */\n\ntype ChartTooltipProps = ComponentProps<typeof RechartsPrimitive.Tooltip>;\nconst ChartTooltip = RechartsPrimitive.Tooltip;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartTooltipContent\n * -------------------------------------------------------------------------- */\n\ntype ChartTooltipContentElement = HTMLDivElement;\ninterface ChartTooltipContentProps\n extends ComponentProps<typeof RechartsPrimitive.Tooltip>,\n Omit<ComponentProps<'div'>, 'content'> {\n hideIndicator?: boolean;\n hideLabel?: boolean;\n indicator?: 'line' | 'dot' | 'dashed';\n labelKey?: string;\n nameKey?: string;\n}\n\nconst ChartTooltipContent = forwardRef<ChartTooltipContentElement, ChartTooltipContentProps>(\n (\n {\n active,\n className,\n color,\n formatter,\n hideIndicator = false,\n hideLabel = false,\n indicator = 'dot',\n label,\n labelClassName,\n labelFormatter,\n labelKey,\n nameKey,\n payload,\n },\n ref,\n ) => {\n const { config } = useChart();\n\n const tooltipLabel = useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null;\n }\n\n const [item] = payload;\n\n const key = `${labelKey || item.dataKey || item.name || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const value = !labelKey && typeof label === 'string' ? config[label].label || label : itemConfig?.label;\n\n if (labelFormatter) {\n return <div className={cn('font-medium', labelClassName)}>{labelFormatter(value, payload)}</div>;\n }\n\n if (!value) {\n return null;\n }\n\n return <div className={cn('font-medium', labelClassName)}>{value}</div>;\n }, [config, hideLabel, label, labelClassName, labelFormatter, labelKey, payload]);\n\n if (!active || !payload?.length) {\n return null;\n }\n\n const nestLabel = payload.length === 1 && indicator !== 'dot';\n\n return (\n <div\n ref={ref}\n className={cn(\n 'border-border/50 bg-background grid min-w-[8rem] items-start gap-1.5 rounded-lg border px-2.5 py-1.5 text-xs shadow-xl',\n className,\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || 'value'}`;\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n const indicatorColor = color || (item.payload as { fill?: string }).fill || item.color;\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n '[&>svg]:text-muted-foreground flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5',\n indicator === 'dot' && 'items-center',\n )}\n >\n {formatter && item.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload as Payload<ValueType, NameType>[])\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn('shrink-0 rounded-[2px] border-[--color-border] bg-[--color-bg]', {\n 'h-2.5 w-2.5': indicator === 'dot',\n 'w-1': indicator === 'line',\n 'w-0 border-[1.5px] border-dashed bg-transparent': indicator === 'dashed',\n 'my-0.5': nestLabel && indicator === 'dashed',\n })}\n style={\n {\n '--color-bg': indicatorColor,\n '--color-border': indicatorColor,\n } as CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n 'flex flex-1 justify-between leading-none',\n nestLabel ? 'items-end' : 'items-center',\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">{itemConfig?.label || item.name}</span>\n </div>\n {item.value ? (\n <span className=\"text-foreground font-mono font-medium tabular-nums\">\n {item.value.toLocaleString()}\n </span>\n ) : null}\n </div>\n </>\n )}\n </div>\n );\n })}\n </div>\n </div>\n );\n },\n);\n\nChartTooltipContent.displayName = 'ChartTooltipContent';\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegend\n * -------------------------------------------------------------------------- */\n\ntype ChartLegendProps = ComponentProps<typeof RechartsPrimitive.Legend>;\nconst ChartLegend = RechartsPrimitive.Legend;\n\n/* -----------------------------------------------------------------------------\n * Component: ChartLegendContent\n * -------------------------------------------------------------------------- */\n\ntype ChartLegendContent = HTMLDivElement;\ninterface ChartLegendContentProps\n extends ComponentProps<'div'>,\n Pick<RechartsPrimitive.LegendProps, 'payload' | 'verticalAlign'> {\n hideIcon?: boolean;\n nameKey?: string;\n}\n\nconst ChartLegendContent = forwardRef<HTMLDivElement, ChartLegendContentProps>(\n ({ className, hideIcon = false, nameKey, payload, verticalAlign = 'bottom' }, ref) => {\n const { config } = useChart();\n\n if (!payload?.length) {\n return null;\n }\n\n return (\n <div\n ref={ref}\n className={cn('flex items-center justify-center gap-4', verticalAlign === 'top' ? 'pb-3' : 'pt-3', className)}\n >\n {payload.map((item) => {\n let key = 'value';\n\n if (nameKey) {\n key = nameKey;\n } else if (item.dataKey) {\n key = String(item.dataKey);\n }\n\n const itemConfig = getPayloadConfigFromPayload(config, item, key);\n\n return (\n <div\n key={String(item.value)}\n className={cn('[&>svg]:text-muted-foreground flex items-center gap-1.5 [&>svg]:size-3')}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"size-2 shrink-0 rounded\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n );\n })}\n </div>\n );\n },\n);\n\nChartLegendContent.displayName = 'ChartLegendContent';\n\n/* -----------------------------------------------------------------------------\n * Helpers\n * -------------------------------------------------------------------------- */\n\n/**\n * Extracts and returns the appropriate configuration object from\n * the payload based on the specified key.\n *\n * @param config - The chart configuration object that contains various\n * settings.\n * @param payload - The payload object that might contain nested payload data.\n * @param key - The key used to retrieve the specific configuration from the\n * chart config.\n * @returns Returns a configuration object with optional properties `icon`,\n * `label`, `color` or `theme`, or `undefined` if the payload is invalid or\n * no configuration is found for the provided key.\n */\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string,\n):\n | ({\n icon?: ComponentType;\n label?: ReactNode;\n } & {\n color?: string;\n theme?: never;\n })\n | ({\n icon?: ComponentType;\n label?: ReactNode;\n } & {\n theme: Record<Theme, string>;\n color?: never;\n })\n | undefined {\n if (!isValidObject(payload)) {\n return undefined;\n }\n\n const nestedPayload = 'payload' in payload && isValidObject(payload.payload) ? payload.payload : undefined;\n\n const configLabelKey = getConfigLabelKey(payload, nestedPayload, key);\n\n return configLabelKey in config ? config[configLabelKey] : config[key];\n}\n\n/**\n * Checks if the provided value is a valid object.\n *\n * @param obj - The value to check.\n * @returns - Returns true if the value is an object and not null, false\n * otherwise.\n */\nfunction isValidObject(obj: unknown): obj is Record<string, unknown> {\n return typeof obj === 'object' && obj !== null;\n}\n\n/**\n * Retrieves the configuration label key from either the payload or\n * nestedPayload. If the key exists in the payload and is a string, the\n * corresponding value is returned. Otherwise, if the key exists in the\n * nestedPayload and is a string, its value is returned. If the key is not\n * found as a string in either object, the key itself is returned.\n *\n * @param payload - The primary payload containing key-value pairs.\n * @param nestedPayload - An optional nested payload containing additional\n * key-value pairs.\n * @param key - The key to search for within the payload and nestedPayload.\n *\n * @returns The string value associated with the key if found; otherwise, the\n * key itself.\n */\nfunction getConfigLabelKey(\n payload: Record<string, unknown>,\n nestedPayload: Record<string, unknown> | undefined,\n key: string,\n): string {\n if (key in payload && typeof payload[key] === 'string') {\n return payload[key];\n }\n\n if (nestedPayload && key in nestedPayload && typeof nestedPayload[key] === 'string') {\n return nestedPayload[key];\n }\n\n return key;\n}\n\n/**\n * Generates CSS for a specified theme and chart configuration.\n *\n * @param theme - The theme to be used (for example, 'light', 'dark').\n * @param id - The unique identifier of the chart.\n * @param configEntries - A list of configuration entries, each containing a\n * key and a chart configuration.\n * @returns The generated CSS as a string.\n */\nfunction generateThemeCSS(theme: Theme, id: string, configEntries: [string, ChartConfig[string]][]): string {\n const rules: string[] = [];\n\n rules.push(`${THEMES[theme]} [data-chart=${id}] {`);\n\n configEntries.forEach(([key, itemConfig]) => {\n const color = itemConfig.theme?.[theme] || itemConfig.color;\n\n if (color) {\n rules.push(` --color-${key}: ${color};`);\n }\n });\n\n rules.push('}');\n\n return rules.join('\\n');\n}\n\n/**\n * Generates CSS styles for a chart based on the provided configuration and\n * themes.\n *\n * @param id - The unique identifier for the chart element.\n * @param config - Configuration object for the chart. This includes theme and\n * color settings.\n * @returns A string containing the generated CSS rules.\n */\nfunction generateCSS(id: string, config: ChartConfig): string {\n const themeOrColorConfig = Object.entries(config).filter(([_, { theme, color }]) => theme || color);\n\n const allRules: string[] = [];\n\n Object.keys(THEMES).forEach((theme) => {\n const themeCSS = generateThemeCSS(theme as Theme, id, themeOrColorConfig);\n\n allRules.push(themeCSS);\n });\n\n return allRules.join('\\n');\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n ChartContainer,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n ChartTooltip,\n ChartTooltipContent,\n type ChartConfig,\n type ChartContainerProps,\n type ChartLegendContentProps,\n type ChartLegendProps,\n type ChartStyleProps,\n type ChartTooltipContentProps,\n type ChartTooltipProps,\n};\n"]}
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentProps, ComponentPropsWithoutRef, HTMLAttributes, JSX } from 'react';
2
+ import { ComponentPropsWithoutRef, HTMLAttributes, JSX, ComponentProps } from 'react';
3
3
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
4
4
  import { ButtonVariantsProps } from '../styles/button-variants.cjs';
5
5
  import 'tailwind-variants';
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentProps, ComponentPropsWithoutRef, HTMLAttributes, JSX } from 'react';
2
+ import { ComponentPropsWithoutRef, HTMLAttributes, JSX, ComponentProps } from 'react';
3
3
  import * as AlertDialogPrimitive from '@radix-ui/react-alert-dialog';
4
4
  import { ButtonVariantsProps } from '../styles/button-variants.js';
5
5
  import 'tailwind-variants';
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { HTMLAttributes, ReactNode, OlHTMLAttributes, LiHTMLAttributes, AnchorHTMLAttributes, JSX } from 'react';
2
+ import { HTMLAttributes, ReactNode, JSX, LiHTMLAttributes, AnchorHTMLAttributes, OlHTMLAttributes } from 'react';
3
3
 
4
4
  interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
5
5
  separator?: ReactNode;
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { HTMLAttributes, ReactNode, OlHTMLAttributes, LiHTMLAttributes, AnchorHTMLAttributes, JSX } from 'react';
2
+ import { HTMLAttributes, ReactNode, JSX, LiHTMLAttributes, AnchorHTMLAttributes, OlHTMLAttributes } from 'react';
3
3
 
4
4
  interface BreadcrumbProps extends HTMLAttributes<HTMLElement> {
5
5
  separator?: ReactNode;
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkVFQ5AO6Acjs = require('../chunk-VFQ5AO6A.cjs');require('../chunk-KF7Y7B3G.cjs');require('../chunk-DD6AVCRH.cjs');exports.Calendar = _chunkVFQ5AO6Acjs.a; exports.CalendarLabel = _chunkVFQ5AO6Acjs.c; exports.CalendarRangeLabel = _chunkVFQ5AO6Acjs.b;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkOUWUINGXcjs = require('../chunk-OUWUINGX.cjs');require('../chunk-KF7Y7B3G.cjs');require('../chunk-DD6AVCRH.cjs');exports.Calendar = _chunkOUWUINGXcjs.a; exports.CalendarLabel = _chunkOUWUINGXcjs.c; exports.CalendarRangeLabel = _chunkOUWUINGXcjs.b;
2
2
  //# sourceMappingURL=calendar.cjs.map
@@ -1,6 +1,6 @@
1
+ import { DayPickerProps, DateRange } from '@codefast-ui/day-picker';
2
+ export { DateRange, Matcher } from '@codefast-ui/day-picker';
1
3
  import { JSX } from 'react';
2
- import { DayPickerProps, DateRange } from 'react-day-picker';
3
- export { DateRange, Matcher } from 'react-day-picker';
4
4
 
5
5
  type CalendarProps = DayPickerProps;
6
6
  declare function Calendar({ className, classNames, ...props }: CalendarProps): JSX.Element;
@@ -1,6 +1,6 @@
1
+ import { DayPickerProps, DateRange } from '@codefast-ui/day-picker';
2
+ export { DateRange, Matcher } from '@codefast-ui/day-picker';
1
3
  import { JSX } from 'react';
2
- import { DayPickerProps, DateRange } from 'react-day-picker';
3
- export { DateRange, Matcher } from 'react-day-picker';
4
4
 
5
5
  type CalendarProps = DayPickerProps;
6
6
  declare function Calendar({ className, classNames, ...props }: CalendarProps): JSX.Element;
@@ -1,2 +1,2 @@
1
- "use client";import{a,b,c}from"../chunk-LOFRT7V5.js";import"../chunk-EVRI6TWT.js";import"../chunk-VPYH6JWS.js";export{a as Calendar,c as CalendarLabel,b as CalendarRangeLabel};
1
+ "use client";import{a,b,c}from"../chunk-GV5FQF4J.js";import"../chunk-EVRI6TWT.js";import"../chunk-VPYH6JWS.js";export{a as Calendar,c as CalendarLabel,b as CalendarRangeLabel};
2
2
  //# sourceMappingURL=calendar.js.map
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunk3SJHSQTXcjs = require('../chunk-3SJHSQTX.cjs');require('../chunk-DD6AVCRH.cjs');exports.ChartContainer = _chunk3SJHSQTXcjs.a; exports.ChartLegend = _chunk3SJHSQTXcjs.e; exports.ChartLegendContent = _chunk3SJHSQTXcjs.f; exports.ChartStyle = _chunk3SJHSQTXcjs.b; exports.ChartTooltip = _chunk3SJHSQTXcjs.c; exports.ChartTooltipContent = _chunk3SJHSQTXcjs.d;
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";var _chunkHO5BFEZOcjs = require('../chunk-HO5BFEZO.cjs');require('../chunk-DD6AVCRH.cjs');exports.ChartContainer = _chunkHO5BFEZOcjs.a; exports.ChartLegend = _chunkHO5BFEZOcjs.e; exports.ChartLegendContent = _chunkHO5BFEZOcjs.f; exports.ChartStyle = _chunkHO5BFEZOcjs.b; exports.ChartTooltip = _chunkHO5BFEZOcjs.c; exports.ChartTooltipContent = _chunkHO5BFEZOcjs.d;
2
2
  //# sourceMappingURL=chart.cjs.map
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentType, ReactNode, ComponentProps, JSX } from 'react';
2
+ import { ComponentProps, ComponentType, ReactNode, JSX } from 'react';
3
3
  import * as RechartsPrimitive from 'recharts';
4
4
 
5
5
  declare const THEMES: {
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentType, ReactNode, ComponentProps, JSX } from 'react';
2
+ import { ComponentProps, ComponentType, ReactNode, JSX } from 'react';
3
3
  import * as RechartsPrimitive from 'recharts';
4
4
 
5
5
  declare const THEMES: {
@@ -1,2 +1,2 @@
1
- "use client";import{a,b,c,d,e,f}from"../chunk-2XO4KTBF.js";import"../chunk-VPYH6JWS.js";export{a as ChartContainer,e as ChartLegend,f as ChartLegendContent,b as ChartStyle,c as ChartTooltip,d as ChartTooltipContent};
1
+ "use client";import{a,b,c,d,e,f}from"../chunk-WNXJ2WHS.js";import"../chunk-VPYH6JWS.js";export{a as ChartContainer,e as ChartLegend,f as ChartLegendContent,b as ChartStyle,c as ChartTooltip,d as ChartTooltipContent};
2
2
  //# sourceMappingURL=chart.js.map
@@ -1,5 +1,5 @@
1
1
  import * as react from 'react';
2
- import { ComponentPropsWithoutRef, HTMLAttributes, ComponentProps, JSX } from 'react';
2
+ import { HTMLAttributes, ComponentProps, JSX, ComponentPropsWithoutRef } from 'react';
3
3
  import { Command as Command$1 } from 'cmdk';
4
4
  import { Dialog } from './dialog.cjs';
5
5
  import '@radix-ui/react-dialog';