@alkimi.org/ui-kit 0.8.8 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-3FBDNJG5.js +3 -0
- package/dist/chunk-3FBDNJG5.js.map +1 -0
- package/dist/chunk-527KMCOG.js +3 -0
- package/dist/chunk-527KMCOG.js.map +1 -0
- package/dist/{chunk-WIQVLJ4E.js → chunk-5D66A4ZC.js} +2 -2
- package/dist/{chunk-WIQVLJ4E.js.map → chunk-5D66A4ZC.js.map} +1 -1
- package/dist/chunk-5X26XR44.js +3 -0
- package/dist/chunk-5X26XR44.js.map +1 -0
- package/dist/{chunk-MO2LRV57.js → chunk-65YNHKNP.js} +2 -2
- package/dist/{chunk-MO2LRV57.js.map → chunk-65YNHKNP.js.map} +1 -1
- package/dist/{chunk-XNNZN4OY.mjs → chunk-7APORI4E.mjs} +2 -2
- package/dist/{chunk-7FX23JBQ.mjs → chunk-AL2CF5GT.mjs} +2 -2
- package/dist/{chunk-BWPUNSDD.js → chunk-ANKLITGS.js} +2 -2
- package/dist/{chunk-BWPUNSDD.js.map → chunk-ANKLITGS.js.map} +1 -1
- package/dist/chunk-C7GTPYMH.mjs +3 -0
- package/dist/chunk-C7GTPYMH.mjs.map +1 -0
- package/dist/{chunk-WPUW2XFI.js → chunk-CP7BC57S.js} +2 -2
- package/dist/{chunk-WPUW2XFI.js.map → chunk-CP7BC57S.js.map} +1 -1
- package/dist/chunk-E7OHIWSF.mjs +3 -0
- package/dist/chunk-E7OHIWSF.mjs.map +1 -0
- package/dist/chunk-G7EYYKWS.js +3 -0
- package/dist/chunk-G7EYYKWS.js.map +1 -0
- package/dist/{chunk-HKLR7AH3.js → chunk-GVSERRZX.js} +2 -2
- package/dist/{chunk-HKLR7AH3.js.map → chunk-GVSERRZX.js.map} +1 -1
- package/dist/chunk-HRYHWWL4.mjs +3 -0
- package/dist/chunk-HRYHWWL4.mjs.map +1 -0
- package/dist/chunk-IXP2VV7S.mjs +3 -0
- package/dist/chunk-IXP2VV7S.mjs.map +1 -0
- package/dist/chunk-KGNX6UST.mjs +3 -0
- package/dist/chunk-KGNX6UST.mjs.map +1 -0
- package/dist/chunk-LCKRYIEJ.js +3 -0
- package/dist/chunk-LCKRYIEJ.js.map +1 -0
- package/dist/{chunk-JKSXSLVB.mjs → chunk-NGEWZBAJ.mjs} +2 -2
- package/dist/{chunk-7T4BNCXL.js → chunk-OXMHA73F.js} +2 -2
- package/dist/chunk-OXMHA73F.js.map +1 -0
- package/dist/{chunk-25PBXFF5.js → chunk-QMGLM2OR.js} +2 -2
- package/dist/chunk-QMGLM2OR.js.map +1 -0
- package/dist/chunk-RGSVOR7N.mjs +3 -0
- package/dist/chunk-RGSVOR7N.mjs.map +1 -0
- package/dist/{chunk-TUQM7P2C.js → chunk-RTGC7LPL.js} +2 -2
- package/dist/{chunk-TUQM7P2C.js.map → chunk-RTGC7LPL.js.map} +1 -1
- package/dist/chunk-S2TENS3V.mjs +3 -0
- package/dist/chunk-S2TENS3V.mjs.map +1 -0
- package/dist/{chunk-RJKKQWP2.js → chunk-SBL3PCZC.js} +2 -2
- package/dist/{chunk-RJKKQWP2.js.map → chunk-SBL3PCZC.js.map} +1 -1
- package/dist/{chunk-FR56YJGL.mjs → chunk-TAMQA7LM.mjs} +2 -2
- package/dist/{chunk-FR56YJGL.mjs.map → chunk-TAMQA7LM.mjs.map} +1 -1
- package/dist/chunk-TUNSVCR4.js +3 -0
- package/dist/chunk-TUNSVCR4.js.map +1 -0
- package/dist/{chunk-TLWWS45Z.mjs → chunk-U6XL5TKL.mjs} +2 -2
- package/dist/{chunk-WBCFLFLW.mjs → chunk-VDRRSPND.mjs} +2 -2
- package/dist/chunk-VMOF3XI2.mjs +3 -0
- package/dist/chunk-VMOF3XI2.mjs.map +1 -0
- package/dist/chunk-XFLIVHNV.mjs +3 -0
- package/dist/chunk-XFLIVHNV.mjs.map +1 -0
- package/dist/{chunk-RFYGH7BH.mjs → chunk-YENXK5HF.mjs} +2 -2
- package/dist/chunk-YENXK5HF.mjs.map +1 -0
- package/dist/chunk-ZDWAY77K.js +3 -0
- package/dist/{chunk-2S3AGBKQ.js.map → chunk-ZDWAY77K.js.map} +1 -1
- package/dist/components/TextDecoder.d.mts +1 -0
- package/dist/components/TextDecoder.d.ts +1 -0
- package/dist/components/TextDecoder.js +1 -1
- package/dist/components/TextDecoder.mjs +1 -1
- package/dist/components/button.d.mts +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/button.mjs +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/calendar.mjs +1 -1
- package/dist/components/card.d.mts +1 -0
- package/dist/components/card.d.ts +1 -0
- package/dist/components/card.js +1 -1
- package/dist/components/card.js.map +1 -1
- package/dist/components/card.mjs +1 -1
- package/dist/components/card.mjs.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.mjs +1 -1
- package/dist/components/combobox.d.mts +8 -3
- package/dist/components/combobox.d.ts +8 -3
- package/dist/components/combobox.js +1 -1
- package/dist/components/combobox.mjs +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/command.mjs +1 -1
- package/dist/components/date-picker.js +1 -1
- package/dist/components/date-picker.mjs +1 -1
- package/dist/components/date-range-picker.js +1 -1
- package/dist/components/date-range-picker.mjs +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/dialog.mjs +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/drawer.mjs +1 -1
- package/dist/components/file-upload.js +1 -1
- package/dist/components/file-upload.mjs +1 -1
- package/dist/components/radio-group.d.mts +7 -0
- package/dist/components/radio-group.d.ts +7 -0
- package/dist/components/radio-group.js +3 -0
- package/dist/components/radio-group.js.map +1 -0
- package/dist/components/radio-group.mjs +3 -0
- package/dist/components/radio-group.mjs.map +1 -0
- package/dist/components/sidebar.js +1 -1
- package/dist/components/sidebar.mjs +1 -1
- package/dist/components/table.d.mts +2 -1
- package/dist/components/table.d.ts +2 -1
- package/dist/components/table.js +1 -1
- package/dist/components/table.mjs +1 -1
- package/dist/components/tabs.js +1 -1
- package/dist/components/tabs.mjs +1 -1
- package/dist/components/tree-select.d.mts +26 -0
- package/dist/components/tree-select.d.ts +26 -0
- package/dist/components/tree-select.js +3 -0
- package/dist/components/tree-select.js.map +1 -0
- package/dist/components/tree-select.mjs +3 -0
- package/dist/components/tree-select.mjs.map +1 -0
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.d.mts +4 -1
- package/dist/index.d.ts +4 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +1 -1
- package/dist/styles.css +1 -1
- package/dist/styles.css.map +1 -1
- package/package.json +2 -1
- package/dist/chunk-24H4O2Z5.js +0 -3
- package/dist/chunk-24H4O2Z5.js.map +0 -1
- package/dist/chunk-25PBXFF5.js.map +0 -1
- package/dist/chunk-2S3AGBKQ.js +0 -3
- package/dist/chunk-7T4BNCXL.js.map +0 -1
- package/dist/chunk-A7NIT2PJ.mjs +0 -3
- package/dist/chunk-A7NIT2PJ.mjs.map +0 -1
- package/dist/chunk-BENG4LHZ.js +0 -3
- package/dist/chunk-BENG4LHZ.js.map +0 -1
- package/dist/chunk-CDWSOB6B.mjs +0 -3
- package/dist/chunk-CDWSOB6B.mjs.map +0 -1
- package/dist/chunk-DG3BFKU6.mjs +0 -3
- package/dist/chunk-DG3BFKU6.mjs.map +0 -1
- package/dist/chunk-EMGXHXG7.mjs +0 -3
- package/dist/chunk-EMGXHXG7.mjs.map +0 -1
- package/dist/chunk-KPMYIU6M.mjs +0 -3
- package/dist/chunk-KPMYIU6M.mjs.map +0 -1
- package/dist/chunk-M3DW2W2P.js +0 -3
- package/dist/chunk-M3DW2W2P.js.map +0 -1
- package/dist/chunk-MPAY33XW.mjs +0 -3
- package/dist/chunk-MPAY33XW.mjs.map +0 -1
- package/dist/chunk-RFYGH7BH.mjs.map +0 -1
- package/dist/chunk-W65OWFZY.mjs +0 -3
- package/dist/chunk-W65OWFZY.mjs.map +0 -1
- package/dist/chunk-YXXGA3BD.js +0 -3
- package/dist/chunk-YXXGA3BD.js.map +0 -1
- /package/dist/{chunk-XNNZN4OY.mjs.map → chunk-7APORI4E.mjs.map} +0 -0
- /package/dist/{chunk-7FX23JBQ.mjs.map → chunk-AL2CF5GT.mjs.map} +0 -0
- /package/dist/{chunk-JKSXSLVB.mjs.map → chunk-NGEWZBAJ.mjs.map} +0 -0
- /package/dist/{chunk-TLWWS45Z.mjs.map → chunk-U6XL5TKL.mjs.map} +0 -0
- /package/dist/{chunk-WBCFLFLW.mjs.map → chunk-VDRRSPND.mjs.map} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/button.tsx"],"sourcesContent":["import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center cursor-pointer justify-center whitespace-nowrap rounded-4xl font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-2 active:opacity-50 disabled:pointer-events-none disabled:opacity-50\",\n {\n variants: {\n variant: {\n default:\n \"bg-primary-accent text-primary-foreground hover:bg-primary/90\",\n destructive: \"bg-destructive hover:bg-destructive/90\",\n outline: \"border border-input hover:bg-base-accent text-primary-accent\",\n secondary: \"bg-muted text-primary-accent hover:bg-muted/20\",\n ghost: \"hover:bg-base-accent text-primary-accent\",\n link: \"text-primary-accent underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-9 px-4 py-2 text-sm\",\n sm: \"h-8 text-xs px-3 py-2\",\n lg: \"h-10 px-8 py-2 text-sm\",\n icon: \"h-9 w-9\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends\n React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n loading?: boolean\n icon?: React.ReactNode\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n (\n {\n className,\n variant,\n size,\n asChild = false,\n loading = false,\n icon,\n ...props\n },\n ref\n ) => {\n const Comp = asChild ? Slot : \"button\"\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {loading && (\n <div className=\"mr-2 h-4 w-4 animate-spin rounded-full border border-primary-foreground border-t-transparent\" />\n )}\n {!loading && icon && <span className=\"mr-2\">{icon}</span>}\n {props.children}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n"],"mappings":";oCAAA,UAAYA,MAAW,QACvB,OAAS,QAAAC,MAAY,uBACrB,OAAS,OAAAC,MAA8B,2BAuDjC,OAOI,OAAAC,EAPJ,QAAAC,MAAA,oBAnDN,IAAMC,EAAiBC,EACrB,gTACA,CACE,SAAU,CACR,QAAS,CACP,QACE,gEACF,YAAa,yCACb,QAAS,+DACT,UAAW,iDACX,MAAO,2CACP,KAAM,wDACR,EACA,KAAM,CACJ,QAAS,wBACT,GAAI,wBACJ,GAAI,yBACJ,KAAM,SACR,CACF,EACA,gBAAiB,CACf,QAAS,UACT,KAAM,SACR,CACF,CACF,EAWMC,EAAe,aACnB,CACE,CACE,UAAAC,EACA,QAAAC,EACA,KAAAC,EACA,QAAAC,EAAU,GACV,QAAAC,EAAU,GACV,KAAAC,EACA,GAAGC,CACL,EACAC,IAIEX,EAFWO,EAAUK,EAAO,SAE3B,CACC,UAAWC,EAAGZ,EAAe,CAAE,QAAAI,EAAS,KAAAC,EAAM,UAAAF,CAAU,CAAC,CAAC,EAC1D,IAAKO,EACL,SAAUH,GAAWE,EAAM,SAC1B,GAAGA,EAEH,UAAAF,GACCT,EAAC,OAAI,UAAU,+FAA+F,EAE/G,CAACS,GAAWC,GAAQV,EAAC,QAAK,UAAU,OAAQ,SAAAU,EAAK,EACjDC,EAAM,UACT,CAGN,EACAP,EAAO,YAAc","names":["React","Slot","cva","jsx","jsxs","buttonVariants","cva","Button","className","variant","size","asChild","loading","icon","props","ref","Slot","cn"]}
|
package/dist/chunk-YXXGA3BD.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";
|
|
2
|
-
var _chunkULIOO55Ijs = require('./chunk-ULIOO55I.js');var _chunkHKLR7AH3js = require('./chunk-HKLR7AH3.js');var _chunkFUYXCJOQjs = require('./chunk-FUYXCJOQ.js');var _react = require('react'); var k = _interopRequireWildcard(_react);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function F({options:l,value:s,onValueChange:O,placeholder:m="Select option...",searchPlaceholder:S="Search...",emptyMessage:R="No option found.",disabled:D=!1,className:E,error:I=!1,multiple:i=!1,values:n=[],onValuesChange:p}){let[g,b]=k.useState(!1),u=l.find(e=>e.value===s),a=l.filter(e=>n.includes(e.value)),T=e=>{if(i){let t=n.includes(e)?n.filter(c=>c!==e):[...n,e];_optionalChain([p, 'optionalCall', _ => _(t)])}else _optionalChain([O, 'optionalCall', _2 => _2(e===s?"":e)]),b(!1)},G=(e,t)=>{t.preventDefault(),t.stopPropagation();let c=n.filter(M=>M!==e);_optionalChain([p, 'optionalCall', _3 => _3(c)])},L=()=>i?a.length===0?m:a.length===1?a[0].label:`${a.length} selected`:u?u.label:m;return _jsxruntime.jsxs.call(void 0, _chunkULIOO55Ijs.a,{open:g,onOpenChange:b,children:[_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.b,{asChild:!0,children:_jsxruntime.jsxs.call(void 0, "button",{type:"button",role:"combobox","aria-expanded":g,disabled:D,className:_chunkFUYXCJOQjs.a.call(void 0, "cursor-pointer flex my-2 h-9 w-full items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",!s&&!n.length&&"text-secondary-text",I&&"border-destructive-foreground focus-visible:ring-destructive-foreground",E),children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:L()}),_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDown,{className:"ml-2 h-4 w-4 shrink-0 opacity-50"})]})}),_jsxruntime.jsx.call(void 0, _chunkULIOO55Ijs.c,{className:"p-0",align:"start",style:{width:"var(--radix-popover-trigger-width)"},children:_jsxruntime.jsxs.call(void 0, _chunkHKLR7AH3js.a,{children:[_jsxruntime.jsx.call(void 0, _chunkHKLR7AH3js.c,{placeholder:S}),_jsxruntime.jsxs.call(void 0, _chunkHKLR7AH3js.d,{children:[_jsxruntime.jsx.call(void 0, _chunkHKLR7AH3js.e,{children:R}),_jsxruntime.jsxs.call(void 0, _chunkHKLR7AH3js.f,{children:[i&&a.length>0&&_jsxruntime.jsx.call(void 0, "div",{className:"px-2 py-1.5",children:_jsxruntime.jsx.call(void 0, "div",{className:"flex flex-wrap gap-1",children:a.map(e=>_jsxruntime.jsxs.call(void 0, "div",{className:"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs",children:[_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label}),_jsxruntime.jsx.call(void 0, _lucidereact.X,{className:"h-3 w-3 cursor-pointer hover:text-destructive",onClick:t=>G(e.value,t)})]},e.value))})}),l.map(e=>{let t=i?n.includes(e.value):s===e.value;return _jsxruntime.jsxs.call(void 0, _chunkHKLR7AH3js.h,{value:e.value,onSelect:T,children:[_jsxruntime.jsx.call(void 0, _lucidereact.Check,{className:_chunkFUYXCJOQjs.a.call(void 0, "mr-2 h-4 w-4",t?"opacity-100":"opacity-0")}),_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e.label})]},e.value)})]})]})]})})]})}exports.a = F;
|
|
3
|
-
//# sourceMappingURL=chunk-YXXGA3BD.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"sources":["/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-YXXGA3BD.js","../src/components/combobox.tsx"],"names":["Combobox","options","value","onValueChange","placeholder","searchPlaceholder","emptyMessage","disabled","className","error","multiple","values","onValuesChange","open","setOpen","selectedOption","option","selectedOptions","handleSelect","currentValue","newValues","v","handleRemoveValue","valueToRemove","e","getDisplayText"],"mappings":"AAAA,22BAAY;AACZ,sDAAqD,sDAA2E,sDAAwC,uECDjJ,2CACe,+CAqF9B,SApDQA,CAAAA,CAAS,CACvB,OAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,WAAA,CAAAC,CAAAA,CAAc,kBAAA,CACd,iBAAA,CAAAC,CAAAA,CAAoB,WAAA,CACpB,YAAA,CAAAC,CAAAA,CAAe,kBAAA,CACf,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,SAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CAAQ,CAAA,CAAA,CACR,QAAA,CAAAC,CAAAA,CAAW,CAAA,CAAA,CACX,MAAA,CAAAC,CAAAA,CAAS,CAAC,CAAA,CACV,cAAA,CAAAC,CACF,CAAA,CAAkB,CAChB,GAAM,CAACC,CAAAA,CAAMC,CAAO,CAAA,CAAU,CAAA,CAAA,QAAA,CAAS,CAAA,CAAK,CAAA,CAEtCC,CAAAA,CAAiBd,CAAAA,CAAQ,IAAA,CAAMe,CAAAA,EAAWA,CAAAA,CAAO,KAAA,GAAUd,CAAK,CAAA,CAChEe,CAAAA,CAAkBhB,CAAAA,CAAQ,MAAA,CAAQe,CAAAA,EACtCL,CAAAA,CAAO,QAAA,CAASK,CAAAA,CAAO,KAAK,CAC9B,CAAA,CAEME,CAAAA,CAAgBC,CAAAA,EAAyB,CAC7C,EAAA,CAAIT,CAAAA,CAAU,CACZ,IAAMU,CAAAA,CAAYT,CAAAA,CAAO,QAAA,CAASQ,CAAY,CAAA,CAC1CR,CAAAA,CAAO,MAAA,CAAQU,CAAAA,EAAMA,CAAAA,GAAMF,CAAY,CAAA,CACvC,CAAC,GAAGR,CAAAA,CAAQQ,CAAY,CAAA,iBAC5BP,CAAAA,wBAAAA,CAAiBQ,CAAS,GAC5B,CAAA,qBACEjB,CAAAA,0BAAAA,CAAgBgB,CAAAA,GAAiBjB,CAAAA,CAAQ,EAAA,CAAKiB,CAAY,GAAA,CAC1DL,CAAAA,CAAQ,CAAA,CAAK,CAEjB,CAAA,CAEMQ,CAAAA,CAAoB,CAACC,CAAAA,CAAuBC,CAAAA,CAAAA,EAAwB,CACxEA,CAAAA,CAAE,cAAA,CAAe,CAAA,CACjBA,CAAAA,CAAE,eAAA,CAAgB,CAAA,CAClB,IAAMJ,CAAAA,CAAYT,CAAAA,CAAO,MAAA,CAAQU,CAAAA,EAAMA,CAAAA,GAAME,CAAa,CAAA,iBAC1DX,CAAAA,0BAAAA,CAAiBQ,CAAS,GAC5B,CAAA,CAEMK,CAAAA,CAAiB,CAAA,CAAA,EACjBf,CAAAA,CACEO,CAAAA,CAAgB,MAAA,GAAW,CAAA,CAAUb,CAAAA,CACrCa,CAAAA,CAAgB,MAAA,GAAW,CAAA,CAAUA,CAAAA,CAAgB,CAAC,CAAA,CAAE,KAAA,CACrD,CAAA,EAAA","file":"/Users/admin/Desktop/PROJECTS/alkimi-ui-kit/dist/chunk-YXXGA3BD.js","sourcesContent":[null,"import * as React from \"react\"\nimport { Check, ChevronDown, X } from \"lucide-react\"\n\nimport { cn } from \"@/lib/utils\"\nimport {\n Command,\n CommandEmpty,\n CommandGroup,\n CommandInput,\n CommandItem,\n CommandList,\n} from \"@/components/command\"\nimport { Popover, PopoverContent, PopoverTrigger } from \"@/components/popover\"\n\nexport interface ComboboxOption {\n value: string\n label: string\n}\n\nexport interface ComboboxProps {\n options: ComboboxOption[]\n value?: string\n onValueChange?: (value: string) => void\n placeholder?: string\n searchPlaceholder?: string\n emptyMessage?: string\n disabled?: boolean\n className?: string\n error?: boolean\n multiple?: boolean\n values?: string[]\n onValuesChange?: (values: string[]) => void\n}\n\nexport function Combobox({\n options,\n value,\n onValueChange,\n placeholder = \"Select option...\",\n searchPlaceholder = \"Search...\",\n emptyMessage = \"No option found.\",\n disabled = false,\n className,\n error = false,\n multiple = false,\n values = [],\n onValuesChange,\n}: ComboboxProps) {\n const [open, setOpen] = React.useState(false)\n\n const selectedOption = options.find((option) => option.value === value)\n const selectedOptions = options.filter((option) =>\n values.includes(option.value)\n )\n\n const handleSelect = (currentValue: string) => {\n if (multiple) {\n const newValues = values.includes(currentValue)\n ? values.filter((v) => v !== currentValue)\n : [...values, currentValue]\n onValuesChange?.(newValues)\n } else {\n onValueChange?.(currentValue === value ? \"\" : currentValue)\n setOpen(false)\n }\n }\n\n const handleRemoveValue = (valueToRemove: string, e: React.MouseEvent) => {\n e.preventDefault()\n e.stopPropagation()\n const newValues = values.filter((v) => v !== valueToRemove)\n onValuesChange?.(newValues)\n }\n\n const getDisplayText = () => {\n if (multiple) {\n if (selectedOptions.length === 0) return placeholder\n if (selectedOptions.length === 1) return selectedOptions[0].label\n return `${selectedOptions.length} selected`\n }\n return selectedOption ? selectedOption.label : placeholder\n }\n\n return (\n <Popover open={open} onOpenChange={setOpen}>\n <PopoverTrigger asChild>\n <button\n type=\"button\"\n role=\"combobox\"\n aria-expanded={open}\n disabled={disabled}\n className={cn(\n \"cursor-pointer flex my-2 h-9 w-full items-center justify-between rounded-3xl border border-border bg-background hover:bg-secondary px-4 py-2 text-sm text-primary-accent ring-offset-background focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n !value && !values.length && \"text-secondary-text\",\n error &&\n \"border-destructive-foreground focus-visible:ring-destructive-foreground\",\n className\n )}\n >\n <span className=\"truncate\">{getDisplayText()}</span>\n <ChevronDown className=\"ml-2 h-4 w-4 shrink-0 opacity-50\" />\n </button>\n </PopoverTrigger>\n <PopoverContent\n className=\"p-0\"\n align=\"start\"\n style={{ width: \"var(--radix-popover-trigger-width)\" }}\n >\n <Command>\n <CommandInput placeholder={searchPlaceholder} />\n <CommandList>\n <CommandEmpty>{emptyMessage}</CommandEmpty>\n <CommandGroup>\n {multiple && selectedOptions.length > 0 && (\n <div className=\"px-2 py-1.5\">\n <div className=\"flex flex-wrap gap-1\">\n {selectedOptions.map((option) => (\n <div\n key={option.value}\n className=\"inline-flex items-center gap-1 rounded-md bg-secondary px-2 py-0.5 text-xs\"\n >\n <span className=\"truncate\">{option.label}</span>\n <X\n className=\"h-3 w-3 cursor-pointer hover:text-destructive\"\n onClick={(e) => handleRemoveValue(option.value, e)}\n />\n </div>\n ))}\n </div>\n </div>\n )}\n {options.map((option) => {\n const isSelected = multiple\n ? values.includes(option.value)\n : value === option.value\n\n return (\n <CommandItem\n key={option.value}\n value={option.value}\n onSelect={handleSelect}\n >\n <Check\n className={cn(\n \"mr-2 h-4 w-4\",\n isSelected ? \"opacity-100\" : \"opacity-0\"\n )}\n />\n <span className=\"truncate\">{option.label}</span>\n </CommandItem>\n )\n })}\n </CommandGroup>\n </CommandList>\n </Command>\n </PopoverContent>\n </Popover>\n )\n}\n"]}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|