@next-degree/pickle-shared-js 0.2.13 → 0.3.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.
Files changed (137) hide show
  1. package/dist/AmbitBold-3SZZPYLH.otf +0 -0
  2. package/dist/AmbitBoldItalic-JSHFTN4A.otf +0 -0
  3. package/dist/AmbitRegular-MB5U7O3L.otf +0 -0
  4. package/dist/app/layout.cjs +2 -0
  5. package/dist/app/layout.cjs.map +1 -0
  6. package/dist/app/layout.css +2 -0
  7. package/dist/app/layout.css.map +1 -0
  8. package/dist/app/layout.d.cts +11 -0
  9. package/dist/app/layout.d.ts +11 -0
  10. package/dist/app/layout.js +2 -0
  11. package/dist/app/layout.js.map +1 -0
  12. package/dist/app/page.cjs +2 -0
  13. package/dist/app/page.cjs.map +1 -0
  14. package/dist/app/page.d.cts +5 -0
  15. package/dist/app/page.d.ts +5 -0
  16. package/dist/app/page.js +2 -0
  17. package/dist/app/page.js.map +1 -0
  18. package/dist/assets/fonts/AmbitBold.cjs +2 -0
  19. package/dist/assets/fonts/AmbitBold.cjs.map +1 -0
  20. package/dist/assets/fonts/AmbitBold.d.cts +2 -0
  21. package/dist/assets/fonts/AmbitBold.d.ts +2 -0
  22. package/dist/assets/fonts/AmbitBold.js +2 -0
  23. package/dist/assets/fonts/AmbitBold.js.map +1 -0
  24. package/dist/assets/fonts/AmbitBoldItalic.cjs +2 -0
  25. package/dist/assets/fonts/AmbitBoldItalic.cjs.map +1 -0
  26. package/dist/assets/fonts/AmbitBoldItalic.d.cts +2 -0
  27. package/dist/assets/fonts/AmbitBoldItalic.d.ts +2 -0
  28. package/dist/assets/fonts/AmbitBoldItalic.js +2 -0
  29. package/dist/assets/fonts/AmbitBoldItalic.js.map +1 -0
  30. package/dist/assets/fonts/AmbitRegular.cjs +2 -0
  31. package/dist/assets/fonts/AmbitRegular.cjs.map +1 -0
  32. package/dist/assets/fonts/AmbitRegular.d.cts +2 -0
  33. package/dist/assets/fonts/AmbitRegular.d.ts +2 -0
  34. package/dist/assets/fonts/AmbitRegular.js +2 -0
  35. package/dist/assets/fonts/AmbitRegular.js.map +1 -0
  36. package/dist/components/demos/ComboboxDemo.cjs +2 -0
  37. package/dist/components/demos/ComboboxDemo.cjs.map +1 -0
  38. package/dist/components/demos/ComboboxDemo.d.cts +5 -0
  39. package/dist/components/demos/ComboboxDemo.d.ts +5 -0
  40. package/dist/components/demos/ComboboxDemo.js +2 -0
  41. package/dist/components/demos/ComboboxDemo.js.map +1 -0
  42. package/dist/components/demos/index.cjs +2 -0
  43. package/dist/components/demos/index.cjs.map +1 -0
  44. package/dist/components/demos/index.d.cts +5 -0
  45. package/dist/components/demos/index.d.ts +5 -0
  46. package/dist/components/demos/index.js +2 -0
  47. package/dist/components/demos/index.js.map +1 -0
  48. package/dist/components/primitives/command.cjs +1 -1
  49. package/dist/components/primitives/command.cjs.map +1 -1
  50. package/dist/components/primitives/command.d.cts +3 -2
  51. package/dist/components/primitives/command.d.ts +3 -2
  52. package/dist/components/primitives/command.js +1 -1
  53. package/dist/components/primitives/command.js.map +1 -1
  54. package/dist/components/primitives/dialog.cjs +1 -1
  55. package/dist/components/primitives/dialog.cjs.map +1 -1
  56. package/dist/components/primitives/dialog.d.cts +3 -2
  57. package/dist/components/primitives/dialog.d.ts +3 -2
  58. package/dist/components/primitives/dialog.js +1 -1
  59. package/dist/components/primitives/dialog.js.map +1 -1
  60. package/dist/components/primitives/popover.cjs +1 -1
  61. package/dist/components/primitives/popover.cjs.map +1 -1
  62. package/dist/components/primitives/popover.js +1 -1
  63. package/dist/components/primitives/popover.js.map +1 -1
  64. package/dist/components/primitives/separator.cjs +1 -1
  65. package/dist/components/primitives/separator.cjs.map +1 -1
  66. package/dist/components/primitives/separator.js +1 -1
  67. package/dist/components/primitives/separator.js.map +1 -1
  68. package/dist/components/ui/Badge.cjs +1 -1
  69. package/dist/components/ui/Badge.cjs.map +1 -1
  70. package/dist/components/ui/Badge.d.cts +2 -1
  71. package/dist/components/ui/Badge.d.ts +2 -1
  72. package/dist/components/ui/Badge.js +1 -1
  73. package/dist/components/ui/Badge.js.map +1 -1
  74. package/dist/components/ui/Button.cjs +1 -1
  75. package/dist/components/ui/Button.cjs.map +1 -1
  76. package/dist/components/ui/Button.js +1 -1
  77. package/dist/components/ui/Button.js.map +1 -1
  78. package/dist/components/ui/Checkbox.cjs +1 -1
  79. package/dist/components/ui/Checkbox.cjs.map +1 -1
  80. package/dist/components/ui/Checkbox.js +1 -1
  81. package/dist/components/ui/Checkbox.js.map +1 -1
  82. package/dist/components/ui/Chip.cjs +1 -1
  83. package/dist/components/ui/Chip.cjs.map +1 -1
  84. package/dist/components/ui/Chip.d.cts +2 -1
  85. package/dist/components/ui/Chip.d.ts +2 -1
  86. package/dist/components/ui/Chip.js +1 -1
  87. package/dist/components/ui/Chip.js.map +1 -1
  88. package/dist/components/ui/Combobox.cjs +1 -1
  89. package/dist/components/ui/Combobox.cjs.map +1 -1
  90. package/dist/components/ui/Combobox.d.cts +26 -24
  91. package/dist/components/ui/Combobox.d.ts +26 -24
  92. package/dist/components/ui/Combobox.js +1 -1
  93. package/dist/components/ui/Combobox.js.map +1 -1
  94. package/dist/components/ui/Label.cjs +1 -1
  95. package/dist/components/ui/Label.cjs.map +1 -1
  96. package/dist/components/ui/Label.d.cts +3 -3
  97. package/dist/components/ui/Label.d.ts +3 -3
  98. package/dist/components/ui/Label.js +1 -1
  99. package/dist/components/ui/Label.js.map +1 -1
  100. package/dist/components/ui/ListItem.cjs +1 -1
  101. package/dist/components/ui/ListItem.cjs.map +1 -1
  102. package/dist/components/ui/ListItem.d.cts +3 -3
  103. package/dist/components/ui/ListItem.d.ts +3 -3
  104. package/dist/components/ui/ListItem.js +1 -1
  105. package/dist/components/ui/ListItem.js.map +1 -1
  106. package/dist/components/ui/Select.cjs +1 -1
  107. package/dist/components/ui/Select.cjs.map +1 -1
  108. package/dist/components/ui/Select.d.cts +1 -1
  109. package/dist/components/ui/Select.d.ts +1 -1
  110. package/dist/components/ui/Select.js +1 -1
  111. package/dist/components/ui/Select.js.map +1 -1
  112. package/dist/index.cjs +1 -1
  113. package/dist/index.cjs.map +1 -1
  114. package/dist/index.d.cts +3 -2
  115. package/dist/index.d.ts +3 -2
  116. package/dist/index.js +1 -1
  117. package/dist/index.js.map +1 -1
  118. package/dist/lib/utils.cjs +2 -0
  119. package/dist/lib/utils.cjs.map +1 -0
  120. package/dist/lib/utils.js +2 -0
  121. package/dist/lib/utils.js.map +1 -0
  122. package/dist/styles/globals.css +2 -0
  123. package/dist/styles/globals.css.map +1 -0
  124. package/dist/styles/globals.d.cts +2 -0
  125. package/dist/styles/globals.d.ts +2 -0
  126. package/package.json +34 -22
  127. package/.eslintrc.json +0 -3
  128. package/dist/components/lib/utils.cjs +0 -2
  129. package/dist/components/lib/utils.cjs.map +0 -1
  130. package/dist/components/lib/utils.js +0 -2
  131. package/dist/components/lib/utils.js.map +0 -1
  132. package/next-env.d.ts +0 -5
  133. package/next.config.ts +0 -7
  134. package/postcss.config.mjs +0 -9
  135. package/react-shim.js +0 -2
  136. /package/dist/{components/lib → lib}/utils.d.cts +0 -0
  137. /package/dist/{components/lib → lib}/utils.d.ts +0 -0
package/dist/index.cjs CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";var Ve=Object.create;var j=Object.defineProperty;var We=Object.getOwnPropertyDescriptor;var He=Object.getOwnPropertyNames;var Be=Object.getPrototypeOf,Oe=Object.prototype.hasOwnProperty;var _e=(e,t)=>{for(var o in t)j(e,o,{get:t[o],enumerable:!0})},pe=(e,t,o,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let s of He(t))!Oe.call(e,s)&&s!==o&&j(e,s,{get:()=>t[s],enumerable:!(r=We(t,s))||r.enumerable});return e};var g=(e,t,o)=>(o=e!=null?Ve(Be(e)):{},pe(t||!e||!e.__esModule?j(o,"default",{value:e,enumerable:!0}):o,e)),Me=e=>pe(j({},"__esModule",{value:!0}),e);var rt={};_e(rt,{Badge:()=>J,Button:()=>L,Checkbox:()=>$,Chip:()=>G,ComboboxMulti:()=>ot,ComboboxSingle:()=>tt,Label:()=>E,ListItem:()=>X,Select:()=>xe,cn:()=>a});module.exports=Me(rt);var Ae=g(require("react"),1);var p=g(require("@radix-ui/react-select"),1),I=require("lucide-react"),P=require("react");var de=require("clsx"),ce=require("tailwind-merge");function a(...e){return(0,ce.twMerge)((0,de.clsx)(e))}function je({text:e,className:t,...o}){return e?React.createElement("label",{className:a("text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",t),...o},e):null}var E=je;var fe=require("cva"),ue=g(require("react"),1),ge=require("tailwind-merge"),Ge=({className:e,variant:t,size:o,...r})=>ue.default.createElement("div",{className:(0,ge.twMerge)(Ke({variant:t,size:o,className:e})),...r}),Ke=(0,fe.cva)(["flex","items-center","rounded-3xl","border","w-fit"],{variants:{variant:{neutral:["text-grey-80","border-grey-10"],primary:["text-purple-100","border-purple-20"],danger:["text-pumpkin-100","border-pumpkin-20"],onboarding:["text-green-100","bg-green-10","cursor-pointer"],onboardingSelected:["text-white","bg-green-90","cursor-pointer"]},size:{small:["text-sm","leading-5","px-2","py-1","gap-1.5"],medium:["text-base","leading-6","px-3","py-2","gap-2"]}},defaultVariants:{variant:"neutral",size:"medium"}}),G=Ge;var ee=g(require("@radix-ui/react-separator"),1),K=g(require("react"),1);var V=K.forwardRef(({className:e,orientation:t="horizontal",decorative:o=!0,...r},s)=>K.createElement(ee.Root,{ref:s,decorative:o,orientation:t,className:a("shrink-0 bg-grey-10",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));V.displayName=ee.Root.displayName;var ve=(0,P.forwardRef)(({label:e,options:t,placeholder:o,multiselect:r,classNames:s,...f},x)=>{let{value:l,defaultValue:w,dir:b,className:h,onChange:D,...T}=f,[R,z]=(0,P.useState)([]),[B,S]=(0,P.useState)(!1),O=(0,P.useRef)(null);(0,P.useEffect)(()=>{if(!l)return z([]);z(Array.isArray(l)?l:[l])},[l]);let Q=()=>S(n=>!n),U=n=>n.key==="Escape"&&S(!1),C=(n,y)=>n.key==="Enter"&&A(y),_=R?.map(n=>t?.find(({value:y})=>y===n)).filter(Boolean);function M(){return r?R.map(n=>t?.find(y=>y.value===n)?.title).join(", "):t?.find(n=>n.value===R.join())?.title}function Y(n){(!r||n)&&S(n)}function A(n){let y=[];z(N=>(y=N.includes(n)?N.filter(Z=>Z!==n):[...N,n],r?y:[n])),D?.(r?y:n)}return React.createElement("div",{className:a("flex flex-col space-y-2",h),ref:O},React.createElement(E,{text:e,className:s?.label}),React.createElement(p.Root,{open:B,value:R.join(","),onOpenChange:Y,onValueChange:r?void 0:A,defaultValue:typeof w=="string"?w:void 0,dir:b==="rtl"?"rtl":"ltr",...T},React.createElement(p.Trigger,{ref:x,"data-testid":`${e.toLowerCase()}-select-element`,className:"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40"},React.createElement("span",{className:"truncate"},React.createElement(p.Value,{placeholder:o??"Select an option","aria-label":M()},M())),React.createElement(I.ChevronDownIcon,{className:"transform text-black group-data-[state=open]:rotate-180",size:"16"})),React.createElement(p.Portal,{container:O.current},React.createElement(p.Content,{hideWhenDetached:!0,className:"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg",position:"popper",sideOffset:4,onPointerDownOutside:Q,onKeyDown:U},React.createElement(p.Viewport,null,r&&!!_?.length&&React.createElement(p.Group,{className:"mb-2 flex flex-row flex-wrap gap-1 px-2","data-testid":"selected-labels"},_?.map(n=>n&&React.createElement(G,{key:n.title,size:"small",variant:"primary"},React.createElement("span",null,n.title),React.createElement(I.X,{size:18,"data-testid":`chip-remove-${n.value}`,className:"cursor-pointer",onClick:()=>A(n.value)})))),React.createElement(V,null),t?.map(({id:n,title:y,value:N})=>React.createElement(p.Item,{key:n,value:N,className:"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100","data-state":R.includes(N)?"checked":"unchecked",onKeyDown:Z=>C(Z,N),onClick:()=>A(N)},React.createElement(p.ItemText,null,y),React.createElement(I.CheckIcon,{className:"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block",size:16}))))))))});ve.displayName="Select";var xe=ve;var W=g(require("@radix-ui/react-checkbox"),1),F=require("lucide-react"),te=require("react");var be=(0,te.forwardRef)(({className:e,...t},o)=>React.createElement(W.Root,{ref:o,className:a("group","peer","h-5","w-5","shrink-0","rounded-md","border","border-grey-10","outline","outline-1","outline-offset-2","outline-transparent","hover:border-grey-20","focus:outline-purple-100","active:border-green-80","disabled:cursor-not-allowed","disabled:opacity-50","data-[state=checked]:bg-green-80","data-[state=indeterminate]:bg-green-80","data-[state=checked]:text-white","data-[state=indeterminate]:text-primary-foreground",t.disabled&&"bg-grey-20 data-[state=checked]:bg-grey-20 data-[state=checked]:text-foreground",e),...t},React.createElement(W.Indicator,{className:"flex items-center justify-center text-current"},React.createElement(F.Check,{className:"hidden h-4 w-4 group-data-[state=checked]:block"}),React.createElement(F.Minus,{className:"hidden h-4 w-4 group-data-[state=indeterminate]:block"}))));be.displayName=W.Root.displayName;var he=(0,te.forwardRef)(({classNames:e,children:t,...o},r)=>{let{disabled:s}=o,f=o.id??`${o.name??o.value?.toString()}-checkbox`,x=s?"text-grey-40 pointer-events-none":"";return React.createElement("div",{className:a("flex space-x-2",e?.wrapper)},React.createElement(be,{id:f,disabled:s,ref:r,...o}),React.createElement("label",{htmlFor:f,className:a(x,e?.label)},t))});he.displayName="Checkbox";var $=he;var ye=require("lucide-react");var oe=require("lucide-react");function Fe({icon:e,hasCheckbox:t,isSelected:o,className:r,title:s,value:f,description:x,...l}){let b=e?(h=>{if(h in oe.icons){let D=oe.icons[h];return React.createElement(D,{size:14})}return null})(e):void 0;return React.createElement("li",{className:a("group relative text-left flex w-72 flex-row items-center text-sm cursor-pointer",r),...l,"data-state":o?"checked":"unchecked"},b&&React.createElement("span",{className:"mr-2"},b),t&&React.createElement($,{id:f,checked:o,onClick:h=>h.preventDefault()}),React.createElement("div",null,React.createElement("p",null,s),React.createElement("p",{className:"text-xs text-grey-80"},x)),React.createElement(ye.CheckIcon,{className:"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block",size:16}))}var X=Fe;var Ce=require("@radix-ui/react-slot"),Pe=require("cva"),q=g(require("react"),1),L=(0,q.forwardRef)(({className:e,variant:t,size:o,asChild:r=!1,...s},f)=>q.default.createElement(r?Ce.Slot:"button",{className:a($e({variant:t,size:o,className:e})),ref:f,...s}));L.displayName="Button";var $e=(0,Pe.cva)(["flex","items-center","justify-center","gap-2","rounded-full","font-bold","outline-2","outline-offset-2","outline-dashed","outline-transparent"],{variants:{variant:{neutral:["bg-black","text-white","hover:bg-grey-90","active:bg-grey-80","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],primary:["bg-pickle-100","text-black","hover:bg-pickle-80","active:bg-pickle-60","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],secondary:["bg-green-80","text-white","hover:bg-green-90","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40","disabled:bg-grey-10"],transparent:["text-white","hover:bg-green-80","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40"],link:["leading-tight","text-black","underline","hover:text-purple-100","focus:text-black","focus:outline-purple-100","active:text-purple-80"]},size:{small:["h-10","text-sm","px-4","py-2"],medium:["h-12","text-base","px-6","py-3"],large:["h-14","text-lg","px-8","py-4"]}},defaultVariants:{variant:"neutral",size:"medium"},compoundVariants:[{variant:"link",size:"small",class:["h-3","text-xs","p-0"]},{variant:"link",size:"medium",class:["h-4","text-sm","p-0"]},{variant:"link",size:"large",class:["h-6","text-base","p-0"]}]});var i=g(require("react"),1),Le=require("lucide-react"),Te=require("cva");var u=require("cmdk"),we=require("lucide-react"),m=g(require("react"),1);var d=g(require("@radix-ui/react-dialog"),1),ke=require("lucide-react"),c=g(require("react"),1);var Xe=d.Portal;var Re=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));Re.displayName=d.Overlay.displayName;var Ne=c.forwardRef(({className:e,children:t,...o},r)=>c.createElement(Xe,null,c.createElement(Re,null),c.createElement(d.Content,{ref:r,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950",e),...o},t,c.createElement(d.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400"},c.createElement(ke.X,{className:"h-4 w-4"}),c.createElement("span",{className:"sr-only"},"Close")))));Ne.displayName=d.Content.displayName;var qe=({className:e,...t})=>c.createElement("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});qe.displayName="DialogHeader";var Je=({className:e,...t})=>c.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Je.displayName="DialogFooter";var Qe=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));Qe.displayName=d.Title.displayName;var Ue=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Description,{ref:o,className:a("text-sm text-neutral-500 dark:text-neutral-400",e),...t}));Ue.displayName=d.Description.displayName;var ae=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Command,{ref:o,className:a("flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950",e),...t}));ae.displayName=u.Command.displayName;var re=m.forwardRef(({className:e,...t},o)=>m.createElement("div",{className:"m-1 flex items-center rounded-lg border px-3","cmdk-input-wrapper":""},m.createElement(we.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),m.createElement(u.Command.Input,{ref:o,className:a("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50",e),...t})));re.displayName=u.Command.Input.displayName;var ie=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Command.List,{ref:o,className:a("overflow-y-auto overflow-x-hidden",e),...t}));ie.displayName=u.Command.List.displayName;var ne=m.forwardRef((e,t)=>m.createElement(u.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));ne.displayName=u.Command.Empty.displayName;var se=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Command.Group,{ref:o,className:a("overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500",e),...t}));se.displayName=u.Command.Group.displayName;var Ye=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Command.Separator,{ref:o,className:a("-mx-1 h-px bg-neutral-200",e),...t}));Ye.displayName=u.Command.Separator.displayName;var le=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Command.Item,{ref:o,className:a("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50",e),...t}));le.displayName=u.Command.Item.displayName;var Ze=({className:e,...t})=>m.createElement("span",{className:a("ml-auto text-xs tracking-widest text-neutral-500",e),...t});Ze.displayName="CommandShortcut";var H=g(require("react"),1),k=g(require("@radix-ui/react-popover"),1);var De=k.Root,Se=k.Trigger,me=H.forwardRef(({className:e,align:t="center",sideOffset:o=4,...r},s)=>H.createElement(k.Portal,null,H.createElement(k.Content,{ref:s,align:t,sideOffset:o,className:a("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",e),...r})));me.displayName=k.Content.displayName;var Ee=require("cva"),Ie=g(require("react"),1);var et=(0,Ee.cva)("rounded-full px-2 py-0.5 text-xs font-semibold",{variants:{variant:{green:"bg-green-90 text-white",pickle:"bg-pickle-100 text-black",purple:"bg-purple-100 text-white"}},defaultVariants:{variant:"green"}});function J({className:e,variant:t,...o}){return Ie.createElement("div",{className:a(et({variant:t}),e),...o})}function tt(e){let{onChange:t,value:o}=e,[r,s]=(0,i.useState)(o??""),f=(0,i.useCallback)(l=>{t(l)},[t]);return(0,i.useEffect)(()=>{f(r)},[r,f]),i.default.createElement(ze,{...e,value:r,handler:l=>s(l===r?"":l),badgeCount:r?1:0})}function ot(e){let{onChange:t,onApply:o,value:r}=e,[s,f]=(0,i.useState)(r??[]),x=(0,i.useCallback)(b=>{t(b)},[t]);(0,i.useEffect)(()=>{x(s)},[s,x]);let l=b=>f(h=>h.includes(b)?h.filter(D=>D!==b):[...h,b]),w=()=>f([]);return i.default.createElement(ze,{...e,value:s,handler:l,isMultiselect:!0,badgeCount:s.length,onClear:w,onApply:o})}function ze({title:e,label:t,options:o,isMultiselect:r,variant:s,hideSearch:f,className:x,classNames:l,onApply:w,onClear:b,applyBtnText:h,clearBtnText:D,value:T,badgeCount:R,handler:z}){let[B,S]=(0,i.useState)(!1),O=f??o?.length<=5,Q=C=>{z?.(C),r||S(!1)},U=()=>{S(!1),w?.()};return i.default.createElement("div",{className:a("flex flex-col",x)},t&&i.default.createElement(E,{text:t,className:l?.label}),i.default.createElement(De,{open:B,onOpenChange:S},i.default.createElement(Se,{asChild:!0},i.default.createElement("div",{className:a(at({variant:s}),l?.trigger),"aria-expanded":B},!!R&&i.default.createElement(J,{variant:"purple",className:"pt-1"},R),i.default.createElement("span",{className:"truncate leading-normal"},e),i.default.createElement(Le.ChevronDownIcon,{className:"transform group-data-[state=open]:rotate-180",size:"16"}))),i.default.createElement(me,{className:a(l?.content,"p-0 ml-5"),sideOffset:4},i.default.createElement(ae,null,!O&&i.default.createElement(re,{placeholder:"Search..."}),i.default.createElement(ie,null,i.default.createElement(ne,null,"No results"),i.default.createElement(se,null,o.map(({value:C,title:_,description:M,icon:Y})=>i.default.createElement(le,{key:C,value:C,onSelect:Q},i.default.createElement(X,{className:a(l?.items,"py-1","truncate"),title:_,value:C,isSelected:Array.isArray(T)&&T.includes(C)||T===C,icon:Y,description:M,hasCheckbox:r})))))),i.default.createElement(V,null),r&&i.default.createElement("div",{className:"flex flex-row justify-between items-center p-4"},i.default.createElement(L,{variant:"link",onClick:b},D??"Clear"),i.default.createElement(L,{variant:"primary",onClick:U},h??"Apply")))))}var at=(0,Te.cva)(["group relative cursor-pointer flex flex-row items-center justify-between gap-2 rounded-3xl border border-grey-20 h-9 pl-3 pr-2 py-2 text-sm font-bold focus:outline-green-80 disabled:bg-grey-5"],{variants:{variant:{default:["data-[state=open]:bg-black","data-[state=open]:text-white"]}},defaultVariants:{variant:"default"}});0&&(module.exports={Badge,Button,Checkbox,Chip,ComboboxMulti,ComboboxSingle,Label,ListItem,Select,cn});
1
+ "use strict";var Fe=Object.create;var q=Object.defineProperty;var $e=Object.getOwnPropertyDescriptor;var Xe=Object.getOwnPropertyNames;var qe=Object.getPrototypeOf,Je=Object.prototype.hasOwnProperty;var Qe=(e,t)=>{for(var o in t)q(e,o,{get:t[o],enumerable:!0})},ge=(e,t,o,i)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of Xe(t))!Je.call(e,n)&&n!==o&&q(e,n,{get:()=>t[n],enumerable:!(i=$e(t,n))||i.enumerable});return e};var R=(e,t,o)=>(o=e!=null?Fe(qe(e)):{},ge(t||!e||!e.__esModule?q(o,"default",{value:e,enumerable:!0}):o,e)),Ue=e=>ge(q({},"__esModule",{value:!0}),e);var dt={};Qe(dt,{Badge:()=>Z,Button:()=>ie,Checkbox:()=>U,Chip:()=>J,Combobox:()=>ue,Label:()=>M,ListItem:()=>Y,Select:()=>Ne,cn:()=>a});module.exports=Ue(dt);var m=R(require("@radix-ui/react-select"),1),_=require("lucide-react"),k=require("react");var ve=require("clsx"),he=require("tailwind-merge");function a(...e){return(0,he.twMerge)((0,ve.clsx)(e))}var xe=require("react/jsx-runtime");function Ye({text:e,className:t,...o}){return e?(0,xe.jsx)("label",{className:a("text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",t),...o,children:e}):null}var M=Ye;var ye=require("cva"),be=require("tailwind-merge"),Pe=require("react/jsx-runtime"),Ze=({className:e,variant:t,size:o,...i})=>(0,Pe.jsx)("div",{className:(0,be.twMerge)(je({variant:t,size:o,className:e})),...i}),je=(0,ye.cva)(["flex","items-center","rounded-3xl","border","w-fit"],{variants:{variant:{neutral:["text-grey-80","border-grey-10"],primary:["text-purple-100","border-purple-20"],danger:["text-pumpkin-100","border-pumpkin-20"],onboarding:["text-green-100","bg-green-10","cursor-pointer"],onboardingSelected:["text-white","bg-green-90","cursor-pointer"]},size:{small:["text-sm","leading-5","px-2","py-1","gap-1.5"],medium:["text-base","leading-6","px-3","py-2","gap-2"]}},defaultVariants:{variant:"neutral",size:"medium"}}),J=Ze;var oe=R(require("@radix-ui/react-separator"),1),Ce=R(require("react"),1);var Re=require("react/jsx-runtime"),B=Ce.forwardRef(({className:e,orientation:t="horizontal",decorative:o=!0,...i},n)=>(0,Re.jsx)(oe.Root,{ref:n,decorative:o,orientation:t,className:a("shrink-0 bg-grey-10",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...i}));B.displayName=oe.Root.displayName;var l=require("react/jsx-runtime"),ke=(0,k.forwardRef)(({label:e,options:t,placeholder:o,multiselect:i,classNames:n,...c},x)=>{let{value:C,defaultValue:I,dir:V,className:S,onChange:z,...K}=c,[L,f]=(0,k.useState)([]),[F,W]=(0,k.useState)(!1),O=(0,k.useRef)(null);(0,k.useEffect)(()=>{if(!C)return f([]);f(Array.isArray(C)?C:[C])},[C]);let j=()=>W(r=>!r),H=r=>r.key==="Escape"&&W(!1),ee=(r,y)=>r.key==="Enter"&&v(y),$=L?.map(r=>t?.find(({value:y})=>y===r)).filter(Boolean);function X(){return i?L.map(r=>t?.find(y=>y.value===r)?.title).join(", "):t?.find(r=>r.value===L.join())?.title}function b(r){(!i||r)&&W(r)}function v(r){let y=[];f(D=>(y=D.includes(r)?D.filter(te=>te!==r):[...D,r],i?y:[r])),z?.(i?y:r)}return(0,l.jsxs)("div",{className:a("flex flex-col space-y-2",S),ref:O,children:[(0,l.jsx)(M,{text:e,className:n?.label}),(0,l.jsxs)(m.Root,{open:F,value:L.join(","),onOpenChange:b,onValueChange:i?void 0:v,defaultValue:typeof I=="string"?I:void 0,dir:V==="rtl"?"rtl":"ltr",...K,children:[(0,l.jsxs)(m.Trigger,{ref:x,"data-testid":`${e.toLowerCase()}-select-element`,className:"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40",children:[(0,l.jsx)("span",{className:"truncate",children:(0,l.jsx)(m.Value,{placeholder:o??"Select an option","aria-label":X(),children:X()})}),(0,l.jsx)(_.ChevronDownIcon,{className:"transform text-black group-data-[state=open]:rotate-180",size:"16"})]}),(0,l.jsx)(m.Portal,{container:O.current,children:(0,l.jsx)(m.Content,{hideWhenDetached:!0,className:"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg",position:"popper",sideOffset:4,onPointerDownOutside:j,onKeyDown:H,children:(0,l.jsxs)(m.Viewport,{children:[i&&!!$?.length&&(0,l.jsx)(m.Group,{className:"mb-2 flex flex-row flex-wrap gap-1 px-2","data-testid":"selected-labels",children:$?.map(r=>r&&(0,l.jsxs)(J,{size:"small",variant:"primary",children:[(0,l.jsx)("span",{children:r.title}),(0,l.jsx)(_.X,{size:18,"data-testid":`chip-remove-${r.value}`,className:"cursor-pointer",onClick:()=>v(r.value)})]},r.title))}),(0,l.jsx)(B,{}),t?.map(({id:r,title:y,value:D})=>(0,l.jsxs)(m.Item,{value:D,className:"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100","data-state":L.includes(D)?"checked":"unchecked",onKeyDown:te=>ee(te,D),onClick:()=>v(D),children:[(0,l.jsx)(m.ItemText,{children:y}),(0,l.jsx)(_.CheckIcon,{className:"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block",size:16})]},r))]})})})]})]})});ke.displayName="Select";var Ne=ke;var A=R(require("@radix-ui/react-checkbox"),1),Q=require("lucide-react"),ae=require("react");var N=require("react/jsx-runtime"),we=(0,ae.forwardRef)(({className:e,...t},o)=>(0,N.jsx)(A.Root,{ref:o,className:a("group","peer","h-5","w-5","shrink-0","rounded-md","border","border-grey-10","outline","outline-1","outline-offset-2","outline-transparent","hover:border-grey-20","focus:outline-purple-100","active:border-green-80","disabled:cursor-not-allowed","disabled:opacity-50","data-[state=checked]:bg-green-80","data-[state=indeterminate]:bg-green-80","data-[state=checked]:text-white","data-[state=indeterminate]:text-primary-foreground",t.disabled&&"data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",e),...t,children:(0,N.jsxs)(A.Indicator,{className:"flex items-center justify-center text-current",children:[(0,N.jsx)(Q.Check,{className:"hidden h-4 w-4 group-data-[state=checked]:block"}),(0,N.jsx)(Q.Minus,{className:"hidden h-4 w-4 group-data-[state=indeterminate]:block"})]})}));we.displayName=A.Root.displayName;var Se=(0,ae.forwardRef)(({classNames:e,children:t,...o},i)=>{let{disabled:n}=o,c=o.id??`${o.name??o.value?.toString()}-checkbox`,x=n?"text-grey-40 pointer-events-none":"";return(0,N.jsxs)("div",{className:a("flex space-x-2",e?.wrapper),children:[(0,N.jsx)(we,{id:c,disabled:n,ref:i,...o}),(0,N.jsx)("label",{htmlFor:c,className:a(x,e?.label),children:t})]})});Se.displayName="Checkbox";var U=Se;var De=require("lucide-react");var re=require("lucide-react"),P=require("react/jsx-runtime");function et({icon:e,hasCheckbox:t,isSelected:o,className:i,title:n,value:c,description:x,...C}){let V=e?(S=>{if(S in re.icons){let z=re.icons[S];return(0,P.jsx)(z,{size:14})}return null})(e):void 0;return(0,P.jsxs)("li",{className:a("group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm",i),...C,"data-state":o?"checked":"unchecked",children:[V&&(0,P.jsx)("span",{className:"mr-2",children:V}),t&&(0,P.jsx)(U,{id:c,checked:o,onClick:S=>S.preventDefault()}),(0,P.jsxs)("div",{children:[(0,P.jsx)("p",{children:n}),(0,P.jsx)("p",{className:"text-xs text-grey-80",children:x})]}),(0,P.jsx)(De.CheckIcon,{className:"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block",size:16})]})}var Y=et;var Ee=require("@radix-ui/react-slot"),Ie=require("cva"),Le=require("react"),Te=require("react/jsx-runtime"),ie=(0,Le.forwardRef)(({className:e,variant:t,size:o,asChild:i=!1,...n},c)=>(0,Te.jsx)(i?Ee.Slot:"button",{className:a(tt({variant:t,size:o,className:e})),ref:c,...n}));ie.displayName="Button";var tt=(0,Ie.cva)(["flex","items-center","justify-center","gap-2","rounded-full","font-bold","outline-2","outline-offset-2","outline-dashed","outline-transparent"],{variants:{variant:{neutral:["bg-black","text-white","hover:bg-grey-90","active:bg-grey-80","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],primary:["bg-pickle-100","text-black","hover:bg-pickle-80","active:bg-pickle-60","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],secondary:["bg-green-80","text-white","hover:bg-green-90","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40","disabled:bg-grey-10"],transparent:["text-white","hover:bg-green-80","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40"],link:["leading-tight","text-black","underline","hover:text-purple-100","focus:text-black","focus:outline-purple-100","active:text-purple-80"]},size:{small:["h-10","text-sm","px-4","py-2"],medium:["h-12","text-base","px-6","py-3"],large:["h-14","text-lg","px-8","py-4"]}},defaultVariants:{variant:"neutral",size:"medium"},compoundVariants:[{variant:"link",size:"small",class:["h-3","text-xs","p-0"]},{variant:"link",size:"medium",class:["h-4","text-sm","p-0"]},{variant:"link",size:"large",class:["h-6","text-base","p-0"]}]});var T=require("react"),Ge=require("lucide-react"),Ke=require("cva");var d=require("cmdk"),Me=require("lucide-react"),E=R(require("react"),1);var p=R(require("@radix-ui/react-dialog"),1),Ve=require("lucide-react"),G=R(require("react"),1),g=require("react/jsx-runtime");var ot=p.Portal;var ze=G.forwardRef(({className:e,...t},o)=>(0,g.jsx)(p.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));ze.displayName=p.Overlay.displayName;var We=G.forwardRef(({className:e,children:t,...o},i)=>(0,g.jsxs)(ot,{children:[(0,g.jsx)(ze,{}),(0,g.jsxs)(p.Content,{ref:i,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950",e),...o,children:[t,(0,g.jsxs)(p.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400",children:[(0,g.jsx)(Ve.X,{className:"h-4 w-4"}),(0,g.jsx)("span",{className:"sr-only",children:"Close"})]})]})]}));We.displayName=p.Content.displayName;var at=({className:e,...t})=>(0,g.jsx)("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});at.displayName="DialogHeader";var rt=({className:e,...t})=>(0,g.jsx)("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});rt.displayName="DialogFooter";var it=G.forwardRef(({className:e,...t},o)=>(0,g.jsx)(p.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));it.displayName=p.Title.displayName;var nt=G.forwardRef(({className:e,...t},o)=>(0,g.jsx)(p.Description,{ref:o,className:a("text-sm text-neutral-500 dark:text-neutral-400",e),...t}));nt.displayName=p.Description.displayName;var h=require("react/jsx-runtime"),ne=E.forwardRef(({className:e,...t},o)=>(0,h.jsx)(d.Command,{ref:o,className:a("flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950",e),...t}));ne.displayName=d.Command.displayName;var le=E.forwardRef(({className:e,...t},o)=>(0,h.jsxs)("div",{className:"m-1 flex items-center rounded-xl border px-3","cmdk-input-wrapper":"",children:[(0,h.jsx)(Me.Search,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),(0,h.jsx)(d.Command.Input,{ref:o,className:a("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));le.displayName=d.Command.Input.displayName;var se=E.forwardRef(({className:e,...t},o)=>(0,h.jsx)(d.Command.List,{ref:o,className:a("overflow-y-auto overflow-x-hidden",e),...t}));se.displayName=d.Command.List.displayName;var me=E.forwardRef((e,t)=>(0,h.jsx)(d.Command.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));me.displayName=d.Command.Empty.displayName;var pe=E.forwardRef(({className:e,...t},o)=>(0,h.jsx)(d.Command.Group,{ref:o,className:a("overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500",e),...t}));pe.displayName=d.Command.Group.displayName;var lt=E.forwardRef(({className:e,...t},o)=>(0,h.jsx)(d.Command.Separator,{ref:o,className:a("-mx-1 h-px bg-neutral-200",e),...t}));lt.displayName=d.Command.Separator.displayName;var de=E.forwardRef(({className:e,...t},o)=>(0,h.jsx)(d.Command.Item,{ref:o,className:a("relative flex cursor-pointer select-none items-center rounded-xl px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50",e),...t}));de.displayName=d.Command.Item.displayName;var st=({className:e,...t})=>(0,h.jsx)("span",{className:a("ml-auto text-xs tracking-widest text-neutral-500",e),...t});st.displayName="CommandShortcut";var _e=R(require("react"),1),w=R(require("@radix-ui/react-popover"),1);var ce=require("react/jsx-runtime"),Oe=w.Root,He=w.Trigger,fe=_e.forwardRef(({className:e,align:t="center",sideOffset:o=4,...i},n)=>(0,ce.jsx)(w.Portal,{children:(0,ce.jsx)(w.Content,{ref:n,align:t,sideOffset:o,className:a("z-50 rounded-2xl border bg-white p-4 text-black shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",e),...i})}));fe.displayName=w.Content.displayName;var Be=require("cva");var Ae=require("react/jsx-runtime"),mt=(0,Be.cva)("rounded-full px-2 py-0.5 text-xs font-semibold",{variants:{variant:{green:"bg-green-90 text-white",pickle:"bg-pickle-100 text-black",purple:"bg-purple-100 text-white"}},defaultVariants:{variant:"green"}});function Z({className:e,variant:t,...o}){return(0,Ae.jsx)("div",{className:a(mt({variant:t}),e),...o})}var s=require("react/jsx-runtime"),ue=(0,T.forwardRef)((e,t)=>{let{value:o,label:i,options:n,classNames:c,multiselect:x,placeholder:C,variant:I="default",size:V,className:S,onChange:z,children:K}=e,L=x?o??[]:o?[o]:[],[f,F]=(0,T.useState)(L),[W,O]=(0,T.useState)(!1),j=n?.length<=5,H=I==="default",ee=I==="chip";(0,T.useEffect)(()=>{z?.(x?f:f[0])},[f]);let $=b=>{if(x)return F(v=>v.includes(b)?v.filter(r=>r!==b):[...v,b]);F([b]),O(!1)},X=()=>{let b=f.length>0?f.join(", "):C;return H?b:i};return(0,s.jsxs)("div",{className:a("flex flex-col gap-2",S),children:[H&&i&&(0,s.jsx)(M,{text:i,className:c?.label}),(0,s.jsxs)(Oe,{open:W,onOpenChange:O,children:[(0,s.jsx)(He,{asChild:!0,disabled:n.length===0,children:(0,s.jsxs)("div",{ref:t,className:a(pt({variant:I,size:V}),c?.trigger),"aria-expanded":W,children:[ee&&f.length>0&&(0,s.jsx)(Z,{variant:"purple",children:f.length}),(0,s.jsx)("span",{className:a("truncate leading-normal",H&&f.length==0&&"text-grey-40"),children:X()}),(0,s.jsx)(Ge.ChevronDownIcon,{className:"transform group-data-[state=open]:rotate-180",size:"16"})]})}),(0,s.jsx)(ne,{children:(0,s.jsxs)(fe,{className:a("flex w-full max-w-xs flex-col overflow-hidden p-0","max-h-[--radix-popover-content-available-height]",c?.content),collisionPadding:8,sideOffset:4,align:"start",children:[!j&&(0,s.jsx)(le,{placeholder:"Search..."}),(0,s.jsxs)(se,{children:[(0,s.jsx)(me,{children:"No results"}),(0,s.jsx)(pe,{children:n.map(({id:b,...v})=>(0,s.jsx)(de,{value:v.value,onSelect:$,children:(0,s.jsx)(Y,{className:a(c?.items,"truncate py-1"),isSelected:f?.includes(v.value),hasCheckbox:x,...v})},b))})]}),!!K&&(0,s.jsx)(B,{}),K]})})]})]})});ue.displayName="Combobox";var pt=(0,Ke.cva)("group relative cursor-pointer flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5",{variants:{variant:{default:["w-full","max-w-80","rounded-lg"],chip:["font-bold","rounded-3xl","data-[state=open]:bg-black","data-[state=open]:text-white"]},size:{small:["h-8","p-1","pl-2","text-xs"],normal:["h-9","p-2","pl-3","text-sm"],large:["h-10","p-3","pl-4","text-base"]}},defaultVariants:{variant:"default",size:"normal"}});0&&(module.exports={Badge,Button,Checkbox,Chip,Combobox,Label,ListItem,Select,cn});
2
2
  //# sourceMappingURL=index.cjs.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/exports/index.ts","../react-shim.js","../src/exports/components/ui/Select.tsx","../src/exports/components/lib/utils.ts","../src/exports/components/ui/Label.tsx","../src/exports/components/ui/Chip.tsx","../src/exports/components/primitives/separator.tsx","../src/exports/components/ui/Checkbox.tsx","../src/exports/components/ui/ListItem.tsx","../src/exports/components/ui/Button.tsx","../src/exports/components/ui/Combobox.tsx","../src/exports/components/primitives/command.tsx","../src/exports/components/primitives/dialog.tsx","../src/exports/components/primitives/popover.tsx","../src/exports/components/ui/Badge.tsx"],"sourcesContent":["import Select from \"@/exports/components/ui/Select\";\nimport Chip from \"@/exports/components/ui/Chip\";\nimport Checkbox from \"@/exports/components/ui/Checkbox\";\nimport ListItem from \"@/exports/components/ui/ListItem\";\nimport Label from \"@/exports/components/ui/Label\";\n\nexport { Select, Chip, Checkbox, ListItem, Label };\n\nexport { Button } from \"@/exports/components/ui/Button\";\nexport * from \"@/exports/components/ui/Combobox\";\nexport { Badge } from \"@/exports/components/ui/Badge\";\n\nexport { cn } from \"@/exports/components/lib/utils\";\n","import React from 'react';\nexport default React;","\"use client\";\n\nimport * as SelectPrimitive from \"@radix-ui/react-select\";\nimport { CheckIcon, ChevronDownIcon, X } from \"lucide-react\";\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from \"react\";\n\nimport Label from \"@/exports/components/ui/Label\";\nimport Chip from \"@/exports/components/ui/Chip\";\nimport { Separator } from \"@/exports/components/primitives/separator\";\nimport { cn } from \"@/exports/components/lib/utils\";\n\ninterface Props\n extends Omit<ComponentPropsWithoutRef<\"select\">, \"value\" | \"onChange\"> {\n label: string;\n value?: string | string[];\n options?: { id: string | number; value: string; title: string }[];\n placeholder?: string;\n multiselect?: boolean;\n onChange?: (value: string | string[]) => void;\n classNames?: { label?: string };\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n ({ label, options, placeholder, multiselect, classNames, ...props }, ref) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props;\n const [selected, setSelected] = useState<string[]>([]);\n const [open, setOpen] = useState(false);\n const containerRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => {\n if (!value) return setSelected([]);\n setSelected(Array.isArray(value) ? value : [value]);\n }, [value]);\n\n const toggleOpen = () => setOpen((prev) => !prev);\n const closeOnEscape = (event: KeyboardEvent) =>\n event.key === \"Escape\" && setOpen(false);\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === \"Enter\" && handleChange(value);\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean);\n\n function handleLabels() {\n if (multiselect) {\n return selected\n .map((o) => options?.find((option) => option.value === o)?.title)\n .join(\", \");\n }\n return options?.find((option) => option.value === selected.join())?.title;\n }\n\n function handleOnOpenChange(isOpen: boolean) {\n if (!multiselect || isOpen) setOpen(isOpen);\n }\n\n function handleChange(newValue: string) {\n let newSelected: string[] = [];\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue];\n return multiselect ? newSelected : [newValue];\n });\n onChange?.(multiselect ? newSelected : newValue);\n }\n\n return (\n <div\n className={cn(\"flex flex-col space-y-2\", className)}\n ref={containerRef}\n >\n <Label text={label} className={classNames?.label} />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(\",\")}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={\n typeof defaultValue === \"string\" ? defaultValue : undefined\n }\n dir={dir === \"rtl\" ? \"rtl\" : \"ltr\"}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n data-testid={`${label.toLowerCase()}-select-element`}\n className=\"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40\"\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? \"Select an option\"}\n aria-label={handleLabels()}\n >\n {handleLabels()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className=\"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg\"\n position=\"popper\"\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n )}\n <Separator />\n {options?.map(({ id, title, value }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className=\"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100\"\n data-state={\n selected.includes(value) ? \"checked\" : \"unchecked\"\n }\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n <CheckIcon\n className=\"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block\"\n size={16}\n />\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n </div>\n );\n }\n);\n\nSelect.displayName = \"Select\";\n\nexport default Select;\n","import { type ClassValue, clsx } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import { type ComponentPropsWithoutRef } from \"react\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\n\ninterface Props extends ComponentPropsWithoutRef<\"label\"> {\n text?: string;\n}\n\nfunction Label({ text, className, ...props }: Readonly<Props>) {\n if (!text) return null;\n\n return (\n <label\n className={cn(\n \"text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70\",\n className\n )}\n {...props}\n >\n {text}\n </label>\n );\n}\n\nexport default Label;\n","import { cva, type VariantProps } from 'cva'\nimport React from 'react'\nimport { twMerge } from 'tailwind-merge'\n\ninterface ChipProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {}\n\nconst Chip = ({ className, variant, size, ...props }: ChipProps) => (\n <div className={twMerge(chipVariants({ variant, size, className }))} {...props} />\n)\n\nconst chipVariants = cva(['flex', 'items-center', 'rounded-3xl', 'border', 'w-fit'], {\n variants: {\n variant: {\n neutral: ['text-grey-80', 'border-grey-10'],\n primary: ['text-purple-100', 'border-purple-20'],\n danger: ['text-pumpkin-100', 'border-pumpkin-20'],\n onboarding: ['text-green-100', 'bg-green-10', 'cursor-pointer'],\n onboardingSelected: ['text-white', 'bg-green-90', 'cursor-pointer'],\n },\n size: {\n small: ['text-sm', 'leading-5', 'px-2', 'py-1', 'gap-1.5'],\n medium: ['text-base', 'leading-6', 'px-3', 'py-2', 'gap-2'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n})\n\nexport default Chip\n","\"use client\";\r\n\r\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\";\r\nimport * as React from \"react\";\r\n\r\nimport { cn } from \"@/exports/components/lib/utils\";\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(\r\n (\r\n { className, orientation = \"horizontal\", decorative = true, ...props },\r\n ref\r\n ) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n \"shrink-0 bg-grey-10\",\r\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\r\n className\r\n )}\r\n {...props}\r\n />\r\n )\r\n);\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName;\r\n\r\nexport { Separator };\r\n","\"use client\";\n\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\";\nimport { Check, Minus } from \"lucide-react\";\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef,\n type PropsWithChildren,\n} from \"react\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\n\nconst CheckboxToggle = forwardRef<\n ElementRef<typeof CheckboxPrimitive.Root>,\n ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"group\",\n \"peer\",\n \"h-5\",\n \"w-5\",\n \"shrink-0\",\n \"rounded-md\",\n \"border\",\n \"border-grey-10\",\n \"outline\",\n \"outline-1\",\n \"outline-offset-2\",\n \"outline-transparent\",\n \"hover:border-grey-20\",\n \"focus:outline-purple-100\",\n \"active:border-green-80\",\n \"disabled:cursor-not-allowed\",\n \"disabled:opacity-50\",\n \"data-[state=checked]:bg-green-80\",\n \"data-[state=indeterminate]:bg-green-80\",\n \"data-[state=checked]:text-white\",\n \"data-[state=indeterminate]:text-primary-foreground\",\n props.disabled &&\n \"bg-grey-20 data-[state=checked]:bg-grey-20 data-[state=checked]:text-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className=\"flex items-center justify-center text-current\">\n <Check className=\"hidden h-4 w-4 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-4 w-4 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n));\nCheckboxToggle.displayName = CheckboxPrimitive.Root.displayName;\n\ninterface Props extends CheckboxPrimitive.CheckboxProps, PropsWithChildren {\n error?: string;\n classNames?: {\n wrapper?: string;\n label?: string;\n };\n}\n\nconst Checkbox = forwardRef<ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n ({ classNames, children, ...props }, ref) => {\n const { disabled } = props;\n const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`;\n const labelClassName = disabled ? \"text-grey-40 pointer-events-none\" : \"\";\n return (\n <div className={cn(\"flex space-x-2\", classNames?.wrapper)}>\n <CheckboxToggle id={id} disabled={disabled} ref={ref} {...props} />\n <label htmlFor={id} className={cn(labelClassName, classNames?.label)}>\n {children}\n </label>\n </div>\n );\n }\n);\nCheckbox.displayName = \"Checkbox\";\n\nexport default Checkbox;\n","import { cn } from \"@/exports/components/lib/utils\";\nimport { CheckIcon } from \"lucide-react\";\nimport { ComponentPropsWithoutRef, ReactNode } from \"react\";\nimport Checkbox from \"@/exports/components/ui/Checkbox\";\nimport { icons } from \"lucide-react\";\n\ntype IconKey = keyof typeof icons;\n\ninterface ListItemProps extends ComponentPropsWithoutRef<\"li\"> {\n icon?: string;\n hasCheckbox?: boolean;\n isSelected?: boolean;\n title: string;\n value: string;\n description?: string;\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey];\n return <IconComponent size={14} />;\n }\n return null;\n };\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined;\n\n return (\n <li\n className={cn(\n \"group relative text-left flex w-72 flex-row items-center text-sm cursor-pointer\",\n className\n )}\n {...props}\n data-state={isSelected ? \"checked\" : \"unchecked\"}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <Checkbox\n id={value}\n checked={isSelected}\n onClick={(e) => e.preventDefault()}\n />\n )}\n <div>\n <p>{title}</p>\n <p className=\"text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n );\n}\n\nexport default ListItem;\n","import { cn } from \"@/exports/components/lib/utils\";\nimport { Slot } from \"@radix-ui/react-slot\";\nimport { cva, type VariantProps } from \"cva\";\nimport React, { forwardRef } from \"react\";\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean;\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : \"button\";\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n );\n }\n);\nButton.displayName = \"Button\";\n\nconst buttonVariants = cva(\n [\n \"flex\",\n \"items-center\",\n \"justify-center\",\n \"gap-2\",\n \"rounded-full\",\n \"font-bold\",\n \"outline-2\",\n \"outline-offset-2\",\n \"outline-dashed\",\n \"outline-transparent\",\n ],\n {\n variants: {\n variant: {\n neutral: [\n \"bg-black\",\n \"text-white\",\n \"hover:bg-grey-90\",\n \"active:bg-grey-80\",\n \"focus:outline-purple-100\",\n \"disabled:text-grey-40\",\n \"disabled:bg-grey-10\",\n ],\n primary: [\n \"bg-pickle-100\",\n \"text-black\",\n \"hover:bg-pickle-80\",\n \"active:bg-pickle-60\",\n \"focus:outline-purple-100\",\n \"disabled:text-grey-40\",\n \"disabled:bg-grey-10\",\n ],\n secondary: [\n \"bg-green-80\",\n \"text-white\",\n \"hover:bg-green-90\",\n \"active:bg-green-100\",\n \"focus:outline-pickle-100\",\n \"disabled:text-grey-40\",\n \"disabled:bg-grey-10\",\n ],\n transparent: [\n \"text-white\",\n \"hover:bg-green-80\",\n \"active:bg-green-100\",\n \"focus:outline-pickle-100\",\n \"disabled:text-grey-40\",\n ],\n link: [\n \"leading-tight\",\n \"text-black\",\n \"underline\",\n \"hover:text-purple-100\",\n \"focus:text-black\",\n \"focus:outline-purple-100\",\n \"active:text-purple-80\",\n ],\n },\n size: {\n small: [\"h-10\", \"text-sm\", \"px-4\", \"py-2\"],\n medium: [\"h-12\", \"text-base\", \"px-6\", \"py-3\"],\n large: [\"h-14\", \"text-lg\", \"px-8\", \"py-4\"],\n },\n },\n defaultVariants: {\n variant: \"neutral\",\n size: \"medium\",\n },\n compoundVariants: [\n {\n variant: \"link\",\n size: \"small\",\n class: [\"h-3\", \"text-xs\", \"p-0\"],\n },\n {\n variant: \"link\",\n size: \"medium\",\n class: [\"h-4\", \"text-sm\", \"p-0\"],\n },\n {\n variant: \"link\",\n size: \"large\",\n class: [\"h-6\", \"text-base\", \"p-0\"],\n },\n ],\n }\n);\n","\"use client\";\n\nimport React, { useEffect, useState, useCallback } from \"react\";\nimport { ChevronDownIcon } from \"lucide-react\";\nimport { cva, type VariantProps } from \"cva\";\nimport { cn } from \"@/exports/components/lib/utils\";\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/exports/components/primitives/command\";\nimport {\n Popover,\n PopoverContent,\n PopoverTrigger,\n} from \"@/exports/components/primitives/popover\";\nimport { Separator } from \"@/exports/components/primitives/separator\";\n\nimport ListItem from \"@/exports/components/ui/ListItem\";\nimport { Badge } from \"@/exports/components/ui/Badge\";\nimport { Button } from \"@/exports/components/ui/Button\";\nimport Label from \"@/exports/components/ui/Label\";\n\ntype Option = {\n id: string | number;\n value: string;\n title: string;\n description?: string;\n icon?: string;\n};\n\ntype ComboboxClassNames = {\n label?: string;\n trigger?: string;\n items?: string;\n content?: string;\n};\n\ninterface ComboboxProps extends VariantProps<typeof triggerVariants> {\n label?: string;\n options: Option[];\n title: string;\n placeholder?: string;\n hideSearch?: boolean;\n onClear?: () => void;\n clearBtnText?: string;\n onApply?: () => void;\n applyBtnText?: string;\n className?: string;\n classNames?: ComboboxClassNames;\n value?: string | string[];\n}\n\ninterface ComboboxSingleProps extends ComboboxProps {\n onChange: (value: string) => void;\n}\n\ninterface ComboboxMultiProps extends ComboboxProps {\n onChange: (value: string[]) => void;\n}\n\nfunction ComboboxSingle(props: ComboboxSingleProps) {\n const { onChange, value } = props;\n const [currentValue, setCurrentValue] = useState<string>(\n (value as string) ?? \"\"\n );\n\n const memoizedOnChange = useCallback(\n (value: string) => {\n onChange(value);\n },\n [onChange]\n );\n\n useEffect(() => {\n memoizedOnChange(currentValue);\n }, [currentValue, memoizedOnChange]);\n\n const singleHandler = (newValue: string) =>\n setCurrentValue(newValue === currentValue ? \"\" : newValue);\n\n return (\n <Combobox\n {...props}\n value={currentValue}\n handler={singleHandler}\n badgeCount={!!currentValue ? 1 : 0}\n />\n );\n}\n\nfunction ComboboxMulti(props: ComboboxMultiProps) {\n const { onChange, onApply, value } = props;\n const [currentValues, setCurrentValues] = useState<string[]>(\n (value as string[]) ?? []\n );\n\n const memoizedOnChange = useCallback(\n (values: string[]) => {\n onChange(values);\n },\n [onChange]\n );\n\n useEffect(() => {\n memoizedOnChange(currentValues);\n }, [currentValues, memoizedOnChange]);\n\n const multiHandler = (newValue: string) =>\n setCurrentValues((prev) =>\n prev.includes(newValue)\n ? prev.filter((v) => v !== newValue)\n : [...prev, newValue]\n );\n\n const onClearHandler = () => setCurrentValues([]);\n\n return (\n <Combobox\n {...props}\n value={currentValues}\n handler={multiHandler}\n isMultiselect\n badgeCount={currentValues.length}\n onClear={onClearHandler}\n onApply={onApply}\n />\n );\n}\n\ninterface ComboboxComponentProps extends ComboboxProps {\n handler: (value: string) => void;\n isMultiselect?: boolean;\n badgeCount?: number;\n}\n\nfunction Combobox({\n title,\n label,\n options,\n isMultiselect,\n variant,\n hideSearch,\n className,\n classNames,\n onApply,\n onClear,\n applyBtnText,\n clearBtnText,\n value,\n badgeCount,\n handler,\n}: ComboboxComponentProps) {\n const [open, setOpen] = useState(false);\n\n const hideSearchBox = hideSearch ?? options?.length <= 5;\n\n const clickHandler = (option: string) => {\n handler?.(option);\n if (!isMultiselect) setOpen(false);\n };\n\n const onApplyHandler = () => {\n setOpen(false);\n onApply?.();\n };\n\n return (\n <div className={cn(\"flex flex-col\", className)}>\n {label && <Label text={label} className={classNames?.label} />}\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <div\n className={cn(triggerVariants({ variant }), classNames?.trigger)}\n aria-expanded={open}\n >\n {!!badgeCount && (\n <Badge variant=\"purple\" className=\"pt-1\">\n {badgeCount}\n </Badge>\n )}\n <span className=\"truncate leading-normal\">{title}</span>\n <ChevronDownIcon\n className=\"transform group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </div>\n </PopoverTrigger>\n <PopoverContent\n className={cn(classNames?.content, \"p-0 ml-5\")}\n sideOffset={4}\n >\n <Command>\n {!hideSearchBox && <CommandInput placeholder=\"Search...\" />}\n <CommandList>\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {options.map(\n ({ value: optionValue, title, description, icon }) => (\n <CommandItem\n key={optionValue}\n value={optionValue}\n onSelect={clickHandler}\n >\n <ListItem\n className={cn(classNames?.items, \"py-1\", \"truncate\")}\n title={title}\n value={optionValue}\n isSelected={\n (Array.isArray(value) &&\n value.includes(optionValue)) ||\n value === optionValue\n }\n icon={icon}\n description={description}\n hasCheckbox={isMultiselect}\n />\n </CommandItem>\n )\n )}\n </CommandGroup>\n </CommandList>\n </Command>\n <Separator />\n {isMultiselect && (\n <div className=\"flex flex-row justify-between items-center p-4\">\n <Button variant=\"link\" onClick={onClear}>\n {clearBtnText ?? \"Clear\"}\n </Button>\n <Button variant=\"primary\" onClick={onApplyHandler}>\n {applyBtnText ?? \"Apply\"}\n </Button>\n </div>\n )}\n </PopoverContent>\n </Popover>\n </div>\n );\n}\n\nconst triggerVariants = cva(\n [\n \"group relative cursor-pointer flex flex-row items-center justify-between gap-2 rounded-3xl border border-grey-20 h-9 pl-3 pr-2 py-2 text-sm font-bold focus:outline-green-80 disabled:bg-grey-5\",\n ],\n {\n variants: {\n variant: {\n default: [\"data-[state=open]:bg-black\", \"data-[state=open]:text-white\"],\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n);\n\nexport { ComboboxSingle, ComboboxMulti };\n","\"use client\";\n\nimport { type DialogProps } from \"@radix-ui/react-dialog\";\nimport { Command as CommandPrimitive } from \"cmdk\";\nimport { Search } from \"lucide-react\";\nimport * as React from \"react\";\n\nimport { Dialog, DialogContent } from \"@/exports/components/primitives/dialog\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950\",\n className\n )}\n {...props}\n />\n));\nCommand.displayName = CommandPrimitive.displayName;\n\ntype CommandDialogProps = DialogProps;\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n );\n};\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div\n className=\"m-1 flex items-center rounded-lg border px-3\"\n cmdk-input-wrapper=\"\"\n >\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n));\n\nCommandInput.displayName = CommandPrimitive.Input.displayName;\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n));\n\nCommandList.displayName = CommandPrimitive.List.displayName;\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n));\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName;\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500\",\n className\n )}\n {...props}\n />\n));\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName;\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-neutral-200\", className)}\n {...props}\n />\n));\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName;\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n));\n\nCommandItem.displayName = CommandPrimitive.Item.displayName;\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-neutral-500\",\n className\n )}\n {...props}\n />\n );\n};\nCommandShortcut.displayName = \"CommandShortcut\";\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n};\n","\"use client\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport { X } from \"lucide-react\";\nimport * as React from \"react\";\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n \"fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0\",\n className\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950\",\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n);\nDialogHeader.displayName = \"DialogHeader\";\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n);\nDialogFooter.displayName = \"DialogFooter\";\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-neutral-500 dark:text-neutral-400\", className)}\n {...props}\n />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n","\"use client\";\n\nimport * as React from \"react\";\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\n\nconst Popover = PopoverPrimitive.Root;\n\nconst PopoverTrigger = PopoverPrimitive.Trigger;\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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\",\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n));\nPopoverContent.displayName = PopoverPrimitive.Content.displayName;\n\nexport { Popover, PopoverTrigger, PopoverContent };\n","import { cva, type VariantProps } from \"cva\";\nimport * as React from \"react\";\n\nimport { cn } from \"@/exports/components/lib/utils\";\n\nconst badgeVariants = cva(\"rounded-full px-2 py-0.5 text-xs font-semibold\", {\n variants: {\n variant: {\n green: \"bg-green-90 text-white\",\n pickle: \"bg-pickle-100 text-black\",\n purple: \"bg-purple-100 text-white\",\n },\n },\n defaultVariants: {\n variant: \"green\",\n },\n});\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n );\n}\n\nexport { Badge, badgeVariants };\n"],"mappings":"ykBAAA,IAAAA,GAAA,GAAAC,GAAAD,GAAA,WAAAE,EAAA,WAAAC,EAAA,aAAAC,EAAA,SAAAC,EAAA,kBAAAC,GAAA,mBAAAC,GAAA,UAAAC,EAAA,aAAAC,EAAA,WAAAC,GAAA,OAAAC,IAAA,eAAAC,GAAAZ,ICAA,IAAAa,GAAkB,sBCElB,IAAAC,EAAiC,uCACjCC,EAA8C,wBAC9CC,EAOO,iBCXP,IAAAC,GAAsC,gBACtCC,GAAwB,0BAEjB,SAASC,KAAMC,EAAsB,CAC1C,SAAO,eAAQ,SAAKA,CAAM,CAAC,CAC7B,CCGA,SAASC,GAAM,CAAE,KAAAC,EAAM,UAAAC,EAAW,GAAGC,CAAM,EAAoB,CAC7D,OAAKF,EAGH,oBAAC,SACC,UAAWG,EACT,iFACAF,CACF,EACC,GAAGC,GAEHF,CACH,EAXgB,IAapB,CAEA,IAAOI,EAAQL,GCxBf,IAAAM,GAAuC,eACvCC,GAAkB,sBAClBC,GAAwB,0BAMlBC,GAAO,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,GAAGC,CAAM,IACjD,GAAAC,QAAA,cAAC,OAAI,aAAW,YAAQC,GAAa,CAAE,QAAAJ,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,CAAC,EAAI,GAAGG,EAAO,EAG5EE,MAAe,QAAI,CAAC,OAAQ,eAAgB,cAAe,SAAU,OAAO,EAAG,CACnF,SAAU,CACR,QAAS,CACP,QAAS,CAAC,eAAgB,gBAAgB,EAC1C,QAAS,CAAC,kBAAmB,kBAAkB,EAC/C,OAAQ,CAAC,mBAAoB,mBAAmB,EAChD,WAAY,CAAC,iBAAkB,cAAe,gBAAgB,EAC9D,mBAAoB,CAAC,aAAc,cAAe,gBAAgB,CACpE,EACA,KAAM,CACJ,MAAO,CAAC,UAAW,YAAa,OAAQ,OAAQ,SAAS,EACzD,OAAQ,CAAC,YAAa,YAAa,OAAQ,OAAQ,OAAO,CAC5D,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,QACR,CACF,CAAC,EAEMC,EAAQP,GC9Bf,IAAAQ,GAAoC,0CACpCC,EAAuB,sBAIvB,IAAMC,EAAkB,aAItB,CACE,CAAE,UAAAC,EAAW,YAAAC,EAAc,aAAc,WAAAC,EAAa,GAAM,GAAGC,CAAM,EACrEC,IAEA,gBAAoB,QAAnB,CACC,IAAKA,EACL,WAAYF,EACZ,YAAaD,EACb,UAAWI,EACT,sBACAJ,IAAgB,aAAe,iBAAmB,iBAClDD,CACF,EACC,GAAGG,EACN,CAEJ,EACAJ,EAAU,YAAiC,QAAK,YJChD,IAAMO,MAAS,cACb,CAAC,CAAE,MAAAC,EAAO,QAAAC,EAAS,YAAAC,EAAa,YAAAC,EAAa,WAAAC,EAAY,GAAGC,CAAM,EAAGC,IAAQ,CAC3E,GAAM,CAAE,MAAAC,EAAO,aAAAC,EAAc,IAAAC,EAAK,UAAAC,EAAW,SAAAC,EAAU,GAAGC,CAAK,EAAIP,EAC7D,CAACQ,EAAUC,CAAW,KAAI,YAAmB,CAAC,CAAC,EAC/C,CAACC,EAAMC,CAAO,KAAI,YAAS,EAAK,EAChCC,KAAe,UAAuB,IAAI,KAEhD,aAAU,IAAM,CACd,GAAI,CAACV,EAAO,OAAOO,EAAY,CAAC,CAAC,EACjCA,EAAY,MAAM,QAAQP,CAAK,EAAIA,EAAQ,CAACA,CAAK,CAAC,CACpD,EAAG,CAACA,CAAK,CAAC,EAEV,IAAMW,EAAa,IAAMF,EAASG,GAAS,CAACA,CAAI,EAC1CC,EAAiBC,GACrBA,EAAM,MAAQ,UAAYL,EAAQ,EAAK,EACnCM,EAAkB,CAACD,EAAsBd,IAC7Cc,EAAM,MAAQ,SAAWE,EAAahB,CAAK,EAEvCiB,EAAaX,GACf,IAAKY,GAAMxB,GAAS,KAAK,CAAC,CAAE,MAAAM,CAAM,IAAMA,IAAUkB,CAAC,CAAC,EACrD,OAAO,OAAO,EAEjB,SAASC,GAAe,CACtB,OAAIvB,EACKU,EACJ,IAAKc,GAAM1B,GAAS,KAAM2B,GAAWA,EAAO,QAAUD,CAAC,GAAG,KAAK,EAC/D,KAAK,IAAI,EAEP1B,GAAS,KAAM2B,GAAWA,EAAO,QAAUf,EAAS,KAAK,CAAC,GAAG,KACtE,CAEA,SAASgB,EAAmBC,EAAiB,EACvC,CAAC3B,GAAe2B,IAAQd,EAAQc,CAAM,CAC5C,CAEA,SAASP,EAAaQ,EAAkB,CACtC,IAAIC,EAAwB,CAAC,EAC7BlB,EAAaK,IACXa,EAAcb,EAAK,SAASY,CAAQ,EAChCZ,EAAK,OAAQc,GAASA,IAASF,CAAQ,EACvC,CAAC,GAAGZ,EAAMY,CAAQ,EACf5B,EAAc6B,EAAc,CAACD,CAAQ,EAC7C,EACDpB,IAAWR,EAAc6B,EAAcD,CAAQ,CACjD,CAEA,OACE,oBAAC,OACC,UAAWG,EAAG,0BAA2BxB,CAAS,EAClD,IAAKO,GAEL,oBAACkB,EAAA,CAAM,KAAMnC,EAAO,UAAWI,GAAY,MAAO,EAElD,oBAAiB,OAAhB,CACC,KAAMW,EACN,MAAOF,EAAS,KAAK,GAAG,EACxB,aAAcgB,EACd,cAAe1B,EAAc,OAAYoB,EACzC,aACE,OAAOf,GAAiB,SAAWA,EAAe,OAEpD,IAAKC,IAAQ,MAAQ,MAAQ,MAC5B,GAAGG,GAEJ,oBAAiB,UAAhB,CACC,IAAKN,EACL,cAAa,GAAGN,EAAM,YAAY,CAAC,kBACnC,UAAU,uPAEV,oBAAC,QAAK,UAAU,YACd,oBAAiB,QAAhB,CACC,YAAaE,GAAe,mBAC5B,aAAYwB,EAAa,GAExBA,EAAa,CAChB,CACF,EAEA,oBAAC,mBACC,UAAU,0DACV,KAAK,KACP,CACF,EAEA,oBAAiB,SAAhB,CAAuB,UAAWT,EAAa,SAC9C,oBAAiB,UAAhB,CACC,iBAAgB,GAChB,UAAU,qJACV,SAAS,SACT,WAAY,EACZ,qBAAsBC,EACtB,UAAWE,GAEX,oBAAiB,WAAhB,KACEjB,GAAe,CAAC,CAACqB,GAAY,QAC5B,oBAAiB,QAAhB,CACC,UAAU,0CACV,cAAY,mBAEXA,GAAY,IACVY,GACCA,GACE,oBAACC,EAAA,CAAK,IAAKD,EAAK,MAAO,KAAK,QAAQ,QAAQ,WAC1C,oBAAC,YAAMA,EAAK,KAAM,EAClB,oBAAC,KACC,KAAM,GACN,cAAa,eAAeA,EAAK,KAAK,GACtC,UAAU,iBACV,QAAS,IAAMb,EAAaa,EAAK,KAAK,EACxC,CACF,CAEN,CACF,EAEF,oBAACE,EAAA,IAAU,EACVrC,GAAS,IAAI,CAAC,CAAE,GAAAsC,EAAI,MAAAC,EAAO,MAAAjC,CAAM,IAChC,oBAAiB,OAAhB,CACC,IAAKgC,EACL,MAAOhC,EACP,UAAU,uNACV,aACEM,EAAS,SAASN,CAAK,EAAI,UAAY,YAEzC,UAAYkC,GAAMnB,EAAgBmB,EAAGlC,CAAK,EAC1C,QAAS,IAAMgB,EAAahB,CAAK,GAEjC,oBAAiB,WAAhB,KAA0BiC,CAAM,EACjC,oBAAC,aACC,UAAU,iGACV,KAAM,GACR,CACF,CACD,CACH,CACF,CACF,CACF,CACF,CAEJ,CACF,EAEAzC,GAAO,YAAc,SAErB,IAAO2C,GAAQ3C,GK5Kf,IAAA4C,EAAmC,yCACnCC,EAA6B,wBAC7BC,GAKO,iBAIP,IAAMC,MAAiB,eAGrB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1B,oBAAmB,OAAlB,CACC,IAAKA,EACL,UAAWC,EACT,QACA,OACA,MACA,MACA,WACA,aACA,SACA,iBACA,UACA,YACA,mBACA,sBACA,uBACA,2BACA,yBACA,8BACA,sBACA,mCACA,yCACA,kCACA,qDACAF,EAAM,UACJ,kFACFD,CACF,EACC,GAAGC,GAEJ,oBAAmB,YAAlB,CAA4B,UAAU,iDACrC,oBAAC,SAAM,UAAU,kDAAkD,EACnE,oBAAC,SAAM,UAAU,wDAAwD,CAC3E,CACF,CACD,EACDF,GAAe,YAAgC,OAAK,YAUpD,IAAMK,MAAW,eACf,CAAC,CAAE,WAAAC,EAAY,SAAAC,EAAU,GAAGL,CAAM,EAAGC,IAAQ,CAC3C,GAAM,CAAE,SAAAK,CAAS,EAAIN,EACfO,EAAKP,EAAM,IAAM,GAAGA,EAAM,MAAQA,EAAM,OAAO,SAAS,CAAC,YACzDQ,EAAiBF,EAAW,mCAAqC,GACvE,OACE,oBAAC,OAAI,UAAWJ,EAAG,iBAAkBE,GAAY,OAAO,GACtD,oBAACN,GAAA,CAAe,GAAIS,EAAI,SAAUD,EAAU,IAAKL,EAAM,GAAGD,EAAO,EACjE,oBAAC,SAAM,QAASO,EAAI,UAAWL,EAAGM,EAAgBJ,GAAY,KAAK,GAChEC,CACH,CACF,CAEJ,CACF,EACAF,GAAS,YAAc,WAEvB,IAAOM,EAAQN,GC/Ef,IAAAO,GAA0B,wBAG1B,IAAAC,GAAsB,wBAatB,SAASC,GAAS,CAChB,KAAAC,EACA,YAAAC,EACA,WAAAC,EACA,UAAAC,EACA,MAAAC,EACA,MAAAC,EACA,YAAAC,EACA,GAAGC,CACL,EAAkB,CAShB,IAAMC,EAAaR,GARKA,GAA4B,CAClD,GAAIA,KAAQ,SAAO,CACjB,IAAMS,EAAgB,SAAMT,CAAe,EAC3C,OAAO,oBAACS,EAAA,CAAc,KAAM,GAAI,CAClC,CACA,OAAO,IACT,GAEyCT,CAAI,EAAI,OAEjD,OACE,oBAAC,MACC,UAAWU,EACT,kFACAP,CACF,EACC,GAAGI,EACJ,aAAYL,EAAa,UAAY,aAEpCM,GAAc,oBAAC,QAAK,UAAU,QAAQA,CAAW,EACjDP,GACC,oBAACU,EAAA,CACC,GAAIN,EACJ,QAASH,EACT,QAAUU,GAAMA,EAAE,eAAe,EACnC,EAEF,oBAAC,WACC,oBAAC,SAAGR,CAAM,EACV,oBAAC,KAAE,UAAU,wBAAwBE,CAAY,CACnD,EAEA,oBAAC,cACC,UAAU,gGACV,KAAM,GACR,CACF,CAEJ,CAEA,IAAOO,EAAQd,GClEf,IAAAe,GAAqB,gCACrBC,GAAuC,eACvCC,EAAkC,sBAQrBC,KAAS,cACpB,CAAC,CAAE,UAAAC,EAAW,QAAAC,EAAS,KAAAC,EAAM,QAAAC,EAAU,GAAO,GAAGC,CAAM,EAAGC,IAItD,EAAAC,QAAA,cAHgBH,EAAU,QAAO,SAGhC,CACC,UAAWI,EAAGC,GAAe,CAAE,QAAAP,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,CAAC,EAC1D,IAAKK,EACJ,GAAGD,EACN,CAGN,EACAL,EAAO,YAAc,SAErB,IAAMS,MAAiB,QACrB,CACE,OACA,eACA,iBACA,QACA,eACA,YACA,YACA,mBACA,iBACA,qBACF,EACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,CACP,WACA,aACA,mBACA,oBACA,2BACA,wBACA,qBACF,EACA,QAAS,CACP,gBACA,aACA,qBACA,sBACA,2BACA,wBACA,qBACF,EACA,UAAW,CACT,cACA,aACA,oBACA,sBACA,2BACA,wBACA,qBACF,EACA,YAAa,CACX,aACA,oBACA,sBACA,2BACA,uBACF,EACA,KAAM,CACJ,gBACA,aACA,YACA,wBACA,mBACA,2BACA,uBACF,CACF,EACA,KAAM,CACJ,MAAO,CAAC,OAAQ,UAAW,OAAQ,MAAM,EACzC,OAAQ,CAAC,OAAQ,YAAa,OAAQ,MAAM,EAC5C,MAAO,CAAC,OAAQ,UAAW,OAAQ,MAAM,CAC3C,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,QACR,EACA,iBAAkB,CAChB,CACE,QAAS,OACT,KAAM,QACN,MAAO,CAAC,MAAO,UAAW,KAAK,CACjC,EACA,CACE,QAAS,OACT,KAAM,SACN,MAAO,CAAC,MAAO,UAAW,KAAK,CACjC,EACA,CACE,QAAS,OACT,KAAM,QACN,MAAO,CAAC,MAAO,YAAa,KAAK,CACnC,CACF,CACF,CACF,EChHA,IAAAC,EAAwD,sBACxDC,GAAgC,wBAChCC,GAAuC,eCDvC,IAAAC,EAA4C,gBAC5CC,GAAuB,wBACvBC,EAAuB,sBCFvB,IAAAC,EAAiC,uCACjCC,GAAkB,wBAClBC,EAAuB,sBAMvB,IAAMC,GAA+B,SAIrC,IAAMC,GAAsB,aAG1B,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAiB,UAAhB,CACC,IAAKA,EACL,UAAWC,EACT,0JACAH,CACF,EACC,GAAGC,EACN,CACD,EACDF,GAAc,YAA8B,UAAQ,YAEpD,IAAMK,GAAsB,aAG1B,CAAC,CAAE,UAAAJ,EAAW,SAAAK,EAAU,GAAGJ,CAAM,EAAGC,IACpC,gBAACI,GAAA,KACC,gBAACP,GAAA,IAAc,EACf,gBAAiB,UAAhB,CACC,IAAKG,EACL,UAAWC,EACT,wjBACAH,CACF,EACC,GAAGC,GAEHI,EACD,gBAAiB,QAAhB,CAAsB,UAAU,0ZAC/B,gBAAC,MAAE,UAAU,UAAU,EACvB,gBAAC,QAAK,UAAU,WAAU,OAAK,CACjC,CACF,CACF,CACD,EACDD,GAAc,YAA8B,UAAQ,YAEpD,IAAMG,GAAe,CAAC,CACpB,UAAAP,EACA,GAAGC,CACL,IACE,gBAAC,OACC,UAAWE,EACT,qDACAH,CACF,EACC,GAAGC,EACN,EAEFM,GAAa,YAAc,eAE3B,IAAMC,GAAe,CAAC,CACpB,UAAAR,EACA,GAAGC,CACL,IACE,gBAAC,OACC,UAAWE,EACT,gEACAH,CACF,EACC,GAAGC,EACN,EAEFO,GAAa,YAAc,eAE3B,IAAMC,GAAoB,aAGxB,CAAC,CAAE,UAAAT,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAiB,QAAhB,CACC,IAAKA,EACL,UAAWC,EACT,oDACAH,CACF,EACC,GAAGC,EACN,CACD,EACDQ,GAAY,YAA8B,QAAM,YAEhD,IAAMC,GAA0B,aAG9B,CAAC,CAAE,UAAAV,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAiB,cAAhB,CACC,IAAKA,EACL,UAAWC,EAAG,iDAAkDH,CAAS,EACxE,GAAGC,EACN,CACD,EACDS,GAAkB,YAA8B,cAAY,YDhG5D,IAAMC,GAAgB,aAGpB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,EAAAC,QAAA,CACC,IAAKD,EACL,UAAWE,EACT,mFACAJ,CACF,EACC,GAAGC,EACN,CACD,EACDF,GAAQ,YAAc,EAAAI,QAAiB,YAgBvC,IAAME,GAAqB,aAGzB,CAAC,CAAE,UAAAC,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,OACC,UAAU,+CACV,qBAAmB,IAEnB,gBAAC,WAAO,UAAU,mCAAmC,EACrD,gBAAC,EAAAC,QAAiB,MAAjB,CACC,IAAKD,EACL,UAAWE,EACT,oJACAJ,CACF,EACC,GAAGC,EACN,CACF,CACD,EAEDF,GAAa,YAAc,EAAAI,QAAiB,MAAM,YAElD,IAAME,GAAoB,aAGxB,CAAC,CAAE,UAAAL,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,EAAAC,QAAiB,KAAjB,CACC,IAAKD,EACL,UAAWE,EAAG,oCAAqCJ,CAAS,EAC3D,GAAGC,EACN,CACD,EAEDI,GAAY,YAAc,EAAAF,QAAiB,KAAK,YAEhD,IAAMG,GAAqB,aAGzB,CAACL,EAAOC,IACR,gBAAC,EAAAC,QAAiB,MAAjB,CACC,IAAKD,EACL,UAAU,2BACT,GAAGD,EACN,CACD,EAEDK,GAAa,YAAc,EAAAH,QAAiB,MAAM,YAElD,IAAMI,GAAqB,aAGzB,CAAC,CAAE,UAAAP,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,EAAAC,QAAiB,MAAjB,CACC,IAAKD,EACL,UAAWE,EACT,qNACAJ,CACF,EACC,GAAGC,EACN,CACD,EAEDM,GAAa,YAAc,EAAAJ,QAAiB,MAAM,YAElD,IAAMK,GAAyB,aAG7B,CAAC,CAAE,UAAAR,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,EAAAC,QAAiB,UAAjB,CACC,IAAKD,EACL,UAAWE,EAAG,4BAA6BJ,CAAS,EACnD,GAAGC,EACN,CACD,EACDO,GAAiB,YAAc,EAAAL,QAAiB,UAAU,YAE1D,IAAMM,GAAoB,aAGxB,CAAC,CAAE,UAAAT,EAAW,GAAGC,CAAM,EAAGC,IAC1B,gBAAC,EAAAC,QAAiB,KAAjB,CACC,IAAKD,EACL,UAAWE,EACT,yPACAJ,CACF,EACC,GAAGC,EACN,CACD,EAEDQ,GAAY,YAAc,EAAAN,QAAiB,KAAK,YAEhD,IAAMO,GAAkB,CAAC,CACvB,UAAAV,EACA,GAAGC,CACL,IAEI,gBAAC,QACC,UAAWG,EACT,mDACAJ,CACF,EACC,GAAGC,EACN,EAGJS,GAAgB,YAAc,kBEhJ9B,IAAAC,EAAuB,sBACvBC,EAAkC,wCAIlC,IAAMC,GAA2B,OAE3BC,GAAkC,UAElCC,GAAuB,aAG3B,CAAC,CAAE,UAAAC,EAAW,MAAAC,EAAQ,SAAU,WAAAC,EAAa,EAAG,GAAGC,CAAM,EAAGC,IAC5D,gBAAkB,SAAjB,KACC,gBAAkB,UAAjB,CACC,IAAKA,EACL,MAAOH,EACP,WAAYC,EACZ,UAAWG,EACT,6aACAL,CACF,EACC,GAAGG,EACN,CACF,CACD,EACDJ,GAAe,YAA+B,UAAQ,YC5BtD,IAAAO,GAAuC,eACvCC,GAAuB,sBAIvB,IAAMC,MAAgB,QAAI,iDAAkD,CAC1E,SAAU,CACR,QAAS,CACP,MAAO,yBACP,OAAQ,2BACR,OAAQ,0BACV,CACF,EACA,gBAAiB,CACf,QAAS,OACX,CACF,CAAC,EAMD,SAASC,EAAM,CAAE,UAAAC,EAAW,QAAAC,EAAS,GAAGC,CAAM,EAAe,CAC3D,OACE,iBAAC,OAAI,UAAWC,EAAGL,GAAc,CAAE,QAAAG,CAAQ,CAAC,EAAGD,CAAS,EAAI,GAAGE,EAAO,CAE1E,CJsCA,SAASE,GAAeC,EAA4B,CAClD,GAAM,CAAE,SAAAC,EAAU,MAAAC,CAAM,EAAIF,EACtB,CAACG,EAAcC,CAAe,KAAI,YACrCF,GAAoB,EACvB,EAEMG,KAAmB,eACtBH,GAAkB,CACjBD,EAASC,CAAK,CAChB,EACA,CAACD,CAAQ,CACX,EAEA,sBAAU,IAAM,CACdI,EAAiBF,CAAY,CAC/B,EAAG,CAACA,EAAcE,CAAgB,CAAC,EAMjC,EAAAC,QAAA,cAACC,GAAA,CACE,GAAGP,EACJ,MAAOG,EACP,QAPmBK,GACrBJ,EAAgBI,IAAaL,EAAe,GAAKK,CAAQ,EAOvD,WAAcL,EAAe,EAAI,EACnC,CAEJ,CAEA,SAASM,GAAcT,EAA2B,CAChD,GAAM,CAAE,SAAAC,EAAU,QAAAS,EAAS,MAAAR,CAAM,EAAIF,EAC/B,CAACW,EAAeC,CAAgB,KAAI,YACvCV,GAAsB,CAAC,CAC1B,EAEMG,KAAmB,eACtBQ,GAAqB,CACpBZ,EAASY,CAAM,CACjB,EACA,CAACZ,CAAQ,CACX,KAEA,aAAU,IAAM,CACdI,EAAiBM,CAAa,CAChC,EAAG,CAACA,EAAeN,CAAgB,CAAC,EAEpC,IAAMS,EAAgBN,GACpBI,EAAkBG,GAChBA,EAAK,SAASP,CAAQ,EAClBO,EAAK,OAAQC,GAAMA,IAAMR,CAAQ,EACjC,CAAC,GAAGO,EAAMP,CAAQ,CACxB,EAEIS,EAAiB,IAAML,EAAiB,CAAC,CAAC,EAEhD,OACE,EAAAN,QAAA,cAACC,GAAA,CACE,GAAGP,EACJ,MAAOW,EACP,QAASG,EACT,cAAa,GACb,WAAYH,EAAc,OAC1B,QAASM,EACT,QAASP,EACX,CAEJ,CAQA,SAASH,GAAS,CAChB,MAAAW,EACA,MAAAC,EACA,QAAAC,EACA,cAAAC,EACA,QAAAC,EACA,WAAAC,EACA,UAAAC,EACA,WAAAC,EACA,QAAAf,EACA,QAAAgB,EACA,aAAAC,EACA,aAAAC,EACA,MAAA1B,EACA,WAAA2B,EACA,QAAAC,CACF,EAA2B,CACzB,GAAM,CAACC,EAAMC,CAAO,KAAI,YAAS,EAAK,EAEhCC,EAAgBV,GAAcH,GAAS,QAAU,EAEjDc,EAAgBC,GAAmB,CACvCL,IAAUK,CAAM,EACXd,GAAeW,EAAQ,EAAK,CACnC,EAEMI,EAAiB,IAAM,CAC3BJ,EAAQ,EAAK,EACbtB,IAAU,CACZ,EAEA,OACE,EAAAJ,QAAA,cAAC,OAAI,UAAW+B,EAAG,gBAAiBb,CAAS,GAC1CL,GAAS,EAAAb,QAAA,cAACgC,EAAA,CAAM,KAAMnB,EAAO,UAAWM,GAAY,MAAO,EAC5D,EAAAnB,QAAA,cAACiC,GAAA,CAAQ,KAAMR,EAAM,aAAcC,GACjC,EAAA1B,QAAA,cAACkC,GAAA,CAAe,QAAO,IACrB,EAAAlC,QAAA,cAAC,OACC,UAAW+B,EAAGI,GAAgB,CAAE,QAAAnB,CAAQ,CAAC,EAAGG,GAAY,OAAO,EAC/D,gBAAeM,GAEd,CAAC,CAACF,GACD,EAAAvB,QAAA,cAACoC,EAAA,CAAM,QAAQ,SAAS,UAAU,QAC/Bb,CACH,EAEF,EAAAvB,QAAA,cAAC,QAAK,UAAU,2BAA2BY,CAAM,EACjD,EAAAZ,QAAA,cAAC,oBACC,UAAU,+CACV,KAAK,KACP,CACF,CACF,EACA,EAAAA,QAAA,cAACqC,GAAA,CACC,UAAWN,EAAGZ,GAAY,QAAS,UAAU,EAC7C,WAAY,GAEZ,EAAAnB,QAAA,cAACsC,GAAA,KACE,CAACX,GAAiB,EAAA3B,QAAA,cAACuC,GAAA,CAAa,YAAY,YAAY,EACzD,EAAAvC,QAAA,cAACwC,GAAA,KACC,EAAAxC,QAAA,cAACyC,GAAA,KAAa,YAAU,EACxB,EAAAzC,QAAA,cAAC0C,GAAA,KACE5B,EAAQ,IACP,CAAC,CAAE,MAAO6B,EAAa,MAAA/B,EAAO,YAAAgC,EAAa,KAAAC,CAAK,IAC9C,EAAA7C,QAAA,cAAC8C,GAAA,CACC,IAAKH,EACL,MAAOA,EACP,SAAUf,GAEV,EAAA5B,QAAA,cAAC+C,EAAA,CACC,UAAWhB,EAAGZ,GAAY,MAAO,OAAQ,UAAU,EACnD,MAAOP,EACP,MAAO+B,EACP,WACG,MAAM,QAAQ/C,CAAK,GAClBA,EAAM,SAAS+C,CAAW,GAC5B/C,IAAU+C,EAEZ,KAAME,EACN,YAAaD,EACb,YAAa7B,EACf,CACF,CAEJ,CACF,CACF,CACF,EACA,EAAAf,QAAA,cAACgD,EAAA,IAAU,EACVjC,GACC,EAAAf,QAAA,cAAC,OAAI,UAAU,kDACb,EAAAA,QAAA,cAACiD,EAAA,CAAO,QAAQ,OAAO,QAAS7B,GAC7BE,GAAgB,OACnB,EACA,EAAAtB,QAAA,cAACiD,EAAA,CAAO,QAAQ,UAAU,QAASnB,GAChCT,GAAgB,OACnB,CACF,CAEJ,CACF,CACF,CAEJ,CAEA,IAAMc,MAAkB,QACtB,CACE,iMACF,EACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,CAAC,6BAA8B,8BAA8B,CACxE,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CACF","names":["exports_exports","__export","Badge","Button","Checkbox_default","Chip_default","ComboboxMulti","ComboboxSingle","Label_default","ListItem_default","Select_default","cn","__toCommonJS","import_react","SelectPrimitive","import_lucide_react","import_react","import_clsx","import_tailwind_merge","cn","inputs","Label","text","className","props","cn","Label_default","import_cva","import_react","import_tailwind_merge","Chip","className","variant","size","props","React","chipVariants","Chip_default","SeparatorPrimitive","React","Separator","className","orientation","decorative","props","ref","cn","Select","label","options","placeholder","multiselect","classNames","props","ref","value","defaultValue","dir","className","onChange","rest","selected","setSelected","open","setOpen","containerRef","toggleOpen","prev","closeOnEscape","event","setValueOnEnter","handleChange","chipLabels","s","handleLabels","o","option","handleOnOpenChange","isOpen","newValue","newSelected","item","cn","Label_default","chip","Chip_default","Separator","id","title","e","Select_default","CheckboxPrimitive","import_lucide_react","import_react","CheckboxToggle","className","props","ref","cn","Checkbox","classNames","children","disabled","id","labelClassName","Checkbox_default","import_lucide_react","import_lucide_react","ListItem","icon","hasCheckbox","isSelected","className","title","value","description","props","optionIcon","IconComponent","cn","Checkbox_default","e","ListItem_default","import_react_slot","import_cva","import_react","Button","className","variant","size","asChild","props","ref","React","cn","buttonVariants","import_react","import_lucide_react","import_cva","import_cmdk","import_lucide_react","React","DialogPrimitive","import_lucide_react","React","DialogPortal","DialogOverlay","className","props","ref","cn","DialogContent","children","DialogPortal","DialogHeader","DialogFooter","DialogTitle","DialogDescription","Command","className","props","ref","CommandPrimitive","cn","CommandInput","className","props","ref","CommandPrimitive","cn","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","React","PopoverPrimitive","Popover","PopoverTrigger","PopoverContent","className","align","sideOffset","props","ref","cn","import_cva","React","badgeVariants","Badge","className","variant","props","cn","ComboboxSingle","props","onChange","value","currentValue","setCurrentValue","memoizedOnChange","React","Combobox","newValue","ComboboxMulti","onApply","currentValues","setCurrentValues","values","multiHandler","prev","v","onClearHandler","title","label","options","isMultiselect","variant","hideSearch","className","classNames","onClear","applyBtnText","clearBtnText","badgeCount","handler","open","setOpen","hideSearchBox","clickHandler","option","onApplyHandler","cn","Label_default","Popover","PopoverTrigger","triggerVariants","Badge","PopoverContent","Command","CommandInput","CommandList","CommandEmpty","CommandGroup","optionValue","description","icon","CommandItem","ListItem_default","Separator","Button"]}
1
+ {"version":3,"sources":["../src/index.ts","../src/components/ui/Select.tsx","../src/lib/utils.ts","../src/components/ui/Label.tsx","../src/components/ui/Chip.tsx","../src/components/primitives/separator.tsx","../src/components/ui/Checkbox.tsx","../src/components/ui/ListItem.tsx","../src/components/ui/Button.tsx","../src/components/ui/Combobox.tsx","../src/components/primitives/command.tsx","../src/components/primitives/dialog.tsx","../src/components/primitives/popover.tsx","../src/components/ui/Badge.tsx"],"sourcesContent":["import Select from '@/components/ui/Select'\nimport Chip from '@/components/ui/Chip'\nimport Checkbox from '@/components/ui/Checkbox'\nimport ListItem from '@/components/ui/ListItem'\nimport Label from '@/components/ui/Label'\n\nexport { Select, Chip, Checkbox, ListItem, Label }\n\nexport { Button } from '@/components/ui/Button'\nexport { Combobox } from '@/components/ui/Combobox'\nexport { Badge } from '@/components/ui/Badge'\n\nexport { cn } from '@/lib/utils'\n","'use client'\n\nimport * as SelectPrimitive from '@radix-ui/react-select'\nimport { CheckIcon, ChevronDownIcon, X } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n forwardRef,\n type KeyboardEvent,\n useEffect,\n useRef,\n useState,\n} from 'react'\n\nimport Label from '@/components/ui/Label'\nimport Chip from '@/components/ui/Chip'\nimport { Separator } from '@/components/primitives/separator'\nimport { cn } from '@/lib/utils'\n\ninterface Props extends Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange'> {\n label: string\n value?: string | string[]\n options?: { id: string | number; value: string; title: string }[]\n placeholder?: string\n multiselect?: boolean\n onChange?: (value: string | string[]) => void\n classNames?: { label?: string }\n}\n\nconst Select = forwardRef<HTMLButtonElement, Props>(\n ({ label, options, placeholder, multiselect, classNames, ...props }, ref) => {\n const { value, defaultValue, dir, className, onChange, ...rest } = props\n const [selected, setSelected] = useState<string[]>([])\n const [open, setOpen] = useState(false)\n const containerRef = useRef<HTMLDivElement>(null)\n\n useEffect(() => {\n if (!value) return setSelected([])\n setSelected(Array.isArray(value) ? value : [value])\n }, [value])\n\n const toggleOpen = () => setOpen((prev) => !prev)\n const closeOnEscape = (event: KeyboardEvent) => event.key === 'Escape' && setOpen(false)\n const setValueOnEnter = (event: KeyboardEvent, value: string) =>\n event.key === 'Enter' && handleChange(value)\n\n const chipLabels = selected\n ?.map((s) => options?.find(({ value }) => value === s))\n .filter(Boolean)\n\n function handleLabels() {\n if (multiselect) {\n return selected.map((o) => options?.find((option) => option.value === o)?.title).join(', ')\n }\n return options?.find((option) => option.value === selected.join())?.title\n }\n\n function handleOnOpenChange(isOpen: boolean) {\n if (!multiselect || isOpen) setOpen(isOpen)\n }\n\n function handleChange(newValue: string) {\n let newSelected: string[] = []\n setSelected((prev) => {\n newSelected = prev.includes(newValue)\n ? prev.filter((item) => item !== newValue)\n : [...prev, newValue]\n return multiselect ? newSelected : [newValue]\n })\n onChange?.(multiselect ? newSelected : newValue)\n }\n\n return (\n <div className={cn('flex flex-col space-y-2', className)} ref={containerRef}>\n <Label text={label} className={classNames?.label} />\n\n <SelectPrimitive.Root\n open={open}\n value={selected.join(',')}\n onOpenChange={handleOnOpenChange}\n onValueChange={multiselect ? undefined : handleChange}\n defaultValue={typeof defaultValue === 'string' ? defaultValue : undefined}\n dir={dir === 'rtl' ? 'rtl' : 'ltr'}\n {...rest}\n >\n <SelectPrimitive.Trigger\n ref={ref}\n data-testid={`${label.toLowerCase()}-select-element`}\n className=\"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40\"\n >\n <span className=\"truncate\">\n <SelectPrimitive.Value\n placeholder={placeholder ?? 'Select an option'}\n aria-label={handleLabels()}\n >\n {handleLabels()}\n </SelectPrimitive.Value>\n </span>\n\n <ChevronDownIcon\n className=\"transform text-black group-data-[state=open]:rotate-180\"\n size=\"16\"\n />\n </SelectPrimitive.Trigger>\n\n <SelectPrimitive.Portal container={containerRef.current}>\n <SelectPrimitive.Content\n hideWhenDetached\n className=\"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg\"\n position=\"popper\"\n sideOffset={4}\n onPointerDownOutside={toggleOpen}\n onKeyDown={closeOnEscape}\n >\n <SelectPrimitive.Viewport>\n {multiselect && !!chipLabels?.length && (\n <SelectPrimitive.Group\n className=\"mb-2 flex flex-row flex-wrap gap-1 px-2\"\n data-testid=\"selected-labels\"\n >\n {chipLabels?.map(\n (chip) =>\n chip && (\n <Chip key={chip.title} size=\"small\" variant=\"primary\">\n <span>{chip.title}</span>\n <X\n size={18}\n data-testid={`chip-remove-${chip.value}`}\n className=\"cursor-pointer\"\n onClick={() => handleChange(chip.value)}\n />\n </Chip>\n )\n )}\n </SelectPrimitive.Group>\n )}\n <Separator />\n {options?.map(({ id, title, value }) => (\n <SelectPrimitive.Item\n key={id}\n value={value}\n className=\"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100\"\n data-state={selected.includes(value) ? 'checked' : 'unchecked'}\n onKeyDown={(e) => setValueOnEnter(e, value)}\n onClick={() => handleChange(value)}\n >\n <SelectPrimitive.ItemText>{title}</SelectPrimitive.ItemText>\n <CheckIcon\n className=\"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block\"\n size={16}\n />\n </SelectPrimitive.Item>\n ))}\n </SelectPrimitive.Viewport>\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n </SelectPrimitive.Root>\n </div>\n )\n }\n)\n\nSelect.displayName = 'Select'\n\nexport default Select\n","import { type ClassValue, clsx } from 'clsx'\nimport { twMerge } from 'tailwind-merge'\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n","import { type ComponentPropsWithoutRef } from 'react'\n\nimport { cn } from '@/lib/utils'\n\ninterface Props extends ComponentPropsWithoutRef<'label'> {\n text?: string\n}\n\nfunction Label({ text, className, ...props }: Readonly<Props>) {\n if (!text) return null\n\n return (\n <label\n className={cn(\n 'text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70',\n className\n )}\n {...props}\n >\n {text}\n </label>\n )\n}\n\nexport default Label\n","import { cva, type VariantProps } from 'cva'\nimport React from 'react'\nimport { twMerge } from 'tailwind-merge'\n\ninterface ChipProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof chipVariants> {}\n\nconst Chip = ({ className, variant, size, ...props }: ChipProps) => (\n <div className={twMerge(chipVariants({ variant, size, className }))} {...props} />\n)\n\nconst chipVariants = cva(['flex', 'items-center', 'rounded-3xl', 'border', 'w-fit'], {\n variants: {\n variant: {\n neutral: ['text-grey-80', 'border-grey-10'],\n primary: ['text-purple-100', 'border-purple-20'],\n danger: ['text-pumpkin-100', 'border-pumpkin-20'],\n onboarding: ['text-green-100', 'bg-green-10', 'cursor-pointer'],\n onboardingSelected: ['text-white', 'bg-green-90', 'cursor-pointer'],\n },\n size: {\n small: ['text-sm', 'leading-5', 'px-2', 'py-1', 'gap-1.5'],\n medium: ['text-base', 'leading-6', 'px-3', 'py-2', 'gap-2'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n})\n\nexport default Chip\n","'use client'\r\n\r\nimport * as SeparatorPrimitive from '@radix-ui/react-separator'\r\nimport * as React from 'react'\r\n\r\nimport { cn } from '@/lib/utils'\r\n\r\nconst Separator = React.forwardRef<\r\n React.ElementRef<typeof SeparatorPrimitive.Root>,\r\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\r\n>(({ className, orientation = 'horizontal', decorative = true, ...props }, ref) => (\r\n <SeparatorPrimitive.Root\r\n ref={ref}\r\n decorative={decorative}\r\n orientation={orientation}\r\n className={cn(\r\n 'shrink-0 bg-grey-10',\r\n orientation === 'horizontal' ? 'h-[1px] w-full' : 'h-full w-[1px]',\r\n className\r\n )}\r\n {...props}\r\n />\r\n))\r\nSeparator.displayName = SeparatorPrimitive.Root.displayName\r\n\r\nexport { Separator }\r\n","'use client'\n\nimport * as CheckboxPrimitive from '@radix-ui/react-checkbox'\nimport { Check, Minus } from 'lucide-react'\nimport {\n type ComponentPropsWithoutRef,\n type ElementRef,\n forwardRef,\n type PropsWithChildren,\n} from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst CheckboxToggle = forwardRef<\n ElementRef<typeof CheckboxPrimitive.Root>,\n ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n 'group',\n 'peer',\n 'h-5',\n 'w-5',\n 'shrink-0',\n 'rounded-md',\n 'border',\n 'border-grey-10',\n 'outline',\n 'outline-1',\n 'outline-offset-2',\n 'outline-transparent',\n 'hover:border-grey-20',\n 'focus:outline-purple-100',\n 'active:border-green-80',\n 'disabled:cursor-not-allowed',\n 'disabled:opacity-50',\n 'data-[state=checked]:bg-green-80',\n 'data-[state=indeterminate]:bg-green-80',\n 'data-[state=checked]:text-white',\n 'data-[state=indeterminate]:text-primary-foreground',\n props.disabled &&\n 'data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20',\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator className=\"flex items-center justify-center text-current\">\n <Check className=\"hidden h-4 w-4 group-data-[state=checked]:block\" />\n <Minus className=\"hidden h-4 w-4 group-data-[state=indeterminate]:block\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckboxToggle.displayName = CheckboxPrimitive.Root.displayName\n\ninterface Props extends CheckboxPrimitive.CheckboxProps, PropsWithChildren {\n error?: string\n classNames?: {\n wrapper?: string\n label?: string\n }\n}\n\nconst Checkbox = forwardRef<ElementRef<typeof CheckboxPrimitive.Root>, Props>(\n ({ classNames, children, ...props }, ref) => {\n const { disabled } = props\n const id = props.id ?? `${props.name ?? props.value?.toString()}-checkbox`\n const labelClassName = disabled ? 'text-grey-40 pointer-events-none' : ''\n return (\n <div className={cn('flex space-x-2', classNames?.wrapper)}>\n <CheckboxToggle id={id} disabled={disabled} ref={ref} {...props} />\n <label htmlFor={id} className={cn(labelClassName, classNames?.label)}>\n {children}\n </label>\n </div>\n )\n }\n)\nCheckbox.displayName = 'Checkbox'\n\nexport default Checkbox\n","import { cn } from '@/lib/utils'\nimport { CheckIcon } from 'lucide-react'\nimport { ComponentPropsWithoutRef, ReactNode } from 'react'\nimport Checkbox from '@/components/ui/Checkbox'\nimport { icons } from 'lucide-react'\n\ntype IconKey = keyof typeof icons\n\ninterface ListItemProps extends ComponentPropsWithoutRef<'li'> {\n icon?: string\n hasCheckbox?: boolean\n isSelected?: boolean\n title: string\n value: string\n description?: string\n}\n\nfunction ListItem({\n icon,\n hasCheckbox,\n isSelected,\n className,\n title,\n value,\n description,\n ...props\n}: ListItemProps) {\n const getIconIfValid = (icon: string): ReactNode => {\n if (icon in icons) {\n const IconComponent = icons[icon as IconKey]\n return <IconComponent size={14} />\n }\n return null\n }\n\n const optionIcon = icon ? getIconIfValid(icon) : undefined\n\n return (\n <li\n className={cn(\n 'group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm',\n className\n )}\n {...props}\n data-state={isSelected ? 'checked' : 'unchecked'}\n >\n {optionIcon && <span className=\"mr-2\">{optionIcon}</span>}\n {hasCheckbox && (\n <Checkbox id={value} checked={isSelected} onClick={(e) => e.preventDefault()} />\n )}\n <div>\n <p>{title}</p>\n <p className=\"text-xs text-grey-80\">{description}</p>\n </div>\n\n <CheckIcon\n className=\"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block\"\n size={16}\n />\n </li>\n )\n}\n\nexport default ListItem\n","import { cn } from '@/lib/utils'\nimport { Slot } from '@radix-ui/react-slot'\nimport { cva, type VariantProps } from 'cva'\nimport React, { forwardRef } from 'react'\n\ninterface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n}\n\nexport const Button = forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Component = asChild ? Slot : 'button'\n\n return (\n <Component\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n {...props}\n />\n )\n }\n)\nButton.displayName = 'Button'\n\nconst buttonVariants = cva(\n [\n 'flex',\n 'items-center',\n 'justify-center',\n 'gap-2',\n 'rounded-full',\n 'font-bold',\n 'outline-2',\n 'outline-offset-2',\n 'outline-dashed',\n 'outline-transparent',\n ],\n {\n variants: {\n variant: {\n neutral: [\n 'bg-black',\n 'text-white',\n 'hover:bg-grey-90',\n 'active:bg-grey-80',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n primary: [\n 'bg-pickle-100',\n 'text-black',\n 'hover:bg-pickle-80',\n 'active:bg-pickle-60',\n 'focus:outline-purple-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n secondary: [\n 'bg-green-80',\n 'text-white',\n 'hover:bg-green-90',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n 'disabled:bg-grey-10',\n ],\n transparent: [\n 'text-white',\n 'hover:bg-green-80',\n 'active:bg-green-100',\n 'focus:outline-pickle-100',\n 'disabled:text-grey-40',\n ],\n link: [\n 'leading-tight',\n 'text-black',\n 'underline',\n 'hover:text-purple-100',\n 'focus:text-black',\n 'focus:outline-purple-100',\n 'active:text-purple-80',\n ],\n },\n size: {\n small: ['h-10', 'text-sm', 'px-4', 'py-2'],\n medium: ['h-12', 'text-base', 'px-6', 'py-3'],\n large: ['h-14', 'text-lg', 'px-8', 'py-4'],\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'medium',\n },\n compoundVariants: [\n {\n variant: 'link',\n size: 'small',\n class: ['h-3', 'text-xs', 'p-0'],\n },\n {\n variant: 'link',\n size: 'medium',\n class: ['h-4', 'text-sm', 'p-0'],\n },\n {\n variant: 'link',\n size: 'large',\n class: ['h-6', 'text-base', 'p-0'],\n },\n ],\n }\n)\n","'use client'\n\nimport { ComponentPropsWithoutRef, forwardRef, useEffect, useState } from 'react'\nimport { ChevronDownIcon } from 'lucide-react'\nimport { cva, type VariantProps } from 'cva'\nimport { cn } from '@/lib/utils'\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from '@/components/primitives/command'\nimport { Popover, PopoverContent, PopoverTrigger } from '@/components/primitives/popover'\nimport { Separator } from '@/components/primitives/separator'\n\nimport ListItem from '@/components/ui/ListItem'\nimport { Badge } from '@/components/ui/Badge'\nimport Label from '@/components/ui/Label'\n\ntype Option = { id: number; value: string; title: string; description?: string; icon?: string }\ntype ClassNames = { label?: string; trigger?: string; items?: string; content?: string }\ntype Shared = { label?: string; options: Option[]; classNames?: ClassNames; placeholder?: string }\ntype MultiSelect = { multiselect: true; value?: string[]; onChange?: (v: string[]) => void }\ntype SingleSelect = { multiselect?: false; value?: string; onChange?: (v: string) => void }\ntype TriggerVariants = VariantProps<typeof triggerVariants>\ntype SelectProps = Omit<ComponentPropsWithoutRef<'select'>, 'value' | 'onChange' | 'size'>\ntype MultiSelectProps = TriggerVariants & SelectProps & Shared & MultiSelect\ntype SingleSelectProps = TriggerVariants & SelectProps & Shared & SingleSelect\ntype ComboboxProps = MultiSelectProps | SingleSelectProps\n\nexport const Combobox = forwardRef<HTMLDivElement, ComboboxProps>((props, ref) => {\n const {\n value,\n label,\n options,\n classNames,\n multiselect,\n placeholder,\n variant = 'default',\n size,\n className,\n onChange: handleChange,\n children,\n } = props\n const valueArray = multiselect ? (value ?? []) : value ? [value] : []\n const [selected, setSelected] = useState<string[]>(valueArray)\n const [open, setOpen] = useState(false)\n const hideSearchBox = options?.length <= 5\n const isDefault = variant === 'default'\n const isChip = variant === 'chip'\n\n useEffect(() => {\n multiselect ? handleChange?.(selected) : handleChange?.(selected[0])\n }, [selected])\n\n const handleSelect = (option: string) => {\n if (multiselect) {\n return setSelected((prev) =>\n prev.includes(option) ? prev.filter((v) => v !== option) : [...prev, option]\n )\n }\n setSelected([option])\n setOpen(false)\n }\n\n const handleDisplayValue = () => {\n const defaultLabel = selected.length > 0 ? selected.join(', ') : placeholder\n return isDefault ? defaultLabel : label\n }\n\n return (\n <div className={cn('flex flex-col gap-2', className)}>\n {isDefault && label && <Label text={label} className={classNames?.label} />}\n\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild disabled={options.length === 0}>\n <div\n ref={ref}\n className={cn(triggerVariants({ variant, size }), classNames?.trigger)}\n aria-expanded={open}\n >\n {isChip && selected.length > 0 && <Badge variant=\"purple\">{selected.length}</Badge>}\n\n <span\n className={cn(\n 'truncate leading-normal',\n isDefault && selected.length == 0 && 'text-grey-40'\n )}\n >\n {handleDisplayValue()}\n </span>\n\n <ChevronDownIcon className=\"transform group-data-[state=open]:rotate-180\" size=\"16\" />\n </div>\n </PopoverTrigger>\n\n <Command>\n <PopoverContent\n className={cn(\n 'flex w-full max-w-xs flex-col overflow-hidden p-0',\n 'max-h-[--radix-popover-content-available-height]',\n classNames?.content\n )}\n collisionPadding={8}\n sideOffset={4}\n align=\"start\"\n >\n {!hideSearchBox && <CommandInput placeholder=\"Search...\" />}\n\n <CommandList>\n <CommandEmpty>No results</CommandEmpty>\n <CommandGroup>\n {options.map(({ id, ...option }) => (\n <CommandItem key={id} value={option.value} onSelect={handleSelect}>\n <ListItem\n className={cn(classNames?.items, 'truncate py-1')}\n isSelected={selected?.includes(option.value)}\n hasCheckbox={multiselect}\n {...option}\n />\n </CommandItem>\n ))}\n </CommandGroup>\n </CommandList>\n\n {!!children && <Separator />}\n {children}\n </PopoverContent>\n </Command>\n </Popover>\n </div>\n )\n})\nCombobox.displayName = 'Combobox'\n\nconst triggerVariants = cva(\n 'group relative cursor-pointer flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5',\n {\n variants: {\n variant: {\n default: ['w-full', 'max-w-80', 'rounded-lg'],\n chip: [\n 'font-bold',\n 'rounded-3xl',\n 'data-[state=open]:bg-black',\n 'data-[state=open]:text-white',\n ],\n },\n size: {\n small: ['h-8', 'p-1', 'pl-2', 'text-xs'],\n normal: ['h-9', 'p-2', 'pl-3', 'text-sm'],\n large: ['h-10', 'p-3', 'pl-4', 'text-base'],\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'normal',\n },\n }\n)\n","'use client'\n\nimport { type DialogProps } from '@radix-ui/react-dialog'\nimport { Command as CommandPrimitive } from 'cmdk'\nimport { Search } from 'lucide-react'\nimport * as React from 'react'\n\nimport { Dialog, DialogContent } from '@/components/primitives/dialog'\n\nimport { cn } from '@/lib/utils'\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n 'flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950',\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\ntype CommandDialogProps = DialogProps\n\nconst CommandDialog = ({ children, ...props }: CommandDialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500 [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"m-1 flex items-center rounded-xl border px-3\" cmdk-input-wrapper=\"\">\n <Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n 'flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50',\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn('overflow-y-auto overflow-x-hidden', className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty ref={ref} className=\"py-6 text-center text-sm\" {...props} />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n 'overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500',\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn('-mx-1 h-px bg-neutral-200', className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-pointer select-none items-center rounded-xl px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn('ml-auto text-xs tracking-widest text-neutral-500', className)}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = 'CommandShortcut'\n\nexport {\n Command,\n CommandDialog,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n CommandSeparator,\n CommandShortcut,\n}\n","'use client'\n\nimport { cn } from '@/lib/utils'\nimport * as DialogPrimitive from '@radix-ui/react-dialog'\nimport { X } from 'lucide-react'\nimport * as React from 'react'\n\nconst Dialog = DialogPrimitive.Root\n\nconst DialogTrigger = DialogPrimitive.Trigger\n\nconst DialogPortal = DialogPrimitive.Portal\n\nconst DialogClose = DialogPrimitive.Close\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className\n )}\n {...props}\n />\n))\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950',\n className\n )}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n))\nDialogContent.displayName = DialogPrimitive.Content.displayName\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n)\nDialogHeader.displayName = 'DialogHeader'\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)}\n {...props}\n />\n)\nDialogFooter.displayName = 'DialogFooter'\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n))\nDialogTitle.displayName = DialogPrimitive.Title.displayName\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description\n ref={ref}\n className={cn('text-sm text-neutral-500 dark:text-neutral-400', className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n}\n","'use client'\n\nimport * as React from 'react'\nimport * as PopoverPrimitive from '@radix-ui/react-popover'\n\nimport { cn } from '@/lib/utils'\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = 'center', sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 rounded-2xl border bg-white p-4 text-black shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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',\n className\n )}\n {...props}\n />\n </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n","import { cva, type VariantProps } from 'cva'\nimport * as React from 'react'\n\nimport { cn } from '@/lib/utils'\n\nconst badgeVariants = cva('rounded-full px-2 py-0.5 text-xs font-semibold', {\n variants: {\n variant: {\n green: 'bg-green-90 text-white',\n pickle: 'bg-pickle-100 text-black',\n purple: 'bg-purple-100 text-white',\n },\n },\n defaultVariants: {\n variant: 'green',\n },\n})\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> {}\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return <div className={cn(badgeVariants({ variant }), className)} {...props} />\n}\n\nexport { Badge, badgeVariants }\n"],"mappings":"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","names":["index_exports","__export","Badge","Button","Checkbox_default","Chip_default","Combobox","Label_default","ListItem_default","Select_default","cn","__toCommonJS","SelectPrimitive","import_lucide_react","import_react","import_clsx","import_tailwind_merge","cn","inputs","import_jsx_runtime","Label","text","className","props","cn","Label_default","import_cva","import_tailwind_merge","import_jsx_runtime","Chip","className","variant","size","props","chipVariants","Chip_default","SeparatorPrimitive","React","import_jsx_runtime","Separator","className","orientation","decorative","props","ref","cn","import_jsx_runtime","Select","label","options","placeholder","multiselect","classNames","props","ref","value","defaultValue","dir","className","onChange","rest","selected","setSelected","open","setOpen","containerRef","toggleOpen","prev","closeOnEscape","event","setValueOnEnter","handleChange","chipLabels","s","handleLabels","o","option","handleOnOpenChange","isOpen","newValue","newSelected","item","cn","Label_default","chip","Chip_default","Separator","id","title","e","Select_default","CheckboxPrimitive","import_lucide_react","import_react","import_jsx_runtime","CheckboxToggle","className","props","ref","cn","Checkbox","classNames","children","disabled","id","labelClassName","Checkbox_default","import_lucide_react","import_lucide_react","import_jsx_runtime","ListItem","icon","hasCheckbox","isSelected","className","title","value","description","props","optionIcon","IconComponent","cn","Checkbox_default","e","ListItem_default","import_react_slot","import_cva","import_react","import_jsx_runtime","Button","className","variant","size","asChild","props","ref","cn","buttonVariants","import_react","import_lucide_react","import_cva","import_cmdk","import_lucide_react","React","DialogPrimitive","import_lucide_react","React","import_jsx_runtime","DialogPortal","DialogOverlay","className","props","ref","cn","DialogContent","children","DialogPortal","DialogHeader","DialogFooter","DialogTitle","DialogDescription","import_jsx_runtime","Command","className","props","ref","CommandPrimitive","cn","CommandInput","className","props","ref","CommandPrimitive","cn","CommandList","CommandEmpty","CommandGroup","CommandSeparator","CommandItem","CommandShortcut","React","PopoverPrimitive","import_jsx_runtime","Popover","PopoverTrigger","PopoverContent","className","align","sideOffset","props","ref","cn","import_cva","import_jsx_runtime","badgeVariants","Badge","className","variant","props","cn","import_jsx_runtime","Combobox","props","ref","value","label","options","classNames","multiselect","placeholder","variant","size","className","handleChange","children","valueArray","selected","setSelected","open","setOpen","hideSearchBox","isDefault","isChip","handleSelect","option","prev","v","handleDisplayValue","defaultLabel","cn","Label_default","Popover","PopoverTrigger","triggerVariants","Badge","Command","PopoverContent","CommandInput","CommandList","CommandEmpty","CommandGroup","id","CommandItem","ListItem_default","Separator"]}
package/dist/index.d.cts CHANGED
@@ -4,11 +4,12 @@ export { default as Checkbox } from './components/ui/Checkbox.cjs';
4
4
  export { default as ListItem } from './components/ui/ListItem.cjs';
5
5
  export { default as Label } from './components/ui/Label.cjs';
6
6
  export { Button } from './components/ui/Button.cjs';
7
- export { ComboboxMulti, ComboboxSingle } from './components/ui/Combobox.cjs';
7
+ export { Combobox } from './components/ui/Combobox.cjs';
8
8
  export { Badge } from './components/ui/Badge.cjs';
9
- export { cn } from './components/lib/utils.cjs';
9
+ export { cn } from './lib/utils.cjs';
10
10
  import 'react';
11
11
  import 'cva/types';
12
+ import 'react/jsx-runtime';
12
13
  import 'cva';
13
14
  import '@radix-ui/react-checkbox';
14
15
  import 'clsx';
package/dist/index.d.ts CHANGED
@@ -4,11 +4,12 @@ export { default as Checkbox } from './components/ui/Checkbox.js';
4
4
  export { default as ListItem } from './components/ui/ListItem.js';
5
5
  export { default as Label } from './components/ui/Label.js';
6
6
  export { Button } from './components/ui/Button.js';
7
- export { ComboboxMulti, ComboboxSingle } from './components/ui/Combobox.js';
7
+ export { Combobox } from './components/ui/Combobox.js';
8
8
  export { Badge } from './components/ui/Badge.js';
9
- export { cn } from './components/lib/utils.js';
9
+ export { cn } from './lib/utils.js';
10
10
  import 'react';
11
11
  import 'cva/types';
12
+ import 'react/jsx-runtime';
12
13
  import 'cva';
13
14
  import '@radix-ui/react-checkbox';
14
15
  import 'clsx';
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
- import ot from"react";import*as p from"@radix-ui/react-select";import{CheckIcon as Ne,ChevronDownIcon as we,X as De}from"lucide-react";import{forwardRef as Se,useEffect as Ee,useRef as Ie,useState as ae}from"react";import{clsx as xe}from"clsx";import{twMerge as be}from"tailwind-merge";function a(...e){return be(xe(e))}function he({text:e,className:t,...o}){return e?React.createElement("label",{className:a("text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",t),...o},e):null}var E=he;import{cva as ye}from"cva";import Ce from"react";import{twMerge as Pe}from"tailwind-merge";var ke=({className:e,variant:t,size:o,...r})=>Ce.createElement("div",{className:Pe(Re({variant:t,size:o,className:e})),...r}),Re=ye(["flex","items-center","rounded-3xl","border","w-fit"],{variants:{variant:{neutral:["text-grey-80","border-grey-10"],primary:["text-purple-100","border-purple-20"],danger:["text-pumpkin-100","border-pumpkin-20"],onboarding:["text-green-100","bg-green-10","cursor-pointer"],onboardingSelected:["text-white","bg-green-90","cursor-pointer"]},size:{small:["text-sm","leading-5","px-2","py-1","gap-1.5"],medium:["text-base","leading-6","px-3","py-2","gap-2"]}},defaultVariants:{variant:"neutral",size:"medium"}}),K=ke;import*as F from"@radix-ui/react-separator";import*as _ from"react";var I=_.forwardRef(({className:e,orientation:t="horizontal",decorative:o=!0,...r},s)=>_.createElement(F.Root,{ref:s,decorative:o,orientation:t,className:a("shrink-0 bg-grey-10",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...r}));I.displayName=F.Root.displayName;var re=Se(({label:e,options:t,placeholder:o,multiselect:r,classNames:s,...f},v)=>{let{value:l,defaultValue:R,dir:x,className:b,onChange:N,...D}=f,[P,S]=ae([]),[V,w]=ae(!1),W=Ie(null);Ee(()=>{if(!l)return S([]);S(Array.isArray(l)?l:[l])},[l]);let M=()=>w(i=>!i),A=i=>i.key==="Escape"&&w(!1),y=(i,h)=>i.key==="Enter"&&O(h),H=P?.map(i=>t?.find(({value:h})=>h===i)).filter(Boolean);function B(){return r?P.map(i=>t?.find(h=>h.value===i)?.title).join(", "):t?.find(i=>i.value===P.join())?.title}function j(i){(!r||i)&&w(i)}function O(i){let h=[];S(k=>(h=k.includes(i)?k.filter(G=>G!==i):[...k,i],r?h:[i])),N?.(r?h:i)}return React.createElement("div",{className:a("flex flex-col space-y-2",b),ref:W},React.createElement(E,{text:e,className:s?.label}),React.createElement(p.Root,{open:V,value:P.join(","),onOpenChange:j,onValueChange:r?void 0:O,defaultValue:typeof R=="string"?R:void 0,dir:x==="rtl"?"rtl":"ltr",...D},React.createElement(p.Trigger,{ref:v,"data-testid":`${e.toLowerCase()}-select-element`,className:"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40"},React.createElement("span",{className:"truncate"},React.createElement(p.Value,{placeholder:o??"Select an option","aria-label":B()},B())),React.createElement(we,{className:"transform text-black group-data-[state=open]:rotate-180",size:"16"})),React.createElement(p.Portal,{container:W.current},React.createElement(p.Content,{hideWhenDetached:!0,className:"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg",position:"popper",sideOffset:4,onPointerDownOutside:M,onKeyDown:A},React.createElement(p.Viewport,null,r&&!!H?.length&&React.createElement(p.Group,{className:"mb-2 flex flex-row flex-wrap gap-1 px-2","data-testid":"selected-labels"},H?.map(i=>i&&React.createElement(K,{key:i.title,size:"small",variant:"primary"},React.createElement("span",null,i.title),React.createElement(De,{size:18,"data-testid":`chip-remove-${i.value}`,className:"cursor-pointer",onClick:()=>O(i.value)})))),React.createElement(I,null),t?.map(({id:i,title:h,value:k})=>React.createElement(p.Item,{key:i,value:k,className:"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100","data-state":P.includes(k)?"checked":"unchecked",onKeyDown:G=>y(G,k),onClick:()=>O(k)},React.createElement(p.ItemText,null,h),React.createElement(Ne,{className:"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block",size:16}))))))))});re.displayName="Select";var Le=re;import*as L from"@radix-ui/react-checkbox";import{Check as Te,Minus as ze}from"lucide-react";import{forwardRef as ie}from"react";var ne=ie(({className:e,...t},o)=>React.createElement(L.Root,{ref:o,className:a("group","peer","h-5","w-5","shrink-0","rounded-md","border","border-grey-10","outline","outline-1","outline-offset-2","outline-transparent","hover:border-grey-20","focus:outline-purple-100","active:border-green-80","disabled:cursor-not-allowed","disabled:opacity-50","data-[state=checked]:bg-green-80","data-[state=indeterminate]:bg-green-80","data-[state=checked]:text-white","data-[state=indeterminate]:text-primary-foreground",t.disabled&&"bg-grey-20 data-[state=checked]:bg-grey-20 data-[state=checked]:text-foreground",e),...t},React.createElement(L.Indicator,{className:"flex items-center justify-center text-current"},React.createElement(Te,{className:"hidden h-4 w-4 group-data-[state=checked]:block"}),React.createElement(ze,{className:"hidden h-4 w-4 group-data-[state=indeterminate]:block"}))));ne.displayName=L.Root.displayName;var se=ie(({classNames:e,children:t,...o},r)=>{let{disabled:s}=o,f=o.id??`${o.name??o.value?.toString()}-checkbox`,v=s?"text-grey-40 pointer-events-none":"";return React.createElement("div",{className:a("flex space-x-2",e?.wrapper)},React.createElement(ne,{id:f,disabled:s,ref:r,...o}),React.createElement("label",{htmlFor:f,className:a(v,e?.label)},t))});se.displayName="Checkbox";var $=se;import{CheckIcon as Ve}from"lucide-react";import{icons as le}from"lucide-react";function We({icon:e,hasCheckbox:t,isSelected:o,className:r,title:s,value:f,description:v,...l}){let x=e?(b=>{if(b in le){let N=le[b];return React.createElement(N,{size:14})}return null})(e):void 0;return React.createElement("li",{className:a("group relative text-left flex w-72 flex-row items-center text-sm cursor-pointer",r),...l,"data-state":o?"checked":"unchecked"},x&&React.createElement("span",{className:"mr-2"},x),t&&React.createElement($,{id:f,checked:o,onClick:b=>b.preventDefault()}),React.createElement("div",null,React.createElement("p",null,s),React.createElement("p",{className:"text-xs text-grey-80"},v)),React.createElement(Ve,{className:"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block",size:16}))}var X=We;import{Slot as He}from"@radix-ui/react-slot";import{cva as Be}from"cva";import Oe,{forwardRef as _e}from"react";var T=_e(({className:e,variant:t,size:o,asChild:r=!1,...s},f)=>Oe.createElement(r?He:"button",{className:a(Me({variant:t,size:o,className:e})),ref:f,...s}));T.displayName="Button";var Me=Be(["flex","items-center","justify-center","gap-2","rounded-full","font-bold","outline-2","outline-offset-2","outline-dashed","outline-transparent"],{variants:{variant:{neutral:["bg-black","text-white","hover:bg-grey-90","active:bg-grey-80","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],primary:["bg-pickle-100","text-black","hover:bg-pickle-80","active:bg-pickle-60","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],secondary:["bg-green-80","text-white","hover:bg-green-90","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40","disabled:bg-grey-10"],transparent:["text-white","hover:bg-green-80","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40"],link:["leading-tight","text-black","underline","hover:text-purple-100","focus:text-black","focus:outline-purple-100","active:text-purple-80"]},size:{small:["h-10","text-sm","px-4","py-2"],medium:["h-12","text-base","px-6","py-3"],large:["h-14","text-lg","px-8","py-4"]}},defaultVariants:{variant:"neutral",size:"medium"},compoundVariants:[{variant:"link",size:"small",class:["h-3","text-xs","p-0"]},{variant:"link",size:"medium",class:["h-4","text-sm","p-0"]},{variant:"link",size:"large",class:["h-6","text-base","p-0"]}]});import n,{useEffect as ue,useState as oe,useCallback as ge}from"react";import{ChevronDownIcon as Ye}from"lucide-react";import{cva as Ze}from"cva";import{Command as u}from"cmdk";import{Search as Xe}from"lucide-react";import*as m from"react";import*as d from"@radix-ui/react-dialog";import{X as Ae}from"lucide-react";import*as c from"react";var je=d.Portal;var me=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));me.displayName=d.Overlay.displayName;var pe=c.forwardRef(({className:e,children:t,...o},r)=>c.createElement(je,null,c.createElement(me,null),c.createElement(d.Content,{ref:r,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950",e),...o},t,c.createElement(d.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400"},c.createElement(Ae,{className:"h-4 w-4"}),c.createElement("span",{className:"sr-only"},"Close")))));pe.displayName=d.Content.displayName;var Ge=({className:e,...t})=>c.createElement("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});Ge.displayName="DialogHeader";var Ke=({className:e,...t})=>c.createElement("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});Ke.displayName="DialogFooter";var Fe=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));Fe.displayName=d.Title.displayName;var $e=c.forwardRef(({className:e,...t},o)=>c.createElement(d.Description,{ref:o,className:a("text-sm text-neutral-500 dark:text-neutral-400",e),...t}));$e.displayName=d.Description.displayName;var q=m.forwardRef(({className:e,...t},o)=>m.createElement(u,{ref:o,className:a("flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950",e),...t}));q.displayName=u.displayName;var J=m.forwardRef(({className:e,...t},o)=>m.createElement("div",{className:"m-1 flex items-center rounded-lg border px-3","cmdk-input-wrapper":""},m.createElement(Xe,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),m.createElement(u.Input,{ref:o,className:a("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50",e),...t})));J.displayName=u.Input.displayName;var Q=m.forwardRef(({className:e,...t},o)=>m.createElement(u.List,{ref:o,className:a("overflow-y-auto overflow-x-hidden",e),...t}));Q.displayName=u.List.displayName;var U=m.forwardRef((e,t)=>m.createElement(u.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));U.displayName=u.Empty.displayName;var Y=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Group,{ref:o,className:a("overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500",e),...t}));Y.displayName=u.Group.displayName;var qe=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Separator,{ref:o,className:a("-mx-1 h-px bg-neutral-200",e),...t}));qe.displayName=u.Separator.displayName;var Z=m.forwardRef(({className:e,...t},o)=>m.createElement(u.Item,{ref:o,className:a("relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50",e),...t}));Z.displayName=u.Item.displayName;var Je=({className:e,...t})=>m.createElement("span",{className:a("ml-auto text-xs tracking-widest text-neutral-500",e),...t});Je.displayName="CommandShortcut";import*as z from"react";import*as C from"@radix-ui/react-popover";var de=C.Root,ce=C.Trigger,ee=z.forwardRef(({className:e,align:t="center",sideOffset:o=4,...r},s)=>z.createElement(C.Portal,null,z.createElement(C.Content,{ref:s,align:t,sideOffset:o,className:a("z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",e),...r})));ee.displayName=C.Content.displayName;import{cva as Qe}from"cva";import*as fe from"react";var Ue=Qe("rounded-full px-2 py-0.5 text-xs font-semibold",{variants:{variant:{green:"bg-green-90 text-white",pickle:"bg-pickle-100 text-black",purple:"bg-purple-100 text-white"}},defaultVariants:{variant:"green"}});function te({className:e,variant:t,...o}){return fe.createElement("div",{className:a(Ue({variant:t}),e),...o})}function yo(e){let{onChange:t,value:o}=e,[r,s]=oe(o??""),f=ge(l=>{t(l)},[t]);return ue(()=>{f(r)},[r,f]),n.createElement(ve,{...e,value:r,handler:l=>s(l===r?"":l),badgeCount:r?1:0})}function Co(e){let{onChange:t,onApply:o,value:r}=e,[s,f]=oe(r??[]),v=ge(x=>{t(x)},[t]);ue(()=>{v(s)},[s,v]);let l=x=>f(b=>b.includes(x)?b.filter(N=>N!==x):[...b,x]),R=()=>f([]);return n.createElement(ve,{...e,value:s,handler:l,isMultiselect:!0,badgeCount:s.length,onClear:R,onApply:o})}function ve({title:e,label:t,options:o,isMultiselect:r,variant:s,hideSearch:f,className:v,classNames:l,onApply:R,onClear:x,applyBtnText:b,clearBtnText:N,value:D,badgeCount:P,handler:S}){let[V,w]=oe(!1),W=f??o?.length<=5,M=y=>{S?.(y),r||w(!1)},A=()=>{w(!1),R?.()};return n.createElement("div",{className:a("flex flex-col",v)},t&&n.createElement(E,{text:t,className:l?.label}),n.createElement(de,{open:V,onOpenChange:w},n.createElement(ce,{asChild:!0},n.createElement("div",{className:a(et({variant:s}),l?.trigger),"aria-expanded":V},!!P&&n.createElement(te,{variant:"purple",className:"pt-1"},P),n.createElement("span",{className:"truncate leading-normal"},e),n.createElement(Ye,{className:"transform group-data-[state=open]:rotate-180",size:"16"}))),n.createElement(ee,{className:a(l?.content,"p-0 ml-5"),sideOffset:4},n.createElement(q,null,!W&&n.createElement(J,{placeholder:"Search..."}),n.createElement(Q,null,n.createElement(U,null,"No results"),n.createElement(Y,null,o.map(({value:y,title:H,description:B,icon:j})=>n.createElement(Z,{key:y,value:y,onSelect:M},n.createElement(X,{className:a(l?.items,"py-1","truncate"),title:H,value:y,isSelected:Array.isArray(D)&&D.includes(y)||D===y,icon:j,description:B,hasCheckbox:r})))))),n.createElement(I,null),r&&n.createElement("div",{className:"flex flex-row justify-between items-center p-4"},n.createElement(T,{variant:"link",onClick:x},N??"Clear"),n.createElement(T,{variant:"primary",onClick:A},b??"Apply")))))}var et=Ze(["group relative cursor-pointer flex flex-row items-center justify-between gap-2 rounded-3xl border border-grey-20 h-9 pl-3 pr-2 py-2 text-sm font-bold focus:outline-green-80 disabled:bg-grey-5"],{variants:{variant:{default:["data-[state=open]:bg-black","data-[state=open]:text-white"]}},defaultVariants:{variant:"default"}});export{te as Badge,T as Button,$ as Checkbox,K as Chip,Co as ComboboxMulti,yo as ComboboxSingle,E as Label,X as ListItem,Le as Select,a as cn};
1
+ import*as n from"@radix-ui/react-select";import{CheckIcon as Me,ChevronDownIcon as _e,X as Oe}from"lucide-react";import{forwardRef as He,useEffect as Be,useRef as Ae,useState as me}from"react";import{clsx as we}from"clsx";import{twMerge as Se}from"tailwind-merge";function a(...e){return Se(we(e))}import{jsx as Ee}from"react/jsx-runtime";function De({text:e,className:t,...o}){return e?Ee("label",{className:a("text-xs text-grey-80 peer-disabled:cursor-not-allowed peer-disabled:opacity-70",t),...o,children:e}):null}var M=De;import{cva as Ie}from"cva";import{twMerge as Le}from"tailwind-merge";import{jsx as ze}from"react/jsx-runtime";var Te=({className:e,variant:t,size:o,...i})=>ze("div",{className:Le(Ve({variant:t,size:o,className:e})),...i}),Ve=Ie(["flex","items-center","rounded-3xl","border","w-fit"],{variants:{variant:{neutral:["text-grey-80","border-grey-10"],primary:["text-purple-100","border-purple-20"],danger:["text-pumpkin-100","border-pumpkin-20"],onboarding:["text-green-100","bg-green-10","cursor-pointer"],onboardingSelected:["text-white","bg-green-90","cursor-pointer"]},size:{small:["text-sm","leading-5","px-2","py-1","gap-1.5"],medium:["text-base","leading-6","px-3","py-2","gap-2"]}},defaultVariants:{variant:"neutral",size:"medium"}}),Q=Te;import*as U from"@radix-ui/react-separator";import*as se from"react";import{jsx as We}from"react/jsx-runtime";var _=se.forwardRef(({className:e,orientation:t="horizontal",decorative:o=!0,...i},s)=>We(U.Root,{ref:s,decorative:o,orientation:t,className:a("shrink-0 bg-grey-10",t==="horizontal"?"h-[1px] w-full":"h-full w-[1px]",e),...i}));_.displayName=U.Root.displayName;import{jsx as g,jsxs as T}from"react/jsx-runtime";var pe=He(({label:e,options:t,placeholder:o,multiselect:i,classNames:s,...p},h)=>{let{value:b,defaultValue:S,dir:E,className:R,onChange:I,...G}=p,[D,d]=me([]),[K,L]=me(!1),z=Ae(null);Be(()=>{if(!b)return d([]);d(Array.isArray(b)?b:[b])},[b]);let X=()=>L(r=>!r),W=r=>r.key==="Escape"&&L(!1),q=(r,x)=>r.key==="Enter"&&u(x),F=D?.map(r=>t?.find(({value:x})=>x===r)).filter(Boolean);function $(){return i?D.map(r=>t?.find(x=>x.value===r)?.title).join(", "):t?.find(r=>r.value===D.join())?.title}function y(r){(!i||r)&&L(r)}function u(r){let x=[];d(k=>(x=k.includes(r)?k.filter(J=>J!==r):[...k,r],i?x:[r])),I?.(i?x:r)}return T("div",{className:a("flex flex-col space-y-2",R),ref:z,children:[g(M,{text:e,className:s?.label}),T(n.Root,{open:K,value:D.join(","),onOpenChange:y,onValueChange:i?void 0:u,defaultValue:typeof S=="string"?S:void 0,dir:E==="rtl"?"rtl":"ltr",...G,children:[T(n.Trigger,{ref:h,"data-testid":`${e.toLowerCase()}-select-element`,className:"group flex min-w-80 flex-row items-center justify-between gap-3 rounded-lg border border-grey-20 px-4 py-3 text-sm font-normal focus:outline-purple-100 disabled:bg-grey-5 data-[placeholder]:text-grey-50 data-[placeholder]:disabled:text-grey-40",children:[g("span",{className:"truncate",children:g(n.Value,{placeholder:o??"Select an option","aria-label":$(),children:$()})}),g(_e,{className:"transform text-black group-data-[state=open]:rotate-180",size:"16"})]}),g(n.Portal,{container:z.current,children:g(n.Content,{hideWhenDetached:!0,className:"z-10 max-h-[var(--radix-select-content-available-height)] w-[var(--radix-select-trigger-width)] overflow-hidden rounded-md bg-white py-2 shadow-lg",position:"popper",sideOffset:4,onPointerDownOutside:X,onKeyDown:W,children:T(n.Viewport,{children:[i&&!!F?.length&&g(n.Group,{className:"mb-2 flex flex-row flex-wrap gap-1 px-2","data-testid":"selected-labels",children:F?.map(r=>r&&T(Q,{size:"small",variant:"primary",children:[g("span",{children:r.title}),g(Oe,{size:18,"data-testid":`chip-remove-${r.value}`,className:"cursor-pointer",onClick:()=>u(r.value)})]},r.title))}),g(_,{}),t?.map(({id:r,title:x,value:k})=>T(n.Item,{value:k,className:"group relative cursor-pointer px-4 py-2 text-left text-sm hover:bg-purple-50 focus:bg-purple-50 focus:outline-none data-[state=checked]:bg-purple-50 data-[state=checked]:pr-10 data-[state=checked]:text-purple-100","data-state":D.includes(k)?"checked":"unchecked",onKeyDown:J=>q(J,k),onClick:()=>u(k),children:[g(n.ItemText,{children:x}),g(Me,{className:"absolute inset-y-0 right-3 my-auto hidden w-6 text-purple-100 group-data-[state=checked]:block",size:16})]},r))]})})})]})]})});pe.displayName="Select";var Ge=pe;import*as H from"@radix-ui/react-checkbox";import{Check as Ke,Minus as Fe}from"lucide-react";import{forwardRef as de}from"react";import{jsx as O,jsxs as ue}from"react/jsx-runtime";var ce=de(({className:e,...t},o)=>O(H.Root,{ref:o,className:a("group","peer","h-5","w-5","shrink-0","rounded-md","border","border-grey-10","outline","outline-1","outline-offset-2","outline-transparent","hover:border-grey-20","focus:outline-purple-100","active:border-green-80","disabled:cursor-not-allowed","disabled:opacity-50","data-[state=checked]:bg-green-80","data-[state=indeterminate]:bg-green-80","data-[state=checked]:text-white","data-[state=indeterminate]:text-primary-foreground",t.disabled&&"data-[state=checked]:text-foreground bg-grey-20 data-[state=checked]:bg-grey-20",e),...t,children:ue(H.Indicator,{className:"flex items-center justify-center text-current",children:[O(Ke,{className:"hidden h-4 w-4 group-data-[state=checked]:block"}),O(Fe,{className:"hidden h-4 w-4 group-data-[state=indeterminate]:block"})]})}));ce.displayName=H.Root.displayName;var fe=de(({classNames:e,children:t,...o},i)=>{let{disabled:s}=o,p=o.id??`${o.name??o.value?.toString()}-checkbox`,h=s?"text-grey-40 pointer-events-none":"";return ue("div",{className:a("flex space-x-2",e?.wrapper),children:[O(ce,{id:p,disabled:s,ref:i,...o}),O("label",{htmlFor:p,className:a(h,e?.label),children:t})]})});fe.displayName="Checkbox";var Y=fe;import{CheckIcon as $e}from"lucide-react";import{icons as ge}from"lucide-react";import{jsx as V,jsxs as ve}from"react/jsx-runtime";function Xe({icon:e,hasCheckbox:t,isSelected:o,className:i,title:s,value:p,description:h,...b}){let E=e?(R=>{if(R in ge){let I=ge[R];return V(I,{size:14})}return null})(e):void 0;return ve("li",{className:a("group relative flex w-72 cursor-pointer flex-row items-center text-left text-sm",i),...b,"data-state":o?"checked":"unchecked",children:[E&&V("span",{className:"mr-2",children:E}),t&&V(Y,{id:p,checked:o,onClick:R=>R.preventDefault()}),ve("div",{children:[V("p",{children:s}),V("p",{className:"text-xs text-grey-80",children:h})]}),V($e,{className:"absolute inset-y-0 right-0 my-auto hidden w-6 text-green-100 group-data-[state=checked]:block",size:16})]})}var Z=Xe;import{Slot as qe}from"@radix-ui/react-slot";import{cva as Je}from"cva";import{forwardRef as Qe}from"react";import{jsx as Ye}from"react/jsx-runtime";var he=Qe(({className:e,variant:t,size:o,asChild:i=!1,...s},p)=>Ye(i?qe:"button",{className:a(Ue({variant:t,size:o,className:e})),ref:p,...s}));he.displayName="Button";var Ue=Je(["flex","items-center","justify-center","gap-2","rounded-full","font-bold","outline-2","outline-offset-2","outline-dashed","outline-transparent"],{variants:{variant:{neutral:["bg-black","text-white","hover:bg-grey-90","active:bg-grey-80","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],primary:["bg-pickle-100","text-black","hover:bg-pickle-80","active:bg-pickle-60","focus:outline-purple-100","disabled:text-grey-40","disabled:bg-grey-10"],secondary:["bg-green-80","text-white","hover:bg-green-90","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40","disabled:bg-grey-10"],transparent:["text-white","hover:bg-green-80","active:bg-green-100","focus:outline-pickle-100","disabled:text-grey-40"],link:["leading-tight","text-black","underline","hover:text-purple-100","focus:text-black","focus:outline-purple-100","active:text-purple-80"]},size:{small:["h-10","text-sm","px-4","py-2"],medium:["h-12","text-base","px-6","py-3"],large:["h-14","text-lg","px-8","py-4"]}},defaultVariants:{variant:"neutral",size:"medium"},compoundVariants:[{variant:"link",size:"small",class:["h-3","text-xs","p-0"]},{variant:"link",size:"medium",class:["h-4","text-sm","p-0"]},{variant:"link",size:"large",class:["h-6","text-base","p-0"]}]});import{forwardRef as dt,useEffect as ct,useState as ke}from"react";import{ChevronDownIcon as ft}from"lucide-react";import{cva as ut}from"cva";import{Command as m}from"cmdk";import{Search as rt}from"lucide-react";import*as w from"react";import*as l from"@radix-ui/react-dialog";import{X as Ze}from"lucide-react";import*as B from"react";import{jsx as N,jsxs as j}from"react/jsx-runtime";var je=l.Portal;var xe=B.forwardRef(({className:e,...t},o)=>N(l.Overlay,{ref:o,className:a("fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...t}));xe.displayName=l.Overlay.displayName;var ye=B.forwardRef(({className:e,children:t,...o},i)=>j(je,{children:[N(xe,{}),j(l.Content,{ref:i,className:a("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 border border-neutral-200 bg-white p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg dark:border-neutral-800 dark:bg-neutral-950",e),...o,children:[t,j(l.Close,{className:"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-white transition-opacity hover:opacity-100 focus:outline-none focus:ring-2 focus:ring-neutral-950 focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-neutral-100 data-[state=open]:text-neutral-500 dark:ring-offset-neutral-950 dark:focus:ring-neutral-300 dark:data-[state=open]:bg-neutral-800 dark:data-[state=open]:text-neutral-400",children:[N(Ze,{className:"h-4 w-4"}),N("span",{className:"sr-only",children:"Close"})]})]})]}));ye.displayName=l.Content.displayName;var et=({className:e,...t})=>N("div",{className:a("flex flex-col space-y-1.5 text-center sm:text-left",e),...t});et.displayName="DialogHeader";var tt=({className:e,...t})=>N("div",{className:a("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...t});tt.displayName="DialogFooter";var ot=B.forwardRef(({className:e,...t},o)=>N(l.Title,{ref:o,className:a("text-lg font-semibold leading-none tracking-tight",e),...t}));ot.displayName=l.Title.displayName;var at=B.forwardRef(({className:e,...t},o)=>N(l.Description,{ref:o,className:a("text-sm text-neutral-500 dark:text-neutral-400",e),...t}));at.displayName=l.Description.displayName;import{jsx as P,jsxs as lt}from"react/jsx-runtime";var ee=w.forwardRef(({className:e,...t},o)=>P(m,{ref:o,className:a("flex h-full w-full flex-col overflow-hidden rounded-xl bg-white text-neutral-950",e),...t}));ee.displayName=m.displayName;var te=w.forwardRef(({className:e,...t},o)=>lt("div",{className:"m-1 flex items-center rounded-xl border px-3","cmdk-input-wrapper":"",children:[P(rt,{className:"mr-2 h-4 w-4 shrink-0 opacity-50"}),P(m.Input,{ref:o,className:a("flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-none placeholder:text-neutral-500 disabled:cursor-not-allowed disabled:opacity-50",e),...t})]}));te.displayName=m.Input.displayName;var oe=w.forwardRef(({className:e,...t},o)=>P(m.List,{ref:o,className:a("overflow-y-auto overflow-x-hidden",e),...t}));oe.displayName=m.List.displayName;var ae=w.forwardRef((e,t)=>P(m.Empty,{ref:t,className:"py-6 text-center text-sm",...e}));ae.displayName=m.Empty.displayName;var re=w.forwardRef(({className:e,...t},o)=>P(m.Group,{ref:o,className:a("overflow-hidden p-1 text-neutral-950 [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-neutral-500",e),...t}));re.displayName=m.Group.displayName;var it=w.forwardRef(({className:e,...t},o)=>P(m.Separator,{ref:o,className:a("-mx-1 h-px bg-neutral-200",e),...t}));it.displayName=m.Separator.displayName;var ie=w.forwardRef(({className:e,...t},o)=>P(m.Item,{ref:o,className:a("relative flex cursor-pointer select-none items-center rounded-xl px-2 py-1.5 text-sm outline-none data-[disabled=true]:pointer-events-none data-[selected='true']:bg-neutral-100 data-[selected=true]:text-neutral-900 data-[disabled=true]:opacity-50",e),...t}));ie.displayName=m.Item.displayName;var nt=({className:e,...t})=>P("span",{className:a("ml-auto text-xs tracking-widest text-neutral-500",e),...t});nt.displayName="CommandShortcut";import*as Pe from"react";import*as C from"@radix-ui/react-popover";import{jsx as be}from"react/jsx-runtime";var Ce=C.Root,Re=C.Trigger,ne=Pe.forwardRef(({className:e,align:t="center",sideOffset:o=4,...i},s)=>be(C.Portal,{children:be(C.Content,{ref:s,align:t,sideOffset:o,className:a("z-50 rounded-2xl border bg-white p-4 text-black shadow-md outline-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=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",e),...i})}));ne.displayName=C.Content.displayName;import{cva as st}from"cva";import{jsx as pt}from"react/jsx-runtime";var mt=st("rounded-full px-2 py-0.5 text-xs font-semibold",{variants:{variant:{green:"bg-green-90 text-white",pickle:"bg-pickle-100 text-black",purple:"bg-purple-100 text-white"}},defaultVariants:{variant:"green"}});function le({className:e,variant:t,...o}){return pt("div",{className:a(mt({variant:t}),e),...o})}import{jsx as v,jsxs as A}from"react/jsx-runtime";var Ne=dt((e,t)=>{let{value:o,label:i,options:s,classNames:p,multiselect:h,placeholder:b,variant:S="default",size:E,className:R,onChange:I,children:G}=e,D=h?o??[]:o?[o]:[],[d,K]=ke(D),[L,z]=ke(!1),X=s?.length<=5,W=S==="default",q=S==="chip";ct(()=>{I?.(h?d:d[0])},[d]);let F=y=>{if(h)return K(u=>u.includes(y)?u.filter(r=>r!==y):[...u,y]);K([y]),z(!1)},$=()=>{let y=d.length>0?d.join(", "):b;return W?y:i};return A("div",{className:a("flex flex-col gap-2",R),children:[W&&i&&v(M,{text:i,className:p?.label}),A(Ce,{open:L,onOpenChange:z,children:[v(Re,{asChild:!0,disabled:s.length===0,children:A("div",{ref:t,className:a(gt({variant:S,size:E}),p?.trigger),"aria-expanded":L,children:[q&&d.length>0&&v(le,{variant:"purple",children:d.length}),v("span",{className:a("truncate leading-normal",W&&d.length==0&&"text-grey-40"),children:$()}),v(ft,{className:"transform group-data-[state=open]:rotate-180",size:"16"})]})}),v(ee,{children:A(ne,{className:a("flex w-full max-w-xs flex-col overflow-hidden p-0","max-h-[--radix-popover-content-available-height]",p?.content),collisionPadding:8,sideOffset:4,align:"start",children:[!X&&v(te,{placeholder:"Search..."}),A(oe,{children:[v(ae,{children:"No results"}),v(re,{children:s.map(({id:y,...u})=>v(ie,{value:u.value,onSelect:F,children:v(Z,{className:a(p?.items,"truncate py-1"),isSelected:d?.includes(u.value),hasCheckbox:h,...u})},y))})]}),!!G&&v(_,{}),G]})})]})]})});Ne.displayName="Combobox";var gt=ut("group relative cursor-pointer flex flex-row items-center justify-between gap-2 border border-grey-20 focus:outline-green-80 disabled:bg-grey-5",{variants:{variant:{default:["w-full","max-w-80","rounded-lg"],chip:["font-bold","rounded-3xl","data-[state=open]:bg-black","data-[state=open]:text-white"]},size:{small:["h-8","p-1","pl-2","text-xs"],normal:["h-9","p-2","pl-3","text-sm"],large:["h-10","p-3","pl-4","text-base"]}},defaultVariants:{variant:"default",size:"normal"}});export{le as Badge,he as Button,Y as Checkbox,Q as Chip,Ne as Combobox,M as Label,Z as ListItem,Ge as Select,a as cn};
2
2
  //# sourceMappingURL=index.js.map