@hexclave/ui 1.0.1 → 1.0.2

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.
@@ -1,4 +1,4 @@
1
- import { Button } from "./ui/button.js";
1
+ import { ButtonProps } from "./ui/button.js";
2
2
  import * as react_jsx_runtime0 from "react/jsx-runtime";
3
3
  import { LucideIcon } from "lucide-react";
4
4
  import React from "react";
@@ -16,12 +16,12 @@ type ActionDialogProps = {
16
16
  okButton?: boolean | Readonly<{
17
17
  label?: string;
18
18
  onClick?: () => Promise<"prevent-close" | undefined | void>;
19
- props?: Partial<React.ComponentProps<typeof Button>>;
19
+ props?: Partial<ButtonProps>;
20
20
  }>;
21
21
  cancelButton?: boolean | Readonly<{
22
22
  label?: string;
23
23
  onClick?: () => Promise<"prevent-close" | undefined | void>;
24
- props?: Partial<React.ComponentProps<typeof Button>>;
24
+ props?: Partial<ButtonProps>;
25
25
  }>;
26
26
  confirmText?: string;
27
27
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"action-dialog.d.ts","names":[],"sources":["../../src/components/action-dialog.tsx"],"mappings":";;;;;;KAMY,iBAAA;EACV,OAAA,GAAU,KAAA,CAAM,SAAA;EAChB,IAAA;EACA,OAAA;EACA,YAAA,IAAgB,IAAA;EAChB,SAAA,GAAY,UAAA;EACZ,KAAA,YAAiB,KAAA,CAAM,SAAA;EACvB,WAAA,GAAc,KAAA,CAAM,SAAA;EACpB,MAAA;EACA,QAAA,aAAqB,QAAA;IACnB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,KAAA,CAAM,cAAA,QAAsB,MAAA;EAAA;EAE9C,YAAA,aAAyB,QAAA;IACvB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,KAAA,CAAM,cAAA,QAAsB,MAAA;EAAA;EAE9C,WAAA;EACA,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,YAAA;AAAA;AAAA,iBAGc,YAAA,CAAa,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"action-dialog.d.ts","names":[],"sources":["../../src/components/action-dialog.tsx"],"mappings":";;;;;;KAMY,iBAAA;EACV,OAAA,GAAU,KAAA,CAAM,SAAA;EAChB,IAAA;EACA,OAAA;EACA,YAAA,IAAgB,IAAA;EAChB,SAAA,GAAY,UAAA;EACZ,KAAA,YAAiB,KAAA,CAAM,SAAA;EACvB,WAAA,GAAc,KAAA,CAAM,SAAA;EACpB,MAAA;EACA,QAAA,aAAqB,QAAA;IACnB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,WAAA;EAAA;EAElB,YAAA,aAAyB,QAAA;IACvB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,WAAA;EAAA;EAElB,WAAA;EACA,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,YAAA;AAAA;AAAA,iBAGc,YAAA,CAAa,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-dialog.js","names":["CircleAlert","Info","React","Dialog","DialogTrigger","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogBody","Suspense","Skeleton","Alert","Label","Checkbox","DialogFooter","Button"],"sources":["../../src/components/action-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, Info, LucideIcon } from \"lucide-react\";\nimport React, { Suspense, useId } from \"react\";\nimport { Alert, Button, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from '..';\n\nexport type ActionDialogProps = {\n trigger?: React.ReactNode,\n open?: boolean,\n onClose?: () => void,\n onOpenChange?: (open: boolean) => void,\n titleIcon?: LucideIcon,\n title: boolean | React.ReactNode,\n description?: React.ReactNode,\n danger?: boolean,\n okButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n cancelButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n confirmText?: string,\n children?: React.ReactNode,\n preventClose?: boolean,\n};\n\nexport function ActionDialog(props: ActionDialogProps) {\n const okButton = props.okButton === true ? {} : props.okButton;\n const cancelButton = props.cancelButton === true ? {} : props.cancelButton;\n const anyButton = !!(okButton || cancelButton);\n const title = props.title === true ? (props.cancelButton ? \"Confirmation\" : \"Alert\") : props.title;\n const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);\n const [openState, setOpenState] = React.useState(!!props.open);\n const open = props.open ?? openState;\n const [confirmed, setConfirmed] = React.useState(false);\n const confirmId = useId();\n const [invalidationCount, setInvalidationCount] = React.useState(0);\n\n const onOpenChange = (open: boolean) => {\n if (!open) {\n props.onClose?.();\n setConfirmed(false);\n } else {\n setInvalidationCount(invalidationCount + 1);\n }\n setOpenState(open);\n props.onOpenChange?.(open);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} key={invalidationCount}>\n {props.trigger && <DialogTrigger asChild>\n {props.trigger}\n </DialogTrigger>}\n\n <DialogContent\n onInteractOutside={props.preventClose ? (e) => e.preventDefault() : undefined}\n className={props.preventClose ? \"[&>button]:hidden\" : \"\"}\n >\n <DialogHeader>\n <DialogTitle className=\"flex items-center\">\n <TitleIcon className=\"h-4 w-4 mr-2\"/>\n {title}\n </DialogTitle>\n <DialogDescription>\n {props.description}\n </DialogDescription>\n </DialogHeader>\n\n <DialogBody className=\"pb-2\">\n <div>\n <Suspense fallback={\n <>\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </>\n }>\n {props.children}\n </Suspense>\n </div>\n\n {props.confirmText && <Alert>\n <Label className=\"flex gap-4 items-center\">\n <Checkbox id={confirmId} checked={confirmed} onCheckedChange={(v) => setConfirmed(!!v)}/>\n {props.confirmText}\n </Label>\n </Alert>}\n </DialogBody>\n\n\n {anyButton && <DialogFooter className=\"gap-2\">\n {cancelButton && (\n <Button\n variant=\"secondary\"\n color=\"neutral\"\n onClick={async () => {\n if (await cancelButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...cancelButton.props}\n >\n {cancelButton.label ?? \"Cancel\"}\n </Button>\n )}\n {okButton && (\n <Button\n disabled={!!props.confirmText && !confirmed}\n variant={props.danger ? \"destructive\" : \"default\"}\n onClick={async () => {\n if (await okButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...okButton.props}\n >\n {okButton.label ?? \"OK\"}\n </Button>\n )}\n </DialogFooter>}\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAgB,aAAa,OAA0B;CACrD,MAAM,WAAW,MAAM,aAAa,OAAO,EAAE,GAAG,MAAM;CACtD,MAAM,eAAe,MAAM,iBAAiB,OAAO,EAAE,GAAG,MAAM;CAC9D,MAAM,YAAY,CAAC,EAAE,YAAY;CACjC,MAAM,QAAQ,MAAM,UAAU,OAAQ,MAAM,eAAe,iBAAiB,UAAW,MAAM;CAC7F,MAAM,YAAY,MAAM,cAAc,MAAM,SAASA,2BAAcC;CACnE,MAAM,CAAC,WAAW,gBAAgBC,cAAM,SAAS,CAAC,CAAC,MAAM,KAAK;CAC9D,MAAM,OAAO,MAAM,QAAQ;CAC3B,MAAM,CAAC,WAAW,gBAAgBA,cAAM,SAAS,MAAM;CACvD,MAAM,8BAAmB;CACzB,MAAM,CAAC,mBAAmB,wBAAwBA,cAAM,SAAS,EAAE;CAEnE,MAAM,gBAAgB,SAAkB;AACtC,MAAI,CAAC,MAAM;AACT,SAAM,WAAW;AACjB,gBAAa,MAAM;QAEnB,sBAAqB,oBAAoB,EAAE;AAE7C,eAAa,KAAK;AAClB,QAAM,eAAe,KAAK;;AAG5B,QACE,4CAACC;EAAa;EAAoB;aAC/B,MAAM,WAAW,2CAACC;GAAc;aAC9B,MAAM;IACO,EAEhB,4CAACC;GACC,mBAAmB,MAAM,gBAAgB,MAAM,EAAE,gBAAgB,GAAG;GACpE,WAAW,MAAM,eAAe,sBAAsB;;IAEtD,4CAACC,uCACC,4CAACC;KAAY,WAAU;gBACrB,2CAAC,aAAU,WAAU,iBAAgB,EACpC;MACW,EACd,2CAACC,2CACE,MAAM,cACW,IACP;IAEf,4CAACC;KAAW,WAAU;gBACpB,2CAAC,mBACC,2CAACC;MAAS,UACR;OACE,2CAACC,wBAAS,WAAU,0BAA0B;OAE9C,2CAACA,wBAAS,WAAU,kBAAkB;OACtC,2CAACA,wBAAS,WAAU,oBAAoB;OAExC,2CAACA,wBAAS,WAAU,kBAAkB;OACtC,2CAACA,wBAAS,WAAU,oBAAoB;OAExC,2CAACA,wBAAS,WAAU,oBAAoB;UACvC;gBAEF,MAAM;OACE,GACP,EAEL,MAAM,eAAe,2CAACC,+BACrB,4CAACC;MAAM,WAAU;iBACf,2CAACC;OAAS,IAAI;OAAW,SAAS;OAAW,kBAAkB,MAAM,aAAa,CAAC,CAAC,EAAE;QAAG,EACxF,MAAM;OACD,GACF;MACG;IAGZ,aAAa,4CAACC;KAAa,WAAU;gBACnC,gBACC,2CAACC;MACC,SAAQ;MACR,OAAM;MACN,SAAS,YAAY;AACnB,WAAI,MAAM,aAAa,WAAW,KAAK,gBACrC,cAAa,MAAM;;MAGvB,GAAI,aAAa;gBAEhB,aAAa,SAAS;OAChB,EAEV,YACC,2CAACA;MACC,UAAU,CAAC,CAAC,MAAM,eAAe,CAAC;MAClC,SAAS,MAAM,SAAS,gBAAgB;MACxC,SAAS,YAAY;AACnB,WAAI,MAAM,SAAS,WAAW,KAAK,gBACjC,cAAa,MAAM;;MAGvB,GAAI,SAAS;gBAEZ,SAAS,SAAS;OACZ;MAEE;;IACD;IA7EmC,kBA8E5C"}
1
+ {"version":3,"file":"action-dialog.js","names":["CircleAlert","Info","React","Dialog","DialogTrigger","DialogContent","DialogHeader","DialogTitle","DialogDescription","DialogBody","Suspense","Skeleton","Alert","Label","Checkbox","DialogFooter","Button"],"sources":["../../src/components/action-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, Info, LucideIcon } from \"lucide-react\";\nimport React, { Suspense, useId } from \"react\";\nimport { Alert, Button, type ButtonProps, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from '..';\n\nexport type ActionDialogProps = {\n trigger?: React.ReactNode,\n open?: boolean,\n onClose?: () => void,\n onOpenChange?: (open: boolean) => void,\n titleIcon?: LucideIcon,\n title: boolean | React.ReactNode,\n description?: React.ReactNode,\n danger?: boolean,\n okButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<ButtonProps>,\n }>,\n cancelButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<ButtonProps>,\n }>,\n confirmText?: string,\n children?: React.ReactNode,\n preventClose?: boolean,\n};\n\nexport function ActionDialog(props: ActionDialogProps) {\n const okButton = props.okButton === true ? {} : props.okButton;\n const cancelButton = props.cancelButton === true ? {} : props.cancelButton;\n const anyButton = !!(okButton || cancelButton);\n const title = props.title === true ? (props.cancelButton ? \"Confirmation\" : \"Alert\") : props.title;\n const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);\n const [openState, setOpenState] = React.useState(!!props.open);\n const open = props.open ?? openState;\n const [confirmed, setConfirmed] = React.useState(false);\n const confirmId = useId();\n const [invalidationCount, setInvalidationCount] = React.useState(0);\n\n const onOpenChange = (open: boolean) => {\n if (!open) {\n props.onClose?.();\n setConfirmed(false);\n } else {\n setInvalidationCount(invalidationCount + 1);\n }\n setOpenState(open);\n props.onOpenChange?.(open);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} key={invalidationCount}>\n {props.trigger && <DialogTrigger asChild>\n {props.trigger}\n </DialogTrigger>}\n\n <DialogContent\n onInteractOutside={props.preventClose ? (e) => e.preventDefault() : undefined}\n className={props.preventClose ? \"[&>button]:hidden\" : \"\"}\n >\n <DialogHeader>\n <DialogTitle className=\"flex items-center\">\n <TitleIcon className=\"h-4 w-4 mr-2\"/>\n {title}\n </DialogTitle>\n <DialogDescription>\n {props.description}\n </DialogDescription>\n </DialogHeader>\n\n <DialogBody className=\"pb-2\">\n <div>\n <Suspense fallback={\n <>\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </>\n }>\n {props.children}\n </Suspense>\n </div>\n\n {props.confirmText && <Alert>\n <Label className=\"flex gap-4 items-center\">\n <Checkbox id={confirmId} checked={confirmed} onCheckedChange={(v) => setConfirmed(!!v)}/>\n {props.confirmText}\n </Label>\n </Alert>}\n </DialogBody>\n\n\n {anyButton && <DialogFooter className=\"gap-2\">\n {cancelButton && (\n <Button\n variant=\"secondary\"\n color=\"neutral\"\n onClick={async () => {\n if (await cancelButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...cancelButton.props}\n >\n {cancelButton.label ?? \"Cancel\"}\n </Button>\n )}\n {okButton && (\n <Button\n disabled={!!props.confirmText && !confirmed}\n variant={props.danger ? \"destructive\" : \"default\"}\n onClick={async () => {\n if (await okButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...okButton.props}\n >\n {okButton.label ?? \"OK\"}\n </Button>\n )}\n </DialogFooter>}\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;;;;AA8BA,SAAgB,aAAa,OAA0B;CACrD,MAAM,WAAW,MAAM,aAAa,OAAO,EAAE,GAAG,MAAM;CACtD,MAAM,eAAe,MAAM,iBAAiB,OAAO,EAAE,GAAG,MAAM;CAC9D,MAAM,YAAY,CAAC,EAAE,YAAY;CACjC,MAAM,QAAQ,MAAM,UAAU,OAAQ,MAAM,eAAe,iBAAiB,UAAW,MAAM;CAC7F,MAAM,YAAY,MAAM,cAAc,MAAM,SAASA,2BAAcC;CACnE,MAAM,CAAC,WAAW,gBAAgBC,cAAM,SAAS,CAAC,CAAC,MAAM,KAAK;CAC9D,MAAM,OAAO,MAAM,QAAQ;CAC3B,MAAM,CAAC,WAAW,gBAAgBA,cAAM,SAAS,MAAM;CACvD,MAAM,8BAAmB;CACzB,MAAM,CAAC,mBAAmB,wBAAwBA,cAAM,SAAS,EAAE;CAEnE,MAAM,gBAAgB,SAAkB;AACtC,MAAI,CAAC,MAAM;AACT,SAAM,WAAW;AACjB,gBAAa,MAAM;QAEnB,sBAAqB,oBAAoB,EAAE;AAE7C,eAAa,KAAK;AAClB,QAAM,eAAe,KAAK;;AAG5B,QACE,4CAACC;EAAa;EAAoB;aAC/B,MAAM,WAAW,2CAACC;GAAc;aAC9B,MAAM;IACO,EAEhB,4CAACC;GACC,mBAAmB,MAAM,gBAAgB,MAAM,EAAE,gBAAgB,GAAG;GACpE,WAAW,MAAM,eAAe,sBAAsB;;IAEtD,4CAACC,uCACC,4CAACC;KAAY,WAAU;gBACrB,2CAAC,aAAU,WAAU,iBAAgB,EACpC;MACW,EACd,2CAACC,2CACE,MAAM,cACW,IACP;IAEf,4CAACC;KAAW,WAAU;gBACpB,2CAAC,mBACC,2CAACC;MAAS,UACR;OACE,2CAACC,wBAAS,WAAU,0BAA0B;OAE9C,2CAACA,wBAAS,WAAU,kBAAkB;OACtC,2CAACA,wBAAS,WAAU,oBAAoB;OAExC,2CAACA,wBAAS,WAAU,kBAAkB;OACtC,2CAACA,wBAAS,WAAU,oBAAoB;OAExC,2CAACA,wBAAS,WAAU,oBAAoB;UACvC;gBAEF,MAAM;OACE,GACP,EAEL,MAAM,eAAe,2CAACC,+BACrB,4CAACC;MAAM,WAAU;iBACf,2CAACC;OAAS,IAAI;OAAW,SAAS;OAAW,kBAAkB,MAAM,aAAa,CAAC,CAAC,EAAE;QAAG,EACxF,MAAM;OACD,GACF;MACG;IAGZ,aAAa,4CAACC;KAAa,WAAU;gBACnC,gBACC,2CAACC;MACC,SAAQ;MACR,OAAM;MACN,SAAS,YAAY;AACnB,WAAI,MAAM,aAAa,WAAW,KAAK,gBACrC,cAAa,MAAM;;MAGvB,GAAI,aAAa;gBAEhB,aAAa,SAAS;OAChB,EAEV,YACC,2CAACA;MACC,UAAU,CAAC,CAAC,MAAM,eAAe,CAAC;MAClC,SAAS,MAAM,SAAS,gBAAgB;MACxC,SAAS,YAAY;AACnB,WAAI,MAAM,SAAS,WAAW,KAAK,gBACjC,cAAa,MAAM;;MAGvB,GAAI,SAAS;gBAEZ,SAAS,SAAS;OACZ;MAEE;;IACD;IA7EmC,kBA8E5C"}
@@ -13,9 +13,9 @@ declare const CopyButton: React.FC<{
13
13
  variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
14
14
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
15
15
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
16
- ref?: React.Ref<HTMLButtonElement> | undefined;
17
- } & {
18
16
  content: string;
17
+ } & {
18
+ ref?: React.Ref<HTMLButtonElement> | undefined;
19
19
  }>;
20
20
  //#endregion
21
21
  export { CopyButton };
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button.js","names":["Button","Copy"],"sources":["../../src/components/copy-button.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport { Copy } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, cn, useToast } from \"..\";\n\nconst CopyButton = forwardRefIfNeeded<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button> & { content: string }\n>((props, ref) => {\n const { toast } = useToast();\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className={cn(\"h-6 w-6 p-1\", props.className)}\n ref={ref}\n onClick={async (...args) => {\n await props.onClick?.(...args);\n try {\n await navigator.clipboard.writeText(props.content);\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n }}\n >\n <Copy />\n </Button>\n );\n});\nCopyButton.displayName = \"CopyButton\";\n\nexport { CopyButton };\n"],"mappings":";;;;;;;;;;;;AAOA,MAAM,wEAGH,OAAO,QAAQ;CAChB,MAAM,EAAE,qCAAoB;AAE5B,QACE,2CAACA;EACC,SAAQ;EACR,GAAI;EACJ,+BAAc,eAAe,MAAM,UAAU;EACxC;EACL,SAAS,OAAO,GAAG,SAAS;AAC1B,SAAM,MAAM,UAAU,GAAG,KAAK;AAC9B,OAAI;AACF,UAAM,UAAU,UAAU,UAAU,MAAM,QAAQ;AAClD,UAAM;KAAE,aAAa;KAAwB,SAAS;KAAW,CAAC;YAC3D,GAAG;AACV,UAAM;KAAE,aAAa;KAA+B,SAAS;KAAe,CAAC;;;YAIjF,2CAACC,sBAAO;GACD;EAEX;AACF,WAAW,cAAc"}
1
+ {"version":3,"file":"copy-button.js","names":["Button","Copy"],"sources":["../../src/components/copy-button.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport { Copy } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, cn, type ButtonProps, useToast } from \"..\";\n\nconst CopyButton = forwardRefIfNeeded<\n HTMLButtonElement,\n ButtonProps & { content: string }\n>((props, ref) => {\n const { toast } = useToast();\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className={cn(\"h-6 w-6 p-1\", props.className)}\n ref={ref}\n onClick={async (...args) => {\n await props.onClick?.(...args);\n try {\n await navigator.clipboard.writeText(props.content);\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n }}\n >\n <Copy />\n </Button>\n );\n});\nCopyButton.displayName = \"CopyButton\";\n\nexport { CopyButton };\n"],"mappings":";;;;;;;;;;;;AAOA,MAAM,wEAGH,OAAO,QAAQ;CAChB,MAAM,EAAE,qCAAoB;AAE5B,QACE,2CAACA;EACC,SAAQ;EACR,GAAI;EACJ,+BAAc,eAAe,MAAM,UAAU;EACxC;EACL,SAAS,OAAO,GAAG,SAAS;AAC1B,SAAM,MAAM,UAAU,GAAG,KAAK;AAC9B,OAAI;AACF,UAAM,UAAU,UAAU,UAAU,MAAM,QAAQ;AAClD,UAAM;KAAE,aAAa;KAAwB,SAAS;KAAW,CAAC;YAC3D,GAAG;AACV,UAAM;KAAE,aAAa;KAA+B,SAAS;KAAe,CAAC;;;YAIjF,2CAACC,sBAAO;GACD;EAEX;AACF,WAAW,cAAc"}
@@ -4,11 +4,11 @@ import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region src/components/ui/badge.d.ts
6
6
  declare const badgeVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
8
8
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
9
9
  type BadgeProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof badgeVariants>;
10
10
  declare const Badge: React.FC<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
11
- variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
11
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
12
12
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
13
13
  ref?: React.Ref<HTMLDivElement> | undefined;
14
14
  }>;
@@ -4,7 +4,7 @@ import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region src/components/ui/button.d.ts
6
6
  declare const buttonVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | "plain" | null | undefined;
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
8
8
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
9
9
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
10
  type OriginalButtonProps = {
@@ -22,7 +22,7 @@ declare const Button: React.FC<{
22
22
  } & {
23
23
  asChild?: boolean;
24
24
  } & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
25
- variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | "plain" | null | undefined;
25
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
26
26
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
27
27
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
28
28
  ref?: React.Ref<HTMLButtonElement> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","names":["React","DropdownMenuPrimitive","ChevronRightIcon","Spinner","CheckIcon","DotFilledIcon"],"sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\";\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport React from \"react\";\n\nimport { useAsyncCallback } from \"@hexclave/shared/dist/hooks/use-async-callback\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { cn } from \"../../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\nconst DropdownMenuContext = React.createContext<{\n open: boolean,\n setOpen: (open: boolean) => void,\n} | undefined>(undefined);\n\nconst DropdownMenu = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root>\n>(({ ...props }, ref) => {\n const [open, setOpen] = React.useState(!!props.open);\n\n return (\n <DropdownMenuContext.Provider value={{\n open,\n setOpen: (o) => {\n props.onOpenChange?.(o);\n setOpen(o);\n }\n }}>\n <DropdownMenuPrimitive.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={o => {\n props.onOpenChange?.(o);\n setOpen(o);\n }}\n />\n </DropdownMenuContext.Provider>\n );\n});\nDropdownMenu.displayName = DropdownMenuPrimitive.Root.displayName;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean,\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"stack-scope flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item>, \"onClick\"> & {\n inset?: boolean,\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void | Promise<void>,\n }\n>(({ className, inset, ...props }, ref) => {\n const { setOpen } = React.useContext(DropdownMenuContext) ?? throwErr(\"No DropdownMenuContext found\");\n const [handleClick, isLoading] = useAsyncCallback(async (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n await props.onClick?.(e);\n setOpen(false);\n }, [props.onClick]);\n\n return <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"stack-scope relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n disabled={isLoading || props.disabled}\n onClick={props.onClick ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n runAsynchronouslyWithAlert(handleClick(e));\n } : undefined}\n >\n <div style={{ visibility: isLoading ? \"visible\" : \"hidden\", position: \"absolute\", inset: 0, display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\n <Spinner />\n </div>\n <div style={{ visibility: isLoading ? \"hidden\" : \"visible\" }}>\n {props.children}\n </div>\n </DropdownMenuPrimitive.Item>;\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"stack-scope ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator,\n DropdownMenuShortcut, DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuTrigger\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","names":["React","DropdownMenuPrimitive","ChevronRightIcon","Spinner","CheckIcon","DotFilledIcon"],"sources":["../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\";\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport React from \"react\";\n\nimport { useAsyncCallback } from \"@hexclave/shared/dist/hooks/use-async-callback\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { cn } from \"../../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\nconst DropdownMenuContext = React.createContext<{\n open: boolean,\n setOpen: (open: boolean) => void,\n} | undefined>(undefined);\n\nconst DropdownMenu = forwardRefIfNeeded<\n never,\n DropdownMenuPrimitive.DropdownMenuProps\n>(({ ...props }, ref) => {\n const [open, setOpen] = React.useState(!!props.open);\n\n return (\n <DropdownMenuContext.Provider value={{\n open,\n setOpen: (o) => {\n props.onOpenChange?.(o);\n setOpen(o);\n }\n }}>\n <DropdownMenuPrimitive.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={o => {\n props.onOpenChange?.(o);\n setOpen(o);\n }}\n />\n </DropdownMenuContext.Provider>\n );\n});\nDropdownMenu.displayName = DropdownMenuPrimitive.Root.displayName;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean,\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"stack-scope flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item>, \"onClick\"> & {\n inset?: boolean,\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void | Promise<void>,\n }\n>(({ className, inset, ...props }, ref) => {\n const { setOpen } = React.useContext(DropdownMenuContext) ?? throwErr(\"No DropdownMenuContext found\");\n const [handleClick, isLoading] = useAsyncCallback(async (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n await props.onClick?.(e);\n setOpen(false);\n }, [props.onClick]);\n\n return <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"stack-scope relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n disabled={isLoading || props.disabled}\n onClick={props.onClick ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n runAsynchronouslyWithAlert(handleClick(e));\n } : undefined}\n >\n <div style={{ visibility: isLoading ? \"visible\" : \"hidden\", position: \"absolute\", inset: 0, display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\n <Spinner />\n </div>\n <div style={{ visibility: isLoading ? \"hidden\" : \"visible\" }}>\n {props.children}\n </div>\n </DropdownMenuPrimitive.Item>;\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"stack-scope ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator,\n DropdownMenuShortcut, DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuTrigger\n};\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ declare const ResizablePanelGroup: ({
7
7
  className,
8
8
  ...props
9
9
  }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => react_jsx_runtime0.JSX.Element;
10
- declare const ResizablePanel: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLOListElement | HTMLLIElement | HTMLAnchorElement | HTMLSpanElement | HTMLObjectElement | HTMLSlotElement | HTMLStyleElement | HTMLTitleElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
10
+ declare const ResizablePanel: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLLIElement | HTMLDivElement | HTMLSpanElement | HTMLImageElement | HTMLParagraphElement | HTMLHeadingElement | HTMLOListElement | HTMLAnchorElement | HTMLInputElement | HTMLLabelElement | HTMLUListElement | HTMLObjectElement | HTMLSlotElement | HTMLStyleElement | HTMLTitleElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement>, "id" | "onResize"> & {
11
11
  className?: string | undefined;
12
12
  collapsedSize?: number | undefined;
13
13
  collapsible?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../src/components/ui/resizable.tsx"],"mappings":";;;;;cAOM,mBAAA;EAAuB,SAAA;EAAA,GAAA;AAAA,GAG1B,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,UAAA,MAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUvD,cAAA,QAAc,yBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,cAAA,CAAA,cAAA,GAAA,WAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,oBAAA,GAAA,cAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,uBAAA,GAAA,oBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,uBAAA,GAAA,eAAA,GAAA,kBAAA;;;;;;;;;;;;;;;;;cAEd,eAAA;EAAmB,UAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAItB,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,iBAAA;EAChD,UAAA;AAAA,MACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../src/components/ui/resizable.tsx"],"mappings":";;;;;cAOM,mBAAA;EAAuB,SAAA;EAAA,GAAA;AAAA,GAG1B,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,UAAA,MAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUvD,cAAA,QAAc,yBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,cAAA,CAAA,iBAAA,GAAA,WAAA,GAAA,aAAA,GAAA,cAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,oBAAA,GAAA,kBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,uBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,eAAA,GAAA,aAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,eAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,uBAAA,GAAA,oBAAA,GAAA,mBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,gBAAA,GAAA,gBAAA;;;;;;;;;;;;;;;;;cAEd,eAAA;EAAmB,UAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAItB,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,iBAAA;EAChD,UAAA;AAAA,MACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -4,8 +4,8 @@ import { VariantProps } from "class-variance-authority";
4
4
 
5
5
  //#region src/components/ui/typography.d.ts
6
6
  declare const Typography: React.FC<React.HTMLAttributes<HTMLHeadingElement> & VariantProps<(props?: ({
7
- type?: "div" | "h1" | "h2" | "h3" | "h4" | "label" | "p" | "footnote" | null | undefined;
8
- variant?: "secondary" | "destructive" | "success" | "primary" | null | undefined;
7
+ type?: "div" | "h2" | "h3" | "label" | "p" | "h1" | "h4" | "footnote" | null | undefined;
8
+ variant?: "destructive" | "secondary" | "success" | "primary" | null | undefined;
9
9
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
10
10
  ref?: React.Ref<HTMLHeadingElement> | undefined;
11
11
  }>;
@@ -1,7 +1,7 @@
1
1
  import { LucideIcon } from "lucide-react";
2
2
  import React from "react";
3
3
  import * as react_jsx_runtime0 from "react/jsx-runtime";
4
- import { Button } from "..";
4
+ import { ButtonProps } from "..";
5
5
 
6
6
  //#region src/components/action-dialog.d.ts
7
7
  type ActionDialogProps = {
@@ -16,12 +16,12 @@ type ActionDialogProps = {
16
16
  okButton?: boolean | Readonly<{
17
17
  label?: string;
18
18
  onClick?: () => Promise<"prevent-close" | undefined | void>;
19
- props?: Partial<React.ComponentProps<typeof Button>>;
19
+ props?: Partial<ButtonProps>;
20
20
  }>;
21
21
  cancelButton?: boolean | Readonly<{
22
22
  label?: string;
23
23
  onClick?: () => Promise<"prevent-close" | undefined | void>;
24
- props?: Partial<React.ComponentProps<typeof Button>>;
24
+ props?: Partial<ButtonProps>;
25
25
  }>;
26
26
  confirmText?: string;
27
27
  children?: React.ReactNode;
@@ -1 +1 @@
1
- {"version":3,"file":"action-dialog.d.ts","names":[],"sources":["../../../src/components/action-dialog.tsx"],"mappings":";;;;;;KAMY,iBAAA;EACV,OAAA,GAAU,KAAA,CAAM,SAAA;EAChB,IAAA;EACA,OAAA;EACA,YAAA,IAAgB,IAAA;EAChB,SAAA,GAAY,UAAA;EACZ,KAAA,YAAiB,KAAA,CAAM,SAAA;EACvB,WAAA,GAAc,KAAA,CAAM,SAAA;EACpB,MAAA;EACA,QAAA,aAAqB,QAAA;IACnB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,KAAA,CAAM,cAAA,QAAsB,MAAA;EAAA;EAE9C,YAAA,aAAyB,QAAA;IACvB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,KAAA,CAAM,cAAA,QAAsB,MAAA;EAAA;EAE9C,WAAA;EACA,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,YAAA;AAAA;AAAA,iBAGc,YAAA,CAAa,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"action-dialog.d.ts","names":[],"sources":["../../../src/components/action-dialog.tsx"],"mappings":";;;;;;KAMY,iBAAA;EACV,OAAA,GAAU,KAAA,CAAM,SAAA;EAChB,IAAA;EACA,OAAA;EACA,YAAA,IAAgB,IAAA;EAChB,SAAA,GAAY,UAAA;EACZ,KAAA,YAAiB,KAAA,CAAM,SAAA;EACvB,WAAA,GAAc,KAAA,CAAM,SAAA;EACpB,MAAA;EACA,QAAA,aAAqB,QAAA;IACnB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,WAAA;EAAA;EAElB,YAAA,aAAyB,QAAA;IACvB,KAAA;IACA,OAAA,SAAgB,OAAA;IAChB,KAAA,GAAQ,OAAA,CAAQ,WAAA;EAAA;EAElB,WAAA;EACA,QAAA,GAAW,KAAA,CAAM,SAAA;EACjB,YAAA;AAAA;AAAA,iBAGc,YAAA,CAAa,KAAA,EAAO,iBAAA,GAAiB,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"action-dialog.js","names":[],"sources":["../../../src/components/action-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, Info, LucideIcon } from \"lucide-react\";\nimport React, { Suspense, useId } from \"react\";\nimport { Alert, Button, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from '..';\n\nexport type ActionDialogProps = {\n trigger?: React.ReactNode,\n open?: boolean,\n onClose?: () => void,\n onOpenChange?: (open: boolean) => void,\n titleIcon?: LucideIcon,\n title: boolean | React.ReactNode,\n description?: React.ReactNode,\n danger?: boolean,\n okButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n cancelButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<React.ComponentProps<typeof Button>>,\n }>,\n confirmText?: string,\n children?: React.ReactNode,\n preventClose?: boolean,\n};\n\nexport function ActionDialog(props: ActionDialogProps) {\n const okButton = props.okButton === true ? {} : props.okButton;\n const cancelButton = props.cancelButton === true ? {} : props.cancelButton;\n const anyButton = !!(okButton || cancelButton);\n const title = props.title === true ? (props.cancelButton ? \"Confirmation\" : \"Alert\") : props.title;\n const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);\n const [openState, setOpenState] = React.useState(!!props.open);\n const open = props.open ?? openState;\n const [confirmed, setConfirmed] = React.useState(false);\n const confirmId = useId();\n const [invalidationCount, setInvalidationCount] = React.useState(0);\n\n const onOpenChange = (open: boolean) => {\n if (!open) {\n props.onClose?.();\n setConfirmed(false);\n } else {\n setInvalidationCount(invalidationCount + 1);\n }\n setOpenState(open);\n props.onOpenChange?.(open);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} key={invalidationCount}>\n {props.trigger && <DialogTrigger asChild>\n {props.trigger}\n </DialogTrigger>}\n\n <DialogContent\n onInteractOutside={props.preventClose ? (e) => e.preventDefault() : undefined}\n className={props.preventClose ? \"[&>button]:hidden\" : \"\"}\n >\n <DialogHeader>\n <DialogTitle className=\"flex items-center\">\n <TitleIcon className=\"h-4 w-4 mr-2\"/>\n {title}\n </DialogTitle>\n <DialogDescription>\n {props.description}\n </DialogDescription>\n </DialogHeader>\n\n <DialogBody className=\"pb-2\">\n <div>\n <Suspense fallback={\n <>\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </>\n }>\n {props.children}\n </Suspense>\n </div>\n\n {props.confirmText && <Alert>\n <Label className=\"flex gap-4 items-center\">\n <Checkbox id={confirmId} checked={confirmed} onCheckedChange={(v) => setConfirmed(!!v)}/>\n {props.confirmText}\n </Label>\n </Alert>}\n </DialogBody>\n\n\n {anyButton && <DialogFooter className=\"gap-2\">\n {cancelButton && (\n <Button\n variant=\"secondary\"\n color=\"neutral\"\n onClick={async () => {\n if (await cancelButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...cancelButton.props}\n >\n {cancelButton.label ?? \"Cancel\"}\n </Button>\n )}\n {okButton && (\n <Button\n disabled={!!props.confirmText && !confirmed}\n variant={props.danger ? \"destructive\" : \"default\"}\n onClick={async () => {\n if (await okButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...okButton.props}\n >\n {okButton.label ?? \"OK\"}\n </Button>\n )}\n </DialogFooter>}\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;AA8BA,SAAgB,aAAa,OAA0B;CACrD,MAAM,WAAW,MAAM,aAAa,OAAO,EAAE,GAAG,MAAM;CACtD,MAAM,eAAe,MAAM,iBAAiB,OAAO,EAAE,GAAG,MAAM;CAC9D,MAAM,YAAY,CAAC,EAAE,YAAY;CACjC,MAAM,QAAQ,MAAM,UAAU,OAAQ,MAAM,eAAe,iBAAiB,UAAW,MAAM;CAC7F,MAAM,YAAY,MAAM,cAAc,MAAM,SAAS,cAAc;CACnE,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM,KAAK;CAC9D,MAAM,OAAO,MAAM,QAAQ;CAC3B,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAS,MAAM;CACvD,MAAM,YAAY,OAAO;CACzB,MAAM,CAAC,mBAAmB,wBAAwB,MAAM,SAAS,EAAE;CAEnE,MAAM,gBAAgB,SAAkB;AACtC,MAAI,CAAC,MAAM;AACT,SAAM,WAAW;AACjB,gBAAa,MAAM;QAEnB,sBAAqB,oBAAoB,EAAE;AAE7C,eAAa,KAAK;AAClB,QAAM,eAAe,KAAK;;AAG5B,QACE,qBAAC;EAAa;EAAoB;aAC/B,MAAM,WAAW,oBAAC;GAAc;aAC9B,MAAM;IACO,EAEhB,qBAAC;GACC,mBAAmB,MAAM,gBAAgB,MAAM,EAAE,gBAAgB,GAAG;GACpE,WAAW,MAAM,eAAe,sBAAsB;;IAEtD,qBAAC,2BACC,qBAAC;KAAY,WAAU;gBACrB,oBAAC,aAAU,WAAU,iBAAgB,EACpC;MACW,EACd,oBAAC,+BACE,MAAM,cACW,IACP;IAEf,qBAAC;KAAW,WAAU;gBACpB,oBAAC,mBACC,oBAAC;MAAS,UACR;OACE,oBAAC,YAAS,WAAU,0BAA0B;OAE9C,oBAAC,YAAS,WAAU,kBAAkB;OACtC,oBAAC,YAAS,WAAU,oBAAoB;OAExC,oBAAC,YAAS,WAAU,kBAAkB;OACtC,oBAAC,YAAS,WAAU,oBAAoB;OAExC,oBAAC,YAAS,WAAU,oBAAoB;UACvC;gBAEF,MAAM;OACE,GACP,EAEL,MAAM,eAAe,oBAAC,mBACrB,qBAAC;MAAM,WAAU;iBACf,oBAAC;OAAS,IAAI;OAAW,SAAS;OAAW,kBAAkB,MAAM,aAAa,CAAC,CAAC,EAAE;QAAG,EACxF,MAAM;OACD,GACF;MACG;IAGZ,aAAa,qBAAC;KAAa,WAAU;gBACnC,gBACC,oBAAC;MACC,SAAQ;MACR,OAAM;MACN,SAAS,YAAY;AACnB,WAAI,MAAM,aAAa,WAAW,KAAK,gBACrC,cAAa,MAAM;;MAGvB,GAAI,aAAa;gBAEhB,aAAa,SAAS;OAChB,EAEV,YACC,oBAAC;MACC,UAAU,CAAC,CAAC,MAAM,eAAe,CAAC;MAClC,SAAS,MAAM,SAAS,gBAAgB;MACxC,SAAS,YAAY;AACnB,WAAI,MAAM,SAAS,WAAW,KAAK,gBACjC,cAAa,MAAM;;MAGvB,GAAI,SAAS;gBAEZ,SAAS,SAAS;OACZ;MAEE;;IACD;IA7EmC,kBA8E5C"}
1
+ {"version":3,"file":"action-dialog.js","names":[],"sources":["../../../src/components/action-dialog.tsx"],"sourcesContent":["'use client';\n\nimport { CircleAlert, Info, LucideIcon } from \"lucide-react\";\nimport React, { Suspense, useId } from \"react\";\nimport { Alert, Button, type ButtonProps, Checkbox, Dialog, DialogBody, DialogContent, DialogDescription, DialogFooter, DialogHeader, DialogTitle, DialogTrigger, Label, Skeleton } from '..';\n\nexport type ActionDialogProps = {\n trigger?: React.ReactNode,\n open?: boolean,\n onClose?: () => void,\n onOpenChange?: (open: boolean) => void,\n titleIcon?: LucideIcon,\n title: boolean | React.ReactNode,\n description?: React.ReactNode,\n danger?: boolean,\n okButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<ButtonProps>,\n }>,\n cancelButton?: boolean | Readonly<{\n label?: string,\n onClick?: () => Promise<\"prevent-close\" | undefined | void>,\n props?: Partial<ButtonProps>,\n }>,\n confirmText?: string,\n children?: React.ReactNode,\n preventClose?: boolean,\n};\n\nexport function ActionDialog(props: ActionDialogProps) {\n const okButton = props.okButton === true ? {} : props.okButton;\n const cancelButton = props.cancelButton === true ? {} : props.cancelButton;\n const anyButton = !!(okButton || cancelButton);\n const title = props.title === true ? (props.cancelButton ? \"Confirmation\" : \"Alert\") : props.title;\n const TitleIcon = props.titleIcon || (props.danger ? CircleAlert : Info);\n const [openState, setOpenState] = React.useState(!!props.open);\n const open = props.open ?? openState;\n const [confirmed, setConfirmed] = React.useState(false);\n const confirmId = useId();\n const [invalidationCount, setInvalidationCount] = React.useState(0);\n\n const onOpenChange = (open: boolean) => {\n if (!open) {\n props.onClose?.();\n setConfirmed(false);\n } else {\n setInvalidationCount(invalidationCount + 1);\n }\n setOpenState(open);\n props.onOpenChange?.(open);\n };\n\n return (\n <Dialog open={open} onOpenChange={onOpenChange} key={invalidationCount}>\n {props.trigger && <DialogTrigger asChild>\n {props.trigger}\n </DialogTrigger>}\n\n <DialogContent\n onInteractOutside={props.preventClose ? (e) => e.preventDefault() : undefined}\n className={props.preventClose ? \"[&>button]:hidden\" : \"\"}\n >\n <DialogHeader>\n <DialogTitle className=\"flex items-center\">\n <TitleIcon className=\"h-4 w-4 mr-2\"/>\n {title}\n </DialogTitle>\n <DialogDescription>\n {props.description}\n </DialogDescription>\n </DialogHeader>\n\n <DialogBody className=\"pb-2\">\n <div>\n <Suspense fallback={\n <>\n <Skeleton className='h-9 w-2/3 self-center' />\n\n <Skeleton className='h-3 w-16 mt-8' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-3 w-24 mt-2' />\n <Skeleton className='h-9 w-full mt-1' />\n\n <Skeleton className='h-9 w-full mt-6' />\n </>\n }>\n {props.children}\n </Suspense>\n </div>\n\n {props.confirmText && <Alert>\n <Label className=\"flex gap-4 items-center\">\n <Checkbox id={confirmId} checked={confirmed} onCheckedChange={(v) => setConfirmed(!!v)}/>\n {props.confirmText}\n </Label>\n </Alert>}\n </DialogBody>\n\n\n {anyButton && <DialogFooter className=\"gap-2\">\n {cancelButton && (\n <Button\n variant=\"secondary\"\n color=\"neutral\"\n onClick={async () => {\n if (await cancelButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...cancelButton.props}\n >\n {cancelButton.label ?? \"Cancel\"}\n </Button>\n )}\n {okButton && (\n <Button\n disabled={!!props.confirmText && !confirmed}\n variant={props.danger ? \"destructive\" : \"default\"}\n onClick={async () => {\n if (await okButton.onClick?.() !== \"prevent-close\") {\n onOpenChange(false);\n }\n }}\n {...okButton.props}\n >\n {okButton.label ?? \"OK\"}\n </Button>\n )}\n </DialogFooter>}\n </DialogContent>\n </Dialog>\n );\n}\n"],"mappings":";;;;;;;;AA8BA,SAAgB,aAAa,OAA0B;CACrD,MAAM,WAAW,MAAM,aAAa,OAAO,EAAE,GAAG,MAAM;CACtD,MAAM,eAAe,MAAM,iBAAiB,OAAO,EAAE,GAAG,MAAM;CAC9D,MAAM,YAAY,CAAC,EAAE,YAAY;CACjC,MAAM,QAAQ,MAAM,UAAU,OAAQ,MAAM,eAAe,iBAAiB,UAAW,MAAM;CAC7F,MAAM,YAAY,MAAM,cAAc,MAAM,SAAS,cAAc;CACnE,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAS,CAAC,CAAC,MAAM,KAAK;CAC9D,MAAM,OAAO,MAAM,QAAQ;CAC3B,MAAM,CAAC,WAAW,gBAAgB,MAAM,SAAS,MAAM;CACvD,MAAM,YAAY,OAAO;CACzB,MAAM,CAAC,mBAAmB,wBAAwB,MAAM,SAAS,EAAE;CAEnE,MAAM,gBAAgB,SAAkB;AACtC,MAAI,CAAC,MAAM;AACT,SAAM,WAAW;AACjB,gBAAa,MAAM;QAEnB,sBAAqB,oBAAoB,EAAE;AAE7C,eAAa,KAAK;AAClB,QAAM,eAAe,KAAK;;AAG5B,QACE,qBAAC;EAAa;EAAoB;aAC/B,MAAM,WAAW,oBAAC;GAAc;aAC9B,MAAM;IACO,EAEhB,qBAAC;GACC,mBAAmB,MAAM,gBAAgB,MAAM,EAAE,gBAAgB,GAAG;GACpE,WAAW,MAAM,eAAe,sBAAsB;;IAEtD,qBAAC,2BACC,qBAAC;KAAY,WAAU;gBACrB,oBAAC,aAAU,WAAU,iBAAgB,EACpC;MACW,EACd,oBAAC,+BACE,MAAM,cACW,IACP;IAEf,qBAAC;KAAW,WAAU;gBACpB,oBAAC,mBACC,oBAAC;MAAS,UACR;OACE,oBAAC,YAAS,WAAU,0BAA0B;OAE9C,oBAAC,YAAS,WAAU,kBAAkB;OACtC,oBAAC,YAAS,WAAU,oBAAoB;OAExC,oBAAC,YAAS,WAAU,kBAAkB;OACtC,oBAAC,YAAS,WAAU,oBAAoB;OAExC,oBAAC,YAAS,WAAU,oBAAoB;UACvC;gBAEF,MAAM;OACE,GACP,EAEL,MAAM,eAAe,oBAAC,mBACrB,qBAAC;MAAM,WAAU;iBACf,oBAAC;OAAS,IAAI;OAAW,SAAS;OAAW,kBAAkB,MAAM,aAAa,CAAC,CAAC,EAAE;QAAG,EACxF,MAAM;OACD,GACF;MACG;IAGZ,aAAa,qBAAC;KAAa,WAAU;gBACnC,gBACC,oBAAC;MACC,SAAQ;MACR,OAAM;MACN,SAAS,YAAY;AACnB,WAAI,MAAM,aAAa,WAAW,KAAK,gBACrC,cAAa,MAAM;;MAGvB,GAAI,aAAa;gBAEhB,aAAa,SAAS;OAChB,EAEV,YACC,oBAAC;MACC,UAAU,CAAC,CAAC,MAAM,eAAe,CAAC;MAClC,SAAS,MAAM,SAAS,gBAAgB;MACxC,SAAS,YAAY;AACnB,WAAI,MAAM,SAAS,WAAW,KAAK,gBACjC,cAAa,MAAM;;MAGvB,GAAI,SAAS;gBAEZ,SAAS,SAAS;OACZ;MAEE;;IACD;IA7EmC,kBA8E5C"}
@@ -10,12 +10,12 @@ declare const CopyButton: React.FC<{
10
10
  } & {
11
11
  asChild?: boolean;
12
12
  } & React.ButtonHTMLAttributes<HTMLButtonElement> & class_variance_authority0.VariantProps<(props?: ({
13
- variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | "plain" | null | undefined;
13
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
14
14
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
15
15
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
16
- ref?: React.Ref<HTMLButtonElement> | undefined;
17
- } & {
18
16
  content: string;
17
+ } & {
18
+ ref?: React.Ref<HTMLButtonElement> | undefined;
19
19
  }>;
20
20
  //#endregion
21
21
  export { CopyButton };
@@ -1 +1 @@
1
- {"version":3,"file":"copy-button.js","names":[],"sources":["../../../src/components/copy-button.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport { Copy } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, cn, useToast } from \"..\";\n\nconst CopyButton = forwardRefIfNeeded<\n React.ElementRef<typeof Button>,\n React.ComponentProps<typeof Button> & { content: string }\n>((props, ref) => {\n const { toast } = useToast();\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className={cn(\"h-6 w-6 p-1\", props.className)}\n ref={ref}\n onClick={async (...args) => {\n await props.onClick?.(...args);\n try {\n await navigator.clipboard.writeText(props.content);\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n }}\n >\n <Copy />\n </Button>\n );\n});\nCopyButton.displayName = \"CopyButton\";\n\nexport { CopyButton };\n"],"mappings":";;;;;;;;;AAOA,MAAM,aAAa,oBAGhB,OAAO,QAAQ;CAChB,MAAM,EAAE,UAAU,UAAU;AAE5B,QACE,oBAAC;EACC,SAAQ;EACR,GAAI;EACJ,WAAW,GAAG,eAAe,MAAM,UAAU;EACxC;EACL,SAAS,OAAO,GAAG,SAAS;AAC1B,SAAM,MAAM,UAAU,GAAG,KAAK;AAC9B,OAAI;AACF,UAAM,UAAU,UAAU,UAAU,MAAM,QAAQ;AAClD,UAAM;KAAE,aAAa;KAAwB,SAAS;KAAW,CAAC;YAC3D,GAAG;AACV,UAAM;KAAE,aAAa;KAA+B,SAAS;KAAe,CAAC;;;YAIjF,oBAAC,SAAO;GACD;EAEX;AACF,WAAW,cAAc"}
1
+ {"version":3,"file":"copy-button.js","names":[],"sources":["../../../src/components/copy-button.tsx"],"sourcesContent":["\"use client\";\n\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport { Copy } from \"lucide-react\";\nimport React from \"react\";\nimport { Button, cn, type ButtonProps, useToast } from \"..\";\n\nconst CopyButton = forwardRefIfNeeded<\n HTMLButtonElement,\n ButtonProps & { content: string }\n>((props, ref) => {\n const { toast } = useToast();\n\n return (\n <Button\n variant=\"secondary\"\n {...props}\n className={cn(\"h-6 w-6 p-1\", props.className)}\n ref={ref}\n onClick={async (...args) => {\n await props.onClick?.(...args);\n try {\n await navigator.clipboard.writeText(props.content);\n toast({ description: 'Copied to clipboard!', variant: 'success' });\n } catch (e) {\n toast({ description: 'Failed to copy to clipboard', variant: 'destructive' });\n }\n }}\n >\n <Copy />\n </Button>\n );\n});\nCopyButton.displayName = \"CopyButton\";\n\nexport { CopyButton };\n"],"mappings":";;;;;;;;;AAOA,MAAM,aAAa,oBAGhB,OAAO,QAAQ;CAChB,MAAM,EAAE,UAAU,UAAU;AAE5B,QACE,oBAAC;EACC,SAAQ;EACR,GAAI;EACJ,WAAW,GAAG,eAAe,MAAM,UAAU;EACxC;EACL,SAAS,OAAO,GAAG,SAAS;AAC1B,SAAM,MAAM,UAAU,GAAG,KAAK;AAC9B,OAAI;AACF,UAAM,UAAU,UAAU,UAAU,MAAM,QAAQ;AAClD,UAAM;KAAE,aAAa;KAAwB,SAAS;KAAW,CAAC;YAC3D,GAAG;AACV,UAAM;KAAE,aAAa;KAA+B,SAAS;KAAe,CAAC;;;YAIjF,oBAAC,SAAO;GACD;EAEX;AACF,WAAW,cAAc"}
@@ -4,11 +4,11 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
4
4
 
5
5
  //#region src/components/ui/badge.d.ts
6
6
  declare const badgeVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
8
8
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
9
9
  type BadgeProps = React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof badgeVariants>;
10
10
  declare const Badge: React.FC<React.HTMLAttributes<HTMLDivElement> & VariantProps<(props?: ({
11
- variant?: "default" | "secondary" | "destructive" | "outline" | null | undefined;
11
+ variant?: "default" | "destructive" | "outline" | "secondary" | null | undefined;
12
12
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
13
13
  ref?: React.Ref<HTMLDivElement> | undefined;
14
14
  }>;
@@ -4,7 +4,7 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
4
4
 
5
5
  //#region src/components/ui/button.d.ts
6
6
  declare const buttonVariants: (props?: ({
7
- variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | "plain" | null | undefined;
7
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
8
8
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
9
9
  } & class_variance_authority_types0.ClassProp) | undefined) => string;
10
10
  type OriginalButtonProps = {
@@ -22,7 +22,7 @@ declare const Button: React.FC<{
22
22
  } & {
23
23
  asChild?: boolean;
24
24
  } & React.ButtonHTMLAttributes<HTMLButtonElement> & VariantProps<(props?: ({
25
- variant?: "default" | "secondary" | "destructive" | "outline" | "link" | "ghost" | "plain" | null | undefined;
25
+ variant?: "default" | "destructive" | "outline" | "secondary" | "ghost" | "link" | "plain" | null | undefined;
26
26
  size?: "default" | "plain" | "sm" | "lg" | "icon" | null | undefined;
27
27
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
28
28
  ref?: React.Ref<HTMLButtonElement> | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\";\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport React from \"react\";\n\nimport { useAsyncCallback } from \"@hexclave/shared/dist/hooks/use-async-callback\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { cn } from \"../../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\nconst DropdownMenuContext = React.createContext<{\n open: boolean,\n setOpen: (open: boolean) => void,\n} | undefined>(undefined);\n\nconst DropdownMenu = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Root>\n>(({ ...props }, ref) => {\n const [open, setOpen] = React.useState(!!props.open);\n\n return (\n <DropdownMenuContext.Provider value={{\n open,\n setOpen: (o) => {\n props.onOpenChange?.(o);\n setOpen(o);\n }\n }}>\n <DropdownMenuPrimitive.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={o => {\n props.onOpenChange?.(o);\n setOpen(o);\n }}\n />\n </DropdownMenuContext.Provider>\n );\n});\nDropdownMenu.displayName = DropdownMenuPrimitive.Root.displayName;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean,\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"stack-scope flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item>, \"onClick\"> & {\n inset?: boolean,\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void | Promise<void>,\n }\n>(({ className, inset, ...props }, ref) => {\n const { setOpen } = React.useContext(DropdownMenuContext) ?? throwErr(\"No DropdownMenuContext found\");\n const [handleClick, isLoading] = useAsyncCallback(async (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n await props.onClick?.(e);\n setOpen(false);\n }, [props.onClick]);\n\n return <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"stack-scope relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n disabled={isLoading || props.disabled}\n onClick={props.onClick ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n runAsynchronouslyWithAlert(handleClick(e));\n } : undefined}\n >\n <div style={{ visibility: isLoading ? \"visible\" : \"hidden\", position: \"absolute\", inset: 0, display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\n <Spinner />\n </div>\n <div style={{ visibility: isLoading ? \"hidden\" : \"visible\" }}>\n {props.children}\n </div>\n </DropdownMenuPrimitive.Item>;\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"stack-scope ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator,\n DropdownMenuShortcut, DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuTrigger\n};\n"],"mappings":"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"}
1
+ {"version":3,"file":"dropdown-menu.js","names":[],"sources":["../../../../src/components/ui/dropdown-menu.tsx"],"sourcesContent":["\"use client\";\n\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport { CheckIcon, ChevronRightIcon, DotFilledIcon } from \"@radix-ui/react-icons\";\nimport { forwardRefIfNeeded } from \"@hexclave/shared/dist/utils/react\";\nimport React from \"react\";\n\nimport { useAsyncCallback } from \"@hexclave/shared/dist/hooks/use-async-callback\";\nimport { throwErr } from \"@hexclave/shared/dist/utils/errors\";\nimport { runAsynchronouslyWithAlert } from \"@hexclave/shared/dist/utils/promises\";\nimport { cn } from \"../../lib/utils\";\nimport { Spinner } from \"./spinner\";\n\nconst DropdownMenuContext = React.createContext<{\n open: boolean,\n setOpen: (open: boolean) => void,\n} | undefined>(undefined);\n\nconst DropdownMenu = forwardRefIfNeeded<\n never,\n DropdownMenuPrimitive.DropdownMenuProps\n>(({ ...props }, ref) => {\n const [open, setOpen] = React.useState(!!props.open);\n\n return (\n <DropdownMenuContext.Provider value={{\n open,\n setOpen: (o) => {\n props.onOpenChange?.(o);\n setOpen(o);\n }\n }}>\n <DropdownMenuPrimitive.Root\n {...props}\n open={props.open ?? open}\n onOpenChange={o => {\n props.onOpenChange?.(o);\n setOpen(o);\n }}\n />\n </DropdownMenuContext.Provider>\n );\n});\nDropdownMenu.displayName = DropdownMenuPrimitive.Root.displayName;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean,\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"stack-scope flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent data-[state=open]:bg-accent\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto h-4 w-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName =\n DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName =\n DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"stack-scope z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md\",\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2\",\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n Omit<React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item>, \"onClick\"> & {\n inset?: boolean,\n onClick?: (event: React.MouseEvent<HTMLDivElement, MouseEvent>) => void | Promise<void>,\n }\n>(({ className, inset, ...props }, ref) => {\n const { setOpen } = React.useContext(DropdownMenuContext) ?? throwErr(\"No DropdownMenuContext found\");\n const [handleClick, isLoading] = useAsyncCallback(async (e: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n await props.onClick?.(e);\n setOpen(false);\n }, [props.onClick]);\n\n return <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"stack-scope relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n disabled={isLoading || props.disabled}\n onClick={props.onClick ? (e) => {\n e.preventDefault();\n e.stopPropagation();\n runAsynchronouslyWithAlert(handleClick(e));\n } : undefined}\n >\n <div style={{ visibility: isLoading ? \"visible\" : \"hidden\", position: \"absolute\", inset: 0, display: \"flex\", justifyContent: \"center\", alignItems: \"center\" }}>\n <Spinner />\n </div>\n <div style={{ visibility: isLoading ? \"hidden\" : \"visible\" }}>\n {props.children}\n </div>\n </DropdownMenuPrimitive.Item>;\n});\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName =\n DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none focus:bg-accent focus:text-accent-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n className\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <DotFilledIcon className=\"h-4 w-4 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean,\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = forwardRefIfNeeded<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"stack-scope ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n );\n};\nDropdownMenuShortcut.displayName = \"DropdownMenuShortcut\";\n\nexport {\n DropdownMenu, DropdownMenuCheckboxItem, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuLabel, DropdownMenuPortal, DropdownMenuRadioGroup, DropdownMenuRadioItem, DropdownMenuSeparator,\n DropdownMenuShortcut, DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger, DropdownMenuTrigger\n};\n"],"mappings":"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"}
@@ -7,7 +7,7 @@ declare const ResizablePanelGroup: ({
7
7
  className,
8
8
  ...props
9
9
  }: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => react_jsx_runtime0.JSX.Element;
10
- declare const ResizablePanel: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLDivElement | HTMLElement | HTMLOListElement | HTMLLIElement | HTMLAnchorElement | HTMLSpanElement | HTMLObjectElement | HTMLSlotElement | HTMLStyleElement | HTMLTitleElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLButtonElement | HTMLCanvasElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadingElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLImageElement | HTMLInputElement | HTMLLabelElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLParagraphElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLTableElement | HTMLTemplateElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLUListElement | HTMLVideoElement | HTMLTableCaptionElement | HTMLMenuElement | HTMLPictureElement>, "id" | "onResize"> & {
10
+ declare const ResizablePanel: react.ForwardRefExoticComponent<Omit<react.HTMLAttributes<HTMLButtonElement | HTMLElement | HTMLLIElement | HTMLDivElement | HTMLSpanElement | HTMLImageElement | HTMLParagraphElement | HTMLHeadingElement | HTMLOListElement | HTMLAnchorElement | HTMLInputElement | HTMLLabelElement | HTMLUListElement | HTMLObjectElement | HTMLSlotElement | HTMLStyleElement | HTMLTitleElement | HTMLAreaElement | HTMLAudioElement | HTMLBaseElement | HTMLQuoteElement | HTMLBodyElement | HTMLBRElement | HTMLCanvasElement | HTMLTableCaptionElement | HTMLTableColElement | HTMLDataElement | HTMLDataListElement | HTMLModElement | HTMLDetailsElement | HTMLDialogElement | HTMLDListElement | HTMLEmbedElement | HTMLFieldSetElement | HTMLFormElement | HTMLHeadElement | HTMLHRElement | HTMLHtmlElement | HTMLIFrameElement | HTMLLegendElement | HTMLLinkElement | HTMLMapElement | HTMLMenuElement | HTMLMetaElement | HTMLMeterElement | HTMLOptGroupElement | HTMLOptionElement | HTMLOutputElement | HTMLPictureElement | HTMLPreElement | HTMLProgressElement | HTMLScriptElement | HTMLSelectElement | HTMLSourceElement | HTMLTableElement | HTMLTableSectionElement | HTMLTableCellElement | HTMLTemplateElement | HTMLTextAreaElement | HTMLTimeElement | HTMLTableRowElement | HTMLTrackElement | HTMLVideoElement>, "id" | "onResize"> & {
11
11
  className?: string | undefined;
12
12
  collapsedSize?: number | undefined;
13
13
  collapsible?: boolean | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../../src/components/ui/resizable.tsx"],"mappings":";;;;;cAOM,mBAAA;EAAuB,SAAA;EAAA,GAAA;AAAA,GAG1B,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,UAAA,MAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUvD,cAAA,QAAc,yBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,cAAA,CAAA,cAAA,GAAA,WAAA,GAAA,gBAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,kBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,oBAAA,GAAA,cAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,uBAAA,GAAA,oBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,uBAAA,GAAA,eAAA,GAAA,kBAAA;;;;;;;;;;;;;;;;;cAEd,eAAA;EAAmB,UAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAItB,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,iBAAA;EAChD,UAAA;AAAA,MACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
1
+ {"version":3,"file":"resizable.d.ts","names":[],"sources":["../../../../src/components/ui/resizable.tsx"],"mappings":";;;;;cAOM,mBAAA;EAAuB,SAAA;EAAA,GAAA;AAAA,GAG1B,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,UAAA,MAAW,kBAAA,CAAA,GAAA,CAAA,OAAA;AAAA,cAUvD,cAAA,QAAc,yBAAA,CAAA,IAAA,CAAA,KAAA,CAAA,cAAA,CAAA,iBAAA,GAAA,WAAA,GAAA,aAAA,GAAA,cAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,oBAAA,GAAA,kBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,eAAA,GAAA,aAAA,GAAA,iBAAA,GAAA,uBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,cAAA,GAAA,kBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,eAAA,GAAA,aAAA,GAAA,eAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,eAAA,GAAA,cAAA,GAAA,eAAA,GAAA,eAAA,GAAA,gBAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,kBAAA,GAAA,cAAA,GAAA,mBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,iBAAA,GAAA,gBAAA,GAAA,uBAAA,GAAA,oBAAA,GAAA,mBAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,mBAAA,GAAA,gBAAA,GAAA,gBAAA;;;;;;;;;;;;;;;;;cAEd,eAAA;EAAmB,UAAA;EAAA,SAAA;EAAA,GAAA;AAAA,GAItB,KAAA,CAAM,cAAA,QAAsB,kBAAA,CAAmB,iBAAA;EAChD,UAAA;AAAA,MACD,kBAAA,CAAA,GAAA,CAAA,OAAA"}
@@ -4,8 +4,8 @@ import * as class_variance_authority_types0 from "class-variance-authority/types
4
4
 
5
5
  //#region src/components/ui/typography.d.ts
6
6
  declare const Typography: React.FC<React.HTMLAttributes<HTMLHeadingElement> & VariantProps<(props?: ({
7
- type?: "div" | "h1" | "h2" | "h3" | "h4" | "label" | "p" | "footnote" | null | undefined;
8
- variant?: "secondary" | "destructive" | "success" | "primary" | null | undefined;
7
+ type?: "div" | "h2" | "h3" | "label" | "p" | "h1" | "h4" | "footnote" | null | undefined;
8
+ variant?: "destructive" | "secondary" | "success" | "primary" | null | undefined;
9
9
  } & class_variance_authority_types0.ClassProp) | undefined) => string> & {
10
10
  ref?: React.Ref<HTMLHeadingElement> | undefined;
11
11
  }>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hexclave/ui",
3
- "version": "1.0.1",
3
+ "version": "1.0.2",
4
4
  "repository": "https://github.com/hexclave/hexclave",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -82,7 +82,7 @@
82
82
  "react-hook-form": "^7.53.1",
83
83
  "react-resizable-panels": "^2.1.6",
84
84
  "tailwind-merge": "^2.5.4",
85
- "@hexclave/shared": "1.0.1"
85
+ "@hexclave/shared": "1.0.2"
86
86
  },
87
87
  "devDependencies": {
88
88
  "@types/react": "^19.0.0",