@codefast/ui 0.2.24 → 0.2.25
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/CHANGELOG.md +12 -0
- package/dist/{chunk-XRR7KIOZ.cjs → chunk-35WEQFBA.cjs} +1 -1
- package/dist/{chunk-XRR7KIOZ.cjs.map → chunk-35WEQFBA.cjs.map} +1 -1
- package/dist/chunk-3EIIPNVC.cjs +2 -0
- package/dist/chunk-3EIIPNVC.cjs.map +1 -0
- package/dist/{chunk-LDAZP6I6.js → chunk-465NF254.js} +2 -2
- package/dist/{chunk-3K2NGYFD.cjs → chunk-5AQNU5FF.cjs} +2 -2
- package/dist/{chunk-3K2NGYFD.cjs.map → chunk-5AQNU5FF.cjs.map} +1 -1
- package/dist/chunk-6FS62M4B.js +2 -0
- package/dist/chunk-6FS62M4B.js.map +1 -0
- package/dist/{chunk-D76EFHBN.cjs → chunk-6GF5BKD3.cjs} +2 -2
- package/dist/{chunk-D76EFHBN.cjs.map → chunk-6GF5BKD3.cjs.map} +1 -1
- package/dist/{chunk-KZZLDLIH.js → chunk-6HGHPY6T.js} +2 -2
- package/dist/{chunk-C6I24UU5.js → chunk-7YDCUFIZ.js} +2 -2
- package/dist/chunk-7YDCUFIZ.js.map +1 -0
- package/dist/{chunk-7LIPJFEV.cjs → chunk-BJ6N2IUA.cjs} +2 -2
- package/dist/{chunk-7LIPJFEV.cjs.map → chunk-BJ6N2IUA.cjs.map} +1 -1
- package/dist/chunk-COS2B3R4.cjs +2 -0
- package/dist/chunk-COS2B3R4.cjs.map +1 -0
- package/dist/{chunk-AJTEFLYJ.cjs → chunk-DM7NEO2A.cjs} +2 -2
- package/dist/{chunk-AJTEFLYJ.cjs.map → chunk-DM7NEO2A.cjs.map} +1 -1
- package/dist/{chunk-KT25BHLM.js → chunk-EEW6YK3J.js} +2 -2
- package/dist/{chunk-MI6EOUQI.cjs → chunk-EHXXHEKF.cjs} +2 -2
- package/dist/{chunk-MI6EOUQI.cjs.map → chunk-EHXXHEKF.cjs.map} +1 -1
- package/dist/{chunk-H44NQWHN.cjs → chunk-GXL45YCO.cjs} +2 -2
- package/dist/{chunk-H44NQWHN.cjs.map → chunk-GXL45YCO.cjs.map} +1 -1
- package/dist/chunk-HHC2EREZ.js +2 -0
- package/dist/chunk-HHC2EREZ.js.map +1 -0
- package/dist/chunk-HID6HIJO.cjs +2 -0
- package/dist/chunk-HID6HIJO.cjs.map +1 -0
- package/dist/{chunk-PIJN35MC.cjs → chunk-HTD5E2KS.cjs} +2 -2
- package/dist/chunk-HTD5E2KS.cjs.map +1 -0
- package/dist/{chunk-7DZQUICW.cjs → chunk-IJKGBALW.cjs} +2 -2
- package/dist/{chunk-7DZQUICW.cjs.map → chunk-IJKGBALW.cjs.map} +1 -1
- package/dist/{chunk-EGY5ICBL.cjs → chunk-IMMPDUHI.cjs} +2 -2
- package/dist/chunk-IMMPDUHI.cjs.map +1 -0
- package/dist/chunk-IQG5Z7B3.js +2 -0
- package/dist/{chunk-TB6L4INZ.js.map → chunk-IQG5Z7B3.js.map} +1 -1
- package/dist/{chunk-WBWLWSHG.cjs → chunk-KA44SYMW.cjs} +2 -2
- package/dist/{chunk-WBWLWSHG.cjs.map → chunk-KA44SYMW.cjs.map} +1 -1
- package/dist/{chunk-6LL5EQAE.cjs → chunk-KJUQ3ZDG.cjs} +2 -2
- package/dist/chunk-KJUQ3ZDG.cjs.map +1 -0
- package/dist/chunk-KKLVYNNH.js +2 -0
- package/dist/{chunk-TLVUBHED.js.map → chunk-KKLVYNNH.js.map} +1 -1
- package/dist/{chunk-DRDC77KX.cjs → chunk-L6OCZPIJ.cjs} +2 -2
- package/dist/{chunk-DRDC77KX.cjs.map → chunk-L6OCZPIJ.cjs.map} +1 -1
- package/dist/{chunk-5NVU3OSZ.js → chunk-MQ3ZMVF4.js} +2 -2
- package/dist/{chunk-HAVND45W.js → chunk-MYM5XJQR.js} +2 -2
- package/dist/{chunk-AXOKJEVY.js → chunk-NXNT364Q.js} +1 -1
- package/dist/{chunk-AXOKJEVY.js.map → chunk-NXNT364Q.js.map} +1 -1
- package/dist/chunk-P7CT5J27.cjs +2 -0
- package/dist/chunk-P7CT5J27.cjs.map +1 -0
- package/dist/{chunk-TPYKFY52.js → chunk-PQHOKH32.js} +2 -2
- package/dist/{chunk-KX4STYPY.js → chunk-QEHCKMEW.js} +2 -2
- package/dist/{chunk-M7FNDRW7.cjs → chunk-RQ2OXVIO.cjs} +2 -2
- package/dist/{chunk-M7FNDRW7.cjs.map → chunk-RQ2OXVIO.cjs.map} +1 -1
- package/dist/{chunk-HQ6DUL6D.js → chunk-SISTMH2V.js} +2 -2
- package/dist/{chunk-LYULASEA.js → chunk-SKTMUT4Q.js} +2 -2
- package/dist/{chunk-Q2R7BKY2.cjs → chunk-SXDR2XMN.cjs} +2 -2
- package/dist/{chunk-Q2R7BKY2.cjs.map → chunk-SXDR2XMN.cjs.map} +1 -1
- package/dist/chunk-TBLBH4IE.cjs +2 -0
- package/dist/{chunk-U2275H6S.cjs.map → chunk-TBLBH4IE.cjs.map} +1 -1
- package/dist/{chunk-L4TXGBGM.js → chunk-U2LUXER4.js} +2 -2
- package/dist/chunk-U2LUXER4.js.map +1 -0
- package/dist/chunk-U66K6WUY.js +2 -0
- package/dist/chunk-U66K6WUY.js.map +1 -0
- package/dist/chunk-ULMXMC44.cjs +2 -0
- package/dist/chunk-ULMXMC44.cjs.map +1 -0
- package/dist/{chunk-WLZPSCYA.cjs → chunk-UN2HW6UN.cjs} +2 -2
- package/dist/{chunk-WLZPSCYA.cjs.map → chunk-UN2HW6UN.cjs.map} +1 -1
- package/dist/{chunk-IRFNIQ3S.js → chunk-VZBRWHQ2.js} +2 -2
- package/dist/chunk-W3CYHSYO.js +2 -0
- package/dist/chunk-W3CYHSYO.js.map +1 -0
- package/dist/{chunk-RQJY6UQZ.js → chunk-WX3DRG7Q.js} +2 -2
- package/dist/{chunk-RQJY6UQZ.js.map → chunk-WX3DRG7Q.js.map} +1 -1
- package/dist/{chunk-ZPQ2TVNB.js → chunk-YHAJRZCH.js} +2 -2
- package/dist/chunk-ZPUO6JH5.js +2 -0
- package/dist/chunk-ZPUO6JH5.js.map +1 -0
- package/dist/components/alert-dialog.cjs +1 -1
- package/dist/components/alert-dialog.js +1 -1
- package/dist/components/alert.cjs +1 -1
- package/dist/components/alert.d.cts +3 -31
- package/dist/components/alert.d.ts +3 -31
- package/dist/components/alert.js +1 -1
- package/dist/components/badge.cjs +1 -1
- package/dist/components/badge.d.cts +0 -21
- package/dist/components/badge.d.ts +0 -21
- package/dist/components/badge.js +1 -1
- package/dist/components/button.cjs +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/calendar.cjs +1 -1
- package/dist/components/calendar.js +1 -1
- package/dist/components/carousel.cjs +1 -1
- package/dist/components/carousel.js +1 -1
- package/dist/components/checkbox-cards.cjs +1 -1
- package/dist/components/checkbox-cards.js +1 -1
- package/dist/components/command.cjs +1 -1
- package/dist/components/command.js +1 -1
- package/dist/components/data-table.cjs +1 -1
- package/dist/components/data-table.js +1 -1
- package/dist/components/dialog.cjs +1 -1
- package/dist/components/dialog.js +1 -1
- package/dist/components/drawer.cjs +1 -1
- package/dist/components/drawer.js +1 -1
- package/dist/components/input-number.cjs +1 -1
- package/dist/components/input-number.js +1 -1
- package/dist/components/input-password.cjs +1 -1
- package/dist/components/input-password.js +1 -1
- package/dist/components/input-search.cjs +1 -1
- package/dist/components/input-search.js +1 -1
- package/dist/components/navigation-menu.cjs +1 -1
- package/dist/components/navigation-menu.js +1 -1
- package/dist/components/pagination.cjs +1 -1
- package/dist/components/pagination.js +1 -1
- package/dist/components/radio-cards.cjs +1 -1
- package/dist/components/radio-cards.js +1 -1
- package/dist/components/scroll-area.cjs +1 -1
- package/dist/components/scroll-area.js +1 -1
- package/dist/components/select.cjs +1 -1
- package/dist/components/select.js +1 -1
- package/dist/components/sheet.cjs +1 -1
- package/dist/components/sheet.js +1 -1
- package/dist/components/sidebar.cjs +1 -1
- package/dist/components/sidebar.js +1 -1
- package/dist/index.cjs +1 -1
- package/dist/index.cjs.map +1 -1
- package/dist/index.css +1 -1
- package/dist/index.css.map +1 -1
- package/dist/index.js +1 -1
- package/dist/variants/button.variants.cjs +1 -1
- package/dist/variants/button.variants.d.cts +0 -21
- package/dist/variants/button.variants.d.ts +0 -21
- package/dist/variants/button.variants.js +1 -1
- package/package.json +7 -7
- package/dist/chunk-6LL5EQAE.cjs.map +0 -1
- package/dist/chunk-C6I24UU5.js.map +0 -1
- package/dist/chunk-EGY5ICBL.cjs.map +0 -1
- package/dist/chunk-GGPIDYQC.js +0 -2
- package/dist/chunk-GGPIDYQC.js.map +0 -1
- package/dist/chunk-HV4HLOTW.cjs +0 -2
- package/dist/chunk-HV4HLOTW.cjs.map +0 -1
- package/dist/chunk-I5SKL4NE.js +0 -2
- package/dist/chunk-I5SKL4NE.js.map +0 -1
- package/dist/chunk-KRMPCH3E.js +0 -2
- package/dist/chunk-KRMPCH3E.js.map +0 -1
- package/dist/chunk-L4TXGBGM.js.map +0 -1
- package/dist/chunk-PIJN35MC.cjs.map +0 -1
- package/dist/chunk-RD5ZOT6N.cjs +0 -2
- package/dist/chunk-RD5ZOT6N.cjs.map +0 -1
- package/dist/chunk-SRVIWHMN.cjs +0 -2
- package/dist/chunk-SRVIWHMN.cjs.map +0 -1
- package/dist/chunk-TAVXLFQE.js +0 -2
- package/dist/chunk-TAVXLFQE.js.map +0 -1
- package/dist/chunk-TB6L4INZ.js +0 -2
- package/dist/chunk-TLVUBHED.js +0 -2
- package/dist/chunk-TZA6RQAF.js +0 -2
- package/dist/chunk-TZA6RQAF.js.map +0 -1
- package/dist/chunk-U2275H6S.cjs +0 -2
- package/dist/chunk-VEXA5WBY.cjs +0 -2
- package/dist/chunk-VEXA5WBY.cjs.map +0 -1
- package/dist/chunk-VIZADH2K.cjs +0 -2
- package/dist/chunk-VIZADH2K.cjs.map +0 -1
- /package/dist/{chunk-LDAZP6I6.js.map → chunk-465NF254.js.map} +0 -0
- /package/dist/{chunk-KZZLDLIH.js.map → chunk-6HGHPY6T.js.map} +0 -0
- /package/dist/{chunk-KT25BHLM.js.map → chunk-EEW6YK3J.js.map} +0 -0
- /package/dist/{chunk-5NVU3OSZ.js.map → chunk-MQ3ZMVF4.js.map} +0 -0
- /package/dist/{chunk-HAVND45W.js.map → chunk-MYM5XJQR.js.map} +0 -0
- /package/dist/{chunk-TPYKFY52.js.map → chunk-PQHOKH32.js.map} +0 -0
- /package/dist/{chunk-KX4STYPY.js.map → chunk-QEHCKMEW.js.map} +0 -0
- /package/dist/{chunk-HQ6DUL6D.js.map → chunk-SISTMH2V.js.map} +0 -0
- /package/dist/{chunk-LYULASEA.js.map → chunk-SKTMUT4Q.js.map} +0 -0
- /package/dist/{chunk-IRFNIQ3S.js.map → chunk-VZBRWHQ2.js.map} +0 -0
- /package/dist/{chunk-ZPQ2TVNB.js.map → chunk-YHAJRZCH.js.map} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-EHXXHEKF.cjs","../src/components/dialog.tsx"],"names":["Dialog","DialogTrigger","DialogContent","children","className","props","jsxs","jsx","cn","buttonVariants","XIcon","DialogHeader","DialogBody","DialogFooter","DialogTitle","DialogDescription","DialogClose","size","variant"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-EHXXHEKF.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\n\nimport type { ButtonVariantsProps } from '@/variants/button.variants';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/variants/button.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Dialog\n * -------------------------------------------------------------------------- */\n\ntype DialogProps = ComponentProps<typeof DialogPrimitive.Root>;\nconst Dialog = DialogPrimitive.Root;\n\n/* -----------------------------------------------------------------------------\n * Component: DialogTrigger\n * -------------------------------------------------------------------------- */\n\ntype DialogTriggerProps = ComponentProps<typeof DialogPrimitive.Trigger>;\nconst DialogTrigger = DialogPrimitive.Trigger;\n\n/* -----------------------------------------------------------------------------\n * Component: DialogContent\n * -------------------------------------------------------------------------- */\n\ntype DialogContentProps = ComponentProps<typeof DialogPrimitive.Content>;\n\nfunction DialogContent({ children, className, ...props }: DialogContentProps): JSX.Element {\n return (\n <DialogPrimitive.Portal>\n <DialogPrimitive.Overlay className=\"bg-popover-overlay data-[state=open]:animate-fade-in data-[state=closed]:animate-fade-out fixed inset-0 z-50\" />\n <DialogPrimitive.Content\n className=\"data-[state=open]:animate-in max-sm:data-[state=open]:animation-duration-500 max-sm:data-[state=open]:slide-from-b-full sm:data-[state=open]:fade-in-0 sm:data-[state=open]:zoom-in-95 data-[state=closed]:animate-out max-sm:data-[state=closed]:animation-duration-500 max-sm:data-[state=closed]:slide-to-b-full sm:data-[state=closed]:fade-out-0 sm:data-[state=closed]:zoom-out-95 fixed inset-0 z-50 grid grid-rows-[1fr_auto] justify-items-center overflow-auto sm:grid-rows-[1fr_auto_3fr] sm:p-4\"\n {...props}\n >\n <div\n className={cn(\n 'bg-popover text-popover-foreground relative row-start-2 flex w-full flex-col rounded-t-2xl border shadow-lg sm:max-w-lg sm:rounded-2xl',\n className,\n )}\n >\n {children}\n <DialogPrimitive.Close\n className={buttonVariants({\n className: 'absolute right-2.5 top-2.5',\n icon: true,\n size: '2xs',\n variant: 'ghost',\n })}\n >\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </div>\n </DialogPrimitive.Content>\n </DialogPrimitive.Portal>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogHeader\n * -------------------------------------------------------------------------- */\n\ntype DialogHeaderProps = ComponentProps<'div'>;\n\nfunction DialogHeader({ className, ...props }: DialogHeaderProps): JSX.Element {\n return (\n <header\n className={cn('flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left', className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogBody\n * -------------------------------------------------------------------------- */\n\ntype DialogBodyProps = ComponentProps<'div'>;\n\nfunction DialogBody({ className, ...props }: DialogBodyProps): JSX.Element {\n return <main className={cn('overflow-auto px-6 py-2', className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogFooter\n * -------------------------------------------------------------------------- */\n\ntype DialogFooterProps = ComponentProps<'div'>;\n\nfunction DialogFooter({ className, ...props }: DialogFooterProps): JSX.Element {\n return (\n <footer\n className={cn('flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end', className)}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogTitle\n * -------------------------------------------------------------------------- */\n\ntype DialogTitleProps = ComponentProps<typeof DialogPrimitive.Title>;\n\nfunction DialogTitle({ className, ...props }: DialogTitleProps): JSX.Element {\n return (\n <DialogPrimitive.Title className={cn('text-lg font-semibold leading-none tracking-tight', className)} {...props} />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogDescription\n * -------------------------------------------------------------------------- */\n\ntype DialogDescriptionProps = ComponentProps<typeof DialogPrimitive.Description>;\n\nfunction DialogDescription({ className, ...props }: DialogDescriptionProps): JSX.Element {\n return <DialogPrimitive.Description className={cn('text-muted-foreground text-sm', className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: DialogClose\n * -------------------------------------------------------------------------- */\n\ninterface DialogCloseProps extends ComponentProps<typeof DialogPrimitive.Close> {\n size?: ButtonVariantsProps['size'];\n variant?: ButtonVariantsProps['variant'];\n}\n\nfunction DialogClose({ className, size, variant = 'outline', ...props }: DialogCloseProps): JSX.Element {\n return <DialogPrimitive.Close className={buttonVariants({ className, size, variant })} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n DialogBodyProps,\n DialogCloseProps,\n DialogContentProps,\n DialogDescriptionProps,\n DialogFooterProps,\n DialogHeaderProps,\n DialogProps,\n DialogTitleProps,\n DialogTriggerProps,\n};\nexport {\n Dialog,\n DialogBody,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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; } }var _chunkB4S3AVXYcjs = require('./chunk-B4S3AVXY.cjs');var _chunkZQYHFDULcjs = require('./chunk-ZQYHFDUL.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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; } }var _chunkB4S3AVXYcjs = require('./chunk-B4S3AVXY.cjs');var _chunkZQYHFDULcjs = require('./chunk-ZQYHFDUL.cjs');var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _numberinput = require('@codefast-ui/number-input'); var e = _interopRequireWildcard(_numberinput);var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');var{input:R,root:k}=_chunkB4S3AVXYcjs.a.call(void 0, );function J({id:p,ariaDecrementLabel:m,ariaIncrementLabel:a,className:s,defaultValue:l,disabled:d,formatOptions:c,inputSize:t,loaderPosition:f,loading:v,max:b,min:I,onChange:N,prefix:P,readOnly:h,spinner:C,step:y,suffix:g,value:x,...V}){return _jsxruntime.jsxs.call(void 0, e.Root,{ariaDecrementLabel:m,ariaIncrementLabel:a,className:k({className:["pr-0",s],inputSize:t}),defaultValue:l,disabled:d,formatOptions:c,id:p,loaderPosition:f,loading:v,max:b,min:I,prefix:P,readOnly:h,spinner:C||_jsxruntime.jsx.call(void 0, _chunkZQYHFDULcjs.a,{}),step:y,suffix:g,value:x,onChange:N,children:[_jsxruntime.jsx.call(void 0, e.Item,{autoCapitalize:"off",autoComplete:"off",autoCorrect:"off",className:R({inputSize:t}),inputMode:"numeric",spellCheck:"false",...V}),_jsxruntime.jsxs.call(void 0, "div",{className:"peer-hover:divide-input-hover peer-hover:border-l-input-hover peer-focus:divide-input-focus peer-focus:border-l-input-focus divide-input border-input order-last ml-auto grid h-full shrink-0 divide-y border-l transition",children:[_jsxruntime.jsx.call(void 0, e.IncrementButton,{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:"h-full rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]",icon:!0,size:t,variant:"ghost"}),children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronUpIcon,{})}),_jsxruntime.jsx.call(void 0, e.DecrementButton,{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:"h-full rounded-none rounded-br-[calc(var(--radius-lg)-1px)]",icon:!0,size:t,variant:"ghost"}),children:_jsxruntime.jsx.call(void 0, _lucidereact.ChevronDownIcon,{})})]})]})}var E=J;exports.a = J; exports.b = E;
|
|
2
|
+
//# sourceMappingURL=chunk-GXL45YCO.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GXL45YCO.cjs","../src/components/input-number.tsx"],"names":["input","root","inputVariants","InputNumber","id","ariaDecrementLabel","ariaIncrementLabel","className","defaultValue","disabled","formatOptions","inputSize","loaderPosition","loading","max","min","onChange","prefix","readOnly","spinner","step","suffix","value","props","jsxs","jsx","Spinner","buttonVariants","ChevronUpIcon","ChevronDownIcon","NumberInput"],"mappings":"AAAA,mZAAwC,wDAAyC,wDAAyC,uGCEpF,2CACS,+CAwDrB,GAhDpB,CAAE,KAAA,CAAAA,CAAAA,CAAO,IAAA,CAAAC,CAAK,CAAA,CAAIC,iCAAAA,CAAc,CAWtC,SAASC,CAAAA,CAAY,CACnB,EAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,kBAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,YAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,aAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,GAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,KAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAAkC,CAChC,OACEC,8BAAAA,CAAsB,CAAA,IAAA,CAArB,CACC,kBAAA,CAAoBnB,CAAAA,CACpB,kBAAA,CAAoBC,CAAAA,CACpB,SAAA,CAAWL,CAAAA,CAAK,CAAE,SAAA,CAAW,CAAC,MAAA,CAAQM,CAAS,CAAA,CAAG,SAAA,CAAAI,CAAU,CAAC,CAAA,CAC7D,YAAA,CAAcH,CAAAA,CACd,QAAA,CAAUC,CAAAA,CACV,aAAA,CAAeC,CAAAA,CACf,EAAA,CAAIN,CAAAA,CACJ,cAAA,CAAgBQ,CAAAA,CAChB,OAAA,CAASC,CAAAA,CACT,GAAA,CAAKC,CAAAA,CACL,GAAA,CAAKC,CAAAA,CACL,MAAA,CAAQE,CAAAA,CACR,QAAA,CAAUC,CAAAA,CACV,OAAA,CAASC,CAAAA,EAAWM,6BAAAA,mBAACC,CAAA,CAAA,CAAQ,CAAA,CAC7B,IAAA,CAAMN,CAAAA,CACN,MAAA,CAAQC,CAAAA,CACR,KAAA,CAAOC,CAAAA,CACP,QAAA,CAAUN,CAAAA,CAEV,QAAA,CAAA,CAAAS,6BAAAA,CAAsB,CAAA,IAAA,CAArB,CACC,cAAA,CAAe,KAAA,CACf,YAAA,CAAa,KAAA,CACb,WAAA,CAAY,KAAA,CACZ,SAAA,CAAWzB,CAAAA,CAAM,CAAE,SAAA,CAAAW,CAAU,CAAC,CAAA,CAC9B,SAAA,CAAU,SAAA,CACV,UAAA,CAAW,OAAA,CACV,GAAGY,CAAAA,CACN,CAAA,CACAC,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAU,4NAAA,CACb,QAAA,CAAA,CAAAC,6BAAAA,CAAsB,CAAA,eAAA,CAArB,CACC,SAAA,CAAWE,iCAAAA,CACT,SAAA,CAAW,6DAAA,CACX,IAAA,CAAM,CAAA,CAAA,CACN,IAAA,CAAMhB,CAAAA,CACN,OAAA,CAAS,OACX,CAAC,CAAA,CAED,QAAA,CAAAc,6BAAAA,0BAACG,CAAA,CAAA,CAAc,CAAA,CACjB,CAAA,CACAH,6BAAAA,CAAsB,CAAA,eAAA,CAArB,CACC,SAAA,CAAWE,iCAAAA,CACT,SAAA,CAAW,6DAAA,CACX,IAAA,CAAM,CAAA,CAAA,CACN,IAAA,CAAMhB,CAAAA,CACN,OAAA,CAAS,OACX,CAAC,CAAA,CAED,QAAA,CAAAc,6BAAAA,4BAACI,CAAA,CAAA,CAAgB,CAAA,CACnB,CAAA,CAAA,CACF,CAAA,CAAA,CACF,CAEJ,CAkBA,IAAMC,CAAAA,CAAc3B,CAAAA,CAAAA,6BAAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-GXL45YCO.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport * as InputNumberPrimitive from '@codefast-ui/number-input';\nimport { ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\n\nimport type { InputVariantsProps } from '@/variants/input.variants';\n\nimport { Spinner } from '@/components/spinner';\nimport { buttonVariants } from '@/variants/button.variants';\nimport { inputVariants } from '@/variants/input.variants';\n\nconst { input, root } = inputVariants();\n\n/* -----------------------------------------------------------------------------\n * Component: InputNumber\n * -------------------------------------------------------------------------- */\n\ninterface InputNumberProps\n extends InputVariantsProps,\n ComponentProps<typeof InputNumberPrimitive.Root>,\n ComponentProps<typeof InputNumberPrimitive.Item> {}\n\nfunction InputNumber({\n id,\n ariaDecrementLabel,\n ariaIncrementLabel,\n className,\n defaultValue,\n disabled,\n formatOptions,\n inputSize,\n loaderPosition,\n loading,\n max,\n min,\n onChange,\n prefix,\n readOnly,\n spinner,\n step,\n suffix,\n value,\n ...props\n}: InputNumberProps): JSX.Element {\n return (\n <InputNumberPrimitive.Root\n ariaDecrementLabel={ariaDecrementLabel}\n ariaIncrementLabel={ariaIncrementLabel}\n className={root({ className: ['pr-0', className], inputSize })}\n defaultValue={defaultValue}\n disabled={disabled}\n formatOptions={formatOptions}\n id={id}\n loaderPosition={loaderPosition}\n loading={loading}\n max={max}\n min={min}\n prefix={prefix}\n readOnly={readOnly}\n spinner={spinner || <Spinner />}\n step={step}\n suffix={suffix}\n value={value}\n onChange={onChange}\n >\n <InputNumberPrimitive.Item\n autoCapitalize=\"off\"\n autoComplete=\"off\"\n autoCorrect=\"off\"\n className={input({ inputSize })}\n inputMode=\"numeric\"\n spellCheck=\"false\"\n {...props}\n />\n <div className=\"peer-hover:divide-input-hover peer-hover:border-l-input-hover peer-focus:divide-input-focus peer-focus:border-l-input-focus divide-input border-input order-last ml-auto grid h-full shrink-0 divide-y border-l transition\">\n <InputNumberPrimitive.IncrementButton\n className={buttonVariants({\n className: 'h-full rounded-none rounded-tr-[calc(var(--radius-lg)-1px)]',\n icon: true,\n size: inputSize,\n variant: 'ghost',\n })}\n >\n <ChevronUpIcon />\n </InputNumberPrimitive.IncrementButton>\n <InputNumberPrimitive.DecrementButton\n className={buttonVariants({\n className: 'h-full rounded-none rounded-br-[calc(var(--radius-lg)-1px)]',\n icon: true,\n size: inputSize,\n variant: 'ghost',\n })}\n >\n <ChevronDownIcon />\n </InputNumberPrimitive.DecrementButton>\n </div>\n </InputNumberPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Deprecated\n * -------------------------------------------------------------------------- */\n\n/**\n * @deprecated\n * This type is an alias of the InputNumberProps type.\n * Please use the InputNumberProps type instead to ensure consistency.\n */\ntype NumberInputProps = InputNumberProps;\n\n/**\n * @deprecated\n * This component is an alias of the Input component.\n * Please use the Input component instead to ensure consistency.\n */\nconst NumberInput = InputNumber;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { InputNumberProps, NumberInputProps };\nexport { InputNumber, NumberInput };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a}from"./chunk-OKUFCFYT.js";import{tv as o}from"tailwind-variants";import{jsx as s}from"react/jsx-runtime";var i=o({base:"relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current",variants:{variant:{default:"bg-background text-foreground",destructive:"text-destructive *:data-[slot=alert-description]:text-destructive/80 [&>svg]:text-current"}},defaultVariants:{variant:"default"}});function p({className:t,variant:r,...e}){return s("div",{className:i({className:t,variant:r}),"data-slot":"alert",role:"alert",...e})}function d({children:t,className:r,...e}){return s("div",{className:a("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight",r),"data-slot":"alert-title",...e,children:t})}function c({className:t,...r}){return s("div",{className:a("text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed",t),"data-slot":"alert-description",...r})}export{p as a,d as b,c};
|
|
2
|
+
//# sourceMappingURL=chunk-HHC2EREZ.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/alert.tsx"],"names":["tv","jsx","alertVariants","Alert","className","variant","props","AlertTitle","children","cn","AlertDescription"],"mappings":"mCAGA,OAAS,MAAAA,MAAU,oBA8BV,cAAAC,MAAA,oBAtBT,IAAMC,EAAgBF,EAAG,CACvB,KAAM,0NACN,SAAU,CACR,QAAS,CACP,QAAS,gCACT,YAAa,2FACf,CACF,EACA,gBAAiB,CACf,QAAS,SACX,CACF,CAAC,EAUD,SAASG,EAAM,CAAE,UAAAC,EAAW,QAAAC,EAAS,GAAGC,CAAM,EAA4B,CACxE,OAAOL,EAAC,OAAI,UAAWC,EAAc,CAAE,UAAAE,EAAW,QAAAC,CAAQ,CAAC,EAAG,YAAU,QAAQ,KAAK,QAAS,GAAGC,EAAO,CAC1G,CAQA,SAASC,EAAW,CAAE,SAAAC,EAAU,UAAAJ,EAAW,GAAGE,CAAM,EAAiC,CACnF,OACEL,EAAC,OACC,UAAWQ,EAAG,8DAA+DL,CAAS,EACtF,YAAU,cACT,GAAGE,EAEH,SAAAE,EACH,CAEJ,CAQA,SAASE,EAAiB,CAAE,UAAAN,EAAW,GAAGE,CAAM,EAAuC,CACrF,OACEL,EAAC,OACC,UAAWQ,EACT,iGACAL,CACF,EACA,YAAU,oBACT,GAAGE,EACN,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { tv } from 'tailwind-variants';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Variant: Alert\n * -------------------------------------------------------------------------- */\n\nconst alertVariants = tv({\n base: 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[--spacing(4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n variants: {\n variant: {\n default: 'bg-background text-foreground',\n destructive: 'text-destructive *:data-[slot=alert-description]:text-destructive/80 [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\ntype AlertVariantsProps = VariantProps<typeof alertVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Alert\n * -------------------------------------------------------------------------- */\n\ntype AlertProps = AlertVariantsProps & ComponentProps<'div'>;\n\nfunction Alert({ className, variant, ...props }: AlertProps): JSX.Element {\n return <div className={alertVariants({ className, variant })} data-slot=\"alert\" role=\"alert\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertTitle\n * -------------------------------------------------------------------------- */\n\ntype AlertTitleProps = ComponentProps<'div'>;\n\nfunction AlertTitle({ children, className, ...props }: AlertTitleProps): JSX.Element {\n return (\n <div\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n data-slot=\"alert-title\"\n {...props}\n >\n {children}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: AlertDescription\n * -------------------------------------------------------------------------- */\n\ntype AlertDescriptionProps = ComponentProps<'div'>;\n\nfunction AlertDescription({ className, ...props }: AlertDescriptionProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-muted-foreground col-start-2 grid justify-items-start gap-1 text-sm [&_p]:leading-relaxed',\n className,\n )}\n data-slot=\"alert-description\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { AlertDescriptionProps, AlertProps, AlertTitleProps };\nexport { Alert, AlertDescription, AlertTitle };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var i=_tailwindvariants.tv.call(void 0, {base:"inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md px-1.5 py-0.5 text-sm/5 font-medium sm:text-xs/5 [&>svg]:shrink-0",variants:{variant:{default:"bg-primary text-primary-foreground",secondary:"bg-secondary text-secondary-foreground",destructive:"bg-destructive text-destructive-foreground",outline:"bg-background border-input border"}},defaultVariants:{variant:"default"}});function g({children:e,className:t,prefix:r,suffix:a,variant:o,...n}){return _jsxruntime.jsxs.call(void 0, "div",{className:i({className:t,variant:o}),...n,children:[r,typeof e=="string"?_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:e}):e,a]})}exports.a = g;
|
|
2
|
+
//# sourceMappingURL=chunk-HID6HIJO.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/components/badge.tsx"],"names":["badgeVariants","tv","Badge","children","className","prefix","suffix","variant","props","jsxs","jsx"],"mappings":"AAGA,8HAAmB,+CAkCf,IA5BEA,CAAAA,CAAgBC,kCAAAA,CACpB,IAAA,CAAM,uJAAA,CACN,QAAA,CAAU,CACR,OAAA,CAAS,CACP,OAAA,CAAS,oCAAA,CACT,SAAA,CAAW,wCAAA,CACX,WAAA,CAAa,4CAAA,CACb,OAAA,CAAS,mCACX,CACF,CAAA,CACA,eAAA,CAAiB,CACf,OAAA,CAAS,SACX,CACF,CAAC,CAAA,CAaD,SAASC,CAAAA,CAAM,CAAE,QAAA,CAAAC,CAAAA,CAAU,SAAA,CAAAC,CAAAA,CAAW,MAAA,CAAAC,CAAAA,CAAQ,MAAA,CAAAC,CAAAA,CAAQ,OAAA,CAAAC,CAAAA,CAAS,GAAGC,CAAM,CAAA,CAA4B,CAClG,OACEC,8BAAAA,KAAC,CAAA,CAAI,SAAA,CAAWT,CAAAA,CAAc,CAAE,SAAA,CAAAI,CAAAA,CAAW,OAAA,CAAAG,CAAQ,CAAC,CAAA,CAAI,GAAGC,CAAAA,CACxD,QAAA,CAAA,CAAAH,CAAAA,CACA,OAAOF,CAAAA,EAAa,QAAA,CAAWO,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,UAAA,CAAY,QAAA,CAAAP,CAAAA,CAAS,CAAA,CAAUA,CAAAA,CAC9EG,CAAAA,CAAAA,CACH,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HID6HIJO.cjs","sourcesContent":["import type { ComponentProps, JSX, ReactNode } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { tv } from 'tailwind-variants';\n\n/* -----------------------------------------------------------------------------\n * Variant: Badge\n * -------------------------------------------------------------------------- */\n\nconst badgeVariants = tv({\n base: 'inline-flex shrink-0 items-center justify-center gap-2 whitespace-nowrap rounded-md px-1.5 py-0.5 text-sm/5 font-medium sm:text-xs/5 [&>svg]:shrink-0',\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground',\n secondary: 'bg-secondary text-secondary-foreground',\n destructive: 'bg-destructive text-destructive-foreground',\n outline: 'bg-background border-input border',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n});\n\ntype BadgeVariantsProps = VariantProps<typeof badgeVariants>;\n\n/* -----------------------------------------------------------------------------\n * Component: Badge\n * -------------------------------------------------------------------------- */\n\ninterface BadgeProps extends Omit<ComponentProps<'div'>, 'prefix'>, BadgeVariantsProps {\n prefix?: ReactNode;\n suffix?: ReactNode;\n}\n\nfunction Badge({ children, className, prefix, suffix, variant, ...props }: BadgeProps): JSX.Element {\n return (\n <div className={badgeVariants({ className, variant })} {...props}>\n {prefix}\n {typeof children === 'string' ? <span className=\"truncate\">{children}</span> : children}\n {suffix}\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { BadgeProps };\nexport { Badge };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _lucidereact = require('lucide-react');var _jsxruntime = require('react/jsx-runtime');function x({className:n,...a}){return _jsxruntime.jsx.call(void 0, "nav",{"aria-label":"pagination",className:_chunkSMJEDCFPcjs.a.call(void 0, "mx-auto flex w-full justify-center",n),role:"navigation",...a})}function y({className:n,...a}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-row items-center gap-1",n),...a})}function C(n){return _jsxruntime.jsx.call(void 0, "li",{...n})}function r({children:n,className:a,icon:p=!0,isActive:e,size:P,...l}){return _jsxruntime.jsx.call(void 0, "a",{"aria-current":e?"page":void 0,className:_chunk3EIIPNVCcjs.a.call(void 0, {className:a,icon:p,size:P,variant:e?"outline":"ghost"}),...l,children:n})}function E({...n}){return _jsxruntime.jsxs.call(void 0, r,{"aria-label":"Go to previous page",icon:!1,...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.ChevronLeftIcon,{className:"size-4"}),_jsxruntime.jsx.call(void 0, "span",{children:"Previous"})]})}function N({...n}){return _jsxruntime.jsxs.call(void 0, r,{"aria-label":"Go to next page",icon:!1,...n,children:[_jsxruntime.jsx.call(void 0, "span",{children:"Next"}),_jsxruntime.jsx.call(void 0, _lucidereact.ChevronRightIcon,{})]})}function k({className:n,...a}){return _jsxruntime.jsxs.call(void 0, "span",{"aria-hidden":!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "flex size-10 items-center justify-center",n),...a,children:[_jsxruntime.jsx.call(void 0, _lucidereact.EllipsisIcon,{className:"size-4"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"More pages"})]})}exports.a = x; exports.b = y; exports.c = C; exports.d = r; exports.e = E; exports.f = N; exports.g = k;
|
|
2
|
+
//# sourceMappingURL=chunk-HTD5E2KS.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HTD5E2KS.cjs","../src/components/pagination.tsx"],"names":["Pagination","className","props","jsx","cn","PaginationContent","PaginationItem","PaginationLink","children","icon","isActive","size","buttonVariants","PaginationPrevious","jsxs","ChevronLeftIcon","PaginationNext","ChevronRightIcon","PaginationEllipsis","EllipsisIcon"],"mappings":"AAAA,iIAAwC,wDAAyC,2CCEjB,+CAe5D,SAFKA,CAAAA,CAAW,CAAE,SAAA,CAAAC,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAiC,CACzE,OACEC,6BAAAA,KAAC,CAAA,CACC,YAAA,CAAW,YAAA,CACX,SAAA,CAAWC,iCAAAA,oCAAG,CAAsCH,CAAS,CAAA,CAC7D,IAAA,CAAK,YAAA,CACJ,GAAGC,CAAAA,CACN,CAEJ,CAQA,SAASG,CAAAA,CAAkB,CAAE,SAAA,CAAAJ,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAwC,CACvF,OAAOC,6BAAAA,IAAC,CAAA,CAAG,SAAA,CAAWC,iCAAAA,kCAAG,CAAoCH,CAAS,CAAA,CAAI,GAAGC,CAAAA,CAAO,CACtF,CAQA,SAASI,CAAAA,CAAeJ,CAAAA,CAAyC,CAC/D,OAAOC,6BAAAA,IAAC,CAAA,CAAI,GAAGD,CAAAA,CAAO,CACxB,CAUA,SAASK,CAAAA,CAAe,CACtB,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAP,CAAAA,CACA,IAAA,CAAAQ,CAAAA,CAAO,CAAA,CAAA,CACP,QAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,GAAGT,CACL,CAAA,CAAqC,CACnC,OACEC,6BAAAA,GAAC,CAAA,CACC,cAAA,CAAcO,CAAAA,CAAW,MAAA,CAAS,KAAA,CAAA,CAClC,SAAA,CAAWE,iCAAAA,CAAiB,SAAA,CAAAX,CAAAA,CAAW,IAAA,CAAAQ,CAAAA,CAAM,IAAA,CAAAE,CAAAA,CAAM,OAAA,CAASD,CAAAA,CAAW,SAAA,CAAY,OAAQ,CAAC,CAAA,CAC3F,GAAGR,CAAAA,CAEH,QAAA,CAAAM,CAAAA,CACH,CAEJ,CAQA,SAASK,CAAAA,CAAmB,CAAE,GAAGX,CAAM,CAAA,CAAyC,CAC9E,OACEY,8BAAAA,CAACP,CAAA,CAAe,YAAA,CAAW,qBAAA,CAAsB,IAAA,CAAM,CAAA,CAAA,CAAQ,GAAGL,CAAAA,CAChE,QAAA,CAAA,CAAAC,6BAAAA,4BAACY,CAAA,CAAgB,SAAA,CAAU,QAAA,CAAS,CAAA,CACpCZ,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,UAAA,CAAQ,CAAA,CAAA,CAChB,CAEJ,CAQA,SAASa,CAAAA,CAAe,CAAE,GAAGd,CAAM,CAAA,CAAqC,CACtE,OACEY,8BAAAA,CAACP,CAAA,CAAe,YAAA,CAAW,iBAAA,CAAkB,IAAA,CAAM,CAAA,CAAA,CAAQ,GAAGL,CAAAA,CAC5D,QAAA,CAAA,CAAAC,6BAAAA,MAAC,CAAA,CAAK,QAAA,CAAA,MAAA,CAAI,CAAA,CACVA,6BAAAA,6BAACc,CAAA,CAAA,CAAiB,CAAA,CAAA,CACpB,CAEJ,CAQA,SAASC,CAAAA,CAAmB,CAAE,SAAA,CAAAjB,CAAAA,CAAW,GAAGC,CAAM,CAAA,CAAyC,CACzF,OACEY,8BAAAA,MAAC,CAAA,CAAK,aAAA,CAAW,CAAA,CAAA,CAAC,SAAA,CAAWV,iCAAAA,0CAAG,CAA4CH,CAAS,CAAA,CAAI,GAAGC,CAAAA,CAC1F,QAAA,CAAA,CAAAC,6BAAAA,yBAACgB,CAAA,CAAa,SAAA,CAAU,QAAA,CAAS,CAAA,CACjChB,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,SAAA,CAAU,QAAA,CAAA,YAAA,CAAU,CAAA,CAAA,CACtC,CAEJ,CAAA,wGAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-HTD5E2KS.cjs","sourcesContent":[null,"import type { ComponentProps, JSX } from 'react';\n\nimport { ChevronLeftIcon, ChevronRightIcon, EllipsisIcon } from 'lucide-react';\n\nimport type { ButtonVariantsProps } from '@/variants/button.variants';\n\nimport { cn } from '@/lib/utils';\nimport { buttonVariants } from '@/variants/button.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Pagination\n * -------------------------------------------------------------------------- */\n\ntype PaginationProps = ComponentProps<'nav'>;\n\nfunction Pagination({ className, ...props }: PaginationProps): JSX.Element {\n return (\n <nav\n aria-label=\"pagination\"\n className={cn('mx-auto flex w-full justify-center', className)}\n role=\"navigation\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationContent\n * -------------------------------------------------------------------------- */\n\ntype PaginationContentProps = ComponentProps<'ul'>;\n\nfunction PaginationContent({ className, ...props }: PaginationContentProps): JSX.Element {\n return <ul className={cn('flex flex-row items-center gap-1', className)} {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationItem\n * -------------------------------------------------------------------------- */\n\ntype PaginationItemProps = ComponentProps<'li'>;\n\nfunction PaginationItem(props: PaginationItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationLink\n * -------------------------------------------------------------------------- */\n\ninterface PaginationLinkProps extends ComponentProps<'a'>, Pick<ButtonVariantsProps, 'icon' | 'size'> {\n isActive?: boolean;\n}\n\nfunction PaginationLink({\n children,\n className,\n icon = true,\n isActive,\n size,\n ...props\n}: PaginationLinkProps): JSX.Element {\n return (\n <a\n aria-current={isActive ? 'page' : undefined}\n className={buttonVariants({ className, icon, size, variant: isActive ? 'outline' : 'ghost' })}\n {...props}\n >\n {children}\n </a>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationPrevious\n * -------------------------------------------------------------------------- */\n\ntype PaginationPreviousProps = PaginationLinkProps;\n\nfunction PaginationPrevious({ ...props }: PaginationPreviousProps): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to previous page\" icon={false} {...props}>\n <ChevronLeftIcon className=\"size-4\" />\n <span>Previous</span>\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationNext\n * -------------------------------------------------------------------------- */\n\ntype PaginationNextProps = PaginationLinkProps;\n\nfunction PaginationNext({ ...props }: PaginationNextProps): JSX.Element {\n return (\n <PaginationLink aria-label=\"Go to next page\" icon={false} {...props}>\n <span>Next</span>\n <ChevronRightIcon />\n </PaginationLink>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: PaginationEllipsis\n * -------------------------------------------------------------------------- */\n\ntype PaginationEllipsisProps = ComponentProps<'span'>;\n\nfunction PaginationEllipsis({ className, ...props }: PaginationEllipsisProps): JSX.Element {\n return (\n <span aria-hidden className={cn('flex size-10 items-center justify-center', className)} {...props}>\n <EllipsisIcon className=\"size-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type {\n PaginationContentProps,\n PaginationEllipsisProps,\n PaginationItemProps,\n PaginationLinkProps,\n PaginationNextProps,\n PaginationPreviousProps,\n PaginationProps,\n};\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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; } }"use client";var _chunkB4S3AVXYcjs = require('./chunk-B4S3AVXY.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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; } }"use client";var _chunkB4S3AVXYcjs = require('./chunk-B4S3AVXY.cjs');var _chunkIMMPDUHIcjs = require('./chunk-IMMPDUHI.cjs');var _chunkZQYHFDULcjs = require('./chunk-ZQYHFDUL.cjs');var _input = require('@codefast-ui/input'); var o = _interopRequireWildcard(_input);var _lucidereact = require('lucide-react');var _react = require('react');var _jsxruntime = require('react/jsx-runtime');var{input:b,root:g}=_chunkB4S3AVXYcjs.a.call(void 0, );function H({className:a,disabled:p,inputSize:s,loaderPosition:m,loading:d,prefix:u,readOnly:P,spinner:l,suffix:f,...I}){let[r,w]=_react.useState.call(void 0, "password"),c=_react.useCallback.call(void 0, ()=>{w(y=>y==="password"?"text":"password")},[]);return _jsxruntime.jsxs.call(void 0, o.Root,{className:g({className:a,inputSize:s}),disabled:p,loaderPosition:m,loading:d,prefix:u,readOnly:P,spinner:l||_jsxruntime.jsx.call(void 0, _chunkZQYHFDULcjs.a,{}),suffix:f,children:[_jsxruntime.jsx.call(void 0, o.Item,{className:b({inputSize:s}),type:r,...I}),_jsxruntime.jsx.call(void 0, _chunkIMMPDUHIcjs.a,{icon:!0,inside:!0,"aria-label":r==="password"?"Show password":"Hide password",className:"rounded-full",disabled:p,prefix:r==="password"?_jsxruntime.jsx.call(void 0, _lucidereact.EyeOffIcon,{}):_jsxruntime.jsx.call(void 0, _lucidereact.EyeIcon,{}),size:s,variant:"ghost",onClick:c})]})}var h=H;exports.a = H; exports.b = h;
|
|
2
|
+
//# sourceMappingURL=chunk-IJKGBALW.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IJKGBALW.cjs","../src/components/input-password.tsx"],"names":["InputPrimitive","root","InputPassword","className","disabled","inputSize","readOnly","props","type","setType","useState","togglePasswordVisibility","prev","jsxs","spinner","jsx","Spinner","suffix","input","Button","EyeOffIcon","PasswordInput"],"mappings":"AAAA,uWAAY,CAAC,wDAAwC,wDAAyC,wDCIlFA,oFACH,2CACA,8BAiDiB,+CArCX,GAAA,CAAAC,KAAuB,CAAA,CAWtC,CAAA,IAAA,CAAA,CAAA,CAAA,CAASC,iCAAAA,CACP,CAAA,SAAAC,CAAAA,CACA,CAAA,SAAAC,CACA,CAAA,CAAA,QAAAC,CAAAA,CACA,CAAA,SAAA,CAAA,CAAA,CAAA,cAEA,CAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,MAAAC,CACA,CAAA,CAAA,QACA,CAAA,CAAA,CAAA,OACA,CAAA,CAAGC,CACL,MACQ,CAACC,CAAAA,CAAMC,GAAWC,CAAAA,CAA8B,CAAA,CAAA,GAAA,CAAA,CAAA,CAAA,CAAA,CAAU,CAAA,6BAE1DC,UACKC,CAAAA,CAAAA,CAAUA,CAAAA,gCAAAA,CAAS,CAAA,EAAA,CAAA,CAAA,CAAA,CAAA,EAAA,CAAA,GAAa,UAAS,CAAA,MACpD,CAAG,UAEH,CACEC,CAAAA,CAAgB,CAAA,CAAA,CAAA,CAAA,OACd,8BAAA,CAAA,CAAA,IAAWZ,CAAK,CAAE,SAAA,CAAAE,CAAAA,CAAW,CAAA,SAAAE,CAAU,CAAC,CAAA,SACxC,CAAUD,CAAAA,CACV,CAAA,CAAA,QAAA,CAAA,CAAA,CAAA,cAEA,CAAA,CAAA,CAAA,OACA,CAAA,CAAA,CAAA,MAAUE,CACV,CAAA,CAAA,QAASQ,CAAWC,CAAAA,CAACC,OACrB,CAAA,CAAA,EAAA,6BAAA,mBAAQC,CAER,CAAA,CAAA,CAAA,CAAA,MAAAF,CAAAA,CAAgB,CAAA,QAAK,CAAA,CAAA,6BAAA,CAAA,CAAA,IAAWG,CAAM,CAAE,SAAA,CAAAb,CAAU,CAAC,CAAA,SAAgB,CAAA,CAAGE,CAAAA,CAAO,CAAA,IAC5EY,CAAA,CACC,CAAA,GAAA,CAAI,CAAA,CAAA,CACJ,6BAAA,mBAAA,CAAA,CAAA,IAAM,CACN,CAAA,CAAA,CAAA,MAAA,CAAA,CAAA,CAAA,CAAYX,YAAS,CAAA,CAAA,GAAa,UAAA,CAAA,eAAkB,CAAA,eAC1C,CAAA,SAAA,CAAA,cAEV,CAAA,QAAQA,CAAS,CAAA,CAAA,MAAA,CAAA,CAAA,GAAcY,UAAiB,CAAA,6BAAQ,uBACxD,CAAA,CAAA,CAAA,CAAA,CAAMf,6BAAAA,oBACN,CAAA,CAAA,CAAA,CAAA,CAAA,IAAQ,CAAA,CAAA,CAAA,OACR,CAAA,OACF,CACF,OAoBEgB,CAAgBnB,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,CAAAA,IAAAA,CAAAA,CAAAA,CAAAA,CAAAA,6BAAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IJKGBALW.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, JSX, MouseEventHandler } from 'react';\n\nimport * as InputPrimitive from '@codefast-ui/input';\nimport { EyeIcon, EyeOffIcon } from 'lucide-react';\nimport { useCallback, useState } from 'react';\n\nimport type { InputVariantsProps } from '@/variants/input.variants';\n\nimport { Button } from '@/components/button';\nimport { Spinner } from '@/components/spinner';\nimport { inputVariants } from '@/variants/input.variants';\n\n/* -----------------------------------------------------------------------------\n * Variant: InputPassword\n * -------------------------------------------------------------------------- */\n\nconst { input, root } = inputVariants();\n\n/* -----------------------------------------------------------------------------\n * Component: InputPassword\n * -------------------------------------------------------------------------- */\n\ninterface InputPasswordProps\n extends InputVariantsProps,\n ComponentProps<typeof InputPrimitive.Root>,\n Omit<ComponentProps<typeof InputPrimitive.Item>, 'prefix' | 'type'> {}\n\nfunction InputPassword({\n className,\n disabled,\n inputSize,\n loaderPosition,\n loading,\n prefix,\n readOnly,\n spinner,\n suffix,\n ...props\n}: InputPasswordProps): JSX.Element {\n const [type, setType] = useState<'password' | 'text'>('password');\n\n const togglePasswordVisibility = useCallback<MouseEventHandler<HTMLButtonElement>>(() => {\n setType((prev) => (prev === 'password' ? 'text' : 'password'));\n }, []);\n\n return (\n <InputPrimitive.Root\n className={root({ className, inputSize })}\n disabled={disabled}\n loaderPosition={loaderPosition}\n loading={loading}\n prefix={prefix}\n readOnly={readOnly}\n spinner={spinner || <Spinner />}\n suffix={suffix}\n >\n <InputPrimitive.Item className={input({ inputSize })} type={type} {...props} />\n <Button\n icon\n inside\n aria-label={type === 'password' ? 'Show password' : 'Hide password'}\n className=\"rounded-full\"\n disabled={disabled}\n prefix={type === 'password' ? <EyeOffIcon /> : <EyeIcon />}\n size={inputSize}\n variant=\"ghost\"\n onClick={togglePasswordVisibility}\n />\n </InputPrimitive.Root>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Deprecated\n * -------------------------------------------------------------------------- */\n\n/**\n * @deprecated\n * This type is an alias of the InputPasswordProps type.\n * Please use the InputPasswordProps type instead to ensure consistency.\n */\ntype PasswordInputProps = InputPasswordProps;\n\n/**\n * @deprecated\n * This component is an alias of the Input component.\n * Please use the Input component instead to ensure consistency.\n */\nconst PasswordInput = InputPassword;\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { InputPasswordProps, PasswordInputProps };\nexport { InputPassword, PasswordInput };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZQYHFDULcjs = require('./chunk-ZQYHFDUL.cjs');var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true});var _chunkZQYHFDULcjs = require('./chunk-ZQYHFDUL.cjs');var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _jsxruntime = require('react/jsx-runtime');function y({children:t,className:i,disabled:f,icon:u,inside:m,loaderPosition:r="prefix",loading:o,prefix:x,size:b,spinner:p,suffix:c,variant:a,...P}){return _jsxruntime.jsxs.call(void 0, "button",{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:i,icon:u,inside:m,size:b,variant:a}),"data-variant":a,disabled:o||f,type:"button",...P,children:[o&&r==="prefix"?p||_jsxruntime.jsx.call(void 0, _chunkZQYHFDULcjs.a,{}):x,typeof t=="string"?_jsxruntime.jsx.call(void 0, "span",{className:"truncate",children:t}):t,o&&r==="suffix"?p||_jsxruntime.jsx.call(void 0, _chunkZQYHFDULcjs.a,{}):c]})}exports.a = y;
|
|
2
|
+
//# sourceMappingURL=chunk-IMMPDUHI.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IMMPDUHI.cjs","../src/components/button.tsx"],"names":["Button","children","className","disabled","icon","inside","loaderPosition","loading","prefix","size","spinner","suffix","variant","props","jsxs","buttonVariants","jsx","Spinner"],"mappings":"AAAA,iIAAwC,wDAAyC,+CCmC7E,SAhBKA,CAAAA,CAAO,CACd,QAAA,CAAAC,CAAAA,CACA,SAAA,CAAAC,CAAAA,CACA,QAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,cAAA,CAAAC,CAAAA,CAAiB,QAAA,CACjB,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,IAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,MAAA,CAAAC,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGC,CACL,CAAA,CAA6B,CAC3B,OACEC,8BAAAA,QAAC,CAAA,CACC,SAAA,CAAWC,iCAAAA,CAAiB,SAAA,CAAAb,CAAAA,CAAW,IAAA,CAAAE,CAAAA,CAAM,MAAA,CAAAC,CAAAA,CAAQ,IAAA,CAAAI,CAAAA,CAAM,OAAA,CAAAG,CAAQ,CAAC,CAAA,CACpE,cAAA,CAAcA,CAAAA,CACd,QAAA,CAAUL,CAAAA,EAAWJ,CAAAA,CACrB,IAAA,CAAK,QAAA,CACJ,GAAGU,CAAAA,CAEH,QAAA,CAAA,CAAAN,CAAAA,EAAWD,CAAAA,GAAmB,QAAA,CAAWI,CAAAA,EAAWM,6BAAAA,mBAACC,CAAA,CAAA,CAAQ,CAAA,CAAKT,CAAAA,CAClE,OAAOP,CAAAA,EAAa,QAAA,CAAWe,6BAAAA,MAAC,CAAA,CAAK,SAAA,CAAU,UAAA,CAAY,QAAA,CAAAf,CAAAA,CAAS,CAAA,CAAUA,CAAAA,CAC9EM,CAAAA,EAAWD,CAAAA,GAAmB,QAAA,CAAWI,CAAAA,EAAWM,6BAAAA,mBAACC,CAAA,CAAA,CAAQ,CAAA,CAAKN,CAAAA,CAAAA,CACrE,CAEJ,CAAA,cAAA","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-IMMPDUHI.cjs","sourcesContent":[null,"import type { ComponentProps, JSX, ReactNode } from 'react';\n\nimport type { ButtonVariantsProps } from '@/variants/button.variants';\n\nimport { Spinner } from '@/components/spinner';\nimport { buttonVariants } from '@/variants/button.variants';\n\n/* -----------------------------------------------------------------------------\n * Component: Button\n * -------------------------------------------------------------------------- */\n\ninterface ButtonProps extends Omit<ComponentProps<'button'>, 'prefix'>, ButtonVariantsProps {\n loaderPosition?: 'prefix' | 'suffix';\n loading?: boolean;\n prefix?: ReactNode;\n spinner?: ReactNode;\n suffix?: ReactNode;\n}\n\nfunction Button({\n children,\n className,\n disabled,\n icon,\n inside,\n loaderPosition = 'prefix',\n loading,\n prefix,\n size,\n spinner,\n suffix,\n variant,\n ...props\n}: ButtonProps): JSX.Element {\n return (\n <button\n className={buttonVariants({ className, icon, inside, size, variant })}\n data-variant={variant}\n disabled={loading || disabled}\n type=\"button\"\n {...props}\n >\n {loading && loaderPosition === 'prefix' ? spinner || <Spinner /> : prefix}\n {typeof children === 'string' ? <span className=\"truncate\">{children}</span> : children}\n {loading && loaderPosition === 'suffix' ? spinner || <Spinner /> : suffix}\n </button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { ButtonProps };\nexport { Button };\n"]}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{a as i}from"./chunk-OKUFCFYT.js";import*as e from"@codefast-ui/checkbox-group";import{CheckIcon as c}from"lucide-react";import{jsx as o,jsxs as n}from"react/jsx-runtime";function m(r){return o(e.Root,{...r})}function d({checkboxClassName:r,children:t,className:s,...a}){return n("label",{className:i("hover:not-has-disabled:bg-secondary has-aria-checked:border-primary has-focus-visible:border-input-focus has-focus-visible:ring-ring has-focus-visible:ring-3 has-focus-visible:outline-none has-disabled:opacity-50 border-secondary group flex items-center justify-center gap-4 rounded-lg border-2 p-4 transition",s),children:[t,o(e.Item,{className:i("border-input text-primary-foreground group-hover:not-disabled:not-aria-checked:border-input-hover aria-checked:border-primary aria-checked:bg-primary peer flex size-4 shrink-0 rounded-sm border transition focus-visible:outline-none",r),...a,children:o(e.CheckboxGroupIndicator,{children:o(c,{className:"size-3.5"})})})]})}export{m as a,d as b};
|
|
2
|
+
//# sourceMappingURL=chunk-IQG5Z7B3.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/components/checkbox-cards.tsx"],"names":["CheckboxGroupPrimitive","CheckIcon","jsx","jsxs","CheckboxCards","props","CheckboxCardsItem","checkboxClassName","children","className","cn"],"mappings":"wCAEA,UAAYA,MAA4B,8BACxC,OAAS,aAAAC,MAAiB,eAWjB,cAAAC,EAaL,QAAAC,MAbK,oBADT,SAASC,EAAcC,EAAwC,CAC7D,OAAOH,EAAwB,OAAvB,CAA6B,GAAGG,EAAO,CACjD,CAUA,SAASC,EAAkB,CAAE,kBAAAC,EAAmB,SAAAC,EAAU,UAAAC,EAAW,GAAGJ,CAAM,EAAwC,CACpH,OACEF,EAAC,SACC,UAAWO,EACT,
|
|
1
|
+
{"version":3,"sources":["../src/components/checkbox-cards.tsx"],"names":["CheckboxGroupPrimitive","CheckIcon","jsx","jsxs","CheckboxCards","props","CheckboxCardsItem","checkboxClassName","children","className","cn"],"mappings":"wCAEA,UAAYA,MAA4B,8BACxC,OAAS,aAAAC,MAAiB,eAWjB,cAAAC,EAaL,QAAAC,MAbK,oBADT,SAASC,EAAcC,EAAwC,CAC7D,OAAOH,EAAwB,OAAvB,CAA6B,GAAGG,EAAO,CACjD,CAUA,SAASC,EAAkB,CAAE,kBAAAC,EAAmB,SAAAC,EAAU,UAAAC,EAAW,GAAGJ,CAAM,EAAwC,CACpH,OACEF,EAAC,SACC,UAAWO,EACT,wTACAD,CACF,EAEC,UAAAD,EACDN,EAAwB,OAAvB,CACC,UAAWQ,EACT,0OACAH,CACF,EACC,GAAGF,EAEJ,SAAAH,EAAwB,yBAAvB,CACC,SAAAA,EAACD,EAAA,CAAU,UAAU,WAAW,EAClC,EACF,GACF,CAEJ","sourcesContent":["import type { ComponentProps, JSX } from 'react';\n\nimport * as CheckboxGroupPrimitive from '@codefast-ui/checkbox-group';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCards\n * -------------------------------------------------------------------------- */\n\ntype CheckboxCardsProps = ComponentProps<typeof CheckboxGroupPrimitive.Root>;\n\nfunction CheckboxCards(props: CheckboxCardsProps): JSX.Element {\n return <CheckboxGroupPrimitive.Root {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: CheckboxCardsItem\n * -------------------------------------------------------------------------- */\n\ninterface CheckboxCardsItemProps extends ComponentProps<typeof CheckboxGroupPrimitive.Item> {\n checkboxClassName?: string;\n}\n\nfunction CheckboxCardsItem({ checkboxClassName, children, className, ...props }: CheckboxCardsItemProps): JSX.Element {\n return (\n <label\n className={cn(\n 'hover:not-has-disabled:bg-secondary has-aria-checked:border-primary has-focus-visible:border-input-focus has-focus-visible:ring-ring has-focus-visible:ring-3 has-focus-visible:outline-none has-disabled:opacity-50 border-secondary group flex items-center justify-center gap-4 rounded-lg border-2 p-4 transition',\n className,\n )}\n >\n {children}\n <CheckboxGroupPrimitive.Item\n className={cn(\n 'border-input text-primary-foreground group-hover:not-disabled:not-aria-checked:border-input-hover aria-checked:border-primary aria-checked:bg-primary peer flex size-4 shrink-0 rounded-sm border transition focus-visible:outline-none',\n checkboxClassName,\n )}\n {...props}\n >\n <CheckboxGroupPrimitive.CheckboxGroupIndicator>\n <CheckIcon className=\"size-3.5\" />\n </CheckboxGroupPrimitive.CheckboxGroupIndicator>\n </CheckboxGroupPrimitive.Item>\n </label>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport type { CheckboxCardsItemProps, CheckboxCardsProps };\nexport { CheckboxCards, CheckboxCardsItem };\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkLUOAGYB6cjs = require('./chunk-LUOAGYB6.cjs');var _chunk6LL5EQAEcjs = require('./chunk-6LL5EQAE.cjs');var _chunkUGCN3YGMcjs = require('./chunk-UGCN3YGM.cjs');var _chunkJJ46AZUGcjs = require('./chunk-JJ46AZUG.cjs');var _chunk2GUGNIMNcjs = require('./chunk-2GUGNIMN.cjs');var _chunkEGY5ICBLcjs = require('./chunk-EGY5ICBL.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _hooks = require('@codefast/hooks');var _reactslot = require('@radix-ui/react-slot');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=_react.createContext.call(void 0, null);function x(){let e=_react.useContext.call(void 0, D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...m}){let p=_hooks.useMediaQuery.call(void 0, `(max-width: ${ee-1}px)`),[b,d]=_react.useState.call(void 0, !1),[S,w]=_react.useState.call(void 0, n),f=_nullishCoalesce(i, () => (S)),v=_react.useCallback.call(void 0, s=>{let u=typeof s=="function"?s(f):s;r?r(u):w(u),_jscookie2.default.set(q,String(u),{expires:$,path:"/"})},[r,f]),h=_react.useCallback.call(void 0, ()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);_react.useEffect.call(void 0, ()=>{let s=u=>{u.key===Z&&(u.metaKey||u.ctrlKey)&&(u.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=f?"expanded":"collapsed",G=_react.useMemo.call(void 0, ()=>({isMobile:p,open:f,openMobile:b,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,f,v,p,b,d,h]);return _jsxruntime.jsx.call(void 0, D.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...m,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:m,openMobile:p,setOpenMobile:b,state:d}=x();return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):m?_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.a,{open:p,onOpenChange:b,...l,children:_jsxruntime.jsxs.call(void 0, _chunk6LL5EQAEcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunk6LL5EQAEcjs.h,{children:"Press escape to close the sidebar"})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:e})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,children:_jsxruntime.jsx.call(void 0, "div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return _jsxruntime.jsxs.call(void 0, _chunkEGY5ICBLcjs.a,{icon:!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "",e),"data-sidebar":"trigger",size:"2xs",variant:"ghost",onClick:i=>{_optionalChain([t, 'optionalCall', _2 => _2(i)]),r()},...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeftIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return _jsxruntime.jsx.call(void 0, "button",{"aria-label":"Toggle Sidebar",className:_chunkSMJEDCFPcjs.a.call(void 0, "hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg",e),...t})}function Pe({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunk2GUGNIMNcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkJJ46AZUGcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"},variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}},defaultVariants:{size:"default",variant:"default"}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...m}){let p=e?_reactslot.Slot:"button",{isMobile:b,state:d}=x(),S=_jsxruntime.jsx.call(void 0, p,{className:_chunkSMJEDCFPcjs.a.call(void 0, te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...m});return i?_jsxruntime.jsxs.call(void 0, _chunkLUOAGYB6cjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.c,{asChild:!0,children:S}),_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.d,{align:"center",hidden:d!=="collapsed"||b,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),"data-sidebar":"menu-action",...r})}function Te({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return _jsxruntime.jsx.call(void 0, "li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"a",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",r==="sm"&&"text-xs",r==="md"&&"text-sm group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}exports.a = x; exports.b = ge; exports.c = Se; exports.d = ve; exports.e = he; exports.f = xe; exports.g = Pe; exports.h = we; exports.i = Ce; exports.j = ye; exports.k = Me; exports.l = Ee; exports.m = Ie; exports.n = Ne; exports.o = _e; exports.p = ke; exports.q = Be; exports.r = Xe; exports.s = Je; exports.t = Te; exports.u = ze; exports.v = Ae; exports.w = Oe; exports.x = De;
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
1
|
+
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }"use client";var _chunkLUOAGYB6cjs = require('./chunk-LUOAGYB6.cjs');var _chunkKJUQ3ZDGcjs = require('./chunk-KJUQ3ZDG.cjs');var _chunkUGCN3YGMcjs = require('./chunk-UGCN3YGM.cjs');var _chunkJJ46AZUGcjs = require('./chunk-JJ46AZUG.cjs');var _chunk2GUGNIMNcjs = require('./chunk-2GUGNIMN.cjs');var _chunkIMMPDUHIcjs = require('./chunk-IMMPDUHI.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _hooks = require('@codefast/hooks');var _reactslot = require('@radix-ui/react-slot');var _reactvisuallyhidden = require('@radix-ui/react-visually-hidden');var _jscookie = require('js-cookie'); var _jscookie2 = _interopRequireDefault(_jscookie);var _lucidereact = require('lucide-react');var _react = require('react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var q="sidebar:state",$=7,Q="16rem",U="18rem",Y="3rem",Z="b",ee=768,D=_react.createContext.call(void 0, null);function x(){let e=_react.useContext.call(void 0, D);if(!e)throw new Error("useSidebar must be used within a SidebarProvider.");return e}function ge({children:e,className:t,defaultOpen:n=!0,onOpenChange:r,open:i,style:l,...m}){let p=_hooks.useMediaQuery.call(void 0, `(max-width: ${ee-1}px)`),[b,d]=_react.useState.call(void 0, !1),[S,w]=_react.useState.call(void 0, n),f=_nullishCoalesce(i, () => (S)),v=_react.useCallback.call(void 0, s=>{let u=typeof s=="function"?s(f):s;r?r(u):w(u),_jscookie2.default.set(q,String(u),{expires:$,path:"/"})},[r,f]),h=_react.useCallback.call(void 0, ()=>{p?d(s=>!s):v(s=>!s)},[p,v,d]);_react.useEffect.call(void 0, ()=>{let s=u=>{u.key===Z&&(u.metaKey||u.ctrlKey)&&(u.preventDefault(),h())};return window.addEventListener("keydown",s),()=>{window.removeEventListener("keydown",s)}},[h]);let C=f?"expanded":"collapsed",G=_react.useMemo.call(void 0, ()=>({isMobile:p,open:f,openMobile:b,setOpen:v,setOpenMobile:d,state:C,toggleSidebar:h}),[C,f,v,p,b,d,h]);return _jsxruntime.jsx.call(void 0, D.Provider,{value:G,children:_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.a,{delayDuration:0,children:_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full",t),style:{"--sidebar-width":Q,"--sidebar-width-icon":Y,...l},...m,children:e})})})}function Se({children:e,className:t,collapsible:n="offcanvas",side:r="left",variant:i="sidebar",...l}){let{isMobile:m,openMobile:p,setOpenMobile:b,state:d}=x();return n==="none"?_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col",t),...l,children:e}):m?_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.a,{open:p,onOpenChange:b,...l,children:_jsxruntime.jsxs.call(void 0, _chunkKJUQ3ZDGcjs.c,{className:"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden","data-mobile":"true","data-sidebar":"sidebar",side:r,style:{"--sidebar-width":U},children:[_jsxruntime.jsxs.call(void 0, _reactvisuallyhidden.VisuallyHidden,{children:[_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.g,{children:"Sidebar"}),_jsxruntime.jsx.call(void 0, _chunkKJUQ3ZDGcjs.h,{children:"Press escape to close the sidebar"})]}),_jsxruntime.jsx.call(void 0, "div",{className:"flex h-full w-full flex-col",children:e})]})}):_jsxruntime.jsxs.call(void 0, "div",{className:"text-sidebar-foreground group peer hidden md:block","data-collapsible":d==="collapsed"?n:"","data-side":r,"data-state":d,"data-variant":i,children:[_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180",i==="floating"||i==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon)")}),_jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex",r==="left"?"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]":"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]",i==="floating"||i==="inset"?"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]":"group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l",t),...l,children:_jsxruntime.jsx.call(void 0, "div",{className:"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border","data-sidebar":"sidebar",children:e})})]})}function ve({className:e,onClick:t,...n}){let{toggleSidebar:r}=x();return _jsxruntime.jsxs.call(void 0, _chunkIMMPDUHIcjs.a,{icon:!0,className:_chunkSMJEDCFPcjs.a.call(void 0, "",e),"data-sidebar":"trigger",size:"2xs",variant:"ghost",onClick:i=>{_optionalChain([t, 'optionalCall', _2 => _2(i)]),r()},...n,children:[_jsxruntime.jsx.call(void 0, _lucidereact.PanelLeftIcon,{}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Toggle Sidebar"})]})}function he({className:e,...t}){let{toggleSidebar:n}=x();return _jsxruntime.jsx.call(void 0, "button",{"aria-label":"Toggle Sidebar",className:_chunkSMJEDCFPcjs.a.call(void 0, "hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize",e),"data-sidebar":"rail",tabIndex:-1,title:"Toggle Sidebar",type:"button",onClick:n,...t})}function xe({className:e,...t}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg",e),...t})}function Pe({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunk2GUGNIMNcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none",e),"data-sidebar":"input",...t})}function we({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"header",...t})}function Ce({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex flex-col gap-2 p-2",e),"data-sidebar":"footer",...t})}function ye({className:e,...t}){return _jsxruntime.jsx.call(void 0, _chunkJJ46AZUGcjs.a,{className:_chunkSMJEDCFPcjs.a.call(void 0, "bg-sidebar-border mx-2 w-auto",e),"data-sidebar":"separator",...t})}function Me({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",e),"data-sidebar":"content",...t})}function Ee({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "relative flex w-full min-w-0 flex-col p-2",e),"data-sidebar":"group",...t})}function Ie({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-label",...n})}function Ne({asChild:e=!1,className:t,...n}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",t),"data-sidebar":"group-action",...n})}function _e({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "w-full text-sm",e),"data-sidebar":"group-content",...t})}function ke({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex w-full min-w-0 flex-col gap-1",e),"data-sidebar":"menu",...t})}function Be({className:e,...t}){return _jsxruntime.jsx.call(void 0, "li",{className:_chunkSMJEDCFPcjs.a.call(void 0, "group/menu-item relative",e),"data-sidebar":"menu-item",...t})}var te=_tailwindvariants.tv.call(void 0, {base:"peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",variants:{size:{default:"h-8 text-sm",sm:"h-7 text-xs",lg:"h-12 text-sm group-data-[collapsible=icon]:!p-0"},variant:{default:"hover:bg-sidebar-accent hover:text-sidebar-accent-foreground",outline:"bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]"}},defaultVariants:{size:"default",variant:"default"}});function Xe({asChild:e=!1,className:t,isActive:n=!1,size:r="default",tooltip:i,variant:l="default",...m}){let p=e?_reactslot.Slot:"button",{isMobile:b,state:d}=x(),S=_jsxruntime.jsx.call(void 0, p,{className:_chunkSMJEDCFPcjs.a.call(void 0, te({size:r,variant:l}),t),"data-active":n,"data-sidebar":"menu-button","data-size":r,...m});return i?_jsxruntime.jsxs.call(void 0, _chunkLUOAGYB6cjs.b,{children:[_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.c,{asChild:!0,children:S}),_jsxruntime.jsx.call(void 0, _chunkLUOAGYB6cjs.d,{align:"center",hidden:d!=="collapsed"||b,side:"right",...typeof i=="string"?{children:i}:i})]}):S}function Je({asChild:e=!1,className:t,showOnHover:n=!1,...r}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"button",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0",n&&"peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0",t),"data-sidebar":"menu-action",...r})}function Te({className:e,...t}){return _jsxruntime.jsx.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1",e),"data-sidebar":"menu-badge",...t})}function ze({className:e,showIcon:t=!1,...n}){let r=_react.useMemo.call(void 0, ()=>`${Math.floor(Math.random()*40)+50}%`,[]);return _jsxruntime.jsxs.call(void 0, "div",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex h-8 items-center gap-2 rounded-md px-2",e),"data-sidebar":"menu-skeleton",...n,children:[t?_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"size-4 rounded-md","data-sidebar":"menu-skeleton-icon"}):null,_jsxruntime.jsx.call(void 0, _chunkUGCN3YGMcjs.a,{className:"max-w-(--skeleton-width) h-4 flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":r}})]})}function Ae({className:e,...t}){return _jsxruntime.jsx.call(void 0, "ul",{className:_chunkSMJEDCFPcjs.a.call(void 0, "border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden",e),"data-sidebar":"menu-sub",...t})}function Oe({...e}){return _jsxruntime.jsx.call(void 0, "li",{...e})}function De({asChild:e=!1,className:t,isActive:n,size:r="md",...i}){return _jsxruntime.jsx.call(void 0, e?_reactslot.Slot:"a",{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0",r==="sm"&&"text-xs",r==="md"&&"text-sm group-data-[collapsible=icon]:hidden",t),"data-active":n,"data-sidebar":"menu-sub-button","data-size":r,...i})}exports.a = x; exports.b = ge; exports.c = Se; exports.d = ve; exports.e = he; exports.f = xe; exports.g = Pe; exports.h = we; exports.i = Ce; exports.j = ye; exports.k = Me; exports.l = Ee; exports.m = Ie; exports.n = Ne; exports.o = _e; exports.p = ke; exports.q = Be; exports.r = Xe; exports.s = Je; exports.t = Te; exports.u = ze; exports.v = Ae; exports.w = Oe; exports.x = De;
|
|
2
|
+
//# sourceMappingURL=chunk-KA44SYMW.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-WBWLWSHG.cjs","../src/components/sidebar.tsx"],"names":["Cookies","SIDEBAR_WIDTH_MOBILE","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","createContext","useSidebar","SidebarProvider","children","className","defaultOpen","setOpenProp","style","props","isMobile","useMediaQuery","openMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","setOpenMobile","currentValue","useEffect","handleKeyDown","event","SIDEBAR_KEYBOARD_SHORTCUT","state","contextValue","toggleSidebar","jsx","TooltipProvider","cn","Sidebar","collapsible","SheetContent","jsxs","VisuallyHidden","SheetTitle","side","variant","SidebarTrigger","Button","onClick","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","Component","button","size","Tooltip","TooltipTrigger","tooltip","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","useMemo"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-WBWLWSHG.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport { tv } from 'tailwind-variants';\n\nimport { Button } from '@/components/button';\nimport { Input } from '@/components/input';\nimport { Separator } from '@/components/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetTitle } from '@/components/sheet';\nimport { Skeleton } from '@/components/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const open = openProp ?? isOpen;\n const setOpen = useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n const openState = typeof value === 'function' ? value(open) : value;\n\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setIsOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n if (isMobile) {\n setOpenMobile((currentValue) => !currentValue);\n } else {\n setOpen((currentValue) => !currentValue);\n }\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className)}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col', className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"2xs\"\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarRail\n * -------------------------------------------------------------------------- */\n\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return <Separator className={cn('bg-sidebar-border mx-2 w-auto', className)} data-sidebar=\"separator\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): JSX.Element {\n return (\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n data-sidebar=\"content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): JSX.Element {\n return <div className={cn('relative flex w-full min-w-0 flex-col p-2', className)} data-sidebar=\"group\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({ asChild = false, className, ...props }: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({ asChild = false, className, ...props }: SidebarGroupActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): JSX.Element {\n return <ul className={cn('flex w-full min-w-0 flex-col gap-1', className)} data-sidebar=\"menu\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n});\n\ninterface SidebarMenuButtonProps extends ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltipProps} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n data-sidebar=\"menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ className, showIcon = false, ...props }: SidebarMenuSkeletonProps): JSX.Element {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n data-sidebar=\"menu-skeleton\"\n {...props}\n >\n {showIcon ? <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" /> : null}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as CSSProperties\n }\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSub\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): JSX.Element {\n return (\n <ul\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/codefast/codefast/packages/ui/dist/chunk-KA44SYMW.cjs","../src/components/sidebar.tsx"],"names":["Cookies","SIDEBAR_WIDTH_MOBILE","SIDEBAR_MOBILE_BREAKPOINT","SidebarContext","createContext","useSidebar","SidebarProvider","children","className","defaultOpen","setOpenProp","style","props","isMobile","useMediaQuery","openMobile","useState","isOpen","setIsOpen","open","openProp","setOpen","useCallback","value","openState","SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","setOpenMobile","currentValue","useEffect","handleKeyDown","event","SIDEBAR_KEYBOARD_SHORTCUT","state","contextValue","toggleSidebar","jsx","TooltipProvider","cn","Sidebar","collapsible","SheetContent","jsxs","VisuallyHidden","SheetTitle","side","variant","SidebarTrigger","Button","onClick","PanelLeftIcon","SidebarRail","SidebarInset","SidebarInput","Input","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","asChild","Slot","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","SidebarMenuButton","isActive","Component","button","size","Tooltip","TooltipTrigger","tooltip","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","useMemo"],"mappings":"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","file":"/home/runner/work/codefast/codefast/packages/ui/dist/chunk-KA44SYMW.cjs","sourcesContent":[null,"'use client';\n\nimport type { ComponentProps, CSSProperties, JSX } from 'react';\nimport type { VariantProps } from 'tailwind-variants';\n\nimport { useMediaQuery } from '@codefast/hooks';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VisuallyHidden } from '@radix-ui/react-visually-hidden';\nimport Cookies from 'js-cookie';\nimport { PanelLeftIcon } from 'lucide-react';\nimport { createContext, useCallback, useContext, useEffect, useMemo, useState } from 'react';\nimport { tv } from 'tailwind-variants';\n\nimport { Button } from '@/components/button';\nimport { Input } from '@/components/input';\nimport { Separator } from '@/components/separator';\nimport { Sheet, SheetContent, SheetDescription, SheetTitle } from '@/components/sheet';\nimport { Skeleton } from '@/components/skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/tooltip';\nimport { cn } from '@/lib/utils';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar:state';\nconst SIDEBAR_COOKIE_MAX_AGE = 7; // 1 week in days.\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\nconst SIDEBAR_MOBILE_BREAKPOINT = 768;\n\ninterface SidebarContext {\n isMobile: boolean;\n open: boolean;\n openMobile: boolean;\n setOpen: (open: boolean) => void;\n setOpenMobile: (open: boolean) => void;\n state: 'collapsed' | 'expanded';\n toggleSidebar: () => void;\n}\n\nconst SidebarContext = createContext<null | SidebarContext>(null);\n\nfunction useSidebar(): SidebarContext {\n const context = useContext(SidebarContext);\n\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarProvider\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProviderProps extends ComponentProps<'div'> {\n defaultOpen?: boolean;\n onOpenChange?: (open: boolean) => void;\n open?: boolean;\n}\n\nfunction SidebarProvider({\n children,\n className,\n defaultOpen = true,\n onOpenChange: setOpenProp,\n open: openProp,\n style,\n ...props\n}: SidebarProviderProps): JSX.Element {\n const isMobile = useMediaQuery(`(max-width: ${SIDEBAR_MOBILE_BREAKPOINT - 1}px)`);\n const [openMobile, setOpenMobile] = useState(false);\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [isOpen, setIsOpen] = useState(defaultOpen);\n const open = openProp ?? isOpen;\n const setOpen = useCallback(\n (value: ((value: boolean) => boolean) | boolean) => {\n const openState = typeof value === 'function' ? value(open) : value;\n\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n setIsOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n Cookies.set(SIDEBAR_COOKIE_NAME, String(openState), {\n expires: SIDEBAR_COOKIE_MAX_AGE,\n path: '/',\n });\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = useCallback(() => {\n if (isMobile) {\n setOpenMobile((currentValue) => !currentValue);\n } else {\n setOpen((currentValue) => !currentValue);\n }\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent): void => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n\n return () => {\n window.removeEventListener('keydown', handleKeyDown);\n };\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = useMemo<SidebarContext>(\n () => ({\n isMobile,\n open,\n openMobile,\n setOpen,\n setOpenMobile,\n state,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n className={cn('group/sidebar-wrapper has-data-[variant=inset]:bg-sidebar flex min-h-svh w-full', className)}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as CSSProperties\n }\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: Sidebar\n * -------------------------------------------------------------------------- */\n\ninterface SidebarProps extends ComponentProps<'div'> {\n collapsible?: 'icon' | 'none' | 'offcanvas';\n side?: 'left' | 'right';\n variant?: 'floating' | 'inset' | 'sidebar';\n}\n\nfunction Sidebar({\n children,\n className,\n collapsible = 'offcanvas',\n side = 'left',\n variant = 'sidebar',\n ...props\n}: SidebarProps): JSX.Element {\n const { isMobile, openMobile, setOpenMobile, state } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('bg-sidebar text-sidebar-foreground w-(--sidebar-width) flex h-full flex-col', className)}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetContent\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n data-mobile=\"true\"\n data-sidebar=\"sidebar\"\n side={side}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as CSSProperties\n }\n >\n <VisuallyHidden>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Press escape to close the sidebar</SheetDescription>\n </VisuallyHidden>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"text-sidebar-foreground group peer hidden md:block\"\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-side={side}\n data-state={state}\n data-variant={variant}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'w-(--sidebar-width) relative h-svh bg-transparent transition-[width] duration-200 ease-linear group-data-[collapsible=offcanvas]:w-0 group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'w-(--sidebar-width) fixed inset-y-0 z-10 hidden h-svh transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow-xs flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border\"\n data-sidebar=\"sidebar\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarTrigger\n * -------------------------------------------------------------------------- */\n\ntype SidebarTriggerProps = ComponentProps<typeof Button>;\n\nfunction SidebarTrigger({ className, onClick, ...props }: SidebarTriggerProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n icon\n className={cn('', className)}\n data-sidebar=\"trigger\"\n size=\"2xs\"\n variant=\"ghost\"\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarRail\n * -------------------------------------------------------------------------- */\n\ntype SidebarRailProps = ComponentProps<'button'>;\n\nfunction SidebarRail({ className, ...props }: SidebarRailProps): JSX.Element {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n aria-label=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border group-data-[collapsible=offcanvas]:hover:bg-sidebar absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-0.5 group-data-[side=left]:-right-4 group-data-[side=right]:left-0 group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full sm:flex [[data-side=left][data-collapsible=offcanvas]_&]:-right-2 [[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=left]_&]:cursor-w-resize [[data-side=right][data-collapsible=offcanvas]_&]:-left-2 [[data-side=right][data-state=collapsed]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n className,\n )}\n data-sidebar=\"rail\"\n tabIndex={-1}\n title=\"Toggle Sidebar\"\n type=\"button\"\n onClick={toggleSidebar}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInset\n * -------------------------------------------------------------------------- */\n\ntype SidebarInsetProps = ComponentProps<'main'>;\n\nfunction SidebarInset({ className, ...props }: SidebarInsetProps): JSX.Element {\n return (\n <main\n className={cn(\n 'bg-background md:peer-data-[variant=inset]:shadow-xs relative flex min-h-svh flex-1 flex-col peer-data-[variant=inset]:min-h-[calc(100svh-var(--spacing-4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-lg',\n className,\n )}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarInput\n * -------------------------------------------------------------------------- */\n\ntype SidebarInputProps = ComponentProps<typeof Input>;\n\nfunction SidebarInput({ className, ...props }: SidebarInputProps): JSX.Element {\n return (\n <Input\n className={cn(\n 'bg-background focus-visible:ring-sidebar-ring focus-visible:ring-3 h-8 w-full shadow-none',\n className,\n )}\n data-sidebar=\"input\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarHeader\n * -------------------------------------------------------------------------- */\n\ntype SidebarHeaderProps = ComponentProps<'div'>;\n\nfunction SidebarHeader({ className, ...props }: SidebarHeaderProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"header\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarFooter\n * -------------------------------------------------------------------------- */\n\ntype SidebarFooterProps = ComponentProps<'div'>;\n\nfunction SidebarFooter({ className, ...props }: SidebarFooterProps): JSX.Element {\n return <div className={cn('flex flex-col gap-2 p-2', className)} data-sidebar=\"footer\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarSeparator\n * -------------------------------------------------------------------------- */\n\ntype SidebarSeparatorProps = ComponentProps<typeof Separator>;\n\nfunction SidebarSeparator({ className, ...props }: SidebarSeparatorProps): JSX.Element {\n return <Separator className={cn('bg-sidebar-border mx-2 w-auto', className)} data-sidebar=\"separator\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarContentProps = ComponentProps<'div'>;\n\nfunction SidebarContent({ className, ...props }: SidebarContentProps): JSX.Element {\n return (\n <div\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n data-sidebar=\"content\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroup\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupProps = ComponentProps<'div'>;\n\nfunction SidebarGroup({ className, ...props }: SidebarGroupProps): JSX.Element {\n return <div className={cn('relative flex w-full min-w-0 flex-col p-2', className)} data-sidebar=\"group\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupLabel\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupLabelProps extends ComponentProps<'div'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupLabel({ asChild = false, className, ...props }: SidebarGroupLabelProps): JSX.Element {\n const Component = asChild ? Slot : 'div';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring focus-visible:ring-3 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-none transition-[margin,opa] duration-200 ease-linear group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0 [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-label\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarGroupActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n}\n\nfunction SidebarGroupAction({ asChild = false, className, ...props }: SidebarGroupActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n className,\n )}\n data-sidebar=\"group-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarGroupContent\n * -------------------------------------------------------------------------- */\n\ntype SidebarGroupContentProps = ComponentProps<'div'>;\n\nfunction SidebarGroupContent({ className, ...props }: SidebarGroupContentProps): JSX.Element {\n return <div className={cn('w-full text-sm', className)} data-sidebar=\"group-content\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenu\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuProps = ComponentProps<'ul'>;\n\nfunction SidebarMenu({ className, ...props }: SidebarMenuProps): JSX.Element {\n return <ul className={cn('flex w-full min-w-0 flex-col gap-1', className)} data-sidebar=\"menu\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuItem({ className, ...props }: SidebarMenuItemProps): JSX.Element {\n return <li className={cn('group/menu-item relative', className)} data-sidebar=\"menu-item\" {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuButton\n * -------------------------------------------------------------------------- */\n\nconst sidebarMenuButtonVariants = tv({\n base: 'peer/menu-button ring-sidebar-ring data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none transition-[width,height,padding] disabled:pointer-events-none disabled:opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:font-medium group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n variants: {\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background hover:bg-sidebar-accent hover:text-sidebar-accent-foreground shadow-[0_0_0_1px_hsl(var(--color-sidebar-border))] hover:shadow-[0_0_0_1px_hsl(var(--color-sidebar-accent))]',\n },\n },\n defaultVariants: {\n size: 'default',\n variant: 'default',\n },\n});\n\ninterface SidebarMenuButtonProps extends ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: ComponentProps<typeof TooltipContent> | string;\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n className,\n isActive = false,\n size = 'default',\n tooltip,\n variant = 'default',\n ...props\n}: SidebarMenuButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Component\n className={cn(sidebarMenuButtonVariants({ size, variant }), className)}\n data-active={isActive}\n data-sidebar=\"menu-button\"\n data-size={size}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n const tooltipProps =\n typeof tooltip === 'string'\n ? {\n children: tooltip,\n }\n : tooltip;\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent align=\"center\" hidden={state !== 'collapsed' || isMobile} side=\"right\" {...tooltipProps} />\n </Tooltip>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuAction\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuActionProps extends ComponentProps<'button'> {\n asChild?: boolean;\n showOnHover?: boolean;\n}\n\nfunction SidebarMenuAction({\n asChild = false,\n className,\n showOnHover = false,\n ...props\n}: SidebarMenuActionProps): JSX.Element {\n const Component = asChild ? Slot : 'button';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground focus-visible:ring-3 absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-none transition-transform after:absolute after:-inset-2 group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1 after:md:hidden [&>svg]:size-4 [&>svg]:shrink-0',\n showOnHover &&\n 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className,\n )}\n data-sidebar=\"menu-action\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuBadge\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuBadgeProps = ComponentProps<'div'>;\n\nfunction SidebarMenuBadge({ className, ...props }: SidebarMenuBadgeProps): JSX.Element {\n return (\n <div\n className={cn(\n 'text-sidebar-foreground peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums group-data-[collapsible=icon]:hidden peer-data-[size=default]/menu-button:top-1.5 peer-data-[size=lg]/menu-button:top-2.5 peer-data-[size=sm]/menu-button:top-1',\n className,\n )}\n data-sidebar=\"menu-badge\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSkeleton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSkeletonProps extends ComponentProps<'div'> {\n showIcon?: boolean;\n}\n\nfunction SidebarMenuSkeleton({ className, showIcon = false, ...props }: SidebarMenuSkeletonProps): JSX.Element {\n // Random width between 50 to 90%.\n const width = useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n data-sidebar=\"menu-skeleton\"\n {...props}\n >\n {showIcon ? <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" /> : null}\n <Skeleton\n className=\"max-w-(--skeleton-width) h-4 flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as CSSProperties\n }\n />\n </div>\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSub\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubProps = ComponentProps<'ul'>;\n\nfunction SidebarMenuSub({ className, ...props }: SidebarMenuSubProps): JSX.Element {\n return (\n <ul\n className={cn(\n 'border-sidebar-border mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l px-2.5 py-0.5 group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-sidebar=\"menu-sub\"\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubItem\n * -------------------------------------------------------------------------- */\n\ntype SidebarMenuSubItemProps = ComponentProps<'li'>;\n\nfunction SidebarMenuSubItem({ ...props }: SidebarMenuSubItemProps): JSX.Element {\n return <li {...props} />;\n}\n\n/* -----------------------------------------------------------------------------\n * Component: SidebarMenuSubButton\n * -------------------------------------------------------------------------- */\n\ninterface SidebarMenuSubButtonProps extends ComponentProps<'a'> {\n asChild?: boolean;\n isActive?: boolean;\n size?: 'md' | 'sm';\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n className,\n isActive,\n size = 'md',\n ...props\n}: SidebarMenuSubButtonProps): JSX.Element {\n const Component = asChild ? Slot : 'a';\n\n return (\n <Component\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring [&>svg]:text-sidebar-accent-foreground data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground focus-visible:ring-3 flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-none disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm group-data-[collapsible=icon]:hidden',\n className,\n )}\n data-active={isActive}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n {...props}\n />\n );\n}\n\n/* -----------------------------------------------------------------------------\n * Exports\n * -------------------------------------------------------------------------- */\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
|
|
@@ -1,2 +1,2 @@
|
|
|
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; } }var
|
|
2
|
-
//# sourceMappingURL=chunk-
|
|
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; } }var _chunk3EIIPNVCcjs = require('./chunk-3EIIPNVC.cjs');var _chunkSMJEDCFPcjs = require('./chunk-SMJEDCFP.cjs');var _reactdialog = require('@radix-ui/react-dialog'); var e = _interopRequireWildcard(_reactdialog);var _lucidereact = require('lucide-react');var _tailwindvariants = require('tailwind-variants');var _jsxruntime = require('react/jsx-runtime');var h=_tailwindvariants.tv.call(void 0, {base:"bg-background animation-ease-in-out data-[state=open]:animate-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-out data-[state=closed]:animation-duration-500 fixed z-50 flex flex-col overflow-auto shadow-lg",variants:{side:{bottom:"data-[state=open]:slide-from-b-full data-[state=closed]:slide-to-b-full inset-x-0 bottom-0 max-h-screen border-t",left:"data-[state=open]:slide-from-l-full data-[state=closed]:slide-to-l-full inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm",right:"data-[state=open]:slide-from-r-full data-[state=closed]:slide-to-r-full inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm",top:"data-[state=open]:slide-from-t-full data-[state=closed]:slide-to-t-full inset-x-0 top-0 max-h-screen border-b"}},defaultVariants:{side:"right"}}),c= exports.a =e.Root,u= exports.b =e.Trigger;function v({children:t,className:o,side:s="right",...a}){return _jsxruntime.jsxs.call(void 0, e.Portal,{children:[_jsxruntime.jsx.call(void 0, e.Overlay,{className:"bg-popover-overlay data-[state=open]:animate-fade-in data-[state=open]:animation-duration-500 data-[state=closed]:animate-fade-out data-[state=closed]:animation-duration-500 fixed inset-0 z-50"}),_jsxruntime.jsxs.call(void 0, e.Content,{className:h({className:o,side:s}),...a,children:[t,_jsxruntime.jsxs.call(void 0, e.Close,{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:"absolute right-4 top-4",icon:!0,size:"2xs",variant:"ghost"}),children:[_jsxruntime.jsx.call(void 0, _lucidereact.XIcon,{className:"size-4"}),_jsxruntime.jsx.call(void 0, "span",{className:"sr-only",children:"Close"})]})]})]})}function y({className:t,...o}){return _jsxruntime.jsx.call(void 0, "header",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex shrink-0 flex-col gap-1.5 px-6 pb-4 pt-6 text-center sm:text-left",t),...o})}function C({className:t,...o}){return _jsxruntime.jsx.call(void 0, "main",{className:_chunkSMJEDCFPcjs.a.call(void 0, "px-6 py-2",t),...o})}function x({className:t,...o}){return _jsxruntime.jsx.call(void 0, "footer",{className:_chunkSMJEDCFPcjs.a.call(void 0, "flex shrink-0 flex-col-reverse gap-2 px-6 pb-6 pt-4 sm:flex-row sm:justify-end",t),...o})}function g({className:t,...o}){return _jsxruntime.jsx.call(void 0, e.Title,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-foreground text-lg font-semibold",t),...o})}function b({className:t,...o}){return _jsxruntime.jsx.call(void 0, e.Description,{className:_chunkSMJEDCFPcjs.a.call(void 0, "text-muted-foreground text-sm",t),...o})}function N({className:t,size:o,variant:s="outline",...a}){return _jsxruntime.jsx.call(void 0, e.Close,{className:_chunk3EIIPNVCcjs.a.call(void 0, {className:t,size:o,variant:s}),...a})}exports.a = c; exports.b = u; exports.c = v; exports.d = y; exports.e = C; exports.f = x; exports.g = g; exports.h = b; exports.i = N;
|
|
2
|
+
//# sourceMappingURL=chunk-KJUQ3ZDG.cjs.map
|