@hooxipartners/ui 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md ADDED
@@ -0,0 +1,3 @@
1
+ # React + TypeScript + Vite + shadcn/ui
2
+
3
+ This is a template for a new Vite project with React, TypeScript, and shadcn/ui.
package/dist/index.cjs ADDED
@@ -0,0 +1,2 @@
1
+ 'use strict';var radixUi=require('radix-ui'),clsx=require('clsx'),tailwindMerge=require('tailwind-merge'),classVarianceAuthority=require('class-variance-authority'),jsxRuntime=require('react/jsx-runtime'),I=require('react'),react=require('@base-ui/react'),react$1=require('@remixicon/react');function _interopNamespace(e){if(e&&e.__esModule)return e;var n=Object.create(null);if(e){Object.keys(e).forEach(function(k){if(k!=='default'){var d=Object.getOwnPropertyDescriptor(e,k);Object.defineProperty(n,k,d.get?d:{enumerable:true,get:function(){return e[k]}});}})}n.default=e;return Object.freeze(n)}var I__namespace=/*#__PURE__*/_interopNamespace(I);function o(...t){return tailwindMerge.twMerge(clsx.clsx(t))}var E=classVarianceAuthority.cva("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground",destructive:"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",lg:"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-9","icon-xs":"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function v({className:t,variant:e="default",size:a="default",asChild:r=false,...c}){let f=r?radixUi.Slot.Root:"button";return jsxRuntime.jsx(f,{"data-slot":"button","data-variant":e,"data-size":a,className:o(E({variant:e,size:a,className:t})),...c})}function St({...t}){return jsxRuntime.jsx(radixUi.AlertDialog.Root,{"data-slot":"alert-dialog",...t})}function Dt({...t}){return jsxRuntime.jsx(radixUi.AlertDialog.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function j({...t}){return jsxRuntime.jsx(radixUi.AlertDialog.Portal,{"data-slot":"alert-dialog-portal",...t})}function H({className:t,...e}){return jsxRuntime.jsx(radixUi.AlertDialog.Overlay,{"data-slot":"alert-dialog-overlay",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50",t),...e})}function It({className:t,size:e="default",...a}){return jsxRuntime.jsxs(j,{children:[jsxRuntime.jsx(H,{}),jsxRuntime.jsx(radixUi.AlertDialog.Content,{"data-slot":"alert-dialog-content","data-size":e,className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",t),...a})]})}function Mt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"alert-dialog-header",className:o("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...e})}function At({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"alert-dialog-footer",className:o("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...e})}function _t({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"alert-dialog-media",className:o("bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",t),...e})}function Vt({className:t,...e}){return jsxRuntime.jsx(radixUi.AlertDialog.Title,{"data-slot":"alert-dialog-title",className:o("text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...e})}function Tt({className:t,...e}){return jsxRuntime.jsx(radixUi.AlertDialog.Description,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",t),...e})}function Gt({className:t,variant:e="default",size:a="default",...r}){return jsxRuntime.jsx(v,{variant:e,size:a,asChild:true,children:jsxRuntime.jsx(radixUi.AlertDialog.Action,{"data-slot":"alert-dialog-action",className:o(t),...r})})}function Lt({className:t,variant:e="outline",size:a="default",...r}){return jsxRuntime.jsx(v,{variant:e,size:a,asChild:true,children:jsxRuntime.jsx(radixUi.AlertDialog.Cancel,{"data-slot":"alert-dialog-cancel",className:o(t),...r})})}var K=classVarianceAuthority.cva("h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function jt({className:t,variant:e="default",asChild:a=false,...r}){let c=a?radixUi.Slot.Root:"span";return jsxRuntime.jsx(c,{"data-slot":"badge","data-variant":e,className:o(K({variant:e}),t),...r})}function Jt({className:t,size:e="default",...a}){return jsxRuntime.jsx("div",{"data-slot":"card","data-size":e,className:o("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col",t),...a})}function Kt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-header",className:o("gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",t),...e})}function Qt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-title",className:o("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm",t),...e})}function Xt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-description",className:o("text-muted-foreground text-sm",t),...e})}function Yt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-action",className:o("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...e})}function Zt({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-content",className:o("px-6 group-data-[size=sm]/card:px-4",t),...e})}function $t({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"card-footer",className:o("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center",t),...e})}function R({className:t,type:e,...a}){return jsxRuntime.jsx("input",{type:e,"data-slot":"input",className:o("dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",t),...a})}function z({className:t,...e}){return jsxRuntime.jsx("textarea",{"data-slot":"textarea",className:o("border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",t),...e})}function k({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"input-group",role:"group",className:o("border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",t),...e})}var Z=classVarianceAuthority.cva("text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",{variants:{align:{"inline-start":"pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first","inline-end":"pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last","block-start":"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start","block-end":"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"}},defaultVariants:{align:"inline-start"}});function S({className:t,align:e="inline-start",...a}){return jsxRuntime.jsx("div",{role:"group","data-slot":"input-group-addon","data-align":e,className:o(Z({align:e}),t),onClick:r=>{r.target.closest("button")||r.currentTarget.parentElement?.querySelector("input")?.focus();},...a})}var $=classVarianceAuthority.cva("gap-2 text-sm shadow-none flex items-center",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",sm:"","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function w({className:t,type:e="button",variant:a="ghost",size:r="xs",...c}){return jsxRuntime.jsx(v,{type:e,"data-size":r,variant:a,className:o($({size:r}),t),...c})}function me({className:t,...e}){return jsxRuntime.jsx("span",{className:o("text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none",t),...e})}function D({className:t,...e}){return jsxRuntime.jsx(R,{"data-slot":"input-group-control",className:o("rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1",t),...e})}function fe({className:t,...e}){return jsxRuntime.jsx(z,{"data-slot":"input-group-control",className:o("rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none",t),...e})}var Ce=react.Combobox.Root;function ye({...t}){return jsxRuntime.jsx(react.Combobox.Value,{"data-slot":"combobox-value",...t})}function ot({className:t,children:e,...a}){return jsxRuntime.jsxs(react.Combobox.Trigger,{"data-slot":"combobox-trigger",className:o("[&_svg:not([class*='size-'])]:size-4",t),...a,children:[e,jsxRuntime.jsx(react$1.RiArrowDownSLine,{className:"text-muted-foreground size-4 pointer-events-none"})]})}function at({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Clear,{"data-slot":"combobox-clear",render:jsxRuntime.jsx(w,{variant:"ghost",size:"icon-xs"}),className:o(t),...e,children:jsxRuntime.jsx(react$1.RiCloseLine,{className:"pointer-events-none"})})}function Re({className:t,children:e,disabled:a=false,showTrigger:r=true,showClear:c=false,...f}){return jsxRuntime.jsxs(k,{className:o("w-auto",t),children:[jsxRuntime.jsx(react.Combobox.Input,{render:jsxRuntime.jsx(D,{disabled:a}),...f}),jsxRuntime.jsxs(S,{align:"inline-end",children:[r&&jsxRuntime.jsx(w,{size:"icon-xs",variant:"ghost",asChild:true,"data-slot":"input-group-button",className:"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent",disabled:a,children:jsxRuntime.jsx(ot,{})}),c&&jsxRuntime.jsx(at,{disabled:a})]}),e]})}function ze({className:t,side:e="bottom",sideOffset:a=6,align:r="start",alignOffset:c=0,anchor:f,...b}){return jsxRuntime.jsx(react.Combobox.Portal,{children:jsxRuntime.jsx(react.Combobox.Positioner,{side:e,sideOffset:a,align:r,alignOffset:c,anchor:f,className:"isolate z-50",children:jsxRuntime.jsx(react.Combobox.Popup,{"data-slot":"combobox-content","data-chips":!!f,className:o("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) data-[chips=true]:min-w-(--anchor-width)",t),...b})})})}function Ne({className:t,...e}){return jsxRuntime.jsx(react.Combobox.List,{"data-slot":"combobox-list",className:o("no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0 overflow-y-auto overscroll-contain",t),...e})}function ke({className:t,children:e,...a}){return jsxRuntime.jsxs(react.Combobox.Item,{"data-slot":"combobox-item",className:o("data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[e,jsxRuntime.jsx(react.Combobox.ItemIndicator,{render:jsxRuntime.jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:jsxRuntime.jsx(react$1.RiCheckLine,{className:"pointer-events-none"})})]})}function Se({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Group,{"data-slot":"combobox-group",className:o(t),...e})}function De({className:t,...e}){return jsxRuntime.jsx(react.Combobox.GroupLabel,{"data-slot":"combobox-label",className:o("text-muted-foreground px-2 py-1.5 text-xs",t),...e})}function Ie({...t}){return jsxRuntime.jsx(react.Combobox.Collection,{"data-slot":"combobox-collection",...t})}function Me({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Empty,{"data-slot":"combobox-empty",className:o("text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex",t),...e})}function Ae({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Separator,{"data-slot":"combobox-separator",className:o("bg-border -mx-1 my-1 h-px",t),...e})}function _e({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Chips,{"data-slot":"combobox-chips",className:o("dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5",t),...e})}function Ve({className:t,children:e,showRemove:a=true,...r}){return jsxRuntime.jsxs(react.Combobox.Chip,{"data-slot":"combobox-chip",className:o("bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50",t),...r,children:[e,a&&jsxRuntime.jsx(react.Combobox.ChipRemove,{render:jsxRuntime.jsx(v,{variant:"ghost",size:"icon-xs"}),className:"-ml-1 opacity-50 hover:opacity-100","data-slot":"combobox-chip-remove",children:jsxRuntime.jsx(react$1.RiCloseLine,{className:"pointer-events-none"})})]})}function Te({className:t,...e}){return jsxRuntime.jsx(react.Combobox.Input,{"data-slot":"combobox-chip-input",className:o("min-w-16 flex-1 outline-none",t),...e})}function Ge(){return I__namespace.useRef(null)}function Ue({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.Root,{"data-slot":"dropdown-menu",...t})}function je({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.Portal,{"data-slot":"dropdown-menu-portal",...t})}function He({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function qe({className:t,align:e="start",sideOffset:a=4,...r}){return jsxRuntime.jsx(radixUi.DropdownMenu.Portal,{children:jsxRuntime.jsx(radixUi.DropdownMenu.Content,{"data-slot":"dropdown-menu-content",sideOffset:a,align:e,className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden",t),...r})})}function We({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.Group,{"data-slot":"dropdown-menu-group",...t})}function Je({className:t,inset:e,variant:a="default",...r}){return jsxRuntime.jsx(radixUi.DropdownMenu.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":a,className:o("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r})}function Ke({className:t,children:e,checked:a,...r}){return jsxRuntime.jsxs(radixUi.DropdownMenu.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:o("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),checked:a,...r,children:[jsxRuntime.jsx("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-checkbox-item-indicator",children:jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator,{children:jsxRuntime.jsx(react$1.RiCheckLine,{})})}),e]})}function Qe({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}function Xe({className:t,children:e,...a}){return jsxRuntime.jsxs(radixUi.DropdownMenu.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:o("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[jsxRuntime.jsx("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-radio-item-indicator",children:jsxRuntime.jsx(radixUi.DropdownMenu.ItemIndicator,{children:jsxRuntime.jsx(react$1.RiCheckLine,{})})}),e]})}function Ye({className:t,inset:e,...a}){return jsxRuntime.jsx(radixUi.DropdownMenu.Label,{"data-slot":"dropdown-menu-label","data-inset":e,className:o("text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8",t),...a})}function Ze({className:t,...e}){return jsxRuntime.jsx(radixUi.DropdownMenu.Separator,{"data-slot":"dropdown-menu-separator",className:o("bg-border -mx-1 my-1 h-px",t),...e})}function $e({className:t,...e}){return jsxRuntime.jsx("span",{"data-slot":"dropdown-menu-shortcut",className:o("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",t),...e})}function to({...t}){return jsxRuntime.jsx(radixUi.DropdownMenu.Sub,{"data-slot":"dropdown-menu-sub",...t})}function eo({className:t,inset:e,children:a,...r}){return jsxRuntime.jsxs(radixUi.DropdownMenu.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":e,className:o("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r,children:[a,jsxRuntime.jsx(react$1.RiArrowRightSLine,{className:"ml-auto"})]})}function oo({className:t,...e}){return jsxRuntime.jsx(radixUi.DropdownMenu.SubContent,{"data-slot":"dropdown-menu-sub-content",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden",t),...e})}function _({className:t,...e}){return jsxRuntime.jsx(radixUi.Label.Root,{"data-slot":"label",className:o("gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",t),...e})}function V({className:t,orientation:e="horizontal",decorative:a=true,...r}){return jsxRuntime.jsx(radixUi.Separator.Root,{"data-slot":"separator",decorative:a,orientation:e,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch",t),...r})}function ho({className:t,...e}){return jsxRuntime.jsx("fieldset",{"data-slot":"field-set",className:o("gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col",t),...e})}function Po({className:t,variant:e="legend",...a}){return jsxRuntime.jsx("legend",{"data-slot":"field-legend","data-variant":e,className:o("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",t),...a})}function wo({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"field-group",className:o("gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",t),...e})}var ut=classVarianceAuthority.cva("data-[invalid=true]:text-destructive gap-3 group/field flex w-full",{variants:{orientation:{vertical:"flex-col [&>*]:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});function Co({className:t,orientation:e="vertical",...a}){return jsxRuntime.jsx("div",{role:"group","data-slot":"field","data-orientation":e,className:o(ut({orientation:e}),t),...a})}function yo({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"field-content",className:o("gap-1 group/field-content flex flex-1 flex-col leading-snug",t),...e})}function Ro({className:t,...e}){return jsxRuntime.jsx(_,{"data-slot":"field-label",className:o("has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",t),...e})}function zo({className:t,...e}){return jsxRuntime.jsx("div",{"data-slot":"field-label",className:o("gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug",t),...e})}function No({className:t,...e}){return jsxRuntime.jsx("p",{"data-slot":"field-description",className:o("text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",t),...e})}function ko({children:t,className:e,...a}){return jsxRuntime.jsxs("div",{"data-slot":"field-separator","data-content":!!t,className:o("-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative",e),...a,children:[jsxRuntime.jsx(V,{className:"absolute inset-0 top-1/2"}),t&&jsxRuntime.jsx("span",{className:"text-muted-foreground px-2 bg-background relative mx-auto block w-fit","data-slot":"field-separator-content",children:t})]})}function So({className:t,children:e,errors:a,...r}){let c=I.useMemo(()=>{if(e)return e;if(!a?.length)return null;let f=[...new Map(a.map(b=>[b?.message,b])).values()];return f?.length==1?f[0]?.message:jsxRuntime.jsx("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:f.map((b,G)=>b?.message&&jsxRuntime.jsx("li",{children:b.message},G))})},[e,a]);return c?jsxRuntime.jsx("div",{role:"alert","data-slot":"field-error",className:o("text-destructive text-sm font-normal",t),...r,children:c}):null}function Vo({...t}){return jsxRuntime.jsx(radixUi.Select.Root,{"data-slot":"select",...t})}function To({className:t,...e}){return jsxRuntime.jsx(radixUi.Select.Group,{"data-slot":"select-group",className:o("scroll-my-1 p-1",t),...e})}function Go({...t}){return jsxRuntime.jsx(radixUi.Select.Value,{"data-slot":"select-value",...t})}function Lo({className:t,size:e="default",children:a,...r}){return jsxRuntime.jsxs(radixUi.Select.Trigger,{"data-slot":"select-trigger","data-size":e,className:o("border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r,children:[a,jsxRuntime.jsx(radixUi.Select.Icon,{asChild:true,children:jsxRuntime.jsx(react$1.RiArrowDownSLine,{className:"text-muted-foreground size-4 pointer-events-none"})})]})}function Bo({className:t,children:e,position:a="item-aligned",align:r="center",...c}){return jsxRuntime.jsx(radixUi.Select.Portal,{children:jsxRuntime.jsxs(radixUi.Select.Content,{"data-slot":"select-content","data-align-trigger":a==="item-aligned",className:o("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none",a==="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",t),position:a,align:r,...c,children:[jsxRuntime.jsx(gt,{}),jsxRuntime.jsx(radixUi.Select.Viewport,{"data-position":a,className:o("data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",a==="popper"&&""),children:e}),jsxRuntime.jsx(bt,{})]})})}function Fo({className:t,...e}){return jsxRuntime.jsx(radixUi.Select.Label,{"data-slot":"select-label",className:o("text-muted-foreground px-2 py-1.5 text-xs",t),...e})}function Oo({className:t,children:e,...a}){return jsxRuntime.jsxs(radixUi.Select.Item,{"data-slot":"select-item",className:o("focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[jsxRuntime.jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:jsxRuntime.jsx(radixUi.Select.ItemIndicator,{children:jsxRuntime.jsx(react$1.RiCheckLine,{className:"pointer-events-none"})})}),jsxRuntime.jsx(radixUi.Select.ItemText,{children:e})]})}function Eo({className:t,...e}){return jsxRuntime.jsx(radixUi.Select.Separator,{"data-slot":"select-separator",className:o("bg-border -mx-1 my-1 h-px pointer-events-none",t),...e})}function gt({className:t,...e}){return jsxRuntime.jsx(radixUi.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...e,children:jsxRuntime.jsx(react$1.RiArrowUpSLine,{})})}function bt({className:t,...e}){return jsxRuntime.jsx(radixUi.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...e,children:jsxRuntime.jsx(react$1.RiArrowDownSLine,{})})}exports.AlertDialog=St;exports.AlertDialogAction=Gt;exports.AlertDialogCancel=Lt;exports.AlertDialogContent=It;exports.AlertDialogDescription=Tt;exports.AlertDialogFooter=At;exports.AlertDialogHeader=Mt;exports.AlertDialogMedia=_t;exports.AlertDialogOverlay=H;exports.AlertDialogPortal=j;exports.AlertDialogTitle=Vt;exports.AlertDialogTrigger=Dt;exports.Badge=jt;exports.Button=v;exports.Card=Jt;exports.CardAction=Yt;exports.CardContent=Zt;exports.CardDescription=Xt;exports.CardFooter=$t;exports.CardHeader=Kt;exports.CardTitle=Qt;exports.Combobox=Ce;exports.ComboboxChip=Ve;exports.ComboboxChips=_e;exports.ComboboxChipsInput=Te;exports.ComboboxCollection=Ie;exports.ComboboxContent=ze;exports.ComboboxEmpty=Me;exports.ComboboxGroup=Se;exports.ComboboxInput=Re;exports.ComboboxItem=ke;exports.ComboboxLabel=De;exports.ComboboxList=Ne;exports.ComboboxSeparator=Ae;exports.ComboboxTrigger=ot;exports.ComboboxValue=ye;exports.DropdownMenu=Ue;exports.DropdownMenuCheckboxItem=Ke;exports.DropdownMenuContent=qe;exports.DropdownMenuGroup=We;exports.DropdownMenuItem=Je;exports.DropdownMenuLabel=Ye;exports.DropdownMenuPortal=je;exports.DropdownMenuRadioGroup=Qe;exports.DropdownMenuRadioItem=Xe;exports.DropdownMenuSeparator=Ze;exports.DropdownMenuShortcut=$e;exports.DropdownMenuSub=to;exports.DropdownMenuSubContent=oo;exports.DropdownMenuSubTrigger=eo;exports.DropdownMenuTrigger=He;exports.Field=Co;exports.FieldContent=yo;exports.FieldDescription=No;exports.FieldError=So;exports.FieldGroup=wo;exports.FieldLabel=Ro;exports.FieldLegend=Po;exports.FieldSeparator=ko;exports.FieldSet=ho;exports.FieldTitle=zo;exports.Input=R;exports.InputGroup=k;exports.InputGroupAddon=S;exports.InputGroupButton=w;exports.InputGroupInput=D;exports.InputGroupText=me;exports.InputGroupTextarea=fe;exports.Label=_;exports.Select=Vo;exports.SelectContent=Bo;exports.SelectGroup=To;exports.SelectItem=Oo;exports.SelectLabel=Fo;exports.SelectScrollDownButton=bt;exports.SelectScrollUpButton=gt;exports.SelectSeparator=Eo;exports.SelectTrigger=Lo;exports.SelectValue=Go;exports.Separator=V;exports.Textarea=z;exports.badgeVariants=K;exports.buttonVariants=E;exports.cn=o;exports.useComboboxAnchor=Ge;//# sourceMappingURL=index.cjs.map
2
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/badge.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/textarea.tsx","../src/components/ui/input-group.tsx","../src/components/ui/combobox.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/separator.tsx","../src/components/ui/field.tsx","../src/components/ui/select.tsx"],"names":["cn","inputs","twMerge","clsx","buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","AlertDialog","AlertDialogPrimitive","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","jsxs","AlertDialogHeader","AlertDialogFooter","AlertDialogMedia","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","badgeVariants","Badge","Card","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter","Input","type","Textarea","InputGroup","inputGroupAddonVariants","InputGroupAddon","align","e","inputGroupButtonVariants","InputGroupButton","InputGroupText","InputGroupInput","InputGroupTextarea","Combobox","ComboboxPrimitive","ComboboxValue","ComboboxTrigger","children","RiArrowDownSLine","ComboboxClear","RiCloseLine","ComboboxInput","disabled","showTrigger","showClear","ComboboxContent","side","sideOffset","alignOffset","anchor","ComboboxList","ComboboxItem","RiCheckLine","ComboboxGroup","ComboboxLabel","ComboboxCollection","ComboboxEmpty","ComboboxSeparator","ComboboxChips","ComboboxChip","showRemove","ComboboxChipsInput","useComboboxAnchor","I","DropdownMenu","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","inset","DropdownMenuCheckboxItem","checked","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","RiArrowRightSLine","DropdownMenuSubContent","Label","LabelPrimitive","Separator","orientation","decorative","SeparatorPrimitive","FieldSet","FieldLegend","FieldGroup","fieldVariants","Field","FieldContent","FieldLabel","FieldTitle","FieldDescription","FieldSeparator","FieldError","errors","content","useMemo","uniqueErrors","error","index","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","SelectSeparator","RiArrowUpSLine"],"mappings":"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","file":"index.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline: \"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost: \"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n destructive: \"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\"bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary: \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n destructive: \"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20\",\n outline: \"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground\",\n ghost: \"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Textarea } from \"@/components/ui/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n \"inline-start\": \"pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first\",\n \"inline-end\": \"pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last\",\n \"block-start\":\n \"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start\",\n \"block-end\":\n \"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"gap-2 text-sm shadow-none flex items-center\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\"rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1\", className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\"rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none\", className)}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\nimport { RiArrowDownSLine, RiCloseLine, RiCheckLine } from \"@remixicon/react\"\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <RiArrowDownSLine className=\"text-muted-foreground size-4 pointer-events-none\" />\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <RiCloseLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n showTrigger = true,\n showClear = false,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean\n showClear?: boolean\n}) {\n return (\n <InputGroup className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={<InputGroupInput disabled={disabled} />}\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) data-[chips=true]:min-w-(--anchor-width)\", className )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n \"no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0 overflow-y-auto overscroll-contain\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <RiCheckLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n )\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\"dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50\",\n className\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <RiCloseLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({\n className,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\n \"min-w-16 flex-1 outline-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxEmpty,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n}\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { RiCheckLine, RiArrowRightSLine } from \"@remixicon/react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <RiCheckLine\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <RiCheckLine\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\"text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <RiArrowRightSLine className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","import { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\"gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\"data-[invalid=true]:text-destructive gap-3 group/field flex w-full\", {\n variants: {\n orientation: {\n vertical:\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"gap-1 group/field-content flex flex-1 flex-col leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\"-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative\", className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { RiArrowDownSLine, RiCheckLine, RiArrowUpSLine } from \"@remixicon/react\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <RiArrowDownSLine className=\"text-muted-foreground size-4 pointer-events-none\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none\", position ===\"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\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <RiCheckLine className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px pointer-events-none\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <RiArrowUpSLine\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <RiArrowDownSLine\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"]}
@@ -0,0 +1,152 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React$1 from 'react';
3
+ import { AlertDialog as AlertDialog$1, DropdownMenu as DropdownMenu$1, Label as Label$1, Select as Select$1, Separator as Separator$1 } from 'radix-ui';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Combobox as Combobox$1 } from '@base-ui/react';
7
+ import { ClassValue } from 'clsx';
8
+
9
+ declare const buttonVariants: (props?: ({
10
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
11
+ size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
12
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
13
+ declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
14
+ asChild?: boolean;
15
+ }): react_jsx_runtime.JSX.Element;
16
+
17
+ declare function AlertDialog({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Root>): react_jsx_runtime.JSX.Element;
18
+ declare function AlertDialogTrigger({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Trigger>): react_jsx_runtime.JSX.Element;
19
+ declare function AlertDialogPortal({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Portal>): react_jsx_runtime.JSX.Element;
20
+ declare function AlertDialogOverlay({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Overlay>): react_jsx_runtime.JSX.Element;
21
+ declare function AlertDialogContent({ className, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Content> & {
22
+ size?: "default" | "sm";
23
+ }): react_jsx_runtime.JSX.Element;
24
+ declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
25
+ declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
26
+ declare function AlertDialogMedia({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
27
+ declare function AlertDialogTitle({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime.JSX.Element;
28
+ declare function AlertDialogDescription({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime.JSX.Element;
29
+ declare function AlertDialogAction({ className, variant, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Action> & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
30
+ declare function AlertDialogCancel({ className, variant, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Cancel> & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
31
+
32
+ declare const badgeVariants: (props?: ({
33
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
34
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
35
+ declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
36
+ asChild?: boolean;
37
+ }): react_jsx_runtime.JSX.Element;
38
+
39
+ declare function Card({ className, size, ...props }: React$1.ComponentProps<"div"> & {
40
+ size?: "default" | "sm";
41
+ }): react_jsx_runtime.JSX.Element;
42
+ declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
43
+ declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
44
+ declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
45
+ declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
46
+ declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
47
+ declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
48
+
49
+ declare const Combobox: typeof Combobox$1.Root;
50
+ declare function ComboboxValue({ ...props }: Combobox$1.Value.Props): react_jsx_runtime.JSX.Element;
51
+ declare function ComboboxTrigger({ className, children, ...props }: Combobox$1.Trigger.Props): react_jsx_runtime.JSX.Element;
52
+ declare function ComboboxInput({ className, children, disabled, showTrigger, showClear, ...props }: Combobox$1.Input.Props & {
53
+ showTrigger?: boolean;
54
+ showClear?: boolean;
55
+ }): react_jsx_runtime.JSX.Element;
56
+ declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, ...props }: Combobox$1.Popup.Props & Pick<Combobox$1.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime.JSX.Element;
57
+ declare function ComboboxList({ className, ...props }: Combobox$1.List.Props): react_jsx_runtime.JSX.Element;
58
+ declare function ComboboxItem({ className, children, ...props }: Combobox$1.Item.Props): react_jsx_runtime.JSX.Element;
59
+ declare function ComboboxGroup({ className, ...props }: Combobox$1.Group.Props): react_jsx_runtime.JSX.Element;
60
+ declare function ComboboxLabel({ className, ...props }: Combobox$1.GroupLabel.Props): react_jsx_runtime.JSX.Element;
61
+ declare function ComboboxCollection({ ...props }: Combobox$1.Collection.Props): react_jsx_runtime.JSX.Element;
62
+ declare function ComboboxEmpty({ className, ...props }: Combobox$1.Empty.Props): react_jsx_runtime.JSX.Element;
63
+ declare function ComboboxSeparator({ className, ...props }: Combobox$1.Separator.Props): react_jsx_runtime.JSX.Element;
64
+ declare function ComboboxChips({ className, ...props }: React$1.ComponentPropsWithRef<typeof Combobox$1.Chips> & Combobox$1.Chips.Props): react_jsx_runtime.JSX.Element;
65
+ declare function ComboboxChip({ className, children, showRemove, ...props }: Combobox$1.Chip.Props & {
66
+ showRemove?: boolean;
67
+ }): react_jsx_runtime.JSX.Element;
68
+ declare function ComboboxChipsInput({ className, ...props }: Combobox$1.Input.Props): react_jsx_runtime.JSX.Element;
69
+ declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
70
+
71
+ declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Root>): react_jsx_runtime.JSX.Element;
72
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Portal>): react_jsx_runtime.JSX.Element;
73
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
74
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Content>): react_jsx_runtime.JSX.Element;
75
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Group>): react_jsx_runtime.JSX.Element;
76
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Item> & {
77
+ inset?: boolean;
78
+ variant?: "default" | "destructive";
79
+ }): react_jsx_runtime.JSX.Element;
80
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.CheckboxItem>): react_jsx_runtime.JSX.Element;
81
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioGroup>): react_jsx_runtime.JSX.Element;
82
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioItem>): react_jsx_runtime.JSX.Element;
83
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Label> & {
84
+ inset?: boolean;
85
+ }): react_jsx_runtime.JSX.Element;
86
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Separator>): react_jsx_runtime.JSX.Element;
87
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
88
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Sub>): react_jsx_runtime.JSX.Element;
89
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
90
+ inset?: boolean;
91
+ }): react_jsx_runtime.JSX.Element;
92
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubContent>): react_jsx_runtime.JSX.Element;
93
+
94
+ declare function Label({ className, ...props }: React$1.ComponentProps<typeof Label$1.Root>): react_jsx_runtime.JSX.Element;
95
+
96
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): react_jsx_runtime.JSX.Element;
97
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
98
+ variant?: "legend" | "label";
99
+ }): react_jsx_runtime.JSX.Element;
100
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
101
+ declare const fieldVariants: (props?: ({
102
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
103
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
104
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
105
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
106
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): react_jsx_runtime.JSX.Element;
107
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
108
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
109
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
110
+ children?: React.ReactNode;
111
+ }): react_jsx_runtime.JSX.Element;
112
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
113
+ errors?: Array<{
114
+ message?: string;
115
+ } | undefined>;
116
+ }): react_jsx_runtime.JSX.Element | null;
117
+
118
+ declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
119
+
120
+ declare function InputGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
121
+ declare const inputGroupAddonVariants: (props?: ({
122
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
123
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
124
+ declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
125
+ declare const inputGroupButtonVariants: (props?: ({
126
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
127
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
128
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime.JSX.Element;
129
+ declare function InputGroupText({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
130
+ declare function InputGroupInput({ className, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
131
+ declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
132
+
133
+ declare function Select({ ...props }: React$1.ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
134
+ declare function SelectGroup({ className, ...props }: React$1.ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
135
+ declare function SelectValue({ ...props }: React$1.ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
136
+ declare function SelectTrigger({ className, size, children, ...props }: React$1.ComponentProps<typeof Select$1.Trigger> & {
137
+ size?: "sm" | "default";
138
+ }): react_jsx_runtime.JSX.Element;
139
+ declare function SelectContent({ className, children, position, align, ...props }: React$1.ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
140
+ declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
141
+ declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
142
+ declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
143
+ declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
144
+ declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
145
+
146
+ declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
147
+
148
+ declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
149
+
150
+ declare function cn(...inputs: ClassValue[]): string;
151
+
152
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Textarea, badgeVariants, buttonVariants, cn, useComboboxAnchor };
@@ -0,0 +1,152 @@
1
+ import * as react_jsx_runtime from 'react/jsx-runtime';
2
+ import * as React$1 from 'react';
3
+ import { AlertDialog as AlertDialog$1, DropdownMenu as DropdownMenu$1, Label as Label$1, Select as Select$1, Separator as Separator$1 } from 'radix-ui';
4
+ import * as class_variance_authority_types from 'class-variance-authority/types';
5
+ import { VariantProps } from 'class-variance-authority';
6
+ import { Combobox as Combobox$1 } from '@base-ui/react';
7
+ import { ClassValue } from 'clsx';
8
+
9
+ declare const buttonVariants: (props?: ({
10
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
11
+ size?: "default" | "xs" | "sm" | "lg" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
12
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
13
+ declare function Button({ className, variant, size, asChild, ...props }: React$1.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
14
+ asChild?: boolean;
15
+ }): react_jsx_runtime.JSX.Element;
16
+
17
+ declare function AlertDialog({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Root>): react_jsx_runtime.JSX.Element;
18
+ declare function AlertDialogTrigger({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Trigger>): react_jsx_runtime.JSX.Element;
19
+ declare function AlertDialogPortal({ ...props }: React$1.ComponentProps<typeof AlertDialog$1.Portal>): react_jsx_runtime.JSX.Element;
20
+ declare function AlertDialogOverlay({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Overlay>): react_jsx_runtime.JSX.Element;
21
+ declare function AlertDialogContent({ className, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Content> & {
22
+ size?: "default" | "sm";
23
+ }): react_jsx_runtime.JSX.Element;
24
+ declare function AlertDialogHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
25
+ declare function AlertDialogFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
26
+ declare function AlertDialogMedia({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
27
+ declare function AlertDialogTitle({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Title>): react_jsx_runtime.JSX.Element;
28
+ declare function AlertDialogDescription({ className, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Description>): react_jsx_runtime.JSX.Element;
29
+ declare function AlertDialogAction({ className, variant, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Action> & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
30
+ declare function AlertDialogCancel({ className, variant, size, ...props }: React$1.ComponentProps<typeof AlertDialog$1.Cancel> & Pick<React$1.ComponentProps<typeof Button>, "variant" | "size">): react_jsx_runtime.JSX.Element;
31
+
32
+ declare const badgeVariants: (props?: ({
33
+ variant?: "default" | "outline" | "secondary" | "ghost" | "destructive" | "link" | null | undefined;
34
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
35
+ declare function Badge({ className, variant, asChild, ...props }: React$1.ComponentProps<"span"> & VariantProps<typeof badgeVariants> & {
36
+ asChild?: boolean;
37
+ }): react_jsx_runtime.JSX.Element;
38
+
39
+ declare function Card({ className, size, ...props }: React$1.ComponentProps<"div"> & {
40
+ size?: "default" | "sm";
41
+ }): react_jsx_runtime.JSX.Element;
42
+ declare function CardHeader({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
43
+ declare function CardTitle({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
44
+ declare function CardDescription({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
45
+ declare function CardAction({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
46
+ declare function CardContent({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
47
+ declare function CardFooter({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
48
+
49
+ declare const Combobox: typeof Combobox$1.Root;
50
+ declare function ComboboxValue({ ...props }: Combobox$1.Value.Props): react_jsx_runtime.JSX.Element;
51
+ declare function ComboboxTrigger({ className, children, ...props }: Combobox$1.Trigger.Props): react_jsx_runtime.JSX.Element;
52
+ declare function ComboboxInput({ className, children, disabled, showTrigger, showClear, ...props }: Combobox$1.Input.Props & {
53
+ showTrigger?: boolean;
54
+ showClear?: boolean;
55
+ }): react_jsx_runtime.JSX.Element;
56
+ declare function ComboboxContent({ className, side, sideOffset, align, alignOffset, anchor, ...props }: Combobox$1.Popup.Props & Pick<Combobox$1.Positioner.Props, "side" | "align" | "sideOffset" | "alignOffset" | "anchor">): react_jsx_runtime.JSX.Element;
57
+ declare function ComboboxList({ className, ...props }: Combobox$1.List.Props): react_jsx_runtime.JSX.Element;
58
+ declare function ComboboxItem({ className, children, ...props }: Combobox$1.Item.Props): react_jsx_runtime.JSX.Element;
59
+ declare function ComboboxGroup({ className, ...props }: Combobox$1.Group.Props): react_jsx_runtime.JSX.Element;
60
+ declare function ComboboxLabel({ className, ...props }: Combobox$1.GroupLabel.Props): react_jsx_runtime.JSX.Element;
61
+ declare function ComboboxCollection({ ...props }: Combobox$1.Collection.Props): react_jsx_runtime.JSX.Element;
62
+ declare function ComboboxEmpty({ className, ...props }: Combobox$1.Empty.Props): react_jsx_runtime.JSX.Element;
63
+ declare function ComboboxSeparator({ className, ...props }: Combobox$1.Separator.Props): react_jsx_runtime.JSX.Element;
64
+ declare function ComboboxChips({ className, ...props }: React$1.ComponentPropsWithRef<typeof Combobox$1.Chips> & Combobox$1.Chips.Props): react_jsx_runtime.JSX.Element;
65
+ declare function ComboboxChip({ className, children, showRemove, ...props }: Combobox$1.Chip.Props & {
66
+ showRemove?: boolean;
67
+ }): react_jsx_runtime.JSX.Element;
68
+ declare function ComboboxChipsInput({ className, ...props }: Combobox$1.Input.Props): react_jsx_runtime.JSX.Element;
69
+ declare function useComboboxAnchor(): React$1.RefObject<HTMLDivElement | null>;
70
+
71
+ declare function DropdownMenu({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Root>): react_jsx_runtime.JSX.Element;
72
+ declare function DropdownMenuPortal({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Portal>): react_jsx_runtime.JSX.Element;
73
+ declare function DropdownMenuTrigger({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Trigger>): react_jsx_runtime.JSX.Element;
74
+ declare function DropdownMenuContent({ className, align, sideOffset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Content>): react_jsx_runtime.JSX.Element;
75
+ declare function DropdownMenuGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Group>): react_jsx_runtime.JSX.Element;
76
+ declare function DropdownMenuItem({ className, inset, variant, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Item> & {
77
+ inset?: boolean;
78
+ variant?: "default" | "destructive";
79
+ }): react_jsx_runtime.JSX.Element;
80
+ declare function DropdownMenuCheckboxItem({ className, children, checked, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.CheckboxItem>): react_jsx_runtime.JSX.Element;
81
+ declare function DropdownMenuRadioGroup({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioGroup>): react_jsx_runtime.JSX.Element;
82
+ declare function DropdownMenuRadioItem({ className, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.RadioItem>): react_jsx_runtime.JSX.Element;
83
+ declare function DropdownMenuLabel({ className, inset, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Label> & {
84
+ inset?: boolean;
85
+ }): react_jsx_runtime.JSX.Element;
86
+ declare function DropdownMenuSeparator({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Separator>): react_jsx_runtime.JSX.Element;
87
+ declare function DropdownMenuShortcut({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
88
+ declare function DropdownMenuSub({ ...props }: React$1.ComponentProps<typeof DropdownMenu$1.Sub>): react_jsx_runtime.JSX.Element;
89
+ declare function DropdownMenuSubTrigger({ className, inset, children, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubTrigger> & {
90
+ inset?: boolean;
91
+ }): react_jsx_runtime.JSX.Element;
92
+ declare function DropdownMenuSubContent({ className, ...props }: React$1.ComponentProps<typeof DropdownMenu$1.SubContent>): react_jsx_runtime.JSX.Element;
93
+
94
+ declare function Label({ className, ...props }: React$1.ComponentProps<typeof Label$1.Root>): react_jsx_runtime.JSX.Element;
95
+
96
+ declare function FieldSet({ className, ...props }: React.ComponentProps<"fieldset">): react_jsx_runtime.JSX.Element;
97
+ declare function FieldLegend({ className, variant, ...props }: React.ComponentProps<"legend"> & {
98
+ variant?: "legend" | "label";
99
+ }): react_jsx_runtime.JSX.Element;
100
+ declare function FieldGroup({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
101
+ declare const fieldVariants: (props?: ({
102
+ orientation?: "horizontal" | "vertical" | "responsive" | null | undefined;
103
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
104
+ declare function Field({ className, orientation, ...props }: React.ComponentProps<"div"> & VariantProps<typeof fieldVariants>): react_jsx_runtime.JSX.Element;
105
+ declare function FieldContent({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
106
+ declare function FieldLabel({ className, ...props }: React.ComponentProps<typeof Label>): react_jsx_runtime.JSX.Element;
107
+ declare function FieldTitle({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
108
+ declare function FieldDescription({ className, ...props }: React.ComponentProps<"p">): react_jsx_runtime.JSX.Element;
109
+ declare function FieldSeparator({ children, className, ...props }: React.ComponentProps<"div"> & {
110
+ children?: React.ReactNode;
111
+ }): react_jsx_runtime.JSX.Element;
112
+ declare function FieldError({ className, children, errors, ...props }: React.ComponentProps<"div"> & {
113
+ errors?: Array<{
114
+ message?: string;
115
+ } | undefined>;
116
+ }): react_jsx_runtime.JSX.Element | null;
117
+
118
+ declare function Input({ className, type, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
119
+
120
+ declare function InputGroup({ className, ...props }: React$1.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
121
+ declare const inputGroupAddonVariants: (props?: ({
122
+ align?: "inline-start" | "inline-end" | "block-start" | "block-end" | null | undefined;
123
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
124
+ declare function InputGroupAddon({ className, align, ...props }: React$1.ComponentProps<"div"> & VariantProps<typeof inputGroupAddonVariants>): react_jsx_runtime.JSX.Element;
125
+ declare const inputGroupButtonVariants: (props?: ({
126
+ size?: "xs" | "sm" | "icon-xs" | "icon-sm" | null | undefined;
127
+ } & class_variance_authority_types.ClassProp) | undefined) => string;
128
+ declare function InputGroupButton({ className, type, variant, size, ...props }: Omit<React$1.ComponentProps<typeof Button>, "size"> & VariantProps<typeof inputGroupButtonVariants>): react_jsx_runtime.JSX.Element;
129
+ declare function InputGroupText({ className, ...props }: React$1.ComponentProps<"span">): react_jsx_runtime.JSX.Element;
130
+ declare function InputGroupInput({ className, ...props }: React$1.ComponentProps<"input">): react_jsx_runtime.JSX.Element;
131
+ declare function InputGroupTextarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
132
+
133
+ declare function Select({ ...props }: React$1.ComponentProps<typeof Select$1.Root>): react_jsx_runtime.JSX.Element;
134
+ declare function SelectGroup({ className, ...props }: React$1.ComponentProps<typeof Select$1.Group>): react_jsx_runtime.JSX.Element;
135
+ declare function SelectValue({ ...props }: React$1.ComponentProps<typeof Select$1.Value>): react_jsx_runtime.JSX.Element;
136
+ declare function SelectTrigger({ className, size, children, ...props }: React$1.ComponentProps<typeof Select$1.Trigger> & {
137
+ size?: "sm" | "default";
138
+ }): react_jsx_runtime.JSX.Element;
139
+ declare function SelectContent({ className, children, position, align, ...props }: React$1.ComponentProps<typeof Select$1.Content>): react_jsx_runtime.JSX.Element;
140
+ declare function SelectLabel({ className, ...props }: React$1.ComponentProps<typeof Select$1.Label>): react_jsx_runtime.JSX.Element;
141
+ declare function SelectItem({ className, children, ...props }: React$1.ComponentProps<typeof Select$1.Item>): react_jsx_runtime.JSX.Element;
142
+ declare function SelectSeparator({ className, ...props }: React$1.ComponentProps<typeof Select$1.Separator>): react_jsx_runtime.JSX.Element;
143
+ declare function SelectScrollUpButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollUpButton>): react_jsx_runtime.JSX.Element;
144
+ declare function SelectScrollDownButton({ className, ...props }: React$1.ComponentProps<typeof Select$1.ScrollDownButton>): react_jsx_runtime.JSX.Element;
145
+
146
+ declare function Separator({ className, orientation, decorative, ...props }: React$1.ComponentProps<typeof Separator$1.Root>): react_jsx_runtime.JSX.Element;
147
+
148
+ declare function Textarea({ className, ...props }: React$1.ComponentProps<"textarea">): react_jsx_runtime.JSX.Element;
149
+
150
+ declare function cn(...inputs: ClassValue[]): string;
151
+
152
+ export { AlertDialog, AlertDialogAction, AlertDialogCancel, AlertDialogContent, AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogMedia, AlertDialogOverlay, AlertDialogPortal, AlertDialogTitle, AlertDialogTrigger, Badge, Button, Card, CardAction, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, Combobox, ComboboxChip, ComboboxChips, ComboboxChipsInput, ComboboxCollection, ComboboxContent, ComboboxEmpty, ComboboxGroup, ComboboxInput, ComboboxItem, ComboboxLabel, ComboboxList, ComboboxSeparator, ComboboxTrigger, ComboboxValue, DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator, DropdownMenuShortcut, DropdownMenuSub, DropdownMenuSubContent, DropdownMenuSubTrigger, DropdownMenuTrigger, Field, FieldContent, FieldDescription, FieldError, FieldGroup, FieldLabel, FieldLegend, FieldSeparator, FieldSet, FieldTitle, Input, InputGroup, InputGroupAddon, InputGroupButton, InputGroupInput, InputGroupText, InputGroupTextarea, Label, Select, SelectContent, SelectGroup, SelectItem, SelectLabel, SelectScrollDownButton, SelectScrollUpButton, SelectSeparator, SelectTrigger, SelectValue, Separator, Textarea, badgeVariants, buttonVariants, cn, useComboboxAnchor };
package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ import {Slot,AlertDialog,DropdownMenu,Label,Separator,Select}from'radix-ui';import {clsx}from'clsx';import {twMerge}from'tailwind-merge';import {cva}from'class-variance-authority';import {jsx,jsxs}from'react/jsx-runtime';import*as I from'react';import {useMemo}from'react';import {Combobox}from'@base-ui/react';import {RiArrowDownSLine,RiCheckLine,RiCloseLine,RiArrowRightSLine,RiArrowUpSLine}from'@remixicon/react';function o(...t){return twMerge(clsx(t))}var E=cva("focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/80",outline:"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",ghost:"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground",destructive:"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",xs:"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",sm:"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5",lg:"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3",icon:"size-9","icon-xs":"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3","icon-sm":"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md","icon-lg":"size-10"}},defaultVariants:{variant:"default",size:"default"}});function v({className:t,variant:e="default",size:a="default",asChild:r=false,...c}){let f=r?Slot.Root:"button";return jsx(f,{"data-slot":"button","data-variant":e,"data-size":a,className:o(E({variant:e,size:a,className:t})),...c})}function St({...t}){return jsx(AlertDialog.Root,{"data-slot":"alert-dialog",...t})}function Dt({...t}){return jsx(AlertDialog.Trigger,{"data-slot":"alert-dialog-trigger",...t})}function j({...t}){return jsx(AlertDialog.Portal,{"data-slot":"alert-dialog-portal",...t})}function H({className:t,...e}){return jsx(AlertDialog.Overlay,{"data-slot":"alert-dialog-overlay",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50",t),...e})}function It({className:t,size:e="default",...a}){return jsxs(j,{children:[jsx(H,{}),jsx(AlertDialog.Content,{"data-slot":"alert-dialog-content","data-size":e,className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none",t),...a})]})}function Mt({className:t,...e}){return jsx("div",{"data-slot":"alert-dialog-header",className:o("grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]",t),...e})}function At({className:t,...e}){return jsx("div",{"data-slot":"alert-dialog-footer",className:o("flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end",t),...e})}function _t({className:t,...e}){return jsx("div",{"data-slot":"alert-dialog-media",className:o("bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8",t),...e})}function Vt({className:t,...e}){return jsx(AlertDialog.Title,{"data-slot":"alert-dialog-title",className:o("text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2",t),...e})}function Tt({className:t,...e}){return jsx(AlertDialog.Description,{"data-slot":"alert-dialog-description",className:o("text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3",t),...e})}function Gt({className:t,variant:e="default",size:a="default",...r}){return jsx(v,{variant:e,size:a,asChild:true,children:jsx(AlertDialog.Action,{"data-slot":"alert-dialog-action",className:o(t),...r})})}function Lt({className:t,variant:e="outline",size:a="default",...r}){return jsx(v,{variant:e,size:a,asChild:true,children:jsx(AlertDialog.Cancel,{"data-slot":"alert-dialog-cancel",className:o(t),...r})})}var K=cva("h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge",{variants:{variant:{default:"bg-primary text-primary-foreground [a]:hover:bg-primary/80",secondary:"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80",destructive:"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20",outline:"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground",ghost:"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50",link:"text-primary underline-offset-4 hover:underline"}},defaultVariants:{variant:"default"}});function jt({className:t,variant:e="default",asChild:a=false,...r}){let c=a?Slot.Root:"span";return jsx(c,{"data-slot":"badge","data-variant":e,className:o(K({variant:e}),t),...r})}function Jt({className:t,size:e="default",...a}){return jsx("div",{"data-slot":"card","data-size":e,className:o("ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col",t),...a})}function Kt({className:t,...e}){return jsx("div",{"data-slot":"card-header",className:o("gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]",t),...e})}function Qt({className:t,...e}){return jsx("div",{"data-slot":"card-title",className:o("text-base leading-normal font-medium group-data-[size=sm]/card:text-sm",t),...e})}function Xt({className:t,...e}){return jsx("div",{"data-slot":"card-description",className:o("text-muted-foreground text-sm",t),...e})}function Yt({className:t,...e}){return jsx("div",{"data-slot":"card-action",className:o("col-start-2 row-span-2 row-start-1 self-start justify-self-end",t),...e})}function Zt({className:t,...e}){return jsx("div",{"data-slot":"card-content",className:o("px-6 group-data-[size=sm]/card:px-4",t),...e})}function $t({className:t,...e}){return jsx("div",{"data-slot":"card-footer",className:o("rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center",t),...e})}function R({className:t,type:e,...a}){return jsx("input",{type:e,"data-slot":"input",className:o("dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50",t),...a})}function z({className:t,...e}){return jsx("textarea",{"data-slot":"textarea",className:o("border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50",t),...e})}function k({className:t,...e}){return jsx("div",{"data-slot":"input-group",role:"group",className:o("border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto",t),...e})}var Z=cva("text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none",{variants:{align:{"inline-start":"pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first","inline-end":"pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last","block-start":"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start","block-end":"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start"}},defaultVariants:{align:"inline-start"}});function S({className:t,align:e="inline-start",...a}){return jsx("div",{role:"group","data-slot":"input-group-addon","data-align":e,className:o(Z({align:e}),t),onClick:r=>{r.target.closest("button")||r.currentTarget.parentElement?.querySelector("input")?.focus();},...a})}var $=cva("gap-2 text-sm shadow-none flex items-center",{variants:{size:{xs:"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5",sm:"","icon-xs":"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0","icon-sm":"size-8 p-0 has-[>svg]:p-0"}},defaultVariants:{size:"xs"}});function w({className:t,type:e="button",variant:a="ghost",size:r="xs",...c}){return jsx(v,{type:e,"data-size":r,variant:a,className:o($({size:r}),t),...c})}function me({className:t,...e}){return jsx("span",{className:o("text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none",t),...e})}function D({className:t,...e}){return jsx(R,{"data-slot":"input-group-control",className:o("rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1",t),...e})}function fe({className:t,...e}){return jsx(z,{"data-slot":"input-group-control",className:o("rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none",t),...e})}var Ce=Combobox.Root;function ye({...t}){return jsx(Combobox.Value,{"data-slot":"combobox-value",...t})}function ot({className:t,children:e,...a}){return jsxs(Combobox.Trigger,{"data-slot":"combobox-trigger",className:o("[&_svg:not([class*='size-'])]:size-4",t),...a,children:[e,jsx(RiArrowDownSLine,{className:"text-muted-foreground size-4 pointer-events-none"})]})}function at({className:t,...e}){return jsx(Combobox.Clear,{"data-slot":"combobox-clear",render:jsx(w,{variant:"ghost",size:"icon-xs"}),className:o(t),...e,children:jsx(RiCloseLine,{className:"pointer-events-none"})})}function Re({className:t,children:e,disabled:a=false,showTrigger:r=true,showClear:c=false,...f}){return jsxs(k,{className:o("w-auto",t),children:[jsx(Combobox.Input,{render:jsx(D,{disabled:a}),...f}),jsxs(S,{align:"inline-end",children:[r&&jsx(w,{size:"icon-xs",variant:"ghost",asChild:true,"data-slot":"input-group-button",className:"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent",disabled:a,children:jsx(ot,{})}),c&&jsx(at,{disabled:a})]}),e]})}function ze({className:t,side:e="bottom",sideOffset:a=6,align:r="start",alignOffset:c=0,anchor:f,...b}){return jsx(Combobox.Portal,{children:jsx(Combobox.Positioner,{side:e,sideOffset:a,align:r,alignOffset:c,anchor:f,className:"isolate z-50",children:jsx(Combobox.Popup,{"data-slot":"combobox-content","data-chips":!!f,className:o("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) data-[chips=true]:min-w-(--anchor-width)",t),...b})})})}function Ne({className:t,...e}){return jsx(Combobox.List,{"data-slot":"combobox-list",className:o("no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0 overflow-y-auto overscroll-contain",t),...e})}function ke({className:t,children:e,...a}){return jsxs(Combobox.Item,{"data-slot":"combobox-item",className:o("data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[e,jsx(Combobox.ItemIndicator,{render:jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center"}),children:jsx(RiCheckLine,{className:"pointer-events-none"})})]})}function Se({className:t,...e}){return jsx(Combobox.Group,{"data-slot":"combobox-group",className:o(t),...e})}function De({className:t,...e}){return jsx(Combobox.GroupLabel,{"data-slot":"combobox-label",className:o("text-muted-foreground px-2 py-1.5 text-xs",t),...e})}function Ie({...t}){return jsx(Combobox.Collection,{"data-slot":"combobox-collection",...t})}function Me({className:t,...e}){return jsx(Combobox.Empty,{"data-slot":"combobox-empty",className:o("text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex",t),...e})}function Ae({className:t,...e}){return jsx(Combobox.Separator,{"data-slot":"combobox-separator",className:o("bg-border -mx-1 my-1 h-px",t),...e})}function _e({className:t,...e}){return jsx(Combobox.Chips,{"data-slot":"combobox-chips",className:o("dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5",t),...e})}function Ve({className:t,children:e,showRemove:a=true,...r}){return jsxs(Combobox.Chip,{"data-slot":"combobox-chip",className:o("bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50",t),...r,children:[e,a&&jsx(Combobox.ChipRemove,{render:jsx(v,{variant:"ghost",size:"icon-xs"}),className:"-ml-1 opacity-50 hover:opacity-100","data-slot":"combobox-chip-remove",children:jsx(RiCloseLine,{className:"pointer-events-none"})})]})}function Te({className:t,...e}){return jsx(Combobox.Input,{"data-slot":"combobox-chip-input",className:o("min-w-16 flex-1 outline-none",t),...e})}function Ge(){return I.useRef(null)}function Ue({...t}){return jsx(DropdownMenu.Root,{"data-slot":"dropdown-menu",...t})}function je({...t}){return jsx(DropdownMenu.Portal,{"data-slot":"dropdown-menu-portal",...t})}function He({...t}){return jsx(DropdownMenu.Trigger,{"data-slot":"dropdown-menu-trigger",...t})}function qe({className:t,align:e="start",sideOffset:a=4,...r}){return jsx(DropdownMenu.Portal,{children:jsx(DropdownMenu.Content,{"data-slot":"dropdown-menu-content",sideOffset:a,align:e,className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden",t),...r})})}function We({...t}){return jsx(DropdownMenu.Group,{"data-slot":"dropdown-menu-group",...t})}function Je({className:t,inset:e,variant:a="default",...r}){return jsx(DropdownMenu.Item,{"data-slot":"dropdown-menu-item","data-inset":e,"data-variant":a,className:o("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r})}function Ke({className:t,children:e,checked:a,...r}){return jsxs(DropdownMenu.CheckboxItem,{"data-slot":"dropdown-menu-checkbox-item",className:o("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),checked:a,...r,children:[jsx("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-checkbox-item-indicator",children:jsx(DropdownMenu.ItemIndicator,{children:jsx(RiCheckLine,{})})}),e]})}function Qe({...t}){return jsx(DropdownMenu.RadioGroup,{"data-slot":"dropdown-menu-radio-group",...t})}function Xe({className:t,children:e,...a}){return jsxs(DropdownMenu.RadioItem,{"data-slot":"dropdown-menu-radio-item",className:o("focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[jsx("span",{className:"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none","data-slot":"dropdown-menu-radio-item-indicator",children:jsx(DropdownMenu.ItemIndicator,{children:jsx(RiCheckLine,{})})}),e]})}function Ye({className:t,inset:e,...a}){return jsx(DropdownMenu.Label,{"data-slot":"dropdown-menu-label","data-inset":e,className:o("text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8",t),...a})}function Ze({className:t,...e}){return jsx(DropdownMenu.Separator,{"data-slot":"dropdown-menu-separator",className:o("bg-border -mx-1 my-1 h-px",t),...e})}function $e({className:t,...e}){return jsx("span",{"data-slot":"dropdown-menu-shortcut",className:o("text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest",t),...e})}function to({...t}){return jsx(DropdownMenu.Sub,{"data-slot":"dropdown-menu-sub",...t})}function eo({className:t,inset:e,children:a,...r}){return jsxs(DropdownMenu.SubTrigger,{"data-slot":"dropdown-menu-sub-trigger","data-inset":e,className:o("focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r,children:[a,jsx(RiArrowRightSLine,{className:"ml-auto"})]})}function oo({className:t,...e}){return jsx(DropdownMenu.SubContent,{"data-slot":"dropdown-menu-sub-content",className:o("data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden",t),...e})}function _({className:t,...e}){return jsx(Label.Root,{"data-slot":"label",className:o("gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed",t),...e})}function V({className:t,orientation:e="horizontal",decorative:a=true,...r}){return jsx(Separator.Root,{"data-slot":"separator",decorative:a,orientation:e,className:o("bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch",t),...r})}function ho({className:t,...e}){return jsx("fieldset",{"data-slot":"field-set",className:o("gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col",t),...e})}function Po({className:t,variant:e="legend",...a}){return jsx("legend",{"data-slot":"field-legend","data-variant":e,className:o("mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base",t),...a})}function wo({className:t,...e}){return jsx("div",{"data-slot":"field-group",className:o("gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col",t),...e})}var ut=cva("data-[invalid=true]:text-destructive gap-3 group/field flex w-full",{variants:{orientation:{vertical:"flex-col [&>*]:w-full [&>.sr-only]:w-auto",horizontal:"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px",responsive:"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px"}},defaultVariants:{orientation:"vertical"}});function Co({className:t,orientation:e="vertical",...a}){return jsx("div",{role:"group","data-slot":"field","data-orientation":e,className:o(ut({orientation:e}),t),...a})}function yo({className:t,...e}){return jsx("div",{"data-slot":"field-content",className:o("gap-1 group/field-content flex flex-1 flex-col leading-snug",t),...e})}function Ro({className:t,...e}){return jsx(_,{"data-slot":"field-label",className:o("has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug","has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col",t),...e})}function zo({className:t,...e}){return jsx("div",{"data-slot":"field-label",className:o("gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug",t),...e})}function No({className:t,...e}){return jsx("p",{"data-slot":"field-description",className:o("text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance","last:mt-0 nth-last-2:-mt-1","[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4",t),...e})}function ko({children:t,className:e,...a}){return jsxs("div",{"data-slot":"field-separator","data-content":!!t,className:o("-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative",e),...a,children:[jsx(V,{className:"absolute inset-0 top-1/2"}),t&&jsx("span",{className:"text-muted-foreground px-2 bg-background relative mx-auto block w-fit","data-slot":"field-separator-content",children:t})]})}function So({className:t,children:e,errors:a,...r}){let c=useMemo(()=>{if(e)return e;if(!a?.length)return null;let f=[...new Map(a.map(b=>[b?.message,b])).values()];return f?.length==1?f[0]?.message:jsx("ul",{className:"ml-4 flex list-disc flex-col gap-1",children:f.map((b,G)=>b?.message&&jsx("li",{children:b.message},G))})},[e,a]);return c?jsx("div",{role:"alert","data-slot":"field-error",className:o("text-destructive text-sm font-normal",t),...r,children:c}):null}function Vo({...t}){return jsx(Select.Root,{"data-slot":"select",...t})}function To({className:t,...e}){return jsx(Select.Group,{"data-slot":"select-group",className:o("scroll-my-1 p-1",t),...e})}function Go({...t}){return jsx(Select.Value,{"data-slot":"select-value",...t})}function Lo({className:t,size:e="default",children:a,...r}){return jsxs(Select.Trigger,{"data-slot":"select-trigger","data-size":e,className:o("border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...r,children:[a,jsx(Select.Icon,{asChild:true,children:jsx(RiArrowDownSLine,{className:"text-muted-foreground size-4 pointer-events-none"})})]})}function Bo({className:t,children:e,position:a="item-aligned",align:r="center",...c}){return jsx(Select.Portal,{children:jsxs(Select.Content,{"data-slot":"select-content","data-align-trigger":a==="item-aligned",className:o("bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none",a==="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",t),position:a,align:r,...c,children:[jsx(gt,{}),jsx(Select.Viewport,{"data-position":a,className:o("data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]",a==="popper"&&""),children:e}),jsx(bt,{})]})})}function Fo({className:t,...e}){return jsx(Select.Label,{"data-slot":"select-label",className:o("text-muted-foreground px-2 py-1.5 text-xs",t),...e})}function Oo({className:t,children:e,...a}){return jsxs(Select.Item,{"data-slot":"select-item",className:o("focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0",t),...a,children:[jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:jsx(Select.ItemIndicator,{children:jsx(RiCheckLine,{className:"pointer-events-none"})})}),jsx(Select.ItemText,{children:e})]})}function Eo({className:t,...e}){return jsx(Select.Separator,{"data-slot":"select-separator",className:o("bg-border -mx-1 my-1 h-px pointer-events-none",t),...e})}function gt({className:t,...e}){return jsx(Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...e,children:jsx(RiArrowUpSLine,{})})}function bt({className:t,...e}){return jsx(Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o("bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4",t),...e,children:jsx(RiArrowDownSLine,{})})}export{St as AlertDialog,Gt as AlertDialogAction,Lt as AlertDialogCancel,It as AlertDialogContent,Tt as AlertDialogDescription,At as AlertDialogFooter,Mt as AlertDialogHeader,_t as AlertDialogMedia,H as AlertDialogOverlay,j as AlertDialogPortal,Vt as AlertDialogTitle,Dt as AlertDialogTrigger,jt as Badge,v as Button,Jt as Card,Yt as CardAction,Zt as CardContent,Xt as CardDescription,$t as CardFooter,Kt as CardHeader,Qt as CardTitle,Ce as Combobox,Ve as ComboboxChip,_e as ComboboxChips,Te as ComboboxChipsInput,Ie as ComboboxCollection,ze as ComboboxContent,Me as ComboboxEmpty,Se as ComboboxGroup,Re as ComboboxInput,ke as ComboboxItem,De as ComboboxLabel,Ne as ComboboxList,Ae as ComboboxSeparator,ot as ComboboxTrigger,ye as ComboboxValue,Ue as DropdownMenu,Ke as DropdownMenuCheckboxItem,qe as DropdownMenuContent,We as DropdownMenuGroup,Je as DropdownMenuItem,Ye as DropdownMenuLabel,je as DropdownMenuPortal,Qe as DropdownMenuRadioGroup,Xe as DropdownMenuRadioItem,Ze as DropdownMenuSeparator,$e as DropdownMenuShortcut,to as DropdownMenuSub,oo as DropdownMenuSubContent,eo as DropdownMenuSubTrigger,He as DropdownMenuTrigger,Co as Field,yo as FieldContent,No as FieldDescription,So as FieldError,wo as FieldGroup,Ro as FieldLabel,Po as FieldLegend,ko as FieldSeparator,ho as FieldSet,zo as FieldTitle,R as Input,k as InputGroup,S as InputGroupAddon,w as InputGroupButton,D as InputGroupInput,me as InputGroupText,fe as InputGroupTextarea,_ as Label,Vo as Select,Bo as SelectContent,To as SelectGroup,Oo as SelectItem,Fo as SelectLabel,bt as SelectScrollDownButton,gt as SelectScrollUpButton,Eo as SelectSeparator,Lo as SelectTrigger,Go as SelectValue,V as Separator,z as Textarea,K as badgeVariants,E as buttonVariants,o as cn,Ge as useComboboxAnchor};//# sourceMappingURL=index.js.map
2
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/lib/utils.ts","../src/components/ui/button.tsx","../src/components/ui/alert-dialog.tsx","../src/components/ui/badge.tsx","../src/components/ui/card.tsx","../src/components/ui/input.tsx","../src/components/ui/textarea.tsx","../src/components/ui/input-group.tsx","../src/components/ui/combobox.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/ui/label.tsx","../src/components/ui/separator.tsx","../src/components/ui/field.tsx","../src/components/ui/select.tsx"],"names":["cn","inputs","twMerge","clsx","buttonVariants","cva","Button","className","variant","size","asChild","props","Comp","Slot","jsx","AlertDialog","AlertDialogPrimitive","AlertDialogTrigger","AlertDialogPortal","AlertDialogOverlay","AlertDialogContent","jsxs","AlertDialogHeader","AlertDialogFooter","AlertDialogMedia","AlertDialogTitle","AlertDialogDescription","AlertDialogAction","AlertDialogCancel","badgeVariants","Badge","Card","CardHeader","CardTitle","CardDescription","CardAction","CardContent","CardFooter","Input","type","Textarea","InputGroup","inputGroupAddonVariants","InputGroupAddon","align","e","inputGroupButtonVariants","InputGroupButton","InputGroupText","InputGroupInput","InputGroupTextarea","Combobox","ComboboxPrimitive","ComboboxValue","ComboboxTrigger","children","RiArrowDownSLine","ComboboxClear","RiCloseLine","ComboboxInput","disabled","showTrigger","showClear","ComboboxContent","side","sideOffset","alignOffset","anchor","ComboboxList","ComboboxItem","RiCheckLine","ComboboxGroup","ComboboxLabel","ComboboxCollection","ComboboxEmpty","ComboboxSeparator","ComboboxChips","ComboboxChip","showRemove","ComboboxChipsInput","useComboboxAnchor","DropdownMenu","DropdownMenuPrimitive","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","DropdownMenuGroup","DropdownMenuItem","inset","DropdownMenuCheckboxItem","checked","DropdownMenuRadioGroup","DropdownMenuRadioItem","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","RiArrowRightSLine","DropdownMenuSubContent","Label","LabelPrimitive","Separator","orientation","decorative","SeparatorPrimitive","FieldSet","FieldLegend","FieldGroup","fieldVariants","Field","FieldContent","FieldLabel","FieldTitle","FieldDescription","FieldSeparator","FieldError","errors","content","useMemo","uniqueErrors","error","index","Select","SelectPrimitive","SelectGroup","SelectValue","SelectTrigger","SelectContent","position","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","SelectSeparator","RiArrowUpSLine"],"mappings":"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","file":"index.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border border-transparent bg-clip-padding text-sm font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] [&_svg:not([class*='size-'])]:size-4 inline-flex items-center justify-center whitespace-nowrap transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none shrink-0 [&_svg]:shrink-0 outline-none group/button select-none\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/80\",\n outline: \"border-border bg-background hover:bg-muted hover:text-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50 aria-expanded:bg-muted aria-expanded:text-foreground shadow-xs\",\n secondary: \"bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground\",\n ghost: \"hover:bg-muted hover:text-foreground dark:hover:bg-muted/50 aria-expanded:bg-muted aria-expanded:text-foreground\",\n destructive: \"bg-destructive/10 hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/20 text-destructive focus-visible:border-destructive/40 dark:hover:bg-destructive/30\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 gap-1.5 px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2\",\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),8px)] px-2 text-xs in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),10px)] px-2.5 in-data-[slot=button-group]:rounded-md has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5\",\n lg: \"h-10 gap-1.5 px-2.5 has-data-[icon=inline-end]:pr-3 has-data-[icon=inline-start]:pl-3\",\n icon: \"size-9\",\n \"icon-xs\": \"size-6 rounded-[min(var(--radius-md),8px)] in-data-[slot=button-group]:rounded-md [&_svg:not([class*='size-'])]:size-3\",\n \"icon-sm\": \"size-8 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-md\",\n \"icon-lg\": \"size-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nfunction Button({\n className,\n variant = \"default\",\n size = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"button\"> &\n VariantProps<typeof buttonVariants> & {\n asChild?: boolean\n }) {\n const Comp = asChild ? Slot.Root : \"button\"\n\n return (\n <Comp\n data-slot=\"button\"\n data-variant={variant}\n data-size={size}\n className={cn(buttonVariants({ variant, size, className }))}\n {...props}\n />\n )\n}\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\nimport { AlertDialog as AlertDialogPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\n\nfunction AlertDialog({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Root>) {\n return <AlertDialogPrimitive.Root data-slot=\"alert-dialog\" {...props} />\n}\n\nfunction AlertDialogTrigger({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Trigger>) {\n return (\n <AlertDialogPrimitive.Trigger data-slot=\"alert-dialog-trigger\" {...props} />\n )\n}\n\nfunction AlertDialogPortal({\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Portal>) {\n return (\n <AlertDialogPrimitive.Portal data-slot=\"alert-dialog-portal\" {...props} />\n )\n}\n\nfunction AlertDialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Overlay>) {\n return (\n <AlertDialogPrimitive.Overlay\n data-slot=\"alert-dialog-overlay\"\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 bg-black/10 duration-100 supports-backdrop-filter:backdrop-blur-xs fixed inset-0 z-50\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogContent({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Content> & {\n size?: \"default\" | \"sm\"\n}) {\n return (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n data-slot=\"alert-dialog-content\"\n data-size={size}\n className={cn(\n \"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 bg-background ring-foreground/10 gap-6 rounded-xl p-6 ring-1 duration-100 data-[size=default]:max-w-xs data-[size=sm]:max-w-xs data-[size=default]:sm:max-w-lg group/alert-dialog-content fixed top-1/2 left-1/2 z-50 grid w-full -translate-x-1/2 -translate-y-1/2 outline-none\",\n className\n )}\n {...props}\n />\n </AlertDialogPortal>\n )\n}\n\nfunction AlertDialogHeader({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-header\"\n className={cn(\"grid grid-rows-[auto_1fr] place-items-center gap-1.5 text-center has-data-[slot=alert-dialog-media]:grid-rows-[auto_auto_1fr] has-data-[slot=alert-dialog-media]:gap-x-6 sm:group-data-[size=default]/alert-dialog-content:place-items-start sm:group-data-[size=default]/alert-dialog-content:text-left sm:group-data-[size=default]/alert-dialog-content:has-data-[slot=alert-dialog-media]:grid-rows-[auto_1fr]\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogFooter({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-footer\"\n className={cn(\n \"flex flex-col-reverse gap-2 group-data-[size=sm]/alert-dialog-content:grid group-data-[size=sm]/alert-dialog-content:grid-cols-2 sm:flex-row sm:justify-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction AlertDialogMedia({\n className,\n ...props\n}: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"alert-dialog-media\"\n className={cn(\"bg-muted mb-2 inline-flex size-16 items-center justify-center rounded-md sm:group-data-[size=default]/alert-dialog-content:row-span-2 *:[svg:not([class*='size-'])]:size-8\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogTitle({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Title>) {\n return (\n <AlertDialogPrimitive.Title\n data-slot=\"alert-dialog-title\"\n className={cn(\"text-lg font-medium sm:group-data-[size=default]/alert-dialog-content:group-has-data-[slot=alert-dialog-media]/alert-dialog-content:col-start-2\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Description>) {\n return (\n <AlertDialogPrimitive.Description\n data-slot=\"alert-dialog-description\"\n className={cn(\"text-muted-foreground *:[a]:hover:text-foreground text-sm text-balance md:text-pretty *:[a]:underline *:[a]:underline-offset-3\", className)}\n {...props}\n />\n )\n}\n\nfunction AlertDialogAction({\n className,\n variant = \"default\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Action> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Action\n data-slot=\"alert-dialog-action\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nfunction AlertDialogCancel({\n className,\n variant = \"outline\",\n size = \"default\",\n ...props\n}: React.ComponentProps<typeof AlertDialogPrimitive.Cancel> &\n Pick<React.ComponentProps<typeof Button>, \"variant\" | \"size\">) {\n return (\n <Button variant={variant} size={size} asChild>\n <AlertDialogPrimitive.Cancel\n data-slot=\"alert-dialog-cancel\"\n className={cn(className)}\n {...props}\n />\n </Button>\n )\n}\n\nexport {\n AlertDialog,\n AlertDialogAction,\n AlertDialogCancel,\n AlertDialogContent,\n AlertDialogDescription,\n AlertDialogFooter,\n AlertDialogHeader,\n AlertDialogMedia,\n AlertDialogOverlay,\n AlertDialogPortal,\n AlertDialogTitle,\n AlertDialogTrigger,\n}\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { Slot } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst badgeVariants = cva(\n \"h-5 gap-1 rounded-4xl border border-transparent px-2 py-0.5 text-xs font-medium transition-all has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&>svg]:size-3! inline-flex items-center justify-center w-fit whitespace-nowrap shrink-0 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive overflow-hidden group/badge\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground [a]:hover:bg-primary/80\",\n secondary: \"bg-secondary text-secondary-foreground [a]:hover:bg-secondary/80\",\n destructive: \"bg-destructive/10 [a]:hover:bg-destructive/20 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 text-destructive dark:bg-destructive/20\",\n outline: \"border-border text-foreground [a]:hover:bg-muted [a]:hover:text-muted-foreground\",\n ghost: \"hover:bg-muted hover:text-muted-foreground dark:hover:bg-muted/50\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nfunction Badge({\n className,\n variant = \"default\",\n asChild = false,\n ...props\n}: React.ComponentProps<\"span\"> &\n VariantProps<typeof badgeVariants> & { asChild?: boolean }) {\n const Comp = asChild ? Slot.Root : \"span\"\n\n return (\n <Comp\n data-slot=\"badge\"\n data-variant={variant}\n className={cn(badgeVariants({ variant }), className)}\n {...props}\n />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Card({\n className,\n size = \"default\",\n ...props\n}: React.ComponentProps<\"div\"> & { size?: \"default\" | \"sm\" }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\"ring-foreground/10 bg-card text-card-foreground gap-6 overflow-hidden rounded-xl py-6 text-sm shadow-xs ring-1 has-[>img:first-child]:pt-0 data-[size=sm]:gap-4 data-[size=sm]:py-4 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl group/card flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n \"gap-1 rounded-t-xl px-6 group-data-[size=sm]/card:px-4 [.border-b]:pb-6 group-data-[size=sm]/card:[.border-b]:pb-4 group/card-header @container/card-header grid auto-rows-min items-start has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto]\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn(\"text-base leading-normal font-medium group-data-[size=sm]/card:text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n )\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn(\n \"col-start-2 row-span-2 row-start-1 self-start justify-self-end\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-content\"\n className={cn(\"px-6 group-data-[size=sm]/card:px-4\", className)}\n {...props}\n />\n )\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn(\"rounded-b-xl px-6 group-data-[size=sm]/card:px-4 [.border-t]:pt-6 group-data-[size=sm]/card:[.border-t]:pt-4 flex items-center\", className)}\n {...props}\n />\n )\n}\n\nexport {\n Card,\n CardHeader,\n CardFooter,\n CardTitle,\n CardAction,\n CardDescription,\n CardContent,\n}\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Input({ className, type, ...props }: React.ComponentProps<\"input\">) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n \"dark:bg-input/30 border-input focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 h-9 rounded-md border bg-transparent px-2.5 py-1 text-base shadow-xs transition-[color,box-shadow] file:h-7 file:text-sm file:font-medium focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm file:text-foreground placeholder:text-muted-foreground w-full min-w-0 outline-none file:inline-flex file:border-0 file:bg-transparent disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Input }\n","import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"border-input dark:bg-input/30 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 rounded-md border bg-transparent px-2.5 py-2 text-base shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] md:text-sm placeholder:text-muted-foreground flex field-sizing-content min-h-16 w-full outline-none disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport { Input } from \"@/components/ui/input\"\nimport { Textarea } from \"@/components/ui/textarea\"\n\nfunction InputGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"input-group\"\n role=\"group\"\n className={cn(\n \"border-input dark:bg-input/30 has-[[data-slot=input-group-control]:focus-visible]:border-ring has-[[data-slot=input-group-control]:focus-visible]:ring-ring/50 has-[[data-slot][aria-invalid=true]]:ring-destructive/20 has-[[data-slot][aria-invalid=true]]:border-destructive dark:has-[[data-slot][aria-invalid=true]]:ring-destructive/40 h-9 rounded-md border shadow-xs transition-[color,box-shadow] has-[[data-slot=input-group-control]:focus-visible]:ring-[3px] has-[[data-slot][aria-invalid=true]]:ring-[3px] has-[>[data-align=block-end]]:h-auto has-[>[data-align=block-end]]:flex-col has-[>[data-align=block-start]]:h-auto has-[>[data-align=block-start]]:flex-col has-[>[data-align=block-end]]:[&>input]:pt-3 has-[>[data-align=block-start]]:[&>input]:pb-3 has-[>[data-align=inline-end]]:[&>input]:pr-1.5 has-[>[data-align=inline-start]]:[&>input]:pl-1.5 [[data-slot=combobox-content]_&]:focus-within:border-inherit [[data-slot=combobox-content]_&]:focus-within:ring-0 group/input-group relative flex w-full min-w-0 items-center outline-none has-[>textarea]:h-auto\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst inputGroupAddonVariants = cva(\n \"text-muted-foreground h-auto gap-2 py-1.5 text-sm font-medium group-data-[disabled=true]/input-group:opacity-50 [&>kbd]:rounded-[calc(var(--radius)-5px)] [&>svg:not([class*='size-'])]:size-4 flex cursor-text items-center justify-center select-none\",\n {\n variants: {\n align: {\n \"inline-start\": \"pl-2 has-[>button]:ml-[-0.25rem] has-[>kbd]:ml-[-0.15rem] order-first\",\n \"inline-end\": \"pr-2 has-[>button]:mr-[-0.25rem] has-[>kbd]:mr-[-0.15rem] order-last\",\n \"block-start\":\n \"px-2.5 pt-2 group-has-[>input]/input-group:pt-2 [.border-b]:pb-2 order-first w-full justify-start\",\n \"block-end\":\n \"px-2.5 pb-2 group-has-[>input]/input-group:pb-2 [.border-t]:pt-2 order-last w-full justify-start\",\n },\n },\n defaultVariants: {\n align: \"inline-start\",\n },\n }\n)\n\nfunction InputGroupAddon({\n className,\n align = \"inline-start\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof inputGroupAddonVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"input-group-addon\"\n data-align={align}\n className={cn(inputGroupAddonVariants({ align }), className)}\n onClick={(e) => {\n if ((e.target as HTMLElement).closest(\"button\")) {\n return\n }\n e.currentTarget.parentElement?.querySelector(\"input\")?.focus()\n }}\n {...props}\n />\n )\n}\n\nconst inputGroupButtonVariants = cva(\n \"gap-2 text-sm shadow-none flex items-center\",\n {\n variants: {\n size: {\n xs: \"h-6 gap-1 rounded-[calc(var(--radius)-5px)] px-1.5 [&>svg:not([class*='size-'])]:size-3.5\",\n sm: \"\",\n \"icon-xs\": \"size-6 rounded-[calc(var(--radius)-5px)] p-0 has-[>svg]:p-0\",\n \"icon-sm\": \"size-8 p-0 has-[>svg]:p-0\",\n },\n },\n defaultVariants: {\n size: \"xs\",\n },\n }\n)\n\nfunction InputGroupButton({\n className,\n type = \"button\",\n variant = \"ghost\",\n size = \"xs\",\n ...props\n}: Omit<React.ComponentProps<typeof Button>, \"size\"> &\n VariantProps<typeof inputGroupButtonVariants>) {\n return (\n <Button\n type={type}\n data-size={size}\n variant={variant}\n className={cn(inputGroupButtonVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupText({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n className={cn(\n \"text-muted-foreground gap-2 text-sm [&_svg:not([class*='size-'])]:size-4 flex items-center [&_svg]:pointer-events-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction InputGroupInput({\n className,\n ...props\n}: React.ComponentProps<\"input\">) {\n return (\n <Input\n data-slot=\"input-group-control\"\n className={cn(\"rounded-none border-0 bg-transparent shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1\", className)}\n {...props}\n />\n )\n}\n\nfunction InputGroupTextarea({\n className,\n ...props\n}: React.ComponentProps<\"textarea\">) {\n return (\n <Textarea\n data-slot=\"input-group-control\"\n className={cn(\"rounded-none border-0 bg-transparent py-2 shadow-none ring-0 focus-visible:ring-0 aria-invalid:ring-0 dark:bg-transparent flex-1 resize-none\", className)}\n {...props}\n />\n )\n}\n\nexport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupText,\n InputGroupInput,\n InputGroupTextarea,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Combobox as ComboboxPrimitive } from \"@base-ui/react\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n InputGroup,\n InputGroupAddon,\n InputGroupButton,\n InputGroupInput,\n} from \"@/components/ui/input-group\"\nimport { RiArrowDownSLine, RiCloseLine, RiCheckLine } from \"@remixicon/react\"\n\nconst Combobox = ComboboxPrimitive.Root\n\nfunction ComboboxValue({ ...props }: ComboboxPrimitive.Value.Props) {\n return <ComboboxPrimitive.Value data-slot=\"combobox-value\" {...props} />\n}\n\nfunction ComboboxTrigger({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Trigger.Props) {\n return (\n <ComboboxPrimitive.Trigger\n data-slot=\"combobox-trigger\"\n className={cn(\"[&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n {children}\n <RiArrowDownSLine className=\"text-muted-foreground size-4 pointer-events-none\" />\n </ComboboxPrimitive.Trigger>\n )\n}\n\nfunction ComboboxClear({ className, ...props }: ComboboxPrimitive.Clear.Props) {\n return (\n <ComboboxPrimitive.Clear\n data-slot=\"combobox-clear\"\n render={<InputGroupButton variant=\"ghost\" size=\"icon-xs\" />}\n className={cn(className)}\n {...props}\n >\n <RiCloseLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.Clear>\n )\n}\n\nfunction ComboboxInput({\n className,\n children,\n disabled = false,\n showTrigger = true,\n showClear = false,\n ...props\n}: ComboboxPrimitive.Input.Props & {\n showTrigger?: boolean\n showClear?: boolean\n}) {\n return (\n <InputGroup className={cn(\"w-auto\", className)}>\n <ComboboxPrimitive.Input\n render={<InputGroupInput disabled={disabled} />}\n {...props}\n />\n <InputGroupAddon align=\"inline-end\">\n {showTrigger && (\n <InputGroupButton\n size=\"icon-xs\"\n variant=\"ghost\"\n asChild\n data-slot=\"input-group-button\"\n className=\"group-has-data-[slot=combobox-clear]/input-group:hidden data-pressed:bg-transparent\"\n disabled={disabled}\n >\n <ComboboxTrigger />\n </InputGroupButton>\n )}\n {showClear && <ComboboxClear disabled={disabled} />}\n </InputGroupAddon>\n {children}\n </InputGroup>\n )\n}\n\nfunction ComboboxContent({\n className,\n side = \"bottom\",\n sideOffset = 6,\n align = \"start\",\n alignOffset = 0,\n anchor,\n ...props\n}: ComboboxPrimitive.Popup.Props &\n Pick<\n ComboboxPrimitive.Positioner.Props,\n \"side\" | \"align\" | \"sideOffset\" | \"alignOffset\" | \"anchor\"\n >) {\n return (\n <ComboboxPrimitive.Portal>\n <ComboboxPrimitive.Positioner\n side={side}\n sideOffset={sideOffset}\n align={align}\n alignOffset={alignOffset}\n anchor={anchor}\n className=\"isolate z-50\"\n >\n <ComboboxPrimitive.Popup\n data-slot=\"combobox-content\"\n data-chips={!!anchor}\n className={cn(\"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 *:data-[slot=input-group]:bg-input/30 *:data-[slot=input-group]:border-input/30 max-h-72 min-w-36 overflow-hidden rounded-md shadow-md ring-1 duration-100 *:data-[slot=input-group]:m-1 *:data-[slot=input-group]:mb-0 *:data-[slot=input-group]:h-8 *:data-[slot=input-group]:shadow-none group/combobox-content relative max-h-(--available-height) w-(--anchor-width) max-w-(--available-width) min-w-[calc(var(--anchor-width)+--spacing(7))] origin-(--transform-origin) data-[chips=true]:min-w-(--anchor-width)\", className )}\n {...props}\n />\n </ComboboxPrimitive.Positioner>\n </ComboboxPrimitive.Portal>\n )\n}\n\nfunction ComboboxList({ className, ...props }: ComboboxPrimitive.List.Props) {\n return (\n <ComboboxPrimitive.List\n data-slot=\"combobox-list\"\n className={cn(\n \"no-scrollbar max-h-[min(calc(--spacing(72)---spacing(9)),calc(var(--available-height)---spacing(9)))] scroll-py-1 overflow-y-auto p-1 data-empty:p-0 overflow-y-auto overscroll-contain\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction ComboboxItem({\n className,\n children,\n ...props\n}: ComboboxPrimitive.Item.Props) {\n return (\n <ComboboxPrimitive.Item\n data-slot=\"combobox-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground not-data-[variant=destructive]:data-highlighted:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <ComboboxPrimitive.ItemIndicator\n render={<span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\" />}\n >\n <RiCheckLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.ItemIndicator>\n </ComboboxPrimitive.Item>\n )\n}\n\nfunction ComboboxGroup({ className, ...props }: ComboboxPrimitive.Group.Props) {\n return (\n <ComboboxPrimitive.Group\n data-slot=\"combobox-group\"\n className={cn(className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxLabel({\n className,\n ...props\n}: ComboboxPrimitive.GroupLabel.Props) {\n return (\n <ComboboxPrimitive.GroupLabel\n data-slot=\"combobox-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxCollection({ ...props }: ComboboxPrimitive.Collection.Props) {\n return (\n <ComboboxPrimitive.Collection data-slot=\"combobox-collection\" {...props} />\n )\n}\n\nfunction ComboboxEmpty({ className, ...props }: ComboboxPrimitive.Empty.Props) {\n return (\n <ComboboxPrimitive.Empty\n data-slot=\"combobox-empty\"\n className={cn(\"text-muted-foreground hidden w-full justify-center py-2 text-center text-sm group-data-empty/combobox-content:flex\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxSeparator({\n className,\n ...props\n}: ComboboxPrimitive.Separator.Props) {\n return (\n <ComboboxPrimitive.Separator\n data-slot=\"combobox-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChips({\n className,\n ...props\n}: React.ComponentPropsWithRef<typeof ComboboxPrimitive.Chips> &\n ComboboxPrimitive.Chips.Props) {\n return (\n <ComboboxPrimitive.Chips\n data-slot=\"combobox-chips\"\n className={cn(\"dark:bg-input/30 border-input focus-within:border-ring focus-within:ring-ring/50 has-aria-invalid:ring-destructive/20 dark:has-aria-invalid:ring-destructive/40 has-aria-invalid:border-destructive dark:has-aria-invalid:border-destructive/50 flex min-h-9 flex-wrap items-center gap-1.5 rounded-md border bg-transparent bg-clip-padding px-2.5 py-1.5 text-sm shadow-xs transition-[color,box-shadow] focus-within:ring-[3px] has-aria-invalid:ring-[3px] has-data-[slot=combobox-chip]:px-1.5\", className)}\n {...props}\n />\n )\n}\n\nfunction ComboboxChip({\n className,\n children,\n showRemove = true,\n ...props\n}: ComboboxPrimitive.Chip.Props & {\n showRemove?: boolean\n}) {\n return (\n <ComboboxPrimitive.Chip\n data-slot=\"combobox-chip\"\n className={cn(\n \"bg-muted text-foreground flex h-[calc(--spacing(5.5))] w-fit items-center justify-center gap-1 rounded-sm px-1.5 text-xs font-medium whitespace-nowrap has-data-[slot=combobox-chip-remove]:pr-0 has-disabled:pointer-events-none has-disabled:cursor-not-allowed has-disabled:opacity-50\",\n className\n )}\n {...props}\n >\n {children}\n {showRemove && (\n <ComboboxPrimitive.ChipRemove\n render={<Button variant=\"ghost\" size=\"icon-xs\" />}\n className=\"-ml-1 opacity-50 hover:opacity-100\"\n data-slot=\"combobox-chip-remove\"\n >\n <RiCloseLine className=\"pointer-events-none\" />\n </ComboboxPrimitive.ChipRemove>\n )}\n </ComboboxPrimitive.Chip>\n )\n}\n\nfunction ComboboxChipsInput({\n className,\n ...props\n}: ComboboxPrimitive.Input.Props) {\n return (\n <ComboboxPrimitive.Input\n data-slot=\"combobox-chip-input\"\n className={cn(\n \"min-w-16 flex-1 outline-none\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction useComboboxAnchor() {\n return React.useRef<HTMLDivElement | null>(null)\n}\n\nexport {\n Combobox,\n ComboboxInput,\n ComboboxContent,\n ComboboxList,\n ComboboxItem,\n ComboboxGroup,\n ComboboxLabel,\n ComboboxCollection,\n ComboboxEmpty,\n ComboboxSeparator,\n ComboboxChips,\n ComboboxChip,\n ComboboxChipsInput,\n ComboboxTrigger,\n ComboboxValue,\n useComboboxAnchor,\n}\n","import * as React from \"react\"\nimport { DropdownMenu as DropdownMenuPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { RiCheckLine, RiArrowRightSLine } from \"@remixicon/react\"\n\nfunction DropdownMenu({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return (\n <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />\n )\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return (\n <DropdownMenuPrimitive.Trigger\n data-slot=\"dropdown-menu-trigger\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuContent({\n className,\n align = \"start\",\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n align={align}\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-32 rounded-md p-1 shadow-md ring-1 duration-100 z-50 max-h-(--radix-dropdown-menu-content-available-height) w-(--radix-dropdown-menu-trigger-width) origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto data-[state=closed]:overflow-hidden\", className )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n )\n}\n\nfunction DropdownMenuGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return (\n <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />\n )\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean\n variant?: \"default\" | \"destructive\"\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 group/dropdown-menu-item relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none\"\n data-slot=\"dropdown-menu-checkbox-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <RiCheckLine\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n )\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return (\n <DropdownMenuPrimitive.RadioGroup\n data-slot=\"dropdown-menu-radio-group\"\n {...props}\n />\n )\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 relative flex cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n <span\n className=\"pointer-events-none absolute right-2 flex items-center justify-center pointer-events-none\"\n data-slot=\"dropdown-menu-radio-item-indicator\"\n >\n <DropdownMenuPrimitive.ItemIndicator>\n <RiCheckLine\n />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n )\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs font-medium data-[inset]:pl-8\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuShortcut({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\"text-muted-foreground group-focus/dropdown-menu-item:text-accent-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n )\n}\n\nfunction DropdownMenuSub({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-open:bg-accent data-open:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm px-2 py-1.5 text-sm [&_svg:not([class*='size-'])]:size-4 flex cursor-default items-center outline-hidden select-none data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <RiArrowRightSLine className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n )\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\"data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 bg-popover text-popover-foreground min-w-[96px] rounded-md p-1 shadow-lg ring-1 duration-100 z-50 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden\", className )}\n {...props}\n />\n )\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Label as LabelPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Label({\n className,\n ...props\n}: React.ComponentProps<typeof LabelPrimitive.Root>) {\n return (\n <LabelPrimitive.Root\n data-slot=\"label\"\n className={cn(\n \"gap-2 text-sm leading-none font-medium group-data-[disabled=true]:opacity-50 peer-disabled:opacity-50 flex items-center select-none group-data-[disabled=true]:pointer-events-none peer-disabled:cursor-not-allowed\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Label }\n","import * as React from \"react\"\nimport { Separator as SeparatorPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Separator({\n className,\n orientation = \"horizontal\",\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:w-px data-[orientation=vertical]:self-stretch\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Separator }\n","import { useMemo } from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\nimport { Label } from \"@/components/ui/label\"\nimport { Separator } from \"@/components/ui/separator\"\n\nfunction FieldSet({ className, ...props }: React.ComponentProps<\"fieldset\">) {\n return (\n <fieldset\n data-slot=\"field-set\"\n className={cn(\"gap-6 has-[>[data-slot=checkbox-group]]:gap-3 has-[>[data-slot=radio-group]]:gap-3 flex flex-col\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldLegend({\n className,\n variant = \"legend\",\n ...props\n}: React.ComponentProps<\"legend\"> & { variant?: \"legend\" | \"label\" }) {\n return (\n <legend\n data-slot=\"field-legend\"\n data-variant={variant}\n className={cn(\"mb-3 font-medium data-[variant=label]:text-sm data-[variant=legend]:text-base\", className)}\n {...props}\n />\n )\n}\n\nfunction FieldGroup({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-group\"\n className={cn(\n \"gap-7 data-[slot=checkbox-group]:gap-3 [&>[data-slot=field-group]]:gap-4 group/field-group @container/field-group flex w-full flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nconst fieldVariants = cva(\"data-[invalid=true]:text-destructive gap-3 group/field flex w-full\", {\n variants: {\n orientation: {\n vertical:\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto\",\n horizontal:\n \"flex-row items-center [&>[data-slot=field-label]]:flex-auto has-[>[data-slot=field-content]]:items-start has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n responsive:\n \"flex-col [&>*]:w-full [&>.sr-only]:w-auto @md/field-group:flex-row @md/field-group:items-center @md/field-group:[&>*]:w-auto @md/field-group:[&>[data-slot=field-label]]:flex-auto @md/field-group:has-[>[data-slot=field-content]]:items-start @md/field-group:has-[>[data-slot=field-content]]:[&>[role=checkbox],[role=radio]]:mt-px\",\n },\n },\n defaultVariants: {\n orientation: \"vertical\",\n },\n})\n\nfunction Field({\n className,\n orientation = \"vertical\",\n ...props\n}: React.ComponentProps<\"div\"> & VariantProps<typeof fieldVariants>) {\n return (\n <div\n role=\"group\"\n data-slot=\"field\"\n data-orientation={orientation}\n className={cn(fieldVariants({ orientation }), className)}\n {...props}\n />\n )\n}\n\nfunction FieldContent({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-content\"\n className={cn(\n \"gap-1 group/field-content flex flex-1 flex-col leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldLabel({\n className,\n ...props\n}: React.ComponentProps<typeof Label>) {\n return (\n <Label\n data-slot=\"field-label\"\n className={cn(\n \"has-data-checked:bg-primary/5 has-data-checked:border-primary dark:has-data-checked:bg-primary/10 gap-2 group-data-[disabled=true]/field:opacity-50 has-[>[data-slot=field]]:rounded-md has-[>[data-slot=field]]:border [&>*]:data-[slot=field]:p-3 group/field-label peer/field-label flex w-fit leading-snug\",\n \"has-[>[data-slot=field]]:w-full has-[>[data-slot=field]]:flex-col\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldTitle({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"field-label\"\n className={cn(\n \"gap-2 text-sm font-medium group-data-[disabled=true]/field:opacity-50 flex w-fit items-center leading-snug\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldDescription({ className, ...props }: React.ComponentProps<\"p\">) {\n return (\n <p\n data-slot=\"field-description\"\n className={cn(\n \"text-muted-foreground text-left text-sm [[data-variant=legend]+&]:-mt-1.5 leading-normal font-normal group-has-[[data-orientation=horizontal]]/field:text-balance\",\n \"last:mt-0 nth-last-2:-mt-1\",\n \"[&>a:hover]:text-primary [&>a]:underline [&>a]:underline-offset-4\",\n className\n )}\n {...props}\n />\n )\n}\n\nfunction FieldSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"div\"> & {\n children?: React.ReactNode\n}) {\n return (\n <div\n data-slot=\"field-separator\"\n data-content={!!children}\n className={cn(\"-my-2 h-5 text-sm group-data-[variant=outline]/field-group:-mb-2 relative\", className)}\n {...props}\n >\n <Separator className=\"absolute inset-0 top-1/2\" />\n {children && (\n <span\n className=\"text-muted-foreground px-2 bg-background relative mx-auto block w-fit\"\n data-slot=\"field-separator-content\"\n >\n {children}\n </span>\n )}\n </div>\n )\n}\n\nfunction FieldError({\n className,\n children,\n errors,\n ...props\n}: React.ComponentProps<\"div\"> & {\n errors?: Array<{ message?: string } | undefined>\n}) {\n const content = useMemo(() => {\n if (children) {\n return children\n }\n\n if (!errors?.length) {\n return null\n }\n\n const uniqueErrors = [\n ...new Map(errors.map((error) => [error?.message, error])).values(),\n ]\n\n if (uniqueErrors?.length == 1) {\n return uniqueErrors[0]?.message\n }\n\n return (\n <ul className=\"ml-4 flex list-disc flex-col gap-1\">\n {uniqueErrors.map(\n (error, index) =>\n error?.message && <li key={index}>{error.message}</li>\n )}\n </ul>\n )\n }, [children, errors])\n\n if (!content) {\n return null\n }\n\n return (\n <div\n role=\"alert\"\n data-slot=\"field-error\"\n className={cn(\"text-destructive text-sm font-normal\", className)}\n {...props}\n >\n {content}\n </div>\n )\n}\n\nexport {\n Field,\n FieldLabel,\n FieldDescription,\n FieldError,\n FieldGroup,\n FieldLegend,\n FieldSeparator,\n FieldSet,\n FieldContent,\n FieldTitle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\n\nimport { cn } from \"@/lib/utils\"\nimport { RiArrowDownSLine, RiCheckLine, RiArrowUpSLine } from \"@remixicon/react\"\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground dark:bg-input/30 dark:hover:bg-input/50 focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:aria-invalid:border-destructive/50 gap-1.5 rounded-md border bg-transparent py-2 pr-2 pl-2.5 text-sm shadow-xs transition-[color,box-shadow] focus-visible:ring-[3px] aria-invalid:ring-[3px] data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:flex *:data-[slot=select-value]:gap-1.5 [&_svg:not([class*='size-'])]:size-4 flex w-fit items-center justify-between whitespace-nowrap outline-none disabled:cursor-not-allowed disabled:opacity-50 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <RiArrowDownSLine className=\"text-muted-foreground size-4 pointer-events-none\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-open:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 ring-foreground/10 min-w-36 rounded-md shadow-md ring-1 duration-100 relative z-50 max-h-(--radix-select-content-available-height) origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto data-[align-trigger=true]:animate-none\", position ===\"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\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-[var(--radix-select-trigger-height)] data-[position=popper]:w-full data-[position=popper]:min-w-[var(--radix-select-trigger-width)]\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"text-muted-foreground px-2 py-1.5 text-xs\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground not-data-[variant=destructive]:focus:**:text-accent-foreground gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2 relative flex w-full cursor-default items-center outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <RiCheckLine className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px pointer-events-none\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <RiArrowUpSLine\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\"bg-popover z-10 flex cursor-default items-center justify-center py-1 [&_svg:not([class*='size-'])]:size-4\", className)}\n {...props}\n >\n <RiArrowDownSLine\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"]}
package/guidelines.md ADDED
@@ -0,0 +1,82 @@
1
+ # Hooxi UI Component Guidelines
2
+
3
+ ## 설치
4
+
5
+ ```bash
6
+ npm install @hooxipartners/ui
7
+ ```
8
+
9
+ ## 기본 사용법
10
+
11
+ ```tsx
12
+ import { Button, Card, Input } from '@hooxipartners/ui'
13
+ import '@hooxipartners/ui/styles.css'
14
+ ```
15
+
16
+ ## 컴포넌트 목록
17
+
18
+ ### Button
19
+ ```tsx
20
+ <Button variant="default">기본 버튼</Button>
21
+ <Button variant="secondary">보조 버튼</Button>
22
+ <Button variant="outline">아웃라인</Button>
23
+ <Button variant="ghost">고스트</Button>
24
+ <Button variant="destructive">삭제</Button>
25
+ ```
26
+
27
+ ### Input
28
+ ```tsx
29
+ <Input placeholder="입력하세요" />
30
+ <Input disabled placeholder="비활성화" />
31
+ ```
32
+
33
+ ### Card
34
+ ```tsx
35
+ <Card>
36
+ <CardHeader>
37
+ <CardTitle>제목</CardTitle>
38
+ <CardDescription>설명</CardDescription>
39
+ </CardHeader>
40
+ <CardContent>내용</CardContent>
41
+ <CardFooter>푸터</CardFooter>
42
+ </Card>
43
+ ```
44
+
45
+ ### Select
46
+ ```tsx
47
+ <Select>
48
+ <SelectTrigger>
49
+ <SelectValue placeholder="선택하세요" />
50
+ </SelectTrigger>
51
+ <SelectContent>
52
+ <SelectItem value="1">옵션 1</SelectItem>
53
+ <SelectItem value="2">옵션 2</SelectItem>
54
+ </SelectContent>
55
+ </Select>
56
+ ```
57
+
58
+ ### Badge
59
+ ```tsx
60
+ <Badge>기본</Badge>
61
+ <Badge variant="secondary">보조</Badge>
62
+ <Badge variant="outline">아웃라인</Badge>
63
+ <Badge variant="destructive">삭제</Badge>
64
+ ```
65
+
66
+ ## 테마 설정
67
+
68
+ Tailwind CSS 4 기반입니다. `index.css`에서 CSS 변수를 수정하여 테마를 커스터마이징할 수 있습니다.
69
+
70
+ ```css
71
+ :root {
72
+ --primary: oklch(0.47 0.17 142.55);
73
+ --primary-foreground: oklch(0.99 0 0);
74
+ --radius: 0.5rem;
75
+ }
76
+ ```
77
+
78
+ ## 디자인 원칙
79
+
80
+ 1. **일관성**: 모든 컴포넌트는 동일한 디자인 토큰 사용
81
+ 2. **접근성**: ARIA 속성 및 키보드 네비게이션 지원
82
+ 3. **반응형**: 모바일 우선 설계
package/package.json ADDED
@@ -0,0 +1,88 @@
1
+ {
2
+ "name": "@hooxipartners/ui",
3
+ "version": "0.1.7",
4
+ "description": "Hooxi UI Component Library based on shadcn/ui",
5
+ "type": "module",
6
+ "main": "dist/index.cjs",
7
+ "module": "dist/index.js",
8
+ "types": "dist/index.d.ts",
9
+ "files": [
10
+ "dist",
11
+ "src/index.css",
12
+ "guidelines.md"
13
+ ],
14
+ "exports": {
15
+ ".": {
16
+ "import": {
17
+ "types": "./dist/index.d.ts",
18
+ "default": "./dist/index.js"
19
+ },
20
+ "require": {
21
+ "types": "./dist/index.d.cts",
22
+ "default": "./dist/index.cjs"
23
+ }
24
+ },
25
+ "./styles.css": "./src/index.css"
26
+ },
27
+ "scripts": {
28
+ "dev": "vite",
29
+ "build": "tsup",
30
+ "build:app": "tsc -b && vite build",
31
+ "lint": "eslint .",
32
+ "preview": "vite preview",
33
+ "prepublishOnly": "npm run build"
34
+ },
35
+ "peerDependencies": {
36
+ "react": "^18.0.0 || ^19.0.0",
37
+ "react-dom": "^18.0.0 || ^19.0.0"
38
+ },
39
+ "dependencies": {
40
+ "@base-ui/react": "^1.1.0",
41
+ "@fontsource-variable/inter": "^5.2.8",
42
+ "@remixicon/react": "^4.8.0",
43
+ "class-variance-authority": "^0.7.1",
44
+ "clsx": "^2.1.1",
45
+ "radix-ui": "^1.4.3",
46
+ "tailwind-merge": "^3.4.0"
47
+ },
48
+ "devDependencies": {
49
+ "@eslint/js": "^9.39.1",
50
+ "@tailwindcss/vite": "^4.1.17",
51
+ "@types/node": "^24.10.1",
52
+ "@types/react": "^19.2.5",
53
+ "@types/react-dom": "^19.2.3",
54
+ "@vitejs/plugin-react": "^5.1.1",
55
+ "eslint": "^9.39.1",
56
+ "eslint-plugin-react-hooks": "^7.0.1",
57
+ "eslint-plugin-react-refresh": "^0.4.24",
58
+ "globals": "^16.5.0",
59
+ "react": "^19.2.0",
60
+ "react-dom": "^19.2.0",
61
+ "shadcn": "^3.7.0",
62
+ "tailwindcss": "^4.1.17",
63
+ "tsup": "^8.0.0",
64
+ "tw-animate-css": "^1.4.0",
65
+ "typescript": "~5.9.3",
66
+ "typescript-eslint": "^8.46.4",
67
+ "vite": "^7.2.4"
68
+ },
69
+ "repository": {
70
+ "type": "git",
71
+ "url": "https://github.com/hooxipartners/ui.git"
72
+ },
73
+ "publishConfig": {
74
+ "registry": "https://registry.npmjs.org",
75
+ "access": "public"
76
+ },
77
+ "keywords": [
78
+ "react",
79
+ "components",
80
+ "ui",
81
+ "shadcn",
82
+ "tailwindcss"
83
+ ],
84
+ "license": "MIT",
85
+ "sideEffects": [
86
+ "**/*.css"
87
+ ]
88
+ }
package/src/index.css ADDED
@@ -0,0 +1,129 @@
1
+ @import "tailwindcss";
2
+ @import "tw-animate-css";
3
+ @import "shadcn/tailwind.css";
4
+ @import "@fontsource-variable/inter";
5
+
6
+ @custom-variant dark (&:is(.dark *));
7
+
8
+ :root {
9
+ --background: oklch(1 0 0);
10
+ --foreground: oklch(0.145 0 0);
11
+ --card: oklch(1 0 0);
12
+ --card-foreground: oklch(0.145 0 0);
13
+ --popover: oklch(1 0 0);
14
+ --popover-foreground: oklch(0.145 0 0);
15
+ --primary: oklch(0.60 0.13 163);
16
+ --primary-foreground: oklch(0.98 0.02 166);
17
+ --secondary: oklch(0.967 0.001 286.375);
18
+ --secondary-foreground: oklch(0.21 0.006 285.885);
19
+ --muted: oklch(0.97 0 0);
20
+ --muted-foreground: oklch(0.556 0 0);
21
+ --accent: oklch(0.60 0.13 163);
22
+ --accent-foreground: oklch(0.98 0.02 166);
23
+ --destructive: oklch(0.58 0.22 27);
24
+ --border: oklch(0.922 0 0);
25
+ --input: oklch(0.922 0 0);
26
+ --ring: oklch(0.708 0 0);
27
+ --chart-1: oklch(0.85 0.13 165);
28
+ --chart-2: oklch(0.77 0.15 163);
29
+ --chart-3: oklch(0.70 0.15 162);
30
+ --chart-4: oklch(0.60 0.13 163);
31
+ --chart-5: oklch(0.51 0.10 166);
32
+ --radius: 0.45rem;
33
+ --sidebar: oklch(0.985 0 0);
34
+ --sidebar-foreground: oklch(0.145 0 0);
35
+ --sidebar-primary: oklch(0.60 0.13 163);
36
+ --sidebar-primary-foreground: oklch(0.98 0.02 166);
37
+ --sidebar-accent: oklch(0.60 0.13 163);
38
+ --sidebar-accent-foreground: oklch(0.98 0.02 166);
39
+ --sidebar-border: oklch(0.922 0 0);
40
+ --sidebar-ring: oklch(0.708 0 0);
41
+ }
42
+
43
+ .dark {
44
+ --background: oklch(0.145 0 0);
45
+ --foreground: oklch(0.985 0 0);
46
+ --card: oklch(0.205 0 0);
47
+ --card-foreground: oklch(0.985 0 0);
48
+ --popover: oklch(0.205 0 0);
49
+ --popover-foreground: oklch(0.985 0 0);
50
+ --primary: oklch(0.70 0.15 162);
51
+ --primary-foreground: oklch(0.26 0.05 173);
52
+ --secondary: oklch(0.274 0.006 286.033);
53
+ --secondary-foreground: oklch(0.985 0 0);
54
+ --muted: oklch(0.269 0 0);
55
+ --muted-foreground: oklch(0.708 0 0);
56
+ --accent: oklch(0.70 0.15 162);
57
+ --accent-foreground: oklch(0.26 0.05 173);
58
+ --destructive: oklch(0.704 0.191 22.216);
59
+ --border: oklch(1 0 0 / 10%);
60
+ --input: oklch(1 0 0 / 15%);
61
+ --ring: oklch(0.556 0 0);
62
+ --chart-1: oklch(0.85 0.13 165);
63
+ --chart-2: oklch(0.77 0.15 163);
64
+ --chart-3: oklch(0.70 0.15 162);
65
+ --chart-4: oklch(0.60 0.13 163);
66
+ --chart-5: oklch(0.51 0.10 166);
67
+ --sidebar: oklch(0.205 0 0);
68
+ --sidebar-foreground: oklch(0.985 0 0);
69
+ --sidebar-primary: oklch(0.77 0.15 163);
70
+ --sidebar-primary-foreground: oklch(0.26 0.05 173);
71
+ --sidebar-accent: oklch(0.70 0.15 162);
72
+ --sidebar-accent-foreground: oklch(0.26 0.05 173);
73
+ --sidebar-border: oklch(1 0 0 / 10%);
74
+ --sidebar-ring: oklch(0.556 0 0);
75
+ }
76
+
77
+ @theme inline {
78
+ --font-sans: 'Inter Variable', sans-serif;
79
+ --color-sidebar-ring: var(--sidebar-ring);
80
+ --color-sidebar-border: var(--sidebar-border);
81
+ --color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
82
+ --color-sidebar-accent: var(--sidebar-accent);
83
+ --color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
84
+ --color-sidebar-primary: var(--sidebar-primary);
85
+ --color-sidebar-foreground: var(--sidebar-foreground);
86
+ --color-sidebar: var(--sidebar);
87
+ --color-chart-5: var(--chart-5);
88
+ --color-chart-4: var(--chart-4);
89
+ --color-chart-3: var(--chart-3);
90
+ --color-chart-2: var(--chart-2);
91
+ --color-chart-1: var(--chart-1);
92
+ --color-ring: var(--ring);
93
+ --color-input: var(--input);
94
+ --color-border: var(--border);
95
+ --color-destructive: var(--destructive);
96
+ --color-accent-foreground: var(--accent-foreground);
97
+ --color-accent: var(--accent);
98
+ --color-muted-foreground: var(--muted-foreground);
99
+ --color-muted: var(--muted);
100
+ --color-secondary-foreground: var(--secondary-foreground);
101
+ --color-secondary: var(--secondary);
102
+ --color-primary-foreground: var(--primary-foreground);
103
+ --color-primary: var(--primary);
104
+ --color-popover-foreground: var(--popover-foreground);
105
+ --color-popover: var(--popover);
106
+ --color-card-foreground: var(--card-foreground);
107
+ --color-card: var(--card);
108
+ --color-foreground: var(--foreground);
109
+ --color-background: var(--background);
110
+ --radius-sm: calc(var(--radius) - 4px);
111
+ --radius-md: calc(var(--radius) - 2px);
112
+ --radius-lg: var(--radius);
113
+ --radius-xl: calc(var(--radius) + 4px);
114
+ --radius-2xl: calc(var(--radius) + 8px);
115
+ --radius-3xl: calc(var(--radius) + 12px);
116
+ --radius-4xl: calc(var(--radius) + 16px);
117
+ }
118
+
119
+ @layer base {
120
+ * {
121
+ @apply border-border outline-ring/50;
122
+ }
123
+ body {
124
+ @apply font-sans bg-background text-foreground;
125
+ }
126
+ html {
127
+ @apply font-sans;
128
+ }
129
+ }