@alkimi.org/ui-kit 0.12.3 → 0.12.4

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.
@@ -0,0 +1,3 @@
1
+ "use client";
2
+ import{a as S,b as M,c as G}from"./chunk-FZ3NXOFK.mjs";import{a as D,c as E,d as I,e as T,f as v,h as L}from"./chunk-DATWXRPT.mjs";import{a as d}from"./chunk-S5TKCF6T.mjs";import*as p from"react";import{Check as V,ChevronDown as Y,Plus as Z,X as z}from"lucide-react";import{Fragment as _,jsx as o,jsxs as r}from"react/jsx-runtime";function re({options:u=[],groups:l,value:c,onValueChange:W,placeholder:b="Select option...",searchPlaceholder:X="Search...",emptyMessage:$="No option found.",disabled:f=!1,disableLabelControls:g=!1,className:j,error:q=!1,multiple:A=!1,values:s=[],onValuesChange:x,variant:B="default",searchable:F=!0,onTriggerClick:h,showChipRemoveIcon:H=!0}){let[C,y]=p.useState(!1),n=B==="metrics",m=n?!0:A,N=p.useMemo(()=>l?l.flatMap(e=>e.options):u,[l,u]),w=N.find(e=>e.value===c),a=N.filter(e=>s.includes(e.value)),J=e=>{if(m){let t=s.includes(e)?s.filter(i=>i!==e):[...s,e];x?.(t)}else W?.(e===c?"":e),y(!1)},k=(e,t)=>{t.preventDefault(),t.stopPropagation();let i=s.filter(U=>U!==e);x?.(i)},K=()=>n?b:m?a.length===0?b:a.length===1?a[0].label:`${a.length} selected`:w?w.label:b,P=e=>{let t=m?s.includes(e.value):c===e.value;return r(L,{value:e.value,onSelect:J,className:"rounded-[12px]",children:[o("span",{className:"truncate",children:e.label}),o(V,{className:d("ml-auto h-4 w-4 shrink-0",t?"opacity-100":"opacity-0")})]},e.value)},O=()=>n||!m||a.length===0?null:o("div",{className:"px-2 py-1.5",children:o("div",{className:"flex flex-wrap gap-1",children:a.map(e=>r("div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[o("span",{className:"truncate",children:e.label}),o(z,{className:"h-3 w-3 cursor-pointer",onClick:t=>k(e.value,t)})]},e.value))})}),Q=()=>{if(!n||a.length===0)return null;let e=H&&!f&&!g;return a.map(t=>r("div",{className:d("inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm",(f||g)&&"opacity-50 cursor-not-allowed pointer-events-none"),style:{borderColor:t.color||"var(--border)"},children:[o("span",{className:"truncate text-xs font-medium",style:{color:t.color},children:t.label}),e&&o("button",{type:"button",onClick:i=>k(t.value,i),children:o(z,{className:"size-3.5 cursor-pointer opacity-70 hover:opacity-100",style:{color:t.color}})})]},t.value))},R=r(S,{open:C,onOpenChange:y,children:[o(M,{asChild:!0,children:r("button",{type:"button",role:"combobox","aria-expanded":C,disabled:f,onClick:h?e=>{e.preventDefault(),h()}:void 0,className:d("cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!n&&"my-2 w-full",n&&"w-auto gap-2",!c&&!s.length&&"text-secondary-text",q&&"border-destructive-foreground focus-visible:ring-destructive-foreground",n&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",j),children:[n&&o(Z,{className:"h-4 w-4 shrink-0"}),o("span",{className:"truncate",children:K()}),!n&&o(Y,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),o(G,{className:"overflow-hidden rounded-xl p-0",align:"start",style:n?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:r(D,{children:[F&&o(E,{placeholder:X}),r(I,{children:[o(T,{children:$}),l?r(_,{children:[O(),l.map(e=>o(v,{heading:e.label,children:e.options.map(P)},e.label))]}):r(v,{children:[O(),u.map(P)]})]})]})})]});return n?r("div",{className:"flex flex-wrap items-center gap-2",children:[R,Q()]}):R}export{re as a};
3
+ //# sourceMappingURL=chunk-DWUL3NW4.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Check, ChevronDown, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n color?: string\n}\n\nexport interface ComboboxGroup {\n label: string\n options: ComboboxOption[]\n}\n\nexport interface ComboboxProps {\n options?: ComboboxOption[]\n groups?: ComboboxGroup[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n disableLabelControls?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n variant?: \"default\" | \"metrics\"\n searchable?: boolean\n onTriggerClick?: () => void\n showChipRemoveIcon?: boolean\n}\n\nexport function Combobox({\n options = [],\n groups,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n disableLabelControls = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n variant = \"default\",\n searchable = true,\n onTriggerClick,\n showChipRemoveIcon = true,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n const isMetrics = variant === \"metrics\"\n const effectiveMultiple = isMetrics ? true : multiple\n\n const allOptions = React.useMemo(() => {\n if (groups) return groups.flatMap((g) => g.options)\n return options\n }, [groups, options])\n\n const selectedOption = allOptions.find((option) => option.value === value)\n const selectedOptions = allOptions.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (effectiveMultiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (isMetrics) return placeholder\n if (effectiveMultiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n const renderOption = (option: ComboboxOption) => {\n const isSelected = effectiveMultiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n className=\"rounded-[12px]\"\n >\n <span className=\"truncate\">{option.label}</span>\n <Check\n className={cn(\n \"ml-auto h-4 w-4 shrink-0\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n }\n\n const renderSelectedChips = () => {\n if (isMetrics || !effectiveMultiple || selectedOptions.length === 0)\n return null\n\n return (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n const renderExternalChips = () => {\n if (!isMetrics || selectedOptions.length === 0) return null\n\n const canRemove = showChipRemoveIcon && !disabled && !disableLabelControls\n\n return selectedOptions.map((option) => (\n <div\n key={option.value}\n className={cn(\n \"inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm\",\n (disabled || disableLabelControls) &&\n \"opacity-50 cursor-not-allowed pointer-events-none\"\n )}\n style={{ borderColor: option.color || \"var(--border)\" }}\n >\n <span\n className=\"truncate text-xs font-medium\"\n style={{ color: option.color }}\n >\n {option.label}\n </span>\n {canRemove && (\n <button\n type=\"button\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n >\n <X\n className=\"size-3.5 cursor-pointer opacity-70 hover:opacity-100\"\n style={{ color: option.color }}\n />\n </button>\n )}\n </div>\n ))\n }\n\n const popover = (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={\n onTriggerClick\n ? (e) => {\n e.preventDefault()\n onTriggerClick()\n }\n : undefined\n }\n className={cn(\n \"cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !isMetrics && \"my-2 w-full\",\n isMetrics && \"w-auto gap-2\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n isMetrics &&\n \"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium\",\n className\n )}\n >\n {isMetrics && <Plus className=\"h-4 w-4 shrink-0\" />}\n <span className=\"truncate\">{getDisplayText()}</span>\n {!isMetrics && (\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"overflow-hidden rounded-xl p-0\"\n align=\"start\"\n style={\n isMetrics\n ? { minWidth: 200 }\n : { width: \"var(--radix-popover-trigger-width)\" }\n }\n >\n <Command>\n {searchable && <CommandInput placeholder={searchPlaceholder} />}\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups ? (\n <>\n {renderSelectedChips()}\n {groups.map((group) => (\n <CommandGroup key={group.label} heading={group.label}>\n {group.options.map(renderOption)}\n </CommandGroup>\n ))}\n </>\n ) : (\n <CommandGroup>\n {renderSelectedChips()}\n {options.map(renderOption)}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n\n if (isMetrics) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n {popover}\n {renderExternalChips()}\n </div>\n )\n }\n\n return popover\n}\n"],"mappings":"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","names":["React","Check","ChevronDown","Plus","X","Fragment","jsx","jsxs","Combobox","options","groups","value","onValueChange","placeholder","searchPlaceholder","emptyMessage","disabled","disableLabelControls","className","error","multiple","values","onValuesChange","variant","searchable","onTriggerClick","showChipRemoveIcon","open","setOpen","isMetrics","effectiveMultiple","allOptions","g","selectedOption","option","selectedOptions","handleSelect","currentValue","newValues","v","handleRemoveValue","valueToRemove","e","getDisplayText","renderOption","isSelected","CommandItem","Check","cn","renderSelectedChips","X","renderExternalChips","canRemove","popover","Popover","PopoverTrigger","Plus","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","group","CommandGroup"]}
@@ -0,0 +1,3 @@
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
+ var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunk7J2ETVGKjs = require('./chunk-7J2ETVGK.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var p = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function re({options:u=[],groups:l,value:c,onValueChange:W,placeholder:b="Select option...",searchPlaceholder:X="Search...",emptyMessage:$="No option found.",disabled:f=!1,disableLabelControls:g=!1,className:j,error:q=!1,multiple:A=!1,values:s=[],onValuesChange:x,variant:B="default",searchable:F=!0,onTriggerClick:h,showChipRemoveIcon:H=!0}){let[C,y]=p.useState(!1),n=B==="metrics",m=n?!0:A,N=p.useMemo(()=>l?l.flatMap(e=>e.options):u,[l,u]),w=N.find(e=>e.value===c),a=N.filter(e=>s.includes(e.value)),J=e=>{if(m){let t=s.includes(e)?s.filter(i=>i!==e):[...s,e];_optionalChain([x, 'optionalCall', _2 => _2(t)])}else _optionalChain([W, 'optionalCall', _3 => _3(e===c?"":e)]),y(!1)},k=(e,t)=>{t.preventDefault(),t.stopPropagation();let i=s.filter(U=>U!==e);_optionalChain([x, 'optionalCall', _4 => _4(i)])},K=()=>n?b:m?a.length===0?b:a.length===1?a[0].label:`${a.length} selected`:w?w.label:b,P=e=>{let t=m?s.includes(e.value):c===e.value;return _jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.h,{value:e.value,onSelect:J,className:"rounded-[12px]",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.Check,{className:_chunkFUYXCJOQjs.a.call(void 0, "ml-auto h-4 w-4 shrink-0",t?"opacity-100":"opacity-0")})]},e.value)},O=()=>n||!m||a.length===0?null:_jsxruntime.jsx.call(void 0, "div",{className:"px-2 py-1.5",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-wrap gap-1",children:a.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"h-3 w-3 cursor-pointer",onClick:t=>k(e.value,t)})]},e.value))})}),Q=()=>{if(!n||a.length===0)return null;let e=H&&!f&&!g;return a.map(t=>_jsxruntime.jsxs.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm",(f||g)&&"opacity-50 cursor-not-allowed pointer-events-none"),style:{borderColor:t.color||"var(--border)"},children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate text-xs font-medium",style:{color:t.color},children:t.label}),e&&_jsxruntime.jsx.call(void 0, "button",{type:"button",onClick:i=>k(t.value,i),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"size-3.5 cursor-pointer opacity-70 hover:opacity-100",style:{color:t.color}})})]},t.value))},R=_jsxruntime.jsxs.call(void 0, _chunkULIOO55Ijs.a,{open:C,onOpenChange:y,children:[_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",role:"combobox","aria-expanded":C,disabled:f,onClick:h?e=>{e.preventDefault(),h()}:void 0,className:_chunkFUYXCJOQjs.a.call(void 0, "cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!n&&"my-2 w-full",n&&"w-auto gap-2",!c&&!s.length&&"text-secondary-text",q&&"border-destructive-foreground focus-visible:ring-destructive-foreground",n&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",j),children:[n&&_jsxruntime.jsx.call(void 0, _lucidereact.Plus,{className:"h-4 w-4 shrink-0"}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:K()}),!n&&_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.c,{className:"overflow-hidden rounded-xl p-0",align:"start",style:n?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.a,{children:[F&&_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.c,{placeholder:X}),_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.d,{children:[_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.e,{children:$}),l?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[O(),l.map(e=>_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.f,{heading:e.label,children:e.options.map(P)},e.label))]}):_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.f,{children:[O(),u.map(P)]})]})]})})]});return n?_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-2",children:[R,Q()]}):R}exports.a = re;
3
+ //# sourceMappingURL=chunk-FRES7OEX.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-FRES7OEX.js","../src/components/combobox.tsx"],"names":["Combobox","options","groups","value","onValueChange","placeholder","searchPlaceholder","emptyMessage","disabled","disableLabelControls","className","error","multiple","values","onValuesChange","variant","searchable","onTriggerClick","showChipRemoveIcon","open","setOpen","isMetrics","effectiveMultiple","allOptions","g","selectedOption","option","selectedOptions","handleSelect","currentValue","newValues","v","handleRemoveValue","valueToRemove","e","getDisplayText"],"mappings":"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","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-FRES7OEX.js","sourcesContent":[null,"import * as React from \"react\"\nimport { Check, ChevronDown, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n color?: string\n}\n\nexport interface ComboboxGroup {\n label: string\n options: ComboboxOption[]\n}\n\nexport interface ComboboxProps {\n options?: ComboboxOption[]\n groups?: ComboboxGroup[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n disableLabelControls?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n variant?: \"default\" | \"metrics\"\n searchable?: boolean\n onTriggerClick?: () => void\n showChipRemoveIcon?: boolean\n}\n\nexport function Combobox({\n options = [],\n groups,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n disableLabelControls = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n variant = \"default\",\n searchable = true,\n onTriggerClick,\n showChipRemoveIcon = true,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n const isMetrics = variant === \"metrics\"\n const effectiveMultiple = isMetrics ? true : multiple\n\n const allOptions = React.useMemo(() => {\n if (groups) return groups.flatMap((g) => g.options)\n return options\n }, [groups, options])\n\n const selectedOption = allOptions.find((option) => option.value === value)\n const selectedOptions = allOptions.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (effectiveMultiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (isMetrics) return placeholder\n if (effectiveMultiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n const renderOption = (option: ComboboxOption) => {\n const isSelected = effectiveMultiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n className=\"rounded-[12px]\"\n >\n <span className=\"truncate\">{option.label}</span>\n <Check\n className={cn(\n \"ml-auto h-4 w-4 shrink-0\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n }\n\n const renderSelectedChips = () => {\n if (isMetrics || !effectiveMultiple || selectedOptions.length === 0)\n return null\n\n return (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n const renderExternalChips = () => {\n if (!isMetrics || selectedOptions.length === 0) return null\n\n const canRemove = showChipRemoveIcon && !disabled && !disableLabelControls\n\n return selectedOptions.map((option) => (\n <div\n key={option.value}\n className={cn(\n \"inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm\",\n (disabled || disableLabelControls) &&\n \"opacity-50 cursor-not-allowed pointer-events-none\"\n )}\n style={{ borderColor: option.color || \"var(--border)\" }}\n >\n <span\n className=\"truncate text-xs font-medium\"\n style={{ color: option.color }}\n >\n {option.label}\n </span>\n {canRemove && (\n <button\n type=\"button\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n >\n <X\n className=\"size-3.5 cursor-pointer opacity-70 hover:opacity-100\"\n style={{ color: option.color }}\n />\n </button>\n )}\n </div>\n ))\n }\n\n const popover = (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={\n onTriggerClick\n ? (e) => {\n e.preventDefault()\n onTriggerClick()\n }\n : undefined\n }\n className={cn(\n \"cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !isMetrics && \"my-2 w-full\",\n isMetrics && \"w-auto gap-2\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n isMetrics &&\n \"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium\",\n className\n )}\n >\n {isMetrics && <Plus className=\"h-4 w-4 shrink-0\" />}\n <span className=\"truncate\">{getDisplayText()}</span>\n {!isMetrics && (\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"overflow-hidden rounded-xl p-0\"\n align=\"start\"\n style={\n isMetrics\n ? { minWidth: 200 }\n : { width: \"var(--radix-popover-trigger-width)\" }\n }\n >\n <Command>\n {searchable && <CommandInput placeholder={searchPlaceholder} />}\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups ? (\n <>\n {renderSelectedChips()}\n {groups.map((group) => (\n <CommandGroup key={group.label} heading={group.label}>\n {group.options.map(renderOption)}\n </CommandGroup>\n ))}\n </>\n ) : (\n <CommandGroup>\n {renderSelectedChips()}\n {options.map(renderOption)}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n\n if (isMetrics) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n {popover}\n {renderExternalChips()}\n </div>\n )\n }\n\n return popover\n}\n"]}
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
6
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | "none" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -3,7 +3,7 @@ import * as React from 'react';
3
3
  import { VariantProps } from 'class-variance-authority';
4
4
 
5
5
  declare const buttonVariants: (props?: ({
6
- variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
6
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | null | undefined;
7
7
  size?: "default" | "sm" | "lg" | "icon" | "none" | null | undefined;
8
8
  } & class_variance_authority_types.ClassProp) | undefined) => string;
9
9
  interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
@@ -27,7 +27,8 @@ interface ComboboxProps {
27
27
  variant?: "default" | "metrics";
28
28
  searchable?: boolean;
29
29
  onTriggerClick?: () => void;
30
+ showChipRemoveIcon?: boolean;
30
31
  }
31
- declare function Combobox({ options, groups, value, onValueChange, placeholder, searchPlaceholder, emptyMessage, disabled, disableLabelControls, className, error, multiple, values, onValuesChange, variant, searchable, onTriggerClick, }: ComboboxProps): react_jsx_runtime.JSX.Element;
32
+ declare function Combobox({ options, groups, value, onValueChange, placeholder, searchPlaceholder, emptyMessage, disabled, disableLabelControls, className, error, multiple, values, onValuesChange, variant, searchable, onTriggerClick, showChipRemoveIcon, }: ComboboxProps): react_jsx_runtime.JSX.Element;
32
33
 
33
34
  export { Combobox, type ComboboxGroup, type ComboboxOption, type ComboboxProps };
@@ -27,7 +27,8 @@ interface ComboboxProps {
27
27
  variant?: "default" | "metrics";
28
28
  searchable?: boolean;
29
29
  onTriggerClick?: () => void;
30
+ showChipRemoveIcon?: boolean;
30
31
  }
31
- declare function Combobox({ options, groups, value, onValueChange, placeholder, searchPlaceholder, emptyMessage, disabled, disableLabelControls, className, error, multiple, values, onValuesChange, variant, searchable, onTriggerClick, }: ComboboxProps): react_jsx_runtime.JSX.Element;
32
+ declare function Combobox({ options, groups, value, onValueChange, placeholder, searchPlaceholder, emptyMessage, disabled, disableLabelControls, className, error, multiple, values, onValuesChange, variant, searchable, onTriggerClick, showChipRemoveIcon, }: ComboboxProps): react_jsx_runtime.JSX.Element;
32
33
 
33
34
  export { Combobox, type ComboboxGroup, type ComboboxOption, type ComboboxProps };
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- var _chunkBANQNQD6js = require('../chunk-BANQNQD6.js');require('../chunk-ULIOO55I.js');require('../chunk-7J2ETVGK.js');require('../chunk-BV7RXRSL.js');require('../chunk-3BVMHDYA.js');require('../chunk-XQILGD5B.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Combobox = _chunkBANQNQD6js.a;
2
+ var _chunkFRES7OEXjs = require('../chunk-FRES7OEX.js');require('../chunk-ULIOO55I.js');require('../chunk-7J2ETVGK.js');require('../chunk-BV7RXRSL.js');require('../chunk-3BVMHDYA.js');require('../chunk-XQILGD5B.js');require('../chunk-FUYXCJOQ.js');require('../chunk-XYO4VLMF.js');exports.Combobox = _chunkFRES7OEXjs.a;
3
3
  //# sourceMappingURL=combobox.js.map
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a}from"../chunk-FFYMV22V.mjs";import"../chunk-FZ3NXOFK.mjs";import"../chunk-DATWXRPT.mjs";import"../chunk-KLU33CJI.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-BLHKJHNV.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Combobox};
2
+ import{a}from"../chunk-DWUL3NW4.mjs";import"../chunk-FZ3NXOFK.mjs";import"../chunk-DATWXRPT.mjs";import"../chunk-KLU33CJI.mjs";import"../chunk-4LR7SOCY.mjs";import"../chunk-BLHKJHNV.mjs";import"../chunk-S5TKCF6T.mjs";import"../chunk-KPAOPUY2.mjs";export{a as Combobox};
3
3
  //# sourceMappingURL=combobox.mjs.map
package/dist/index.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";Object.defineProperty(exports, "__esModule", {value: true});"use client";
2
- var _chunk5X26XR44js = require('./chunk-5X26XR44.js');var _chunkVBPIXXIAjs = require('./chunk-VBPIXXIA.js');var _chunkTDMRUCR6js = require('./chunk-TDMRUCR6.js');var _chunkDEWWZMYCjs = require('./chunk-DEWWZMYC.js');var _chunkLQMOWEA7js = require('./chunk-LQMOWEA7.js');var _chunkZ5V4P3ECjs = require('./chunk-Z5V4P3EC.js');var _chunkDMMKR6TYjs = require('./chunk-DMMKR6TY.js');var _chunkRRAIGAHUjs = require('./chunk-RRAIGAHU.js');var _chunk7SOZ6MOVjs = require('./chunk-7SOZ6MOV.js');var _chunkUNR6ATUHjs = require('./chunk-UNR6ATUH.js');var _chunk5L5DM2X5js = require('./chunk-5L5DM2X5.js');var _chunk3TLCOZ5Rjs = require('./chunk-3TLCOZ5R.js');var _chunkRKRTEMMZjs = require('./chunk-RKRTEMMZ.js');var _chunkRJMIOBXZjs = require('./chunk-RJMIOBXZ.js');var _chunkEIM5R7AJjs = require('./chunk-EIM5R7AJ.js');var _chunkCT2CRYC2js = require('./chunk-CT2CRYC2.js');var _chunkUSPGZYMVjs = require('./chunk-USPGZYMV.js');var _chunkK4GMCVHOjs = require('./chunk-K4GMCVHO.js');var _chunkI5INE4KGjs = require('./chunk-I5INE4KG.js');var _chunkWYRD4UAKjs = require('./chunk-WYRD4UAK.js');var _chunkBANQNQD6js = require('./chunk-BANQNQD6.js');var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunk7J2ETVGKjs = require('./chunk-7J2ETVGK.js');var _chunkBV7RXRSLjs = require('./chunk-BV7RXRSL.js');require('./chunk-3BVMHDYA.js');var _chunkDHHZMQ72js = require('./chunk-DHHZMQ72.js');var _chunkGRXC46JCjs = require('./chunk-GRXC46JC.js');var _chunkXQILGD5Bjs = require('./chunk-XQILGD5B.js');var _chunk3PEPOFYUjs = require('./chunk-3PEPOFYU.js');var _chunkEJTY2ABYjs = require('./chunk-EJTY2ABY.js');var _chunkWFD523CVjs = require('./chunk-WFD523CV.js');var _chunkEBNJXPHGjs = require('./chunk-EBNJXPHG.js');var _chunkUJZP6L4Sjs = require('./chunk-UJZP6L4S.js');var _chunk372VUZFEjs = require('./chunk-372VUZFE.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');require('./chunk-XYO4VLMF.js');exports.Accordion = _chunkUJZP6L4Sjs.a; exports.AccordionContent = _chunkUJZP6L4Sjs.d; exports.AccordionItem = _chunkUJZP6L4Sjs.b; exports.AccordionTrigger = _chunkUJZP6L4Sjs.c; exports.Button = _chunkXQILGD5Bjs.b; exports.Calendar = _chunkGRXC46JCjs.a; exports.Checkbox = _chunkWYRD4UAKjs.a; exports.Combobox = _chunkBANQNQD6js.a; exports.Command = _chunk7J2ETVGKjs.a; exports.CommandDialog = _chunk7J2ETVGKjs.b; exports.CommandEmpty = _chunk7J2ETVGKjs.e; exports.CommandGroup = _chunk7J2ETVGKjs.f; exports.CommandInput = _chunk7J2ETVGKjs.c; exports.CommandItem = _chunk7J2ETVGKjs.h; exports.CommandList = _chunk7J2ETVGKjs.d; exports.CommandSeparator = _chunk7J2ETVGKjs.g; exports.CommandShortcut = _chunk7J2ETVGKjs.i; exports.DatePicker = _chunkDHHZMQ72js.a; exports.DateRangePicker = _chunk3TLCOZ5Rjs.a; exports.Dialog = _chunkBV7RXRSLjs.a; exports.DialogClose = _chunkBV7RXRSLjs.d; exports.DialogContent = _chunkBV7RXRSLjs.f; exports.DialogDescription = _chunkBV7RXRSLjs.j; exports.DialogFooter = _chunkBV7RXRSLjs.h; exports.DialogHeader = _chunkBV7RXRSLjs.g; exports.DialogOverlay = _chunkBV7RXRSLjs.e; exports.DialogPortal = _chunkBV7RXRSLjs.c; exports.DialogTitle = _chunkBV7RXRSLjs.i; exports.DialogTrigger = _chunkBV7RXRSLjs.b; exports.Drawer = _chunkRKRTEMMZjs.b; exports.DrawerBody = _chunkRKRTEMMZjs.e; exports.DrawerFooter = _chunkRKRTEMMZjs.f; exports.DrawerHeader = _chunkRKRTEMMZjs.c; exports.DrawerTitle = _chunkRKRTEMMZjs.d; exports.DropdownMenu = _chunkEIM5R7AJjs.a; exports.DropdownMenuCheckboxItem = _chunkEIM5R7AJjs.k; exports.DropdownMenuContent = _chunkEIM5R7AJjs.i; exports.DropdownMenuGroup = _chunkEIM5R7AJjs.c; exports.DropdownMenuItem = _chunkEIM5R7AJjs.j; exports.DropdownMenuLabel = _chunkEIM5R7AJjs.m; exports.DropdownMenuPortal = _chunkEIM5R7AJjs.d; exports.DropdownMenuRadioGroup = _chunkEIM5R7AJjs.f; exports.DropdownMenuRadioItem = _chunkEIM5R7AJjs.l; exports.DropdownMenuSeparator = _chunkEIM5R7AJjs.n; exports.DropdownMenuShortcut = _chunkEIM5R7AJjs.o; exports.DropdownMenuSub = _chunkEIM5R7AJjs.e; exports.DropdownMenuSubContent = _chunkEIM5R7AJjs.h; exports.DropdownMenuSubTrigger = _chunkEIM5R7AJjs.g; exports.DropdownMenuTrigger = _chunkEIM5R7AJjs.b; exports.Field = _chunkCT2CRYC2js.a; exports.FieldDescription = _chunkCT2CRYC2js.c; exports.FieldLabel = _chunkCT2CRYC2js.b; exports.FileUpload = _chunkUSPGZYMVjs.a; exports.GeometricFluidGrid = _chunk3PEPOFYUjs.a; exports.GlitchLink = _chunkEJTY2ABYjs.b; exports.Input = _chunkK4GMCVHOjs.a; exports.Label = _chunkI5INE4KGjs.a; exports.PixelLoad = _chunkWFD523CVjs.a; exports.Popover = _chunkULIOO55Ijs.a; exports.PopoverContent = _chunkULIOO55Ijs.c; exports.PopoverTrigger = _chunkULIOO55Ijs.b; exports.RadioGroup = _chunkZ5V4P3ECjs.a; exports.RadioGroupItem = _chunkZ5V4P3ECjs.b; exports.ScrollArea = _chunkRJMIOBXZjs.a; exports.ScrollBar = _chunkRJMIOBXZjs.b; exports.Separator = _chunk7SOZ6MOVjs.a; exports.Sheet = _chunkUNR6ATUHjs.a; exports.SheetClose = _chunkUNR6ATUHjs.c; exports.SheetContent = _chunkUNR6ATUHjs.f; exports.SheetDescription = _chunkUNR6ATUHjs.j; exports.SheetFooter = _chunkUNR6ATUHjs.h; exports.SheetHeader = _chunkUNR6ATUHjs.g; exports.SheetOverlay = _chunkUNR6ATUHjs.e; exports.SheetPortal = _chunkUNR6ATUHjs.d; exports.SheetTitle = _chunkUNR6ATUHjs.i; exports.SheetTrigger = _chunkUNR6ATUHjs.b; exports.Sidebar = _chunkDMMKR6TYjs.d; exports.SidebarBanner = _chunkDMMKR6TYjs.c; exports.SidebarContent = _chunkDMMKR6TYjs.l; exports.SidebarFooter = _chunkDMMKR6TYjs.j; exports.SidebarGroup = _chunkDMMKR6TYjs.m; exports.SidebarGroupAction = _chunkDMMKR6TYjs.o; exports.SidebarGroupContent = _chunkDMMKR6TYjs.p; exports.SidebarGroupLabel = _chunkDMMKR6TYjs.n; exports.SidebarHeader = _chunkDMMKR6TYjs.i; exports.SidebarInput = _chunkDMMKR6TYjs.h; exports.SidebarInset = _chunkDMMKR6TYjs.g; exports.SidebarMenu = _chunkDMMKR6TYjs.q; exports.SidebarMenuAction = _chunkDMMKR6TYjs.t; exports.SidebarMenuBadge = _chunkDMMKR6TYjs.u; exports.SidebarMenuButton = _chunkDMMKR6TYjs.s; exports.SidebarMenuItem = _chunkDMMKR6TYjs.r; exports.SidebarMenuSkeleton = _chunkDMMKR6TYjs.v; exports.SidebarMenuSub = _chunkDMMKR6TYjs.w; exports.SidebarMenuSubButton = _chunkDMMKR6TYjs.y; exports.SidebarMenuSubItem = _chunkDMMKR6TYjs.x; exports.SidebarProvider = _chunkDMMKR6TYjs.b; exports.SidebarRail = _chunkDMMKR6TYjs.f; exports.SidebarSeparator = _chunkDMMKR6TYjs.k; exports.SidebarTrigger = _chunkDMMKR6TYjs.e; exports.Skeleton = _chunk5L5DM2X5js.a; exports.Table = _chunk5X26XR44js.a; exports.TableBody = _chunk5X26XR44js.c; exports.TableCaption = _chunk5X26XR44js.i; exports.TableCell = _chunk5X26XR44js.g; exports.TableCellAction = _chunk5X26XR44js.h; exports.TableFooter = _chunk5X26XR44js.d; exports.TableHead = _chunk5X26XR44js.f; exports.TableHeader = _chunk5X26XR44js.b; exports.TableRow = _chunk5X26XR44js.e; exports.Tabs = _chunkVBPIXXIAjs.a; exports.TabsContent = _chunkVBPIXXIAjs.d; exports.TabsList = _chunkVBPIXXIAjs.b; exports.TabsTrigger = _chunkVBPIXXIAjs.c; exports.TextDecoder = _chunkEBNJXPHGjs.a; exports.Textarea = _chunkTDMRUCR6js.a; exports.Toaster = _chunkDEWWZMYCjs.b; exports.Tooltip = _chunkRRAIGAHUjs.b; exports.TooltipContent = _chunkRRAIGAHUjs.d; exports.TooltipProvider = _chunkRRAIGAHUjs.a; exports.TooltipTrigger = _chunkRRAIGAHUjs.c; exports.TreeSelect = _chunkLQMOWEA7js.a; exports.buttonVariants = _chunkXQILGD5Bjs.a; exports.cn = _chunkFUYXCJOQjs.a; exports.getSeedColor = _chunk372VUZFEjs.b; exports.getSphericalGradient = _chunk372VUZFEjs.a; exports.toast = _chunkDEWWZMYCjs.a; exports.useDrawer = _chunkRKRTEMMZjs.a; exports.useSidebar = _chunkDMMKR6TYjs.a;
2
+ var _chunk5X26XR44js = require('./chunk-5X26XR44.js');var _chunkVBPIXXIAjs = require('./chunk-VBPIXXIA.js');var _chunkTDMRUCR6js = require('./chunk-TDMRUCR6.js');var _chunkDEWWZMYCjs = require('./chunk-DEWWZMYC.js');var _chunkLQMOWEA7js = require('./chunk-LQMOWEA7.js');var _chunkZ5V4P3ECjs = require('./chunk-Z5V4P3EC.js');var _chunkDMMKR6TYjs = require('./chunk-DMMKR6TY.js');var _chunkRRAIGAHUjs = require('./chunk-RRAIGAHU.js');var _chunk7SOZ6MOVjs = require('./chunk-7SOZ6MOV.js');var _chunkUNR6ATUHjs = require('./chunk-UNR6ATUH.js');var _chunk5L5DM2X5js = require('./chunk-5L5DM2X5.js');var _chunk3TLCOZ5Rjs = require('./chunk-3TLCOZ5R.js');var _chunkRKRTEMMZjs = require('./chunk-RKRTEMMZ.js');var _chunkRJMIOBXZjs = require('./chunk-RJMIOBXZ.js');var _chunkEIM5R7AJjs = require('./chunk-EIM5R7AJ.js');var _chunkCT2CRYC2js = require('./chunk-CT2CRYC2.js');var _chunkUSPGZYMVjs = require('./chunk-USPGZYMV.js');var _chunkK4GMCVHOjs = require('./chunk-K4GMCVHO.js');var _chunkI5INE4KGjs = require('./chunk-I5INE4KG.js');var _chunkWYRD4UAKjs = require('./chunk-WYRD4UAK.js');var _chunkFRES7OEXjs = require('./chunk-FRES7OEX.js');var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunk7J2ETVGKjs = require('./chunk-7J2ETVGK.js');var _chunkBV7RXRSLjs = require('./chunk-BV7RXRSL.js');require('./chunk-3BVMHDYA.js');var _chunkDHHZMQ72js = require('./chunk-DHHZMQ72.js');var _chunkGRXC46JCjs = require('./chunk-GRXC46JC.js');var _chunkXQILGD5Bjs = require('./chunk-XQILGD5B.js');var _chunk3PEPOFYUjs = require('./chunk-3PEPOFYU.js');var _chunkEJTY2ABYjs = require('./chunk-EJTY2ABY.js');var _chunkWFD523CVjs = require('./chunk-WFD523CV.js');var _chunkEBNJXPHGjs = require('./chunk-EBNJXPHG.js');var _chunkUJZP6L4Sjs = require('./chunk-UJZP6L4S.js');var _chunk372VUZFEjs = require('./chunk-372VUZFE.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');require('./chunk-XYO4VLMF.js');exports.Accordion = _chunkUJZP6L4Sjs.a; exports.AccordionContent = _chunkUJZP6L4Sjs.d; exports.AccordionItem = _chunkUJZP6L4Sjs.b; exports.AccordionTrigger = _chunkUJZP6L4Sjs.c; exports.Button = _chunkXQILGD5Bjs.b; exports.Calendar = _chunkGRXC46JCjs.a; exports.Checkbox = _chunkWYRD4UAKjs.a; exports.Combobox = _chunkFRES7OEXjs.a; exports.Command = _chunk7J2ETVGKjs.a; exports.CommandDialog = _chunk7J2ETVGKjs.b; exports.CommandEmpty = _chunk7J2ETVGKjs.e; exports.CommandGroup = _chunk7J2ETVGKjs.f; exports.CommandInput = _chunk7J2ETVGKjs.c; exports.CommandItem = _chunk7J2ETVGKjs.h; exports.CommandList = _chunk7J2ETVGKjs.d; exports.CommandSeparator = _chunk7J2ETVGKjs.g; exports.CommandShortcut = _chunk7J2ETVGKjs.i; exports.DatePicker = _chunkDHHZMQ72js.a; exports.DateRangePicker = _chunk3TLCOZ5Rjs.a; exports.Dialog = _chunkBV7RXRSLjs.a; exports.DialogClose = _chunkBV7RXRSLjs.d; exports.DialogContent = _chunkBV7RXRSLjs.f; exports.DialogDescription = _chunkBV7RXRSLjs.j; exports.DialogFooter = _chunkBV7RXRSLjs.h; exports.DialogHeader = _chunkBV7RXRSLjs.g; exports.DialogOverlay = _chunkBV7RXRSLjs.e; exports.DialogPortal = _chunkBV7RXRSLjs.c; exports.DialogTitle = _chunkBV7RXRSLjs.i; exports.DialogTrigger = _chunkBV7RXRSLjs.b; exports.Drawer = _chunkRKRTEMMZjs.b; exports.DrawerBody = _chunkRKRTEMMZjs.e; exports.DrawerFooter = _chunkRKRTEMMZjs.f; exports.DrawerHeader = _chunkRKRTEMMZjs.c; exports.DrawerTitle = _chunkRKRTEMMZjs.d; exports.DropdownMenu = _chunkEIM5R7AJjs.a; exports.DropdownMenuCheckboxItem = _chunkEIM5R7AJjs.k; exports.DropdownMenuContent = _chunkEIM5R7AJjs.i; exports.DropdownMenuGroup = _chunkEIM5R7AJjs.c; exports.DropdownMenuItem = _chunkEIM5R7AJjs.j; exports.DropdownMenuLabel = _chunkEIM5R7AJjs.m; exports.DropdownMenuPortal = _chunkEIM5R7AJjs.d; exports.DropdownMenuRadioGroup = _chunkEIM5R7AJjs.f; exports.DropdownMenuRadioItem = _chunkEIM5R7AJjs.l; exports.DropdownMenuSeparator = _chunkEIM5R7AJjs.n; exports.DropdownMenuShortcut = _chunkEIM5R7AJjs.o; exports.DropdownMenuSub = _chunkEIM5R7AJjs.e; exports.DropdownMenuSubContent = _chunkEIM5R7AJjs.h; exports.DropdownMenuSubTrigger = _chunkEIM5R7AJjs.g; exports.DropdownMenuTrigger = _chunkEIM5R7AJjs.b; exports.Field = _chunkCT2CRYC2js.a; exports.FieldDescription = _chunkCT2CRYC2js.c; exports.FieldLabel = _chunkCT2CRYC2js.b; exports.FileUpload = _chunkUSPGZYMVjs.a; exports.GeometricFluidGrid = _chunk3PEPOFYUjs.a; exports.GlitchLink = _chunkEJTY2ABYjs.b; exports.Input = _chunkK4GMCVHOjs.a; exports.Label = _chunkI5INE4KGjs.a; exports.PixelLoad = _chunkWFD523CVjs.a; exports.Popover = _chunkULIOO55Ijs.a; exports.PopoverContent = _chunkULIOO55Ijs.c; exports.PopoverTrigger = _chunkULIOO55Ijs.b; exports.RadioGroup = _chunkZ5V4P3ECjs.a; exports.RadioGroupItem = _chunkZ5V4P3ECjs.b; exports.ScrollArea = _chunkRJMIOBXZjs.a; exports.ScrollBar = _chunkRJMIOBXZjs.b; exports.Separator = _chunk7SOZ6MOVjs.a; exports.Sheet = _chunkUNR6ATUHjs.a; exports.SheetClose = _chunkUNR6ATUHjs.c; exports.SheetContent = _chunkUNR6ATUHjs.f; exports.SheetDescription = _chunkUNR6ATUHjs.j; exports.SheetFooter = _chunkUNR6ATUHjs.h; exports.SheetHeader = _chunkUNR6ATUHjs.g; exports.SheetOverlay = _chunkUNR6ATUHjs.e; exports.SheetPortal = _chunkUNR6ATUHjs.d; exports.SheetTitle = _chunkUNR6ATUHjs.i; exports.SheetTrigger = _chunkUNR6ATUHjs.b; exports.Sidebar = _chunkDMMKR6TYjs.d; exports.SidebarBanner = _chunkDMMKR6TYjs.c; exports.SidebarContent = _chunkDMMKR6TYjs.l; exports.SidebarFooter = _chunkDMMKR6TYjs.j; exports.SidebarGroup = _chunkDMMKR6TYjs.m; exports.SidebarGroupAction = _chunkDMMKR6TYjs.o; exports.SidebarGroupContent = _chunkDMMKR6TYjs.p; exports.SidebarGroupLabel = _chunkDMMKR6TYjs.n; exports.SidebarHeader = _chunkDMMKR6TYjs.i; exports.SidebarInput = _chunkDMMKR6TYjs.h; exports.SidebarInset = _chunkDMMKR6TYjs.g; exports.SidebarMenu = _chunkDMMKR6TYjs.q; exports.SidebarMenuAction = _chunkDMMKR6TYjs.t; exports.SidebarMenuBadge = _chunkDMMKR6TYjs.u; exports.SidebarMenuButton = _chunkDMMKR6TYjs.s; exports.SidebarMenuItem = _chunkDMMKR6TYjs.r; exports.SidebarMenuSkeleton = _chunkDMMKR6TYjs.v; exports.SidebarMenuSub = _chunkDMMKR6TYjs.w; exports.SidebarMenuSubButton = _chunkDMMKR6TYjs.y; exports.SidebarMenuSubItem = _chunkDMMKR6TYjs.x; exports.SidebarProvider = _chunkDMMKR6TYjs.b; exports.SidebarRail = _chunkDMMKR6TYjs.f; exports.SidebarSeparator = _chunkDMMKR6TYjs.k; exports.SidebarTrigger = _chunkDMMKR6TYjs.e; exports.Skeleton = _chunk5L5DM2X5js.a; exports.Table = _chunk5X26XR44js.a; exports.TableBody = _chunk5X26XR44js.c; exports.TableCaption = _chunk5X26XR44js.i; exports.TableCell = _chunk5X26XR44js.g; exports.TableCellAction = _chunk5X26XR44js.h; exports.TableFooter = _chunk5X26XR44js.d; exports.TableHead = _chunk5X26XR44js.f; exports.TableHeader = _chunk5X26XR44js.b; exports.TableRow = _chunk5X26XR44js.e; exports.Tabs = _chunkVBPIXXIAjs.a; exports.TabsContent = _chunkVBPIXXIAjs.d; exports.TabsList = _chunkVBPIXXIAjs.b; exports.TabsTrigger = _chunkVBPIXXIAjs.c; exports.TextDecoder = _chunkEBNJXPHGjs.a; exports.Textarea = _chunkTDMRUCR6js.a; exports.Toaster = _chunkDEWWZMYCjs.b; exports.Tooltip = _chunkRRAIGAHUjs.b; exports.TooltipContent = _chunkRRAIGAHUjs.d; exports.TooltipProvider = _chunkRRAIGAHUjs.a; exports.TooltipTrigger = _chunkRRAIGAHUjs.c; exports.TreeSelect = _chunkLQMOWEA7js.a; exports.buttonVariants = _chunkXQILGD5Bjs.a; exports.cn = _chunkFUYXCJOQjs.a; exports.getSeedColor = _chunk372VUZFEjs.b; exports.getSphericalGradient = _chunk372VUZFEjs.a; exports.toast = _chunkDEWWZMYCjs.a; exports.useDrawer = _chunkRKRTEMMZjs.a; exports.useSidebar = _chunkDMMKR6TYjs.a;
3
3
  //# sourceMappingURL=index.js.map
package/dist/index.mjs CHANGED
@@ -1,3 +1,3 @@
1
1
  "use client";
2
- import{a as It,b as jt,c as Ft,d as Gt,e as Lt,f as Ht,g as Rt,h as At,i as Nt}from"./chunk-C7GTPYMH.mjs";import{a as e,b as o,c as i,d as n}from"./chunk-WZ5F5VT3.mjs";import{a as ct}from"./chunk-MQMO7DMT.mjs";import{a as ma,b as fa}from"./chunk-RRJV4OGF.mjs";import{a as la}from"./chunk-574USYNO.mjs";import{a as pa,b as ha}from"./chunk-IKJ4QRNB.mjs";import{a as T,b as M,c as P,d as I,e as j,f as F,g as G,h as L,i as H,j as R,k as A,l as N,m as B,n as E,o as U,p as O,q,r as V,s as J,t as K,u as Q,v as W,w as X,x as Y,y as Z}from"./chunk-TYRJ7CQV.mjs";import{a as _,b as S,c as D,d as C}from"./chunk-QC5MA4WL.mjs";import{a as h}from"./chunk-YBV4CPVD.mjs";import{a as g,b as v,c as w,d as u,e as m,f,g as b,h as x,i as y,j as k}from"./chunk-QVMQ55JW.mjs";import{a as z}from"./chunk-CNRZOMR4.mjs";import{a as ht}from"./chunk-UAUSYTY4.mjs";import{a as at,b as rt,c as et,d as ot,e as it,f as nt}from"./chunk-DKMCJGI4.mjs";import{a as $,b as tt}from"./chunk-5TVDBV74.mjs";import{a as ut,b as mt,c as ft,d as bt,e as xt,f as yt,g as kt,h as zt,i as _t,j as St,k as Dt,l as Ct,m as Tt,n as Mt,o as Pt}from"./chunk-NKLBPY3T.mjs";import{a as gt,b as vt,c as wt}from"./chunk-L36V45FD.mjs";import{a as st}from"./chunk-PD43W3YN.mjs";import{a as p}from"./chunk-NEOUFWZN.mjs";import{a as dt}from"./chunk-WY4HCUAP.mjs";import{a as da}from"./chunk-NKELJSLY.mjs";import{a as sa}from"./chunk-FFYMV22V.mjs";import{a as Bt,b as Et,c as Ut}from"./chunk-FZ3NXOFK.mjs";import{a as $t,b as ta,c as aa,d as ra,e as ea,f as oa,g as ia,h as na,i as ca}from"./chunk-DATWXRPT.mjs";import{a as Ot,b as qt,c as Vt,d as Jt,e as Kt,f as Qt,g as Wt,h as Xt,i as Yt,j as Zt}from"./chunk-KLU33CJI.mjs";import"./chunk-4LR7SOCY.mjs";import{a as pt}from"./chunk-7FUNOEYE.mjs";import{a as lt}from"./chunk-QMJVRGPB.mjs";import{a,b as r}from"./chunk-BLHKJHNV.mjs";import{a as l}from"./chunk-Z6RAFZ3C.mjs";import{b as s}from"./chunk-AEZ5XKKG.mjs";import{a as d}from"./chunk-7ONK6HHN.mjs";import{a as c}from"./chunk-23ZKDWV4.mjs";import{a as ga,b as va,c as wa,d as ua}from"./chunk-4PTRLHCB.mjs";import{a as ba,b as xa}from"./chunk-4LUOGI24.mjs";import{a as t}from"./chunk-S5TKCF6T.mjs";import"./chunk-KPAOPUY2.mjs";export{ga as Accordion,ua as AccordionContent,va as AccordionItem,wa as AccordionTrigger,r as Button,lt as Calendar,da as Checkbox,sa as Combobox,$t as Command,ta as CommandDialog,ea as CommandEmpty,oa as CommandGroup,aa as CommandInput,na as CommandItem,ra as CommandList,ia as CommandSeparator,ca as CommandShortcut,pt as DatePicker,ht as DateRangePicker,Ot as Dialog,Jt as DialogClose,Qt as DialogContent,Zt as DialogDescription,Xt as DialogFooter,Wt as DialogHeader,Kt as DialogOverlay,Vt as DialogPortal,Yt as DialogTitle,qt as DialogTrigger,rt as Drawer,it as DrawerBody,nt as DrawerFooter,et as DrawerHeader,ot as DrawerTitle,ut as DropdownMenu,Dt as DropdownMenuCheckboxItem,_t as DropdownMenuContent,ft as DropdownMenuGroup,St as DropdownMenuItem,Tt as DropdownMenuLabel,bt as DropdownMenuPortal,yt as DropdownMenuRadioGroup,Ct as DropdownMenuRadioItem,Mt as DropdownMenuSeparator,Pt as DropdownMenuShortcut,xt as DropdownMenuSub,zt as DropdownMenuSubContent,kt as DropdownMenuSubTrigger,mt as DropdownMenuTrigger,gt as Field,wt as FieldDescription,vt as FieldLabel,st as FileUpload,l as GeometricFluidGrid,s as GlitchLink,p as Input,dt as Label,d as PixelLoad,Bt as Popover,Ut as PopoverContent,Et as PopoverTrigger,pa as RadioGroup,ha as RadioGroupItem,$ as ScrollArea,tt as ScrollBar,h as Separator,g as Sheet,w as SheetClose,f as SheetContent,k as SheetDescription,x as SheetFooter,b as SheetHeader,m as SheetOverlay,u as SheetPortal,y as SheetTitle,v as SheetTrigger,I as Sidebar,P as SidebarBanner,N as SidebarContent,R as SidebarFooter,B as SidebarGroup,U as SidebarGroupAction,O as SidebarGroupContent,E as SidebarGroupLabel,H as SidebarHeader,L as SidebarInput,G as SidebarInset,q as SidebarMenu,K as SidebarMenuAction,Q as SidebarMenuBadge,J as SidebarMenuButton,V as SidebarMenuItem,W as SidebarMenuSkeleton,X as SidebarMenuSub,Z as SidebarMenuSubButton,Y as SidebarMenuSubItem,M as SidebarProvider,F as SidebarRail,A as SidebarSeparator,j as SidebarTrigger,z as Skeleton,It as Table,Ft as TableBody,Nt as TableCaption,Rt as TableCell,At as TableCellAction,Gt as TableFooter,Ht as TableHead,jt as TableHeader,Lt as TableRow,e as Tabs,n as TabsContent,o as TabsList,i as TabsTrigger,c as TextDecoder,ct as Textarea,fa as Toaster,S as Tooltip,C as TooltipContent,_ as TooltipProvider,D as TooltipTrigger,la as TreeSelect,a as buttonVariants,t as cn,xa as getSeedColor,ba as getSphericalGradient,ma as toast,at as useDrawer,T as useSidebar};
2
+ import{a as It,b as jt,c as Ft,d as Gt,e as Lt,f as Ht,g as Rt,h as At,i as Nt}from"./chunk-C7GTPYMH.mjs";import{a as e,b as o,c as i,d as n}from"./chunk-WZ5F5VT3.mjs";import{a as ct}from"./chunk-MQMO7DMT.mjs";import{a as ma,b as fa}from"./chunk-RRJV4OGF.mjs";import{a as la}from"./chunk-574USYNO.mjs";import{a as pa,b as ha}from"./chunk-IKJ4QRNB.mjs";import{a as T,b as M,c as P,d as I,e as j,f as F,g as G,h as L,i as H,j as R,k as A,l as N,m as B,n as E,o as U,p as O,q,r as V,s as J,t as K,u as Q,v as W,w as X,x as Y,y as Z}from"./chunk-TYRJ7CQV.mjs";import{a as _,b as S,c as D,d as C}from"./chunk-QC5MA4WL.mjs";import{a as h}from"./chunk-YBV4CPVD.mjs";import{a as g,b as v,c as w,d as u,e as m,f,g as b,h as x,i as y,j as k}from"./chunk-QVMQ55JW.mjs";import{a as z}from"./chunk-CNRZOMR4.mjs";import{a as ht}from"./chunk-UAUSYTY4.mjs";import{a as at,b as rt,c as et,d as ot,e as it,f as nt}from"./chunk-DKMCJGI4.mjs";import{a as $,b as tt}from"./chunk-5TVDBV74.mjs";import{a as ut,b as mt,c as ft,d as bt,e as xt,f as yt,g as kt,h as zt,i as _t,j as St,k as Dt,l as Ct,m as Tt,n as Mt,o as Pt}from"./chunk-NKLBPY3T.mjs";import{a as gt,b as vt,c as wt}from"./chunk-L36V45FD.mjs";import{a as st}from"./chunk-PD43W3YN.mjs";import{a as p}from"./chunk-NEOUFWZN.mjs";import{a as dt}from"./chunk-WY4HCUAP.mjs";import{a as da}from"./chunk-NKELJSLY.mjs";import{a as sa}from"./chunk-DWUL3NW4.mjs";import{a as Bt,b as Et,c as Ut}from"./chunk-FZ3NXOFK.mjs";import{a as $t,b as ta,c as aa,d as ra,e as ea,f as oa,g as ia,h as na,i as ca}from"./chunk-DATWXRPT.mjs";import{a as Ot,b as qt,c as Vt,d as Jt,e as Kt,f as Qt,g as Wt,h as Xt,i as Yt,j as Zt}from"./chunk-KLU33CJI.mjs";import"./chunk-4LR7SOCY.mjs";import{a as pt}from"./chunk-7FUNOEYE.mjs";import{a as lt}from"./chunk-QMJVRGPB.mjs";import{a,b as r}from"./chunk-BLHKJHNV.mjs";import{a as l}from"./chunk-Z6RAFZ3C.mjs";import{b as s}from"./chunk-AEZ5XKKG.mjs";import{a as d}from"./chunk-7ONK6HHN.mjs";import{a as c}from"./chunk-23ZKDWV4.mjs";import{a as ga,b as va,c as wa,d as ua}from"./chunk-4PTRLHCB.mjs";import{a as ba,b as xa}from"./chunk-4LUOGI24.mjs";import{a as t}from"./chunk-S5TKCF6T.mjs";import"./chunk-KPAOPUY2.mjs";export{ga as Accordion,ua as AccordionContent,va as AccordionItem,wa as AccordionTrigger,r as Button,lt as Calendar,da as Checkbox,sa as Combobox,$t as Command,ta as CommandDialog,ea as CommandEmpty,oa as CommandGroup,aa as CommandInput,na as CommandItem,ra as CommandList,ia as CommandSeparator,ca as CommandShortcut,pt as DatePicker,ht as DateRangePicker,Ot as Dialog,Jt as DialogClose,Qt as DialogContent,Zt as DialogDescription,Xt as DialogFooter,Wt as DialogHeader,Kt as DialogOverlay,Vt as DialogPortal,Yt as DialogTitle,qt as DialogTrigger,rt as Drawer,it as DrawerBody,nt as DrawerFooter,et as DrawerHeader,ot as DrawerTitle,ut as DropdownMenu,Dt as DropdownMenuCheckboxItem,_t as DropdownMenuContent,ft as DropdownMenuGroup,St as DropdownMenuItem,Tt as DropdownMenuLabel,bt as DropdownMenuPortal,yt as DropdownMenuRadioGroup,Ct as DropdownMenuRadioItem,Mt as DropdownMenuSeparator,Pt as DropdownMenuShortcut,xt as DropdownMenuSub,zt as DropdownMenuSubContent,kt as DropdownMenuSubTrigger,mt as DropdownMenuTrigger,gt as Field,wt as FieldDescription,vt as FieldLabel,st as FileUpload,l as GeometricFluidGrid,s as GlitchLink,p as Input,dt as Label,d as PixelLoad,Bt as Popover,Ut as PopoverContent,Et as PopoverTrigger,pa as RadioGroup,ha as RadioGroupItem,$ as ScrollArea,tt as ScrollBar,h as Separator,g as Sheet,w as SheetClose,f as SheetContent,k as SheetDescription,x as SheetFooter,b as SheetHeader,m as SheetOverlay,u as SheetPortal,y as SheetTitle,v as SheetTrigger,I as Sidebar,P as SidebarBanner,N as SidebarContent,R as SidebarFooter,B as SidebarGroup,U as SidebarGroupAction,O as SidebarGroupContent,E as SidebarGroupLabel,H as SidebarHeader,L as SidebarInput,G as SidebarInset,q as SidebarMenu,K as SidebarMenuAction,Q as SidebarMenuBadge,J as SidebarMenuButton,V as SidebarMenuItem,W as SidebarMenuSkeleton,X as SidebarMenuSub,Z as SidebarMenuSubButton,Y as SidebarMenuSubItem,M as SidebarProvider,F as SidebarRail,A as SidebarSeparator,j as SidebarTrigger,z as Skeleton,It as Table,Ft as TableBody,Nt as TableCaption,Rt as TableCell,At as TableCellAction,Gt as TableFooter,Ht as TableHead,jt as TableHeader,Lt as TableRow,e as Tabs,n as TabsContent,o as TabsList,i as TabsTrigger,c as TextDecoder,ct as Textarea,fa as Toaster,S as Tooltip,C as TooltipContent,_ as TooltipProvider,D as TooltipTrigger,la as TreeSelect,a as buttonVariants,t as cn,xa as getSeedColor,ba as getSphericalGradient,ma as toast,at as useDrawer,T as useSidebar};
3
3
  //# sourceMappingURL=index.mjs.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@alkimi.org/ui-kit",
3
- "version": "0.12.3",
3
+ "version": "0.12.4",
4
4
  "packageManager": "pnpm@10.26.0",
5
5
  "description": "A React component library built with shadcn/ui and Tailwind CSS",
6
6
  "main": "./dist/index.js",
@@ -1,3 +0,0 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
2
- var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunk7J2ETVGKjs = require('./chunk-7J2ETVGK.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var p = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function ne({options:u=[],groups:l,value:c,onValueChange:W,placeholder:b="Select option...",searchPlaceholder:X="Search...",emptyMessage:$="No option found.",disabled:m=!1,disableLabelControls:f=!1,className:j,error:q=!1,multiple:A=!1,values:s=[],onValuesChange:x,variant:B="default",searchable:F=!0,onTriggerClick:h}){let[C,y]=p.useState(!1),t=B==="metrics",d=t?!0:A,N=p.useMemo(()=>l?l.flatMap(e=>e.options):u,[l,u]),w=N.find(e=>e.value===c),a=N.filter(e=>s.includes(e.value)),H=e=>{if(d){let n=s.includes(e)?s.filter(v=>v!==e):[...s,e];_optionalChain([x, 'optionalCall', _ => _(n)])}else _optionalChain([W, 'optionalCall', _2 => _2(e===c?"":e)]),y(!1)},k=(e,n)=>{n.preventDefault(),n.stopPropagation();let v=s.filter(Q=>Q!==e);_optionalChain([x, 'optionalCall', _3 => _3(v)])},J=()=>t?b:d?a.length===0?b:a.length===1?a[0].label:`${a.length} selected`:w?w.label:b,P=e=>{let n=d?s.includes(e.value):c===e.value;return _jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.h,{value:e.value,onSelect:H,className:"rounded-[12px]",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.Check,{className:_chunkFUYXCJOQjs.a.call(void 0, "ml-auto h-4 w-4 shrink-0",n?"opacity-100":"opacity-0")})]},e.value)},O=()=>t||!d||a.length===0?null:_jsxruntime.jsx.call(void 0, "div",{className:"px-2 py-1.5",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-wrap gap-1",children:a.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"h-3 w-3 cursor-pointer",onClick:n=>k(e.value,n)})]},e.value))})}),K=()=>!t||a.length===0?null:a.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:_chunkFUYXCJOQjs.a.call(void 0, "inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm",(m||f)&&"opacity-50 cursor-not-allowed pointer-events-none"),style:{borderColor:e.color||"var(--border)"},children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate text-xs font-medium",style:{color:e.color},children:e.label}),!m||!f&&_jsxruntime.jsx.call(void 0, "button",{disabled:m||f,onClick:n=>k(e.value,n),children:_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:_chunkFUYXCJOQjs.a.call(void 0, "size-3.5 cursor-pointer opacity-70 hover:opacity-100"),style:{color:e.color}})})]},e.value)),S=_jsxruntime.jsxs.call(void 0, _chunkULIOO55Ijs.a,{open:C,onOpenChange:y,children:[_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",role:"combobox","aria-expanded":C,disabled:m,onClick:h?e=>{e.preventDefault(),h()}:void 0,className:_chunkFUYXCJOQjs.a.call(void 0, "cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!t&&"my-2 w-full",t&&"w-auto gap-2",!c&&!s.length&&"text-secondary-text",q&&"border-destructive-foreground focus-visible:ring-destructive-foreground",t&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",j),children:[t&&_jsxruntime.jsx.call(void 0, _lucidereact.Plus,{className:"h-4 w-4 shrink-0"}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:J()}),!t&&_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.c,{className:"overflow-hidden rounded-xl p-0",align:"start",style:t?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.a,{children:[F&&_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.c,{placeholder:X}),_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.d,{children:[_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.e,{children:$}),l?_jsxruntime.jsxs.call(void 0, _jsxruntime.Fragment,{children:[O(),l.map(e=>_jsxruntime.jsx.call(void 0, _chunk7J2ETVGKjs.f,{heading:e.label,children:e.options.map(P)},e.label))]}):_jsxruntime.jsxs.call(void 0, _chunk7J2ETVGKjs.f,{children:[O(),u.map(P)]})]})]})})]});return t?_jsxruntime.jsxs.call(void 0, "div",{className:"flex flex-wrap items-center gap-2",children:[S,K()]}):S}exports.a = ne;
3
- //# sourceMappingURL=chunk-BANQNQD6.js.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-BANQNQD6.js","../src/components/combobox.tsx"],"names":["Combobox","options","groups","value","onValueChange","placeholder","searchPlaceholder","emptyMessage","disabled","disableLabelControls","className","error","multiple","values","onValuesChange","variant","searchable","onTriggerClick","open","setOpen","isMetrics","effectiveMultiple","allOptions","g","selectedOption","option","selectedOptions","handleSelect","currentValue","newValues","handleRemoveValue","valueToRemove","e","v","getDisplayText"],"mappings":"AAAA,22BAAY;AACZ,sDAAqD,sDAA2E,sDAAwC,uECDjJ,2CACqB,+CAgHtC,SApEUA,EAAAA,CAAS,CACvB,OAAA,CAAAC,CAAAA,CAAU,CAAC,CAAA,CACX,MAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,kBAAA,CACd,iBAAA,CAAAC,CAAAA,CAAoB,WAAA,CACpB,YAAA,CAAAC,CAAAA,CAAe,kBAAA,CACf,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,oBAAA,CAAAC,CAAAA,CAAuB,CAAA,CAAA,CACvB,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CAAQ,CAAA,CAAA,CACR,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,MAAA,CAAAC,CAAAA,CAAS,CAAC,CAAA,CACV,cAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,SAAA,CACV,UAAA,CAAAC,CAAAA,CAAa,CAAA,CAAA,CACb,cAAA,CAAAC,CACF,CAAA,CAAkB,CAChB,GAAM,CAACC,CAAAA,CAAMC,CAAO,CAAA,CAAU,CAAA,CAAA,QAAA,CAAS,CAAA,CAAK,CAAA,CACtCC,CAAAA,CAAYL,CAAAA,GAAY,SAAA,CACxBM,CAAAA,CAAoBD,CAAAA,CAAY,CAAA,CAAA,CAAOR,CAAAA,CAEvCU,CAAAA,CAAmB,CAAA,CAAA,OAAA,CAAQ,CAAA,CAAA,EAC3BpB,CAAAA,CAAeA,CAAAA,CAAO,OAAA,CAASqB,CAAAA,EAAMA,CAAAA,CAAE,OAAO,CAAA,CAC3CtB,CAAAA,CACN,CAACC,CAAAA,CAAQD,CAAO,CAAC,CAAA,CAEduB,CAAAA,CAAiBF,CAAAA,CAAW,IAAA,CAAMG,CAAAA,EAAWA,CAAAA,CAAO,KAAA,GAAUtB,CAAK,CAAA,CACnEuB,CAAAA,CAAkBJ,CAAAA,CAAW,MAAA,CAAQG,CAAAA,EACzCZ,CAAAA,CAAO,QAAA,CAASY,CAAAA,CAAO,KAAK,CAC9B,CAAA,CAEME,CAAAA,CAAgBC,CAAAA,EAAyB,CAC7C,EAAA,CAAIP,CAAAA,CAAmB,CACrB,IAAMQ,CAAAA,CAAYhB,CAAAA,CAAO,QAAA,CAASe,CAAY,CAAA,CAC1Cf,CAAAA,CAAO,MAAA,CAAQ,CAAA,EAAM,CAAA,GAAMe,CAAY,CAAA,CACvC,CAAC,GAAGf,CAAAA,CAAQe,CAAY,CAAA,iBAC5Bd,CAAAA,wBAAAA,CAAiBe,CAAS,GAC5B,CAAA,qBACEzB,CAAAA,0BAAAA,CAAgBwB,CAAAA,GAAiBzB,CAAAA,CAAQ,EAAA,CAAKyB,CAAY,GAAA,CAC1DT,CAAAA,CAAQ,CAAA,CAAK,CAEjB,CAAA,CAEMW,CAAAA,CAAoB,CAACC,CAAAA,CAAuBC,CAAAA,CAAAA,EAAwB,CACxEA,CAAAA,CAAE,cAAA,CAAe,CAAA,CACjBA,CAAAA,CAAE,eAAA,CAAgB,CAAA,CAClB,IAAMH,CAAAA,CAAYhB,CAAAA,CAAO,MAAA,CAAQoB,CAAAA,EAAMA,CAAAA,GAAMF,CAAa,CAAA,iBAC1DjB,CAAAA,0BAAAA,CAAiBe,CAAS,GAC5B,CAAA,CAEMK,CAAAA,CAAiB,CAAA,CAAA,EACjBd,CAAAA,CAAkBf,CAAAA,CAClBgB,CAAAA,CACEK,CAAAA,CAAgB,MAAA,GAAW,CAAA,CAAUrB,CAAAA,CACrCqB,CAAAA,CAAgB,MAAA,GAAW,CAAA,CAAUA,CAAAA,CAAgB,CAAC,CAAA,CAAE,KAAA,CACrD,CAAA,EAAA","file":"/Users/aktoriukas/Documents/Projects/alkimi/alkimi-ui-kit/dist/chunk-BANQNQD6.js","sourcesContent":[null,"import * as React from \"react\"\nimport { Check, ChevronDown, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n color?: string\n}\n\nexport interface ComboboxGroup {\n label: string\n options: ComboboxOption[]\n}\n\nexport interface ComboboxProps {\n options?: ComboboxOption[]\n groups?: ComboboxGroup[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n disableLabelControls?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n variant?: \"default\" | \"metrics\"\n searchable?: boolean\n onTriggerClick?: () => void\n}\n\nexport function Combobox({\n options = [],\n groups,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n disableLabelControls = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n variant = \"default\",\n searchable = true,\n onTriggerClick,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n const isMetrics = variant === \"metrics\"\n const effectiveMultiple = isMetrics ? true : multiple\n\n const allOptions = React.useMemo(() => {\n if (groups) return groups.flatMap((g) => g.options)\n return options\n }, [groups, options])\n\n const selectedOption = allOptions.find((option) => option.value === value)\n const selectedOptions = allOptions.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (effectiveMultiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (isMetrics) return placeholder\n if (effectiveMultiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n const renderOption = (option: ComboboxOption) => {\n const isSelected = effectiveMultiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n className=\"rounded-[12px]\"\n >\n <span className=\"truncate\">{option.label}</span>\n <Check\n className={cn(\n \"ml-auto h-4 w-4 shrink-0\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n }\n\n const renderSelectedChips = () => {\n if (isMetrics || !effectiveMultiple || selectedOptions.length === 0)\n return null\n\n return (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n const renderExternalChips = () => {\n if (!isMetrics || selectedOptions.length === 0) return null\n\n return selectedOptions.map((option) => (\n <div\n key={option.value}\n className={cn(\n \"inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm\",\n (disabled || disableLabelControls) &&\n \"opacity-50 cursor-not-allowed pointer-events-none\"\n )}\n style={{ borderColor: option.color || \"var(--border)\" }}\n >\n <span\n className=\"truncate text-xs font-medium\"\n style={{ color: option.color }}\n >\n {option.label}\n </span>\n {!disabled ||\n (!disableLabelControls && (\n <button\n disabled={disabled || disableLabelControls}\n onClick={(e) => handleRemoveValue(option.value, e)}\n >\n <X\n className={cn(\n \"size-3.5 cursor-pointer opacity-70 hover:opacity-100\"\n )}\n style={{ color: option.color }}\n />\n </button>\n ))}\n </div>\n ))\n }\n\n const popover = (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={\n onTriggerClick\n ? (e) => {\n e.preventDefault()\n onTriggerClick()\n }\n : undefined\n }\n className={cn(\n \"cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !isMetrics && \"my-2 w-full\",\n isMetrics && \"w-auto gap-2\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n isMetrics &&\n \"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium\",\n className\n )}\n >\n {isMetrics && <Plus className=\"h-4 w-4 shrink-0\" />}\n <span className=\"truncate\">{getDisplayText()}</span>\n {!isMetrics && (\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"overflow-hidden rounded-xl p-0\"\n align=\"start\"\n style={\n isMetrics\n ? { minWidth: 200 }\n : { width: \"var(--radix-popover-trigger-width)\" }\n }\n >\n <Command>\n {searchable && <CommandInput placeholder={searchPlaceholder} />}\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups ? (\n <>\n {renderSelectedChips()}\n {groups.map((group) => (\n <CommandGroup key={group.label} heading={group.label}>\n {group.options.map(renderOption)}\n </CommandGroup>\n ))}\n </>\n ) : (\n <CommandGroup>\n {renderSelectedChips()}\n {options.map(renderOption)}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n\n if (isMetrics) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n {popover}\n {renderExternalChips()}\n </div>\n )\n }\n\n return popover\n}\n"]}
@@ -1,3 +0,0 @@
1
- "use client";
2
- import{a as M,b as G,c as R}from"./chunk-FZ3NXOFK.mjs";import{a as D,c as E,d as I,e as T,f as g,h as z}from"./chunk-DATWXRPT.mjs";import{a as i}from"./chunk-S5TKCF6T.mjs";import*as p from"react";import{Check as U,ChevronDown as V,Plus as Y,X as L}from"lucide-react";import{Fragment as Z,jsx as o,jsxs as r}from"react/jsx-runtime";function ne({options:u=[],groups:l,value:c,onValueChange:W,placeholder:b="Select option...",searchPlaceholder:X="Search...",emptyMessage:$="No option found.",disabled:m=!1,disableLabelControls:f=!1,className:j,error:q=!1,multiple:A=!1,values:s=[],onValuesChange:x,variant:B="default",searchable:F=!0,onTriggerClick:h}){let[C,y]=p.useState(!1),t=B==="metrics",d=t?!0:A,N=p.useMemo(()=>l?l.flatMap(e=>e.options):u,[l,u]),w=N.find(e=>e.value===c),a=N.filter(e=>s.includes(e.value)),H=e=>{if(d){let n=s.includes(e)?s.filter(v=>v!==e):[...s,e];x?.(n)}else W?.(e===c?"":e),y(!1)},k=(e,n)=>{n.preventDefault(),n.stopPropagation();let v=s.filter(Q=>Q!==e);x?.(v)},J=()=>t?b:d?a.length===0?b:a.length===1?a[0].label:`${a.length} selected`:w?w.label:b,P=e=>{let n=d?s.includes(e.value):c===e.value;return r(z,{value:e.value,onSelect:H,className:"rounded-[12px]",children:[o("span",{className:"truncate",children:e.label}),o(U,{className:i("ml-auto h-4 w-4 shrink-0",n?"opacity-100":"opacity-0")})]},e.value)},O=()=>t||!d||a.length===0?null:o("div",{className:"px-2 py-1.5",children:o("div",{className:"flex flex-wrap gap-1",children:a.map(e=>r("div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[o("span",{className:"truncate",children:e.label}),o(L,{className:"h-3 w-3 cursor-pointer",onClick:n=>k(e.value,n)})]},e.value))})}),K=()=>!t||a.length===0?null:a.map(e=>r("div",{className:i("inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm",(m||f)&&"opacity-50 cursor-not-allowed pointer-events-none"),style:{borderColor:e.color||"var(--border)"},children:[o("span",{className:"truncate text-xs font-medium",style:{color:e.color},children:e.label}),!m||!f&&o("button",{disabled:m||f,onClick:n=>k(e.value,n),children:o(L,{className:i("size-3.5 cursor-pointer opacity-70 hover:opacity-100"),style:{color:e.color}})})]},e.value)),S=r(M,{open:C,onOpenChange:y,children:[o(G,{asChild:!0,children:r("button",{type:"button",role:"combobox","aria-expanded":C,disabled:m,onClick:h?e=>{e.preventDefault(),h()}:void 0,className:i("cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50",!t&&"my-2 w-full",t&&"w-auto gap-2",!c&&!s.length&&"text-secondary-text",q&&"border-destructive-foreground focus-visible:ring-destructive-foreground",t&&"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium",j),children:[t&&o(Y,{className:"h-4 w-4 shrink-0"}),o("span",{className:"truncate",children:J()}),!t&&o(V,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),o(R,{className:"overflow-hidden rounded-xl p-0",align:"start",style:t?{minWidth:200}:{width:"var(--radix-popover-trigger-width)"},children:r(D,{children:[F&&o(E,{placeholder:X}),r(I,{children:[o(T,{children:$}),l?r(Z,{children:[O(),l.map(e=>o(g,{heading:e.label,children:e.options.map(P)},e.label))]}):r(g,{children:[O(),u.map(P)]})]})]})})]});return t?r("div",{className:"flex flex-wrap items-center gap-2",children:[S,K()]}):S}export{ne as a};
3
- //# sourceMappingURL=chunk-FFYMV22V.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"sources":["../src/components/combobox.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Check, ChevronDown, Plus, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n color?: string\n}\n\nexport interface ComboboxGroup {\n label: string\n options: ComboboxOption[]\n}\n\nexport interface ComboboxProps {\n options?: ComboboxOption[]\n groups?: ComboboxGroup[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n disableLabelControls?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n variant?: \"default\" | \"metrics\"\n searchable?: boolean\n onTriggerClick?: () => void\n}\n\nexport function Combobox({\n options = [],\n groups,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n disableLabelControls = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n variant = \"default\",\n searchable = true,\n onTriggerClick,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n const isMetrics = variant === \"metrics\"\n const effectiveMultiple = isMetrics ? true : multiple\n\n const allOptions = React.useMemo(() => {\n if (groups) return groups.flatMap((g) => g.options)\n return options\n }, [groups, options])\n\n const selectedOption = allOptions.find((option) => option.value === value)\n const selectedOptions = allOptions.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (effectiveMultiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (isMetrics) return placeholder\n if (effectiveMultiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n const renderOption = (option: ComboboxOption) => {\n const isSelected = effectiveMultiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n className=\"rounded-[12px]\"\n >\n <span className=\"truncate\">{option.label}</span>\n <Check\n className={cn(\n \"ml-auto h-4 w-4 shrink-0\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n </CommandItem>\n )\n }\n\n const renderSelectedChips = () => {\n if (isMetrics || !effectiveMultiple || selectedOptions.length === 0)\n return null\n\n return (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )\n }\n\n const renderExternalChips = () => {\n if (!isMetrics || selectedOptions.length === 0) return null\n\n return selectedOptions.map((option) => (\n <div\n key={option.value}\n className={cn(\n \"inline-flex items-center gap-2 rounded-3xl border bg-transparent px-3 py-1.5 text-sm\",\n (disabled || disableLabelControls) &&\n \"opacity-50 cursor-not-allowed pointer-events-none\"\n )}\n style={{ borderColor: option.color || \"var(--border)\" }}\n >\n <span\n className=\"truncate text-xs font-medium\"\n style={{ color: option.color }}\n >\n {option.label}\n </span>\n {!disabled ||\n (!disableLabelControls && (\n <button\n disabled={disabled || disableLabelControls}\n onClick={(e) => handleRemoveValue(option.value, e)}\n >\n <X\n className={cn(\n \"size-3.5 cursor-pointer opacity-70 hover:opacity-100\"\n )}\n style={{ color: option.color }}\n />\n </button>\n ))}\n </div>\n ))\n }\n\n const popover = (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n onClick={\n onTriggerClick\n ? (e) => {\n e.preventDefault()\n onTriggerClick()\n }\n : undefined\n }\n className={cn(\n \"cursor-pointer flex h-9 items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:cursor-not-allowed disabled:opacity-50\",\n !isMetrics && \"my-2 w-full\",\n isMetrics && \"w-auto gap-2\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n isMetrics &&\n \"bg-muted text-primary-accent hover:bg-muted/20 border-muted text-xs font-medium\",\n className\n )}\n >\n {isMetrics && <Plus className=\"h-4 w-4 shrink-0\" />}\n <span className=\"truncate\">{getDisplayText()}</span>\n {!isMetrics && (\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n )}\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"overflow-hidden rounded-xl p-0\"\n align=\"start\"\n style={\n isMetrics\n ? { minWidth: 200 }\n : { width: \"var(--radix-popover-trigger-width)\" }\n }\n >\n <Command>\n {searchable && <CommandInput placeholder={searchPlaceholder} />}\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n {groups ? (\n <>\n {renderSelectedChips()}\n {groups.map((group) => (\n <CommandGroup key={group.label} heading={group.label}>\n {group.options.map(renderOption)}\n </CommandGroup>\n ))}\n </>\n ) : (\n <CommandGroup>\n {renderSelectedChips()}\n {options.map(renderOption)}\n </CommandGroup>\n )}\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n\n if (isMetrics) {\n return (\n <div className=\"flex flex-wrap items-center gap-2\">\n {popover}\n {renderExternalChips()}\n </div>\n )\n }\n\n return popover\n}\n"],"mappings":"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","names":["React","Check","ChevronDown","Plus","X","Fragment","jsx","jsxs","Combobox","options","groups","value","onValueChange","placeholder","searchPlaceholder","emptyMessage","disabled","disableLabelControls","className","error","multiple","values","onValuesChange","variant","searchable","onTriggerClick","open","setOpen","isMetrics","effectiveMultiple","allOptions","g","selectedOption","option","selectedOptions","handleSelect","currentValue","newValues","handleRemoveValue","valueToRemove","e","v","getDisplayText","renderOption","isSelected","CommandItem","Check","cn","renderSelectedChips","X","renderExternalChips","popover","Popover","PopoverTrigger","Plus","ChevronDown","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","group","CommandGroup"]}