@cryptlex/web-components 5.3.0-alpha01 → 5.3.0-alpha03
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/components/alert.js +2 -0
- package/dist/components/alert.js.map +1 -0
- package/dist/components/avatar.js +2 -0
- package/dist/components/avatar.js.map +1 -0
- package/dist/components/badge.js +2 -0
- package/dist/components/badge.js.map +1 -0
- package/dist/components/breadcrumbs.js +2 -0
- package/dist/components/breadcrumbs.js.map +1 -0
- package/dist/components/{ui/button.d.ts → button.d.ts} +2 -2
- package/dist/components/button.js +2 -0
- package/dist/components/button.js.map +1 -0
- package/dist/components/calendar.js +2 -0
- package/dist/components/calendar.js.map +1 -0
- package/dist/components/card.js +2 -0
- package/dist/components/card.js.map +1 -0
- package/dist/components/{inputs/checkbox.d.ts → checkbox.d.ts} +1 -1
- package/dist/components/checkbox.js +2 -0
- package/dist/components/checkbox.js.map +1 -0
- package/dist/components/data-table-commons.js +2 -0
- package/dist/components/data-table-commons.js.map +1 -0
- package/dist/components/{data-table/data-table-filter.d.ts → data-table-filter.d.ts} +3 -3
- package/dist/components/data-table-filter.js +2 -0
- package/dist/components/{data-table/data-table.d.ts → data-table.d.ts} +5 -5
- package/dist/components/data-table.js +2 -0
- package/dist/components/data-table.js.map +1 -0
- package/dist/components/{inputs/date-picker.d.ts → date-picker.d.ts} +1 -1
- package/dist/components/date-picker.js +2 -0
- package/dist/components/date-picker.js.map +1 -0
- package/dist/components/datefield.js +2 -0
- package/dist/components/datefield.js.map +1 -0
- package/dist/components/{ui/dialog.d.ts → dialog.d.ts} +1 -1
- package/dist/components/dialog.js +2 -0
- package/dist/components/dialog.js.map +1 -0
- package/dist/components/disclosure.js +2 -0
- package/dist/components/disclosure.js.map +1 -0
- package/dist/components/{inputs/field.d.ts → field.d.ts} +1 -1
- package/dist/components/field.js +2 -0
- package/dist/components/field.js.map +1 -0
- package/dist/components/id-search.js +2 -0
- package/dist/components/id-search.js.map +1 -0
- package/dist/components/input-otp.js +2 -0
- package/dist/components/input-otp.js.map +1 -0
- package/dist/components/key-value-card.js +2 -0
- package/dist/components/key-value-card.js.map +1 -0
- package/dist/components/list-box.js +2 -0
- package/dist/components/list-box.js.map +1 -0
- package/dist/components/loader.js +2 -0
- package/dist/components/loader.js.map +1 -0
- package/dist/components/menu.js +2 -0
- package/dist/components/menu.js.map +1 -0
- package/dist/components/{inputs/multi-select.d.ts → multi-select.d.ts} +3 -3
- package/dist/components/multi-select.js +2 -0
- package/dist/components/multi-select.js.map +1 -0
- package/dist/components/numberfield.js +2 -0
- package/dist/components/numberfield.js.map +1 -0
- package/dist/components/popover.js +2 -0
- package/dist/components/popover.js.map +1 -0
- package/dist/components/searchfield.js +2 -0
- package/dist/components/searchfield.js.map +1 -0
- package/dist/components/select-options.js.map +1 -0
- package/dist/components/{inputs/select.d.ts → select.d.ts} +3 -3
- package/dist/components/select.js +2 -0
- package/dist/components/select.js.map +1 -0
- package/dist/components/{ui/sidebar.d.ts → sidebar.d.ts} +2 -2
- package/dist/components/sidebar.js +2 -0
- package/dist/components/sidebar.js.map +1 -0
- package/dist/components/skeleton.js +2 -0
- package/dist/components/skeleton.js.map +1 -0
- package/dist/components/sonner.js.map +1 -0
- package/dist/components/table.js +2 -0
- package/dist/components/table.js.map +1 -0
- package/dist/components/tabs.js +2 -0
- package/dist/components/tabs.js.map +1 -0
- package/dist/components/textfield.js +2 -0
- package/dist/components/textfield.js.map +1 -0
- package/dist/components/timeline.js +2 -0
- package/dist/components/timeline.js.map +1 -0
- package/dist/components/tooltip.js +2 -0
- package/dist/components/tooltip.js.map +1 -0
- package/dist/utils/form-hook.d.ts +6 -6
- package/dist/utils/form-hook.js +1 -1
- package/dist/utils/form-hook.js.map +1 -1
- package/package.json +6 -8
- package/dist/components/data-table/data-table-filter.js +0 -2
- package/dist/components/data-table/data-table.js +0 -2
- package/dist/components/data-table/data-table.js.map +0 -1
- package/dist/components/data-table/table-commons.js +0 -2
- package/dist/components/data-table/table-commons.js.map +0 -1
- package/dist/components/inputs/checkbox.js +0 -2
- package/dist/components/inputs/checkbox.js.map +0 -1
- package/dist/components/inputs/date-picker.js +0 -2
- package/dist/components/inputs/date-picker.js.map +0 -1
- package/dist/components/inputs/datefield.js +0 -2
- package/dist/components/inputs/datefield.js.map +0 -1
- package/dist/components/inputs/field.js +0 -2
- package/dist/components/inputs/field.js.map +0 -1
- package/dist/components/inputs/id-search.js +0 -2
- package/dist/components/inputs/id-search.js.map +0 -1
- package/dist/components/inputs/input-otp.js +0 -2
- package/dist/components/inputs/input-otp.js.map +0 -1
- package/dist/components/inputs/multi-select.js +0 -2
- package/dist/components/inputs/multi-select.js.map +0 -1
- package/dist/components/inputs/numberfield.js +0 -2
- package/dist/components/inputs/numberfield.js.map +0 -1
- package/dist/components/inputs/searchfield.js +0 -2
- package/dist/components/inputs/searchfield.js.map +0 -1
- package/dist/components/inputs/select-options.js.map +0 -1
- package/dist/components/inputs/select.js +0 -2
- package/dist/components/inputs/select.js.map +0 -1
- package/dist/components/inputs/textfield.js +0 -2
- package/dist/components/inputs/textfield.js.map +0 -1
- package/dist/components/key-value-card/key-value-card.js +0 -2
- package/dist/components/key-value-card/key-value-card.js.map +0 -1
- package/dist/components/ui/alert.js +0 -2
- package/dist/components/ui/alert.js.map +0 -1
- package/dist/components/ui/avatar.js +0 -2
- package/dist/components/ui/avatar.js.map +0 -1
- package/dist/components/ui/badge.js +0 -2
- package/dist/components/ui/badge.js.map +0 -1
- package/dist/components/ui/breadcrumbs.js +0 -2
- package/dist/components/ui/breadcrumbs.js.map +0 -1
- package/dist/components/ui/button.js +0 -2
- package/dist/components/ui/button.js.map +0 -1
- package/dist/components/ui/calendar.js +0 -2
- package/dist/components/ui/calendar.js.map +0 -1
- package/dist/components/ui/card.js +0 -2
- package/dist/components/ui/card.js.map +0 -1
- package/dist/components/ui/dialog.js +0 -2
- package/dist/components/ui/dialog.js.map +0 -1
- package/dist/components/ui/disclosure.js +0 -2
- package/dist/components/ui/disclosure.js.map +0 -1
- package/dist/components/ui/list-box.js +0 -2
- package/dist/components/ui/list-box.js.map +0 -1
- package/dist/components/ui/loader.js +0 -2
- package/dist/components/ui/loader.js.map +0 -1
- package/dist/components/ui/menu.js +0 -2
- package/dist/components/ui/menu.js.map +0 -1
- package/dist/components/ui/popover.js +0 -2
- package/dist/components/ui/popover.js.map +0 -1
- package/dist/components/ui/sidebar.js +0 -2
- package/dist/components/ui/sidebar.js.map +0 -1
- package/dist/components/ui/skeleton.js +0 -2
- package/dist/components/ui/skeleton.js.map +0 -1
- package/dist/components/ui/sonner.js.map +0 -1
- package/dist/components/ui/table.js +0 -2
- package/dist/components/ui/table.js.map +0 -1
- package/dist/components/ui/tabs.js +0 -2
- package/dist/components/ui/tabs.js.map +0 -1
- package/dist/components/ui/timeline.js +0 -2
- package/dist/components/ui/timeline.js.map +0 -1
- package/dist/components/ui/tooltip.js +0 -2
- package/dist/components/ui/tooltip.js.map +0 -1
- /package/dist/components/{ui/alert.d.ts → alert.d.ts} +0 -0
- /package/dist/components/{ui/avatar.d.ts → avatar.d.ts} +0 -0
- /package/dist/components/{ui/badge.d.ts → badge.d.ts} +0 -0
- /package/dist/components/{ui/breadcrumbs.d.ts → breadcrumbs.d.ts} +0 -0
- /package/dist/components/{ui/calendar.d.ts → calendar.d.ts} +0 -0
- /package/dist/components/{ui/card.d.ts → card.d.ts} +0 -0
- /package/dist/components/{data-table/table-commons.d.ts → data-table-commons.d.ts} +0 -0
- /package/dist/components/{data-table/data-table-filter.js.map → data-table-filter.js.map} +0 -0
- /package/dist/components/{inputs/datefield.d.ts → datefield.d.ts} +0 -0
- /package/dist/components/{ui/disclosure.d.ts → disclosure.d.ts} +0 -0
- /package/dist/components/{inputs/id-search.d.ts → id-search.d.ts} +0 -0
- /package/dist/components/{inputs/input-otp.d.ts → input-otp.d.ts} +0 -0
- /package/dist/components/{key-value-card/key-value-card.d.ts → key-value-card.d.ts} +0 -0
- /package/dist/components/{ui/list-box.d.ts → list-box.d.ts} +0 -0
- /package/dist/components/{ui/loader.d.ts → loader.d.ts} +0 -0
- /package/dist/components/{ui/menu.d.ts → menu.d.ts} +0 -0
- /package/dist/components/{inputs/numberfield.d.ts → numberfield.d.ts} +0 -0
- /package/dist/components/{ui/popover.d.ts → popover.d.ts} +0 -0
- /package/dist/components/{inputs/searchfield.d.ts → searchfield.d.ts} +0 -0
- /package/dist/components/{inputs/select-options.d.ts → select-options.d.ts} +0 -0
- /package/dist/components/{inputs/select-options.js → select-options.js} +0 -0
- /package/dist/components/{ui/skeleton.d.ts → skeleton.d.ts} +0 -0
- /package/dist/components/{ui/sonner.d.ts → sonner.d.ts} +0 -0
- /package/dist/components/{ui/sonner.js → sonner.js} +0 -0
- /package/dist/components/{ui/table.d.ts → table.d.ts} +0 -0
- /package/dist/components/{ui/tabs.d.ts → tabs.d.ts} +0 -0
- /package/dist/components/{inputs/textfield.d.ts → textfield.d.ts} +0 -0
- /package/dist/components/{ui/timeline.d.ts → timeline.d.ts} +0 -0
- /package/dist/components/{ui/tooltip.d.ts → tooltip.d.ts} +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sources":["../../../lib/components/ui/avatar.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\n\ninterface InitialString {\n\tinitials: string[2];\n}\nexport interface AvatarProps\n\textends Omit<React.ComponentProps<\"div\">, \"children\">,\n\tInitialString { }\nexport function Avatar({ className, initials, ...props }: AvatarProps) {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"relative text-xs font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none size-input shrink-0 overflow-hidden rounded-full\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{initials}\n\t\t</div>\n\t);\n}\n"],"names":["Avatar","className","initials","props","jsx","classNames"],"mappings":"4GAQO,SAASA,EAAO,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAsB,CACtE,OACCC,EAAC,MAAA,CACA,UAAWC,EACV,mLACAJ,CAAA,EAEA,GAAGE,EAEH,SAAAD,CAAA,CAAA,CAGJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as e}from"react/jsx-runtime";import{classNames as i}from"../../utils/primitives.js";import"clsx";function m({className:n,children:t,...r}){return e("span",{className:i("text-muted leading-none text-sm px-1 inline-flex items-center justify-center select-none bg-card border h-input focus:outline-hidden focus:ring-1 focus:ring-ring",n),...r,children:e("span",{children:t})})}export{m as Badge};
|
|
2
|
-
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../../lib/components/ui/badge.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\n\nexport function Badge({ className, children, ...props }: React.ComponentProps<\"span\">) {\n\treturn (\n\t\t<span\n\t\t\tclassName={classNames(\n\t\t\t\t\"text-muted leading-none text-sm px-1 inline-flex items-center justify-center select-none bg-card border h-input focus:outline-hidden focus:ring-1 focus:ring-ring\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{/* Contents */}\n\t\t\t<span>\n\t\t\t\t{children}\n\t\t\t</span>\n\t\t</span>\n\t);\n}\n"],"names":["Badge","className","children","props","jsx","classNames"],"mappings":"4GAEO,SAASA,EAAM,CAAE,UAAAC,EAAW,SAAAC,EAAU,GAAGC,GAAuC,CACtF,OACCC,EAAC,OAAA,CACA,UAAWC,EACV,oKACAJ,CAAA,EAEA,GAAGE,EAGJ,SAAAC,EAAC,QACC,SAAAF,CAAA,CACF,CAAA,CAAA,CAGH"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as a,jsxs as i}from"react/jsx-runtime";import{Breadcrumbs as c,Breadcrumb as m,Link as s,composeRenderProps as o}from"react-aria-components";import{classNames as t}from"../../utils/primitives.js";import{ChevronRight as d,DotSquare as u}from"lucide-react";import"clsx";function g({className:e,...r}){return a(c,{className:t("flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5",e),...r})}function B({className:e,...r}){return a(m,{className:t("inline-flex items-center gap-1.5 sm:gap-2.5",e),...r})}function N({className:e,...r}){return a(s,{className:o(e,n=>t("transition-colors","data-[hovered]:text-foreground","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","data-[current]:pointer-events-auto data-[current]:opacity-100",n)),...r})}function h({children:e,className:r,...n}){return a("span",{role:"presentation","aria-hidden":"true",className:t("[&>svg]:size-3.5",r),...n,children:e||a(d,{})})}function v({className:e,...r}){return i("span",{role:"presentation","aria-hidden":"true",className:t("flex size-9 items-center justify-center",e),...r,children:[a(u,{className:"size-4"}),a("span",{className:"sr-only",children:"More"})]})}function y({className:e,...r}){return a(s,{className:o(e,n=>t("font-normal text-foreground",n)),...r})}export{v as BreadcrumbEllipsis,B as BreadcrumbItem,N as BreadcrumbLink,y as BreadcrumbPage,h as BreadcrumbSeparator,g as Breadcrumbs};
|
|
2
|
-
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","sources":["../../../lib/components/ui/breadcrumbs.tsx"],"sourcesContent":["import {\n Breadcrumb as AriaBreadcrumb,\n BreadcrumbProps as AriaBreadcrumbProps,\n Breadcrumbs as AriaBreadcrumbs,\n BreadcrumbsProps as AriaBreadcrumbsProps,\n Link as AriaLink,\n LinkProps as AriaLinkProps,\n composeRenderProps,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\nimport { ChevronRight, DotSquare } from \"lucide-react\"\n\nexport function Breadcrumbs<T extends object>({\n className,\n ...props\n}: AriaBreadcrumbsProps<T>) {\n return (\n <AriaBreadcrumbs\n className={classNames(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbItem({ className, ...props }: AriaBreadcrumbProps) {\n return (\n <AriaBreadcrumb\n className={classNames(\"inline-flex items-center gap-1.5 sm:gap-2.5\", className)}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbLink({ className, ...props }: AriaLinkProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, (className) =>\n classNames(\n \"transition-colors\",\n /* Hover */\n \"data-[hovered]:text-foreground\",\n /* Disabled */\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n /* Current */\n \"data-[current]:pointer-events-auto data-[current]:opacity-100\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport function BreadcrumbSeparator({\n children,\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={classNames(\"[&>svg]:size-3.5\", className)}\n {...props}\n >\n {children || <ChevronRight />}\n </span>\n )\n}\n\nexport function BreadcrumbEllipsis({\n className,\n ...props\n}: React.ComponentProps<\"span\">) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={classNames(\"flex size-9 items-center justify-center\", className)}\n {...props}\n >\n <DotSquare className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n )\n}\n\ninterface BreadcrumbPageProps extends Omit<AriaLinkProps, \"href\"> { }\n\nexport function BreadcrumbPage({ className, ...props }: BreadcrumbPageProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, (className) =>\n classNames(\"font-normal text-foreground\", className)\n )}\n {...props}\n />\n )\n}\n\n"],"names":["Breadcrumbs","className","props","jsx","AriaBreadcrumbs","classNames","BreadcrumbItem","AriaBreadcrumb","BreadcrumbLink","AriaLink","composeRenderProps","BreadcrumbSeparator","children","ChevronRight","BreadcrumbEllipsis","jsxs","DotSquare","BreadcrumbPage"],"mappings":"uRAaO,SAASA,EAA8B,CAC5C,UAAAC,EACA,GAAGC,CACL,EAA4B,CAC1B,OACEC,EAACC,EAAA,CACC,UAAWC,EACT,2FACAJ,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASI,EAAe,CAAE,UAAAL,EAAW,GAAGC,GAA8B,CAC3E,OACEC,EAACI,EAAA,CACC,UAAWF,EAAW,8CAA+CJ,CAAS,EAC7E,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASM,EAAe,CAAE,UAAAP,EAAW,GAAGC,GAAwB,CACrE,OACEC,EAACM,EAAA,CACC,UAAWC,EAAmBT,EAAYA,GACxCI,EACE,oBAEA,iCAEA,iEAEA,gEACAJ,CAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASS,EAAoB,CAClC,SAAAC,EACA,UAAAX,EACA,GAAGC,CACL,EAAiC,CAC/B,OACEC,EAAC,OAAA,CACC,KAAK,eACL,cAAY,OACZ,UAAWE,EAAW,mBAAoBJ,CAAS,EAClD,GAAGC,EAEH,SAAAU,KAAaC,EAAA,CAAA,CAAa,CAAA,CAAA,CAGjC,CAEO,SAASC,EAAmB,CACjC,UAAAb,EACA,GAAGC,CACL,EAAiC,CAC/B,OACEa,EAAC,OAAA,CACC,KAAK,eACL,cAAY,OACZ,UAAWV,EAAW,0CAA2CJ,CAAS,EACzE,GAAGC,EAEJ,SAAA,CAAAC,EAACa,EAAA,CAAU,UAAU,QAAA,CAAS,EAC9Bb,EAAC,OAAA,CAAK,UAAU,UAAU,SAAA,MAAA,CAAI,CAAA,CAAA,CAAA,CAGpC,CAIO,SAASc,EAAe,CAAE,UAAAhB,EAAW,GAAGC,GAA8B,CAC3E,OACEC,EAACM,EAAA,CACC,UAAWC,EAAmBT,EAAYA,GACxCI,EAAW,8BAA+BJ,CAAS,CAAA,EAEpD,GAAGC,CAAA,CAAA,CAGV"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as e,jsxs as c,Fragment as i}from"react/jsx-runtime";import{cva as l}from"class-variance-authority";import{classNames as p}from"../../utils/primitives.js";import{Button as d,composeRenderProps as o}from"react-aria-components";import{Loader as f}from"./loader.js";import"clsx";import"lucide-react";const v=l("btn inline-flex gap-1 text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors",{variants:{variant:{primary:"btn-primary",secondary:"btn-secondary",destructive:"btn-destructive",neutral:"btn-neutral",ghost:"btn-ghost",link:"text-primary underline-offset-4 hover:underline"},size:{default:"input-dim",icon:"size-input",none:""}},defaultVariants:{variant:"neutral",size:"default"}});function N({className:r,variant:a,size:s,children:m,isPending:n,active:b,...u}){return e(d,{...u,className:o(r,t=>p(v({variant:a,size:s,className:t}),r)),children:o(m,t=>c(i,{children:[n&&e(f,{}),!n&&e(i,{children:t})]}))})}export{N as Button,v as buttonVariants};
|
|
2
|
-
//# sourceMappingURL=button.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../../lib/components/ui/button.tsx"],"sourcesContent":["\"use client\"\nimport { cva, type VariantProps } from \"class-variance-authority\";\nimport { classNames } from \"lib/utils/primitives\";\nimport {\n\tButton as AriaButton,\n\tcomposeRenderProps,\n\ttype ButtonProps as AriaButtonProps,\n} from \"react-aria-components\";\nimport { Loader } from \"./loader\";\n\nexport const buttonVariants = cva(\n\t\"btn inline-flex gap-1 text-ellipsis overflow-hidden items-center justify-center font-medium transition-colors\",\n\t{\n\t\tvariants: {\n\t\t\tvariant: {\n\t\t\t\tprimary: \"btn-primary\",\n\t\t\t\tsecondary: \"btn-secondary\",\n\t\t\t\tdestructive: \"btn-destructive\",\n\t\t\t\tneutral: \"btn-neutral\",\n\t\t\t\tghost: \"btn-ghost\",\n\t\t\t\tlink: \"text-primary underline-offset-4 hover:underline\",\n\t\t\t},\n\t\t\tsize: {\n\t\t\t\tdefault: \"input-dim\",\n\t\t\t\ticon: \"size-input\",\n\t\t\t\tnone: \"\"\n\t\t\t},\n\t\t},\n\t\tdefaultVariants: {\n\t\t\tvariant: \"neutral\",\n\t\t\tsize: \"default\",\n\t\t},\n\t},\n);\n\nexport type ButtonProps = AriaButtonProps & VariantProps<typeof buttonVariants> & {\n\tref?: React.Ref<HTMLButtonElement>\n\tactive?: boolean\n}\n\nexport function Button({ className: additionalClasses, variant, size, children, isPending, active, ...props }: ButtonProps) {\n\treturn (\n\t\t<AriaButton\n\t\t\t{...props}\n\t\t\tclassName={composeRenderProps(additionalClasses, (className) =>\n\t\t\t\tclassNames(\n\t\t\t\t\tbuttonVariants({\n\t\t\t\t\t\tvariant,\n\t\t\t\t\t\tsize,\n\t\t\t\t\t\tclassName,\n\t\t\t\t\t}),\n\t\t\t\t\tadditionalClasses\n\t\t\t\t)\n\t\t\t)}\n\t\t>\n\t\t\t{composeRenderProps(children, (children) => (<>\n\t\t\t\t{isPending && <Loader />}\n\t\t\t\t{!isPending && <>\n\t\t\t\t\t{children}\n\t\t\t\t\t{/* TODO active indication */}\n\t\t\t\t</>}\n\t\t\t</>))}\n\t\t</AriaButton>\n\t)\n}\n\n"],"names":["buttonVariants","cva","Button","additionalClasses","variant","size","children","isPending","active","props","jsx","AriaButton","composeRenderProps","className","classNames","jsxs","Fragment","Loader"],"mappings":"iUAUO,MAAMA,EAAiBC,EAC7B,gHACA,CACC,SAAU,CACT,QAAS,CACR,QAAS,cACT,UAAW,gBACX,YAAa,kBACb,QAAS,cACT,MAAO,YACP,KAAM,iDAAA,EAEP,KAAM,CACL,QAAS,YACT,KAAM,aACN,KAAM,EAAA,CACP,EAED,gBAAiB,CAChB,QAAS,UACT,KAAM,SAAA,CACP,CAEF,EAOO,SAASC,EAAO,CAAE,UAAWC,EAAmB,QAAAC,EAAS,KAAAC,EAAM,SAAAC,EAAU,UAAAC,EAAW,OAAAC,EAAQ,GAAGC,GAAsB,CAC3H,OACCC,EAACC,EAAA,CACC,GAAGF,EACJ,UAAWG,EAAmBT,EAAoBU,GACjDC,EACCd,EAAe,CACd,QAAAI,EACA,KAAAC,EACA,UAAAQ,CAAA,CACA,EACDV,CAAA,CACD,EAGA,SAAAS,EAAmBN,EAAWA,GAAcS,EAAAC,EAAA,CAC3C,SAAA,CAAAT,KAAcU,EAAA,EAAO,EACrB,CAACV,GAAaG,EAAAM,EAAA,CACb,SAAAV,CAAAA,CAEF,CAAA,EACD,CAAI,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as o,jsx as e}from"react/jsx-runtime";import{today as v,getLocalTimeZone as y}from"@internationalized/date";import{CalendarGridHeader as b,useLocale as N,Heading as S,CalendarGrid as G,CalendarHeaderCell as H,CalendarGridBody as R,RangeCalendarStateContext as $,CalendarCell as w,composeRenderProps as l,Calendar as z,Text as m,RangeCalendar as B}from"react-aria-components";import{Button as c,buttonVariants as j}from"./button.js";import{classNames as n}from"../../utils/primitives.js";import{ChevronRight as s,ChevronLeft as u}from"lucide-react";import{use as L}from"react";import"class-variance-authority";import"./loader.js";import"clsx";function f(t){let{direction:a}=N();return o("header",{className:"flex w-full items-center gap-1 px-1 pb-4",...t,children:[e(c,{slot:"previous",size:"none",className:n("size-7 bg-transparent p-0 opacity-50","data-[hovered]:opacity-100"),children:a==="rtl"?e(s,{"aria-hidden":!0}):e(u,{"aria-hidden":!0})}),e(S,{className:"grow text-center text-sm font-medium"}),e(c,{slot:"next",className:n("size-7 bg-transparent p-0 opacity-50","data-[hovered]:opacity-100"),children:a==="rtl"?e(u,{"aria-hidden":!0}):e(s,{"aria-hidden":!0})})]})}function g({className:t,...a}){return e(G,{className:n(" border-separate border-spacing-x-0 border-spacing-y-1 ",t),...a})}const x=b;function C({className:t,...a}){return e(H,{className:n("w-9 text-xs font-normal text-muted-foreground",t),...a})}function h({className:t,...a}){return e(R,{className:n("[&>tr>td]:p-0",t),...a})}function p({className:t,...a}){const i=!!L($);return e(w,{className:l(t,(d,r)=>n(j({variant:"ghost",size:"none"}),"relative flex size-9 items-center justify-center p-0 text-sm font-normal",r.isDisabled&&"text-muted-foreground opacity-50",r.isSelected&&"bg-primary text-primary-foreground data-[focused]:bg-primary data-[focused]:text-primary-foreground",r.isHovered&&r.isSelected&&(r.isSelectionStart||r.isSelectionEnd||!i)&&"data-[hovered]:bg-primary data-[hovered]:text-primary-foreground",r.isSelected&&i&&!r.isSelectionStart&&!r.isSelectionEnd&&"rounded-none bg-accent text-accent-foreground",r.isOutsideMonth&&"text-muted-foreground opacity-50 data-[selected]:bg-accent/50 data-[selected]:text-muted-foreground data-[selected]:opacity-30",r.date.compare(v(y()))===0&&!r.isSelected&&"bg-accent text-accent-foreground",r.isUnavailable&&"cursor-default text-destructive ",r.isInvalid&&"bg-destructive text-destructive-foreground data-[focused]:bg-destructive data-[hovered]:bg-destructive data-[focused]:text-destructive-foreground data-[hovered]:text-destructive-foreground",d)),...a})}function q({errorMessage:t,className:a,...i}){return o(z,{className:l(a,d=>n("w-fit",d)),...i,children:[e(f,{}),o(g,{children:[e(x,{children:d=>e(C,{children:d})}),e(h,{children:d=>e(p,{date:d})})]}),t&&e(m,{className:"text-sm text-destructive",slot:"errorMessage",children:t})]})}function A({errorMessage:t,className:a,...i}){return o(B,{className:l(a,d=>n("w-fit",d)),...i,children:[e(f,{}),o(g,{children:[e(x,{children:d=>e(C,{children:d})}),e(h,{children:d=>e(p,{date:d})})]}),t&&e(m,{slot:"errorMessage",className:"text-sm text-destructive",children:t})]})}export{q as Calendar,p as CalendarCell,g as CalendarGrid,h as CalendarGridBody,x as CalendarGridHeader,C as CalendarHeaderCell,f as CalendarHeading,A as RangeCalendar};
|
|
2
|
-
//# sourceMappingURL=calendar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"calendar.js","sources":["../../../lib/components/ui/calendar.tsx"],"sourcesContent":["import { getLocalTimeZone, today } from \"@internationalized/date\"\nimport {\n Calendar as AriaCalendar,\n CalendarCell as AriaCalendarCell,\n CalendarCellProps as AriaCalendarCellProps,\n CalendarGrid as AriaCalendarGrid,\n CalendarGridBody as AriaCalendarGridBody,\n CalendarGridBodyProps as AriaCalendarGridBodyProps,\n CalendarGridHeader as AriaCalendarGridHeader,\n CalendarGridProps as AriaCalendarGridProps,\n CalendarHeaderCell as AriaCalendarHeaderCell,\n CalendarHeaderCellProps as AriaCalendarHeaderCellProps,\n CalendarProps as AriaCalendarProps,\n DateValue as AriaDateValue,\n Heading as AriaHeading,\n RangeCalendar as AriaRangeCalendar,\n RangeCalendarProps as AriaRangeCalendarProps,\n RangeCalendarStateContext as AriaRangeCalendarStateContext,\n composeRenderProps,\n Text,\n useLocale\n} from \"react-aria-components\"\n\nimport { Button, buttonVariants } from \"lib/components/ui/button\"\nimport { classNames } from \"lib/utils/primitives\"\nimport { ChevronLeft, ChevronRight } from \"lucide-react\"\nimport { use } from \"react\"\n\nexport function CalendarHeading(props: React.HTMLAttributes<HTMLElement>) {\n let { direction } = useLocale()\n\n return (\n <header className=\"flex w-full items-center gap-1 px-1 pb-4\" {...props}>\n <Button\n slot=\"previous\"\n size='none'\n className={classNames(\n \"size-7 bg-transparent p-0 opacity-50\",\n /* Hover */\n \"data-[hovered]:opacity-100\"\n )}\n >\n {direction === \"rtl\" ? (\n <ChevronRight aria-hidden />\n ) : (\n <ChevronLeft aria-hidden />\n )}\n </Button>\n <AriaHeading className=\"grow text-center text-sm font-medium\" />\n <Button\n slot=\"next\"\n className={classNames(\n \"size-7 bg-transparent p-0 opacity-50\",\n /* Hover */\n \"data-[hovered]:opacity-100\"\n )}\n >\n {direction === \"rtl\" ? (\n <ChevronLeft aria-hidden />\n ) : (\n <ChevronRight aria-hidden />\n )}\n </Button>\n </header>\n )\n}\n\nexport function CalendarGrid({ className, ...props }: AriaCalendarGridProps) {\n return (\n <AriaCalendarGrid\n className={classNames(\n \" border-separate border-spacing-x-0 border-spacing-y-1 \",\n className\n )}\n {...props}\n />\n )\n}\n\nexport const CalendarGridHeader = AriaCalendarGridHeader;\n\nexport function CalendarHeaderCell({\n className,\n ...props\n}: AriaCalendarHeaderCellProps) {\n return (\n <AriaCalendarHeaderCell\n className={classNames(\n \"w-9 text-xs font-normal text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function CalendarGridBody({\n className,\n ...props\n}: AriaCalendarGridBodyProps) {\n return (\n <AriaCalendarGridBody className={classNames(\"[&>tr>td]:p-0\", className)} {...props} />\n )\n}\n\nexport function CalendarCell({ className, ...props }: AriaCalendarCellProps) {\n const isRange = Boolean(use(AriaRangeCalendarStateContext))\n return (\n <AriaCalendarCell\n className={composeRenderProps(className, (className, renderProps) =>\n classNames(\n buttonVariants({ variant: \"ghost\", size: 'none' }),\n \"relative flex size-9 items-center justify-center p-0 text-sm font-normal\",\n /* Disabled */\n renderProps.isDisabled && \"text-muted-foreground opacity-50\",\n /* Selected */\n renderProps.isSelected &&\n \"bg-primary text-primary-foreground data-[focused]:bg-primary data-[focused]:text-primary-foreground\",\n /* Hover */\n renderProps.isHovered &&\n renderProps.isSelected &&\n (renderProps.isSelectionStart ||\n renderProps.isSelectionEnd ||\n !isRange) &&\n \"data-[hovered]:bg-primary data-[hovered]:text-primary-foreground\",\n /* Selection Start/End */\n renderProps.isSelected &&\n isRange &&\n !renderProps.isSelectionStart &&\n !renderProps.isSelectionEnd &&\n \"rounded-none bg-accent text-accent-foreground\",\n /* Outside Month */\n renderProps.isOutsideMonth &&\n \"text-muted-foreground opacity-50 data-[selected]:bg-accent/50 data-[selected]:text-muted-foreground data-[selected]:opacity-30\",\n /* Current Date */\n renderProps.date.compare(today(getLocalTimeZone())) === 0 &&\n !renderProps.isSelected &&\n \"bg-accent text-accent-foreground\",\n /* Unavailable Date */\n renderProps.isUnavailable && \"cursor-default text-destructive \",\n renderProps.isInvalid &&\n \"bg-destructive text-destructive-foreground data-[focused]:bg-destructive data-[hovered]:bg-destructive data-[focused]:text-destructive-foreground data-[hovered]:text-destructive-foreground\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\ninterface CalendarProps<T extends AriaDateValue>\n extends AriaCalendarProps<T> {\n errorMessage?: string\n}\n\nexport function Calendar<T extends AriaDateValue>({\n errorMessage,\n className,\n ...props\n}: CalendarProps<T>) {\n return (\n <AriaCalendar\n className={composeRenderProps(className, (className) =>\n classNames(\"w-fit\", className)\n )}\n {...props}\n >\n <CalendarHeading />\n <CalendarGrid>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} />}\n </CalendarGridBody>\n </CalendarGrid>\n {errorMessage && (\n <Text className=\"text-sm text-destructive\" slot=\"errorMessage\">\n {errorMessage}\n </Text>\n )}\n </AriaCalendar>\n )\n}\n\ninterface RangeCalendarProps<T extends AriaDateValue>\n extends AriaRangeCalendarProps<T> {\n errorMessage?: string\n}\n\nexport function RangeCalendar<T extends AriaDateValue>({\n errorMessage,\n className,\n ...props\n}: RangeCalendarProps<T>) {\n return (\n <AriaRangeCalendar\n className={composeRenderProps(className, (className) =>\n classNames(\"w-fit\", className)\n )}\n {...props}\n >\n <CalendarHeading />\n <CalendarGrid>\n <CalendarGridHeader>\n {(day) => <CalendarHeaderCell>{day}</CalendarHeaderCell>}\n </CalendarGridHeader>\n <CalendarGridBody>\n {(date) => <CalendarCell date={date} />}\n </CalendarGridBody>\n </CalendarGrid>\n {errorMessage && (\n <Text slot=\"errorMessage\" className=\"text-sm text-destructive\">\n {errorMessage}\n </Text>\n )}\n </AriaRangeCalendar>\n )\n}\n\n"],"names":["CalendarHeading","props","direction","useLocale","jsxs","jsx","Button","classNames","ChevronRight","ChevronLeft","AriaHeading","CalendarGrid","className","AriaCalendarGrid","CalendarGridHeader","AriaCalendarGridHeader","CalendarHeaderCell","AriaCalendarHeaderCell","CalendarGridBody","AriaCalendarGridBody","CalendarCell","isRange","use","AriaRangeCalendarStateContext","AriaCalendarCell","composeRenderProps","renderProps","buttonVariants","today","getLocalTimeZone","Calendar","errorMessage","AriaCalendar","day","date","Text","RangeCalendar","AriaRangeCalendar"],"mappings":"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"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as n}from"react/jsx-runtime";import{classNames as o}from"../../utils/primitives.js";import"clsx";function c({className:r,...e}){return n("div",{className:o("flex flex-col p-icon border border-border bg-card text-card-foreground",r),...e})}function d({className:r,...e}){return n("div",{className:o("flex flex-col gap-y-1 pb-icon shrink-0",r),...e})}function s({className:r,...e}){return n("h3",{className:o("h4 leading-none",r),...e})}function l({className:r,...e}){return n("p",{className:o("caption",r),...e})}function f({className:r,...e}){return n("div",{className:o("grow body",r),...e})}function u({className:r,...e}){return n("div",{className:o("flex items-center w-full pt-icon gap-2 justify-end",r),...e})}export{c as Card,f as CardContent,l as CardDescription,u as CardFooter,d as CardHeader,s as CardTitle};
|
|
2
|
-
//# sourceMappingURL=card.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"card.js","sources":["../../../lib/components/ui/card.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\nimport type * as React from \"react\";\n\nexport function Card({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\n\t\t\t\t\"flex flex-col p-icon border border-border bg-card text-card-foreground\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function CardHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"flex flex-col gap-y-1 pb-icon shrink-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n\nexport function CardTitle({ className, ...props }: React.ComponentProps<\"h3\">) {\n\treturn (\n\t\t<h3 className={classNames(\"h4 leading-none\", className)} {...props} />\n\t);\n}\n\n\nexport function CardDescription({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"p\">) {\n\treturn (\n\t\t<p className={classNames(\"caption\", className)} {...props} />\n\t);\n}\n\nexport function CardContent({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div className={classNames(\"grow body\", className)} {...props} />\n\t);\n}\n\n\nexport function CardFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tclassName={classNames(\"flex items-center w-full pt-icon gap-2 justify-end\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\n\n"],"names":["Card","className","props","jsx","classNames","CardHeader","CardTitle","CardDescription","CardContent","CardFooter"],"mappings":"4GAGO,SAASA,EAAK,CAAE,UAAAC,EAAW,GAAGC,GAAsC,CAC1E,OACCC,EAAC,MAAA,CACA,UAAWC,EACV,yEACAH,CAAA,EAEA,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASG,EAAW,CAAE,UAAAJ,EAAW,GAAGC,GAAsC,CAChF,OACCC,EAAC,MAAA,CACA,UAAWC,EAAW,yCAA0CH,CAAS,EACxE,GAAGC,CAAA,CAAA,CAGP,CAGO,SAASI,EAAU,CAAE,UAAAL,EAAW,GAAGC,GAAqC,CAC9E,OACCC,EAAC,MAAG,UAAWC,EAAW,kBAAmBH,CAAS,EAAI,GAAGC,EAAO,CAEtE,CAGO,SAASK,EAAgB,CAC/B,UAAAN,EACA,GAAGC,CACJ,EAA8B,CAC7B,OACCC,EAAC,KAAE,UAAWC,EAAW,UAAWH,CAAS,EAAI,GAAGC,EAAO,CAE7D,CAEO,SAASM,EAAY,CAAE,UAAAP,EAAW,GAAGC,GAAsC,CACjF,OACCC,EAAC,OAAI,UAAWC,EAAW,YAAaH,CAAS,EAAI,GAAGC,EAAO,CAEjE,CAGO,SAASO,EAAW,CAAE,UAAAR,EAAW,GAAGC,GAAsC,CAChF,OACCC,EAAC,MAAA,CACA,UAAWC,EAAW,qDAAsDH,CAAS,EACpF,GAAGC,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as a,jsxs as s,Fragment as f}from"react/jsx-runtime";import{cva as c}from"class-variance-authority";import{DialogTrigger as u,ModalOverlay as x,composeRenderProps as l,Modal as p,Dialog as h,Heading as b}from"react-aria-components";import{Button as v}from"./button.js";import{classNames as i}from"../../utils/primitives.js";import{X as y}from"lucide-react";import"./loader.js";import"clsx";const N=c(["fixed z-50 gap-4 bg-popover transition ease-in-out","data-[entering]:duration-200 data-[entering]:animate-in data-[entering]:fade-in-0 data-[exiting]:duration-200 data-[exiting]:animate-out data-[exiting]:fade-out-0"],{variants:{side:{top:"inset-x-0 top-0 border-b data-[entering]:slide-in-from-top data-[exiting]:slide-out-to-top max-h-table",bottom:"inset-x-0 bottom-0 border-t data-[entering]:slide-in-from-bottom data-[exiting]:slide-out-to-bottom max-h-table",left:"inset-y-0 left-0 h-full w-3/4 border-r data-[entering]:slide-in-from-left data-[exiting]:slide-out-to-left sm:max-w-sm",right:"inset-y-0 right-0 h-full w-3/4 border-l data-[entering]:slide-in-from-right data-[exiting]:slide-out-to-right sm:max-w-sm"}}}),M=u,O=({className:t,isDismissable:e=!0,...n})=>a(x,{isDismissable:e,className:l(t,o=>i("fixed inset-0 z-50 bg-card/20","data-[exiting]:duration-100 data-[exiting]:animate-out","data-[entering]:animate-in",o)),...n});function P({className:t,children:e,side:n,role:o,closeButton:d=!0,...g}){return a(p,{className:l(t,r=>i(n?N({side:n,className:"h-full p-6"}):["fixed left-[50vw] top-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border bg-popover p-icon duration-100 data-[exiting]:duration-100 data-[entering]:animate-in data-[exiting]:animate-out data-[entering]:fade-in-0 data-[exiting]:fade-out-0 data-[entering]:zoom-in-95 data-[exiting]:zoom-out-95 md:w-full"],r)),...g,children:a(h,{role:o,className:i(!n&&"grid h-full gap-4 relative","h-full outline-none"),children:l(e,(r,m)=>s(f,{children:[r,d&&a("div",{className:"absolute right-1 top-1",children:s(v,{size:"icon",variant:"destructive",onPress:m.close,className:"opacity-70 transition-opacity data-[hovered]:opacity-100",children:[a(y,{}),a("span",{className:"sr-only",children:"Close"})]})})]}))})})}function k({className:t,...e}){return a("div",{className:i("flex flex-col gap-y-2 text-center sm:text-left",t),...e})}function B({className:t,...e}){return a("div",{className:i("flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2",t),...e})}function R({className:t,...e}){return a(b,{slot:"title",className:i("text-lg font-semibold leading-none tracking-tight",t),...e})}function V({className:t,...e}){return a("p",{className:i("flex flex-col gap-y-1 text-center sm:text-left",t),...e})}export{P as DialogContent,V as DialogDescription,B as DialogFooter,k as DialogHeader,O as DialogOverlay,R as DialogTitle,M as DialogTrigger};
|
|
2
|
-
//# sourceMappingURL=dialog.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dialog.js","sources":["../../../lib/components/ui/dialog.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport {\n Dialog as AriaDialog,\n DialogProps as AriaDialogProps,\n DialogTrigger as AriaDialogTrigger,\n Heading as AriaHeading,\n HeadingProps as AriaHeadingProps,\n Modal as AriaModal,\n ModalOverlay as AriaModalOverlay,\n ModalOverlayProps as AriaModalOverlayProps,\n composeRenderProps\n} from \"react-aria-components\"\n\nimport { Button } from \"lib/components/ui/button\"\nimport { classNames } from \"lib/utils/primitives\"\nimport { X } from \"lucide-react\"\n\nconst sheetVariants = cva(\n [\n \"fixed z-50 gap-4 bg-popover transition ease-in-out\",\n \"data-[entering]:duration-200 data-[entering]:animate-in data-[entering]:fade-in-0 data-[exiting]:duration-200 data-[exiting]:animate-out data-[exiting]:fade-out-0\",\n ],\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[entering]:slide-in-from-top data-[exiting]:slide-out-to-top max-h-table\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[entering]:slide-in-from-bottom data-[exiting]:slide-out-to-bottom max-h-table\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[entering]:slide-in-from-left data-[exiting]:slide-out-to-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[entering]:slide-in-from-right data-[exiting]:slide-out-to-right sm:max-w-sm\",\n },\n },\n }\n)\n\nexport const DialogTrigger = AriaDialogTrigger\n\nexport const DialogOverlay = ({\n className,\n isDismissable = true,\n ...props\n}: AriaModalOverlayProps) => (\n <AriaModalOverlay\n isDismissable={isDismissable}\n className={composeRenderProps(className, (className) =>\n classNames(\n \"fixed inset-0 z-50 bg-card/20\",\n /* Exiting */\n \"data-[exiting]:duration-100 data-[exiting]:animate-out\",\n /* Entering */\n \"data-[entering]:animate-in\",\n className\n )\n )}\n {...props}\n />\n)\n\nexport interface DialogContentProps\n extends Omit<React.ComponentProps<typeof AriaModal>, \"children\">,\n VariantProps<typeof sheetVariants> {\n children?: AriaDialogProps[\"children\"]\n role?: AriaDialogProps[\"role\"]\n closeButton?: boolean\n}\n\nexport function DialogContent({\n className,\n children,\n side,\n role,\n closeButton = true,\n ...props\n}: DialogContentProps) {\n return (\n <AriaModal\n className={composeRenderProps(className, (className) =>\n classNames(\n side\n ? sheetVariants({ side, className: \"h-full p-6\" })\n : [\"fixed left-[50vw] top-1/2 z-50 w-full max-w-lg -translate-x-1/2 -translate-y-1/2 border bg-popover p-icon duration-100 data-[exiting]:duration-100 data-[entering]:animate-in data-[exiting]:animate-out data-[entering]:fade-in-0 data-[exiting]:fade-out-0 data-[entering]:zoom-in-95 data-[exiting]:zoom-out-95 md:w-full\"],\n className\n )\n )}\n {...props}\n >\n <AriaDialog\n role={role}\n className={classNames(!side && \"grid h-full gap-4 relative\", \"h-full outline-none\")}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n {children}\n {closeButton && (\n <div className=\"absolute right-1 top-1\">\n <Button\n size={'icon'}\n variant={'destructive'}\n onPress={renderProps.close}\n className=\"opacity-70 transition-opacity data-[hovered]:opacity-100\"\n >\n <X />\n <span className=\"sr-only\">Close</span>\n </Button>\n </div>\n )}\n </>\n ))}\n </AriaDialog>\n </AriaModal>\n )\n}\n\nexport function DialogHeader({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={classNames(\n \"flex flex-col gap-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function DialogFooter({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={classNames(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:gap-x-2\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function DialogTitle({ className, ...props }: AriaHeadingProps) {\n return (\n <AriaHeading\n slot=\"title\"\n className={classNames(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function DialogDescription({\n className,\n ...props\n}: React.HTMLAttributes<HTMLParagraphElement>) {\n return (\n <p\n className={classNames(\n \"flex flex-col gap-y-1 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n )\n}"],"names":["sheetVariants","cva","DialogTrigger","AriaDialogTrigger","DialogOverlay","className","isDismissable","props","jsx","AriaModalOverlay","composeRenderProps","classNames","DialogContent","children","side","role","closeButton","AriaModal","AriaDialog","renderProps","jsxs","Fragment","Button","X","DialogHeader","DialogFooter","DialogTitle","AriaHeading","DialogDescription"],"mappings":"iZAiBA,MAAMA,EAAgBC,EACpB,CACE,qDACA,qKAAA,EAEF,CACE,SAAU,CACR,KAAM,CACJ,IAAK,yGACL,OACE,kHACF,KAAM,yHACN,MACE,4HAAA,CACJ,CACF,CAEJ,EAEaC,EAAgBC,EAEhBC,EAAgB,CAAC,CAC5B,UAAAC,EACA,cAAAC,EAAgB,GAChB,GAAGC,CACL,IACEC,EAACC,EAAA,CACC,cAAAH,EACA,UAAWI,EAAmBL,EAAYA,GACxCM,EACE,gCAEA,yDAEA,6BACAN,CAAA,CACF,EAED,GAAGE,CAAA,CACN,EAWK,SAASK,EAAc,CAC5B,UAAAP,EACA,SAAAQ,EACA,KAAAC,EACA,KAAAC,EACA,YAAAC,EAAc,GACd,GAAGT,CACL,EAAuB,CACrB,OACEC,EAACS,EAAA,CACC,UAAWP,EAAmBL,EAAYA,GACxCM,EACEG,EACId,EAAc,CAAE,KAAAc,EAAM,UAAW,YAAA,CAAc,EAC/C,CAAC,8TAA8T,EACnUT,CAAA,CACF,EAED,GAAGE,EAEJ,SAAAC,EAACU,EAAA,CACC,KAAAH,EACA,UAAWJ,EAAW,CAACG,GAAQ,6BAA8B,qBAAqB,EAEjF,SAAAJ,EAAmBG,EAAU,CAACA,EAAUM,IACvCC,EAAAC,EAAA,CACG,SAAA,CAAAR,EACAG,GACCR,EAAC,MAAA,CAAI,UAAU,yBACb,SAAAY,EAACE,EAAA,CACC,KAAM,OACN,QAAS,cACT,QAASH,EAAY,MACrB,UAAU,2DAEV,SAAA,CAAAX,EAACe,EAAA,EAAE,EACHf,EAAC,OAAA,CAAK,UAAU,UAAU,SAAA,OAAA,CAAK,CAAA,CAAA,CAAA,CACjC,CACF,CAAA,EAEJ,CACD,CAAA,CAAA,CACH,CAAA,CAGN,CAEO,SAASgB,EAAa,CAC3B,UAAAnB,EACA,GAAGE,CACL,EAAyC,CACvC,OACEC,EAAC,MAAA,CACC,UAAWG,EACT,iDACAN,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV,CAEO,SAASkB,EAAa,CAC3B,UAAApB,EACA,GAAGE,CACL,EAAyC,CACvC,OACEC,EAAC,MAAA,CACC,UAAWG,EACT,8DACAN,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV,CAEO,SAASmB,EAAY,CAAE,UAAArB,EAAW,GAAGE,GAA2B,CACrE,OACEC,EAACmB,EAAA,CACC,KAAK,QACL,UAAWhB,EACT,oDACAN,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV,CAEO,SAASqB,EAAkB,CAChC,UAAAvB,EACA,GAAGE,CACL,EAA+C,CAC7C,OACEC,EAAC,IAAA,CACC,UAAWG,EACT,iDACAN,CAAA,EAED,GAAGE,CAAA,CAAA,CAGV"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as s,jsxs as l}from"react/jsx-runtime";import{ChevronDownIcon as u}from"lucide-react";import{useContext as d}from"react";import{DisclosureGroupStateContext as c,Disclosure as m,composeRenderProps as t,Heading as p,Button as f,DisclosurePanel as b,DisclosureGroup as g}from"react-aria-components";import{classNames as i}from"../../utils/primitives.js";import"clsx";function y({children:e,className:r,...o}){let n=d(c)!==null;return s(m,{...o,className:t(r,(a,D)=>i("group min-w-64",n&&"border-0 border-b last:border-b-0",a)),children:e})}function P({children:e,className:r}){return s(p,{className:"flex",children:l(f,{slot:"trigger",className:t(r,o=>i("group flex flex-1 items-center justify-between rounded-md py-4 font-medium ring-offset-background transition-all hover:underline","data-[disabled]:pointer-events-none data-[disabled]:opacity-50","data-[focus-visible]:outline-none data-[focus-visible]:ring-2 data-[focus-visible]:ring-ring data-[focus-visible]:ring-offset-2","outline-none",o)),children:[e,s(u,{"aria-hidden":!0,className:i("size-4 shrink-0 transition-transform duration-200","group-data-[expanded]:rotate-180","group-data-[disabled]:opacity-50")})]})})}function j({children:e,className:r,...o}){return s(b,{...o,className:"overflow-hidden text-sm transition-all",children:s("div",{className:i("pb-4 pt-0",r),children:e})})}function C({children:e,className:r,...o}){return s(g,{...o,className:t(r,(n,a)=>i("",n)),children:e})}export{y as Disclosure,C as DisclosureGroup,P as DisclosureHeader,j as DisclosurePanel};
|
|
2
|
-
//# sourceMappingURL=disclosure.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"disclosure.js","sources":["../../../lib/components/ui/disclosure.tsx"],"sourcesContent":["import { ChevronDownIcon } from \"lucide-react\"\nimport { useContext } from \"react\"\nimport {\n Disclosure as AriaDisclosure,\n DisclosureGroup as AriaDisclosureGroup,\n DisclosureGroupProps as AriaDisclosureGroupProps,\n DisclosurePanel as AriaDisclosurePanel,\n DisclosurePanelProps as AriaDisclosurePanelProps,\n DisclosureProps as AriaDisclosureProps,\n Button,\n ButtonProps,\n composeRenderProps,\n DisclosureGroupStateContext,\n Heading,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\n\nexport interface DisclosureProps extends AriaDisclosureProps {\n children: React.ReactNode\n}\n\nexport function Disclosure({ children, className, ...props }: DisclosureProps) {\n let isInGroup = useContext(DisclosureGroupStateContext) !== null\n return (\n <AriaDisclosure\n {...props}\n className={composeRenderProps(className, (className, _) =>\n classNames(\n \"group min-w-64\",\n isInGroup && \"border-0 border-b last:border-b-0\",\n className\n )\n )}\n >\n {children}\n </AriaDisclosure>\n )\n}\n\nexport interface DisclosureHeaderProps {\n children: React.ReactNode\n className?: ButtonProps[\"className\"]\n}\n\nexport function DisclosureHeader({ children, className }: DisclosureHeaderProps) {\n return (\n <Heading className=\"flex\">\n <Button\n slot=\"trigger\"\n className={composeRenderProps(className, (className) => {\n return classNames(\n \"group flex flex-1 items-center justify-between rounded-md py-4 font-medium ring-offset-background transition-all hover:underline\",\n \"data-[disabled]:pointer-events-none data-[disabled]:opacity-50\",\n \"data-[focus-visible]:outline-none data-[focus-visible]:ring-2 data-[focus-visible]:ring-ring data-[focus-visible]:ring-offset-2\",\n \"outline-none\",\n className\n )\n })}\n >\n {children}\n <ChevronDownIcon\n aria-hidden\n className={classNames(\n \"size-4 shrink-0 transition-transform duration-200\",\n \"group-data-[expanded]:rotate-180\",\n \"group-data-[disabled]:opacity-50\"\n )}\n />\n </Button>\n </Heading>\n )\n}\n\nexport interface DisclosurePanelProps extends AriaDisclosurePanelProps {\n children: React.ReactNode\n}\n\nexport function DisclosurePanel({\n children,\n className,\n ...props\n}: DisclosurePanelProps) {\n return (\n <AriaDisclosurePanel\n {...props}\n className={\"overflow-hidden text-sm transition-all\"}\n >\n <div className={classNames(\"pb-4 pt-0\", className)}>{children}</div>\n </AriaDisclosurePanel>\n )\n}\n\nexport interface DisclosureGroupProps extends AriaDisclosureGroupProps {\n children: React.ReactNode\n}\n\nexport function DisclosureGroup({\n children,\n className,\n ...props\n}: DisclosureGroupProps) {\n return (\n <AriaDisclosureGroup\n {...props}\n className={composeRenderProps(className, (className, _) =>\n classNames(\"\", className)\n )}\n >\n {children}\n </AriaDisclosureGroup>\n )\n}\n"],"names":["Disclosure","children","className","props","isInGroup","useContext","DisclosureGroupStateContext","jsx","AriaDisclosure","composeRenderProps","_","classNames","DisclosureHeader","Heading","jsxs","Button","ChevronDownIcon","DisclosurePanel","AriaDisclosurePanel","DisclosureGroup","AriaDisclosureGroup"],"mappings":"uXAsBO,SAASA,EAAW,CAAE,SAAAC,EAAU,UAAAC,EAAW,GAAGC,GAA0B,CAC7E,IAAIC,EAAYC,EAAWC,CAA2B,IAAM,KAC5D,OACEC,EAACC,EAAA,CACE,GAAGL,EACJ,UAAWM,EAAmBP,EAAW,CAACA,EAAWQ,IACnDC,EACE,iBACAP,GAAa,oCACbF,CAAA,CACF,EAGD,SAAAD,CAAA,CAAA,CAGP,CAOO,SAASW,EAAiB,CAAE,SAAAX,EAAU,UAAAC,GAAoC,CAC/E,OACEK,EAACM,EAAA,CAAQ,UAAU,OACjB,SAAAC,EAACC,EAAA,CACC,KAAK,UACL,UAAWN,EAAmBP,EAAYA,GACjCS,EACL,mIACA,iEACA,kIACA,eACAT,CAAA,CAEH,EAEA,SAAA,CAAAD,EACDM,EAACS,EAAA,CACC,cAAW,GACX,UAAWL,EACT,oDACA,mCACA,kCAAA,CACF,CAAA,CACF,CAAA,CAAA,EAEJ,CAEJ,CAMO,SAASM,EAAgB,CAC9B,SAAAhB,EACA,UAAAC,EACA,GAAGC,CACL,EAAyB,CACvB,OACEI,EAACW,EAAA,CACE,GAAGf,EACJ,UAAW,yCAEX,WAAC,MAAA,CAAI,UAAWQ,EAAW,YAAaT,CAAS,EAAI,SAAAD,CAAA,CAAS,CAAA,CAAA,CAGpE,CAMO,SAASkB,EAAgB,CAC9B,SAAAlB,EACA,UAAAC,EACA,GAAGC,CACL,EAAyB,CACvB,OACEI,EAACa,EAAA,CACE,GAAGjB,EACJ,UAAWM,EAAmBP,EAAW,CAACA,EAAWQ,IACnDC,EAAW,GAAIT,CAAS,CAAA,EAGzB,SAAAD,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as o,jsxs as c,Fragment as m}from"react/jsx-runtime";import{ListBoxItem as l,composeRenderProps as r,Collection as d,ListBox as p,Header as u}from"react-aria-components";import{classNames as n}from"../../utils/primitives.js";import{Check as x}from"lucide-react";import"clsx";const v=d;function y({className:t,...e}){return o(p,{className:r(t,s=>n(s,"group overflow-auto border bg-popover p-1 text-popover-foreground shadow-md outline-none","data-[empty]:p-6 data-[empty]:text-center data-[empty]:text-sm")),...e})}function N({className:t,children:e,...s}){return o(l,{textValue:s.textValue||(typeof e=="string"?e:void 0),className:r(t,a=>n("relative flex w-full cursor-default select-none items-center px-2 py-1.5 text-sm outline-none","disabled-muted","data-[focused]:bg-accent data-[focused]:text-accent-foreground","data-[hovered]:bg-accent data-[hovered]:text-accent-foreground","data-[selection-mode]:pl-input",a)),...s,children:r(e,(a,i)=>c(m,{children:[i.isSelected&&o("span",{className:"absolute left-2 flex size-icon items-center justify-center",children:o(x,{className:"size-icon"})}),a]}))})}function h({className:t,...e}){return o(u,{className:n("py-1.5 pl-input pr-2 text-sm font-semibold",t),...e})}export{y as ListBox,v as ListBoxCollection,h as ListBoxHeader,N as ListBoxItem};
|
|
2
|
-
//# sourceMappingURL=list-box.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"list-box.js","sources":["../../../lib/components/ui/list-box.tsx"],"sourcesContent":["import {\n Collection as AriaCollection,\n Header as AriaHeader,\n ListBox as AriaListBox,\n ListBoxItem as AriaListBoxItem,\n ListBoxItemProps as AriaListBoxItemProps,\n ListBoxProps as AriaListBoxProps,\n composeRenderProps\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\nimport { Check } from \"lucide-react\"\n\n\nexport const ListBoxCollection = AriaCollection\n\nexport function ListBox<T extends object>({\n className,\n ...props\n}: AriaListBoxProps<T>) {\n return (\n <AriaListBox\n className={composeRenderProps(className, (className) =>\n classNames(\n className,\n \"group overflow-auto border bg-popover p-1 text-popover-foreground shadow-md outline-none\",\n /* Empty */\n \"data-[empty]:p-6 data-[empty]:text-center data-[empty]:text-sm\"\n )\n )}\n {...props}\n />\n )\n}\n\nexport function ListBoxItem<T extends object>({\n className,\n children,\n ...props\n}: AriaListBoxItemProps<T>) {\n return (\n <AriaListBoxItem\n textValue={\n props.textValue || (typeof children === \"string\" ? children : undefined)\n }\n className={composeRenderProps(className, (className) =>\n classNames(\n \"relative flex w-full cursor-default select-none items-center px-2 py-1.5 text-sm outline-none\",\n /* Disabled */\n \"disabled-muted\",\n /* Focused */\n \"data-[focused]:bg-accent data-[focused]:text-accent-foreground\",\n /* Hovered */\n \"data-[hovered]:bg-accent data-[hovered]:text-accent-foreground\",\n /* Selection */\n \"data-[selection-mode]:pl-input\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n {renderProps.isSelected && (\n <span className=\"absolute left-2 flex size-icon items-center justify-center\">\n <Check className=\"size-icon\" />\n </span>\n )}\n {children}\n </>\n ))}\n </AriaListBoxItem>\n )\n}\n\nexport function ListBoxHeader({\n className,\n ...props\n}: React.ComponentProps<typeof AriaHeader>) {\n return (\n <AriaHeader\n className={classNames(\"py-1.5 pl-input pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n )\n}\n"],"names":["ListBoxCollection","AriaCollection","ListBox","className","props","jsx","AriaListBox","composeRenderProps","classNames","ListBoxItem","children","AriaListBoxItem","renderProps","jsxs","Fragment","Check","ListBoxHeader","AriaHeader"],"mappings":"8RAcO,MAAMA,EAAoBC,EAE1B,SAASC,EAA0B,CACxC,UAAAC,EACA,GAAGC,CACL,EAAwB,CACtB,OACEC,EAACC,EAAA,CACC,UAAWC,EAAmBJ,EAAYA,GACxCK,EACEL,EACA,2FAEA,gEAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASK,EAA8B,CAC5C,UAAAN,EACA,SAAAO,EACA,GAAGN,CACL,EAA4B,CAC1B,OACEC,EAACM,EAAA,CACC,UACEP,EAAM,YAAc,OAAOM,GAAa,SAAWA,EAAW,QAEhE,UAAWH,EAAmBJ,EAAYA,GACxCK,EACE,gGAEA,iBAEA,iEAEA,iEAEA,iCACAL,CAAA,CACF,EAED,GAAGC,EAEH,SAAAG,EAAmBG,EAAU,CAACA,EAAUE,IACvCC,EAAAC,EAAA,CACG,SAAA,CAAAF,EAAY,cACV,OAAA,CAAK,UAAU,6DACd,SAAAP,EAACU,EAAA,CAAM,UAAU,WAAA,CAAY,CAAA,CAC/B,EAEDL,CAAA,EACH,CACD,CAAA,CAAA,CAGP,CAEO,SAASM,EAAc,CAC5B,UAAAb,EACA,GAAGC,CACL,EAA4C,CAC1C,OACEC,EAACY,EAAA,CACC,UAAWT,EAAW,6CAA8CL,CAAS,EAC5E,GAAGC,CAAA,CAAA,CAGV"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{classNames as m}from"../../utils/primitives.js";import{Loader2 as i}from"lucide-react";import"clsx";function n({className:o}){return r(i,{className:m("animate-spin size-icon",o)})}export{n as Loader};
|
|
2
|
-
//# sourceMappingURL=loader.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"loader.js","sources":["../../../lib/components/ui/loader.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\nimport { Loader2 } from \"lucide-react\";\n\ninterface LoaderProps {\n\tclassName?: string; // Define props interface\n}\n\nexport function Loader({ className }: LoaderProps) {\n\treturn <Loader2 className={classNames(`animate-spin size-icon`, className)} />;\n}\n"],"names":["Loader","className","Loader2","classNames"],"mappings":"mJAOO,SAASA,EAAO,CAAE,UAAAC,GAA0B,CAClD,SAAQC,EAAA,CAAQ,UAAWC,EAAW,yBAA0BF,CAAS,EAAG,CAC7E"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsxs as s,jsx as o,Fragment as m}from"react/jsx-runtime";import{MenuTrigger as l,MenuItem as p,composeRenderProps as u,Menu as d,SubmenuTrigger as f,Header as g,Separator as x,Keyboard as b}from"react-aria-components";import{classNames as a}from"../../utils/primitives.js";import{Dot as M,Check as h,ChevronRight as N}from"lucide-react";import{SelectPopover as y}from"../inputs/select.js";import{Button as v}from"./button.js";import{ListBoxCollection as S}from"./list-box.js";import"clsx";import"../inputs/field.js";import"class-variance-authority";import"../../utils/form-context.js";import"@tanstack/react-form";import"./popover.js";import"./loader.js";const T=l,L=f,q=S;function _({className:e,...t}){return o(y,{className:u(e,n=>a(n)),...t})}function z({className:e,...t}){return o(d,{className:a("overflow-auto p-1 outline-0 [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]",e),escapeKeyBehavior:"none",...t})}function A({children:e,className:t,...n}){return o(p,{textValue:n.textValue||(typeof e=="string"?e:void 0),className:u(t,r=>a("relative flex cursor-default select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors","disabled-muted","data-[focused]:bg-accent data-[focused]:text-accent-foreground ","data-[selection-mode]:pl-input",r)),...n,children:u(e,(r,i)=>s(m,{children:[o("span",{className:"absolute left-2 flex size-icon items-center justify-center",children:i.isSelected&&s(m,{children:[i.selectionMode=="single"&&o(M,{className:"size-icon fill-current"}),i.selectionMode=="multiple"&&o(h,{className:"size-icon"})]})}),r,i.hasSubmenu&&o(N,{className:"ml-auto size-icon"})]}))})}function G({className:e,inset:t,separator:n=!0,...r}){return o(g,{className:a("px-3 py-1.5 text-sm font-semibold",t&&"pl-input",n&&"-mx-1 mb-1 border-b border-b-border pb-2.5",e),...r})}function J({className:e,...t}){return o(x,{className:a("-mx-1 my-1 h-px bg-muted",e),...t})}function O({className:e,...t}){return o(b,{className:a("ml-auto text-xs tracking-widest opacity-60",e),...t})}function P({label:e,children:t,variant:n,isDisabled:r,size:i,...c}){return s(T,{...c,children:[o(v,{isDisabled:r,type:"button",variant:n,size:i,children:e}),o(_,{className:"overflow-auto",children:o(z,{...c,children:t})})]})}export{P as EasyMenu,z as Menu,q as MenuCollection,G as MenuHeader,A as MenuItem,O as MenuKeyboard,_ as MenuPopover,J as MenuSeparator,L as MenuSubTrigger,T as MenuTrigger};
|
|
2
|
-
//# sourceMappingURL=menu.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"menu.js","sources":["../../../lib/components/ui/menu.tsx"],"sourcesContent":["import { VariantProps } from \"class-variance-authority\"\nimport {\n Header as AriaHeader,\n Keyboard as AriaKeyboard,\n Menu as AriaMenu,\n MenuItem as AriaMenuItem,\n MenuItemProps as AriaMenuItemProps,\n MenuProps as AriaMenuProps,\n MenuTrigger as AriaMenuTrigger,\n MenuTriggerProps as AriaMenuTriggerProps,\n Separator as AriaSeparator,\n SeparatorProps as AriaSeparatorProps,\n SubmenuTrigger as AriaSubmenuTrigger,\n composeRenderProps,\n PopoverProps,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\n\nimport { Check, ChevronRight, Dot } from \"lucide-react\"\nimport { SelectPopover } from \"../inputs/select\"\nimport { Button, buttonVariants } from \"./button\"\nimport { ListBoxCollection } from \"./list-box\"\n\nexport const MenuTrigger = AriaMenuTrigger\nexport const MenuSubTrigger = AriaSubmenuTrigger\nexport const MenuCollection = ListBoxCollection\n\nexport function MenuPopover({ className, ...props }: PopoverProps) {\n return (\n <SelectPopover\n className={composeRenderProps(className, (className) =>\n classNames(className)\n )}\n {...props}\n />\n )\n}\n\nexport function Menu<T extends object>({ className, ...props }: AriaMenuProps<T>) {\n return (\n <AriaMenu\n className={classNames(\n \"overflow-auto p-1 outline-0 [clip-path:inset(0_0_0_0_round_calc(var(--radius)-2px))]\",\n className\n )}\n escapeKeyBehavior=\"none\"\n {...props}\n />\n )\n}\n\nexport function MenuItem({ children, className, ...props }: AriaMenuItemProps & { ref?: React.Ref<HTMLDivElement> }) {\n return (\n <AriaMenuItem\n textValue={\n props.textValue || (typeof children === \"string\" ? children : undefined)\n }\n className={composeRenderProps(className, (className) =>\n classNames(\n \"relative flex cursor-default select-none items-center gap-2 px-2 py-1.5 text-sm outline-none transition-colors\",\n /* Disabled */\n \"disabled-muted\",\n /* Focused */\n \"data-[focused]:bg-accent data-[focused]:text-accent-foreground \",\n /* Selection Mode */\n \"data-[selection-mode]:pl-input\",\n className\n )\n )}\n {...props}\n >\n {composeRenderProps(children, (children, renderProps) => (\n <>\n <span className=\"absolute left-2 flex size-icon items-center justify-center\">\n {renderProps.isSelected && (\n <>\n {renderProps.selectionMode == \"single\" && (\n <Dot className=\"size-icon fill-current\" />\n )}\n {renderProps.selectionMode == \"multiple\" && (\n <Check className=\"size-icon\" />\n )}\n </>\n )}\n </span>\n\n {children}\n\n {renderProps.hasSubmenu && <ChevronRight className=\"ml-auto size-icon\" />}\n </>\n ))}\n </AriaMenuItem>\n )\n}\n\ninterface MenuHeaderProps extends React.ComponentProps<typeof AriaHeader> {\n inset?: boolean\n separator?: boolean\n}\n\nexport function MenuHeader({\n className,\n inset,\n separator = true,\n ...props\n}: MenuHeaderProps) {\n return (\n <AriaHeader\n className={classNames(\n \"px-3 py-1.5 text-sm font-semibold\",\n inset && \"pl-input\",\n separator && \"-mx-1 mb-1 border-b border-b-border pb-2.5\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport function MenuSeparator({ className, ...props }: AriaSeparatorProps) {\n return (\n <AriaSeparator\n className={classNames(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport function MenuKeyboard({\n className,\n ...props\n}: React.ComponentProps<typeof AriaKeyboard>) {\n return (\n <AriaKeyboard\n className={classNames(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\n}\ninterface MenuProps<T>\n extends AriaMenuProps<T>,\n VariantProps<typeof buttonVariants>,\n Omit<AriaMenuTriggerProps, \"children\"> {\n label?: React.ReactNode\n isDisabled?: boolean\n}\n// TODO name this better\nexport function EasyMenu<T extends object>({\n label,\n children,\n variant,\n isDisabled,\n size,\n ...props\n}: MenuProps<T>) {\n return (\n <MenuTrigger {...props}>\n <Button isDisabled={isDisabled} type=\"button\" variant={variant} size={size}>\n {label}\n </Button>\n <MenuPopover className=\"overflow-auto\">\n <Menu {...props}>{children}</Menu>\n </MenuPopover>\n </MenuTrigger>\n )\n}\n"],"names":["MenuTrigger","AriaMenuTrigger","MenuSubTrigger","AriaSubmenuTrigger","MenuCollection","ListBoxCollection","MenuPopover","className","props","jsx","SelectPopover","composeRenderProps","classNames","Menu","AriaMenu","MenuItem","children","AriaMenuItem","renderProps","jsxs","Fragment","Dot","Check","ChevronRight","MenuHeader","inset","separator","AriaHeader","MenuSeparator","AriaSeparator","MenuKeyboard","AriaKeyboard","EasyMenu","label","variant","isDisabled","size","Button"],"mappings":"spBAwBO,MAAMA,EAAcC,EACdC,EAAiBC,EACjBC,EAAiBC,EAEvB,SAASC,EAAY,CAAE,UAAAC,EAAW,GAAGC,GAAuB,CACjE,OACEC,EAACC,EAAA,CACC,UAAWC,EAAmBJ,EAAYA,GACxCK,EAAWL,CAAS,CAAA,EAErB,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASK,EAAuB,CAAE,UAAAN,EAAW,GAAGC,GAA2B,CAChF,OACEC,EAACK,EAAA,CACC,UAAWF,EACT,uFACAL,CAAA,EAEF,kBAAkB,OACjB,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASO,EAAS,CAAE,SAAAC,EAAU,UAAAT,EAAW,GAAGC,GAAkE,CACnH,OACEC,EAACQ,EAAA,CACC,UACET,EAAM,YAAc,OAAOQ,GAAa,SAAWA,EAAW,QAEhE,UAAWL,EAAmBJ,EAAYA,GACxCK,EACE,iHAEA,iBAEA,kEAEA,iCACAL,CAAA,CACF,EAED,GAAGC,EAEH,SAAAG,EAAmBK,EAAU,CAACA,EAAUE,IACvCC,EAAAC,EAAA,CACE,SAAA,CAAAX,EAAC,OAAA,CAAK,UAAU,6DACb,SAAAS,EAAY,YACXC,EAAAC,EAAA,CACG,SAAA,CAAAF,EAAY,eAAiB,UAC5BT,EAACY,EAAA,CAAI,UAAU,yBAAyB,EAEzCH,EAAY,eAAiB,YAC5BT,EAACa,EAAA,CAAM,UAAU,WAAA,CAAY,CAAA,CAAA,CAEjC,CAAA,CAEJ,EAECN,EAEAE,EAAY,YAAcT,EAACc,EAAA,CAAa,UAAU,mBAAA,CAAoB,CAAA,EACzE,CACD,CAAA,CAAA,CAGP,CAOO,SAASC,EAAW,CACzB,UAAAjB,EACA,MAAAkB,EACA,UAAAC,EAAY,GACZ,GAAGlB,CACL,EAAoB,CAClB,OACEC,EAACkB,EAAA,CACC,UAAWf,EACT,oCACAa,GAAS,WACTC,GAAa,6CACbnB,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASoB,EAAc,CAAE,UAAArB,EAAW,GAAGC,GAA6B,CACzE,OACEC,EAACoB,EAAA,CACC,UAAWjB,EAAW,2BAA4BL,CAAS,EAC1D,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASsB,EAAa,CAC3B,UAAAvB,EACA,GAAGC,CACL,EAA8C,CAC5C,OACEC,EAACsB,EAAA,CACC,UAAWnB,EAAW,6CAA8CL,CAAS,EAC5E,GAAGC,CAAA,CAAA,CAGV,CASO,SAASwB,EAA2B,CACzC,MAAAC,EACA,SAAAjB,EACA,QAAAkB,EACA,WAAAC,EACA,KAAAC,EACA,GAAG5B,CACL,EAAiB,CACf,OACEW,EAACnB,EAAA,CAAa,GAAGQ,EACf,SAAA,CAAAC,EAAC4B,GAAO,WAAAF,EAAwB,KAAK,SAAS,QAAAD,EAAkB,KAAAE,EAC7D,SAAAH,EACH,EACAxB,EAACH,GAAY,UAAU,gBACrB,WAACO,EAAA,CAAM,GAAGL,EAAQ,SAAAQ,CAAA,CAAS,CAAA,CAC7B,CAAA,EACF,CAEJ"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as t}from"react/jsx-runtime";import{Popover as n,composeRenderProps as m,DialogTrigger as p,Dialog as d}from"react-aria-components";import{classNames as a}from"../../utils/primitives.js";import"clsx";const c=p,u=({className:o,offset:e=4,...i})=>t(n,{offset:e,className:m(o,r=>a("z-50 border bg-popover text-popover-foreground outline-none max-w-lg","data-[entering]:animate-in data-[entering]:fade-in-0 data-[entering]:zoom-in-95","data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95","data-[placement=bottom]:slide-in-from-top-2 data-[placement=left]:slide-in-from-right-2 data-[placement=right]:slide-in-from-left-2 data-[placement=top]:slide-in-from-bottom-2",r)),...i});function v({className:o,...e}){return t(d,{className:a("p-icon outline-0",o),...e})}export{u as Popover,v as PopoverDialog,c as PopoverTrigger};
|
|
2
|
-
//# sourceMappingURL=popover.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"popover.js","sources":["../../../lib/components/ui/popover.tsx"],"sourcesContent":["import {\n\tDialog as AriaDialog,\n\tDialogProps as AriaDialogProps,\n\tDialogTrigger as AriaDialogTrigger,\n\tPopover as AriaPopover,\n\tPopoverProps as AriaPopoverProps,\n\tcomposeRenderProps,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\n\nexport const PopoverTrigger = AriaDialogTrigger\n\nexport const Popover = ({ className, offset = 4, ...props }: AriaPopoverProps) => (\n\t<AriaPopover\n\t\toffset={offset}\n\t\tclassName={composeRenderProps(className, (className) =>\n\t\t\tclassNames(\n\t\t\t\t\"z-50 border bg-popover text-popover-foreground outline-none max-w-lg\",\n\t\t\t\t/* Entering */\n\t\t\t\t\"data-[entering]:animate-in data-[entering]:fade-in-0 data-[entering]:zoom-in-95\",\n\t\t\t\t/* Exiting */\n\t\t\t\t\"data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95\",\n\t\t\t\t/* Placement */\n\t\t\t\t\"data-[placement=bottom]:slide-in-from-top-2 data-[placement=left]:slide-in-from-right-2 data-[placement=right]:slide-in-from-left-2 data-[placement=top]:slide-in-from-bottom-2\",\n\t\t\t\tclassName\n\t\t\t)\n\t\t)}\n\t\t{...props}\n\t/>\n)\n\nexport function PopoverDialog({ className, ...props }: AriaDialogProps) {\n\treturn (\n\t\t<AriaDialog className={classNames(\"p-icon outline-0\", className)} {...props} />\n\t)\n}\n"],"names":["PopoverTrigger","AriaDialogTrigger","Popover","className","offset","props","jsx","AriaPopover","composeRenderProps","classNames","PopoverDialog","AriaDialog"],"mappings":"mNAWO,MAAMA,EAAiBC,EAEjBC,EAAU,CAAC,CAAE,UAAAC,EAAW,OAAAC,EAAS,EAAG,GAAGC,KACnDC,EAACC,EAAA,CACA,OAAAH,EACA,UAAWI,EAAmBL,EAAYA,GACzCM,EACC,uEAEA,kFAEA,kFAEA,kLACAN,CAAA,CACD,EAEA,GAAGE,CAAA,CACL,EAGM,SAASK,EAAc,CAAE,UAAAP,EAAW,GAAGE,GAA0B,CACvE,OACCC,EAACK,GAAW,UAAWF,EAAW,mBAAoBN,CAAS,EAAI,GAAGE,EAAO,CAE/E"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as a,Fragment as I,jsxs as x}from"react/jsx-runtime";import{PanelLeftClose as D,PanelLeftOpen as T}from"lucide-react";import{Button as B}from"./button.js";import{DialogTrigger as O,DialogOverlay as E,DialogContent as R}from"./dialog.js";import{Skeleton as w}from"./skeleton.js";import{TooltipTrigger as A,Tooltip as L}from"./tooltip.js";import{classNames as r}from"../../utils/primitives.js";import{useIsMobile as j}from"../../utils/use-mobile.js";import{createContext as H,forwardRef as G,use as K,useState as S,useCallback as N,useEffect as P,useMemo as k}from"react";import"class-variance-authority";import"react-aria-components";import"./loader.js";import"clsx";const W="16rem",q="18rem",F="3rem",U="b",y=H(null);function h(){const t=K(y);if(!t)throw new Error("useSidebar must be used within a SidebarProvider.");return t}function se({defaultOpen:t=!0,open:e,onOpenChange:i,className:n,style:s,children:d,...c}){const l=j(),[p,b]=S(!1),[_,z]=S(t),f=e??_,m=N(o=>{const u=typeof o=="function"?o(f):o;i?i(u):z(u)},[i,f]),g=N(()=>l?b(o=>!o):m(o=>!o),[l,m,b]);P(()=>{const o=u=>{u.key===U&&(u.metaKey||u.ctrlKey)&&(u.preventDefault(),g())};return window.addEventListener("keydown",o),()=>window.removeEventListener("keydown",o)},[g]);const v=f?"expanded":"collapsed",C=k(()=>({state:v,open:f,setOpen:m,isMobile:l,openMobile:p,setOpenMobile:b,toggleSidebar:g}),[v,f,m,l,p,b,g]);return a(y.Provider,{value:C,children:a("div",{style:{"--sidebar-width":W,"--sidebar-width-icon":F,...s},className:r("group/sidebar-wrapper flex w-full has-[[data-variant=inset]]:bg-sidebar-background",n),...c,children:d})})}function de({side:t="left",variant:e="sidebar",collapsible:i="offcanvas",className:n,children:s,...d}){const{isMobile:c,state:l,openMobile:p,setOpenMobile:b}=h();return i==="none"?a("div",{className:r("flex h-full w-[--sidebar-width] flex-col bg-sidebar-background text-sidebar-foreground",n),...d,children:s}):c?a(O,{style:{"--sidebar-width":q},isOpen:p,onOpenChange:b,...d,children:a(E,{children:a(R,{"data-sidebar":"sidebar","data-mobile":"true",className:"w-[--sidebar-width] p-0 [&>button]:hidden",side:"right",children:()=>a(I,{children:s})})})}):x("div",{className:"group peer hidden text-sidebar-foreground md:block","data-state":l,"data-collapsible":l==="collapsed"?i:"","data-variant":e,"data-side":t,children:[a("div",{className:r("relative w-(--sidebar-width) bg-sidebar-background transition-[width] duration-200 ease-linear","group-data-[collapsible=offcanvas]:w-0","group-data-[side=right]:rotate-180",e==="floating"||e==="inset"?"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]":"group-data-[collapsible=icon]:w-[--sidebar-width-icon]")}),a("div",{className:r("absolute z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex",t==="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)]",e==="floating"||e==="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",n),...d,children:a("div",{"data-sidebar":"sidebar",className:"flex h-full w-full flex-col bg-sidebar-background group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:shadow",children:s})})]})}function le({className:t,onClick:e,...i}){const{toggleSidebar:n,open:s}=h();return a(B,{"data-sidebar":"trigger",variant:"neutral",size:"icon",onClick:d=>{e?.(d),n()},...i,children:s?a(D,{}):a(T,{})})}const V=G(({className:t,...e},i)=>{const{toggleSidebar:n}=h();return a("button",{ref:i,"data-sidebar":"rail","aria-label":"Toggle Sidebar",tabIndex:-1,onClick:n,title:"Toggle Sidebar",className:r("absolute inset-y-0 z-20 hidden w-icon -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-icon group-data-[side=right]:left-0 sm:flex","[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize","[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize","group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar-background","[[data-side=left][data-collapsible=offcanvas]_&]:-right-2","[[data-side=right][data-collapsible=offcanvas]_&]:-left-2",t),...e})});V.displayName="SidebarRail";function ue({className:t,...e}){return a("main",{className:r("relative flex w-full flex-1 flex-col bg-background","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-xl md:peer-data-[variant=inset]:shadow",t),...e})}function ce({className:t,...e}){return a("div",{"data-sidebar":"header",className:r("flex flex-col gap-2 p-2",t),...e})}function be({className:t,...e}){return a("div",{"data-sidebar":"footer",className:r("flex flex-col gap-2 p-2",t),...e})}function fe({className:t,...e}){return a("div",{"data-sidebar":"content",className:r("flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden",t),...e})}function pe({className:t,...e}){return a("div",{"data-sidebar":"group",className:r("relative flex w-full min-w-0 flex-col p-2",t),...e})}function me({className:t,...e}){return a("div",{"data-sidebar":"group-label",className:r("flex h-input shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-icon [&>svg]:shrink-0","group-data-[collapsible=icon]:-mt-input group-data-[collapsible=icon]:opacity-0",t),...e})}function ge({className:t,...e}){return a("button",{"data-sidebar":"group-action",className:r("absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-ring transition-transform hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 [&>svg]:size-icon [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","group-data-[collapsible=icon]:hidden",t),...e})}function he({className:t,...e}){return a("div",{"data-sidebar":"group-content",className:r("w-full text-sm",t),...e})}function xe({className:t,...e}){return a("ul",{"data-sidebar":"menu",className:r("flex w-full min-w-0 flex-col gap-1",t),...e})}function ve({className:t,...e}){return a("li",{"data-sidebar":"menu-item",className:r("group/menu-item relative list-none",t),...e})}function we({className:t,showOnHover:e=!1,...i}){return a("button",{"data-sidebar":"menu-action",className:r("absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-ring transition-transform hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-accent-foreground [&>svg]:size-icon [&>svg]:shrink-0","after:absolute after:-inset-2 after:md:hidden","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",e&&"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-accent-foreground md:opacity-0",t),...i})}function Se({className:t,...e}){return a("div",{"data-sidebar":"menu-badge",className:r("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 text-sidebar-foreground","peer-hover/menu-button:text-accent-foreground peer-data-[active=true]/menu-button:text-accent-foreground","peer-data-[size=sm]/menu-button:top-1","peer-data-[size=default]/menu-button:top-1.5","peer-data-[size=lg]/menu-button:top-2.5","group-data-[collapsible=icon]:hidden",t),...e})}function Ne({className:t,showIcon:e=!1,...i}){const n=k(()=>`${Math.floor(Math.random()*40)+50}%`,[]);return x("div",{"data-sidebar":"menu-skeleton",className:r("flex h-input items-center gap-2 px-2",t),...i,children:[e&&a(w,{className:"size-icon","data-sidebar":"menu-skeleton-icon"}),a(w,{className:"h-icon max-w-[--skeleton-width] flex-1","data-sidebar":"menu-skeleton-text",style:{"--skeleton-width":n}})]})}function ke({className:t,...e}){return a("ul",{"data-sidebar":"menu-sub",className:r("mx-2 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border px-2","group-data-[collapsible=icon]:hidden",t),...e})}function ye({className:t,...e}){return a("li",{className:r("list-none ms-0",t),...e})}const M="flex w-full items-center gap-2 truncate p-2 text-sm btn btn-ghost h-input text-accent data-[active=true]:bg-primary/20 data-[active=true]:font-medium data-[active=true]:text-primary [&>span:last-child]:truncate [&>svg]:size-icon [&>svg]:shrink-0";function Me({isActive:t=!1,tooltip:e,className:i,...n}){const{isMobile:s,state:d}=h(),c=a("button",{"data-sidebar":"menu-button","data-active":t,className:r("peer/menu-button group-has-[[data-sidebar=menu-action]]/menu-item:pr-input group-data-[collapsible=icon]:!size-icon group-data-[collapsible=icon]:!p-2 ",M,i),...n});return e?x(A,{children:[c,a(L,{hidden:d!=="collapsed"||s,...e})]}):c}function _e({isActive:t,className:e,...i}){return a("a",{"data-sidebar":"menu-sub-button","data-active":t,className:r("-translate-x-px [&>svg]:text-accent-foreground","group-data-[collapsible=icon]:hidden",M,e),...i})}export{de as Sidebar,fe as SidebarContent,y as SidebarContext,be as SidebarFooter,pe as SidebarGroup,ge as SidebarGroupAction,he as SidebarGroupContent,me as SidebarGroupLabel,ce as SidebarHeader,ue as SidebarInset,xe as SidebarMenu,we as SidebarMenuAction,Se as SidebarMenuBadge,Me as SidebarMenuButton,ve as SidebarMenuItem,Ne as SidebarMenuSkeleton,ke as SidebarMenuSub,_e as SidebarMenuSubButton,ye as SidebarMenuSubItem,se as SidebarProvider,V as SidebarRail,le as SidebarTrigger,h as useSidebar};
|
|
2
|
-
//# sourceMappingURL=sidebar.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../lib/components/ui/sidebar.tsx"],"sourcesContent":["\"use client\"\nimport { PanelLeftClose, PanelLeftOpen } from \"lucide-react\"\n\nimport { Button } from \"lib/components/ui/button\"\nimport { DialogContent, DialogOverlay, DialogTrigger } from \"lib/components/ui/dialog\"\nimport { Skeleton } from \"lib/components/ui/skeleton\"\nimport { Tooltip, TooltipTrigger } from \"lib/components/ui/tooltip\"\nimport { classNames } from \"lib/utils/primitives\"\nimport { useIsMobile } from \"lib/utils/use-mobile\"\nimport { createContext, forwardRef, use, useCallback, useEffect, useMemo, useState } from \"react\"\n\n// TODO use tailwind variables\nconst SIDEBAR_WIDTH = \"16rem\"\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\"\nconst SIDEBAR_WIDTH_ICON = \"3rem\"\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\"\n\ntype SidebarContextProps = {\n\tstate: \"expanded\" | \"collapsed\"\n\topen: boolean\n\tsetOpen: (open: boolean) => void\n\topenMobile: boolean\n\tsetOpenMobile: (open: boolean) => void\n\tisMobile: boolean\n\ttoggleSidebar: () => void\n}\n\nexport const SidebarContext = createContext<SidebarContextProps | null>(null)\n\nexport function useSidebar() {\n\tconst context = use(SidebarContext)\n\tif (!context) {\n\t\tthrow new Error(\"useSidebar must be used within a SidebarProvider.\")\n\t}\n\n\treturn context\n}\n\nexport function SidebarProvider(\n\t{\n\t\tdefaultOpen = true,\n\t\topen: openProp,\n\t\tonOpenChange: setOpenProp,\n\t\tclassName,\n\t\tstyle,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<'div'> & {\n\t\tdefaultOpen?: boolean\n\t\topen?: boolean\n\t\tonOpenChange?: (open: boolean) => void\n\t}) {\n\tconst isMobile = useIsMobile()\n\tconst [openMobile, setOpenMobile] = useState(false)\n\n\t// This is the internal state of the sidebar.\n\t// We use openProp and setOpenProp for control from outside the component.\n\tconst [_open, _setOpen] = useState(defaultOpen)\n\tconst open = openProp ?? _open\n\tconst setOpen = useCallback(\n\t\t(value: boolean | ((value: boolean) => boolean)) => {\n\t\t\tconst openState = typeof value === \"function\" ? value(open) : value\n\t\t\tif (setOpenProp) {\n\t\t\t\tsetOpenProp(openState)\n\t\t\t} else {\n\t\t\t\t_setOpen(openState)\n\t\t\t}\n\n\t\t\t// TODO, use different model for persistence\n\t\t\t// This sets the cookie to keep the sidebar state.\n\t\t\t// document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`\n\t\t},\n\t\t[setOpenProp, open]\n\t)\n\n\t// Helper to toggle the sidebar.\n\tconst toggleSidebar = useCallback(() => {\n\t\treturn isMobile\n\t\t\t? setOpenMobile((open) => !open)\n\t\t\t: setOpen((open) => !open)\n\t}, [isMobile, setOpen, setOpenMobile])\n\n\t// Adds a keyboard shortcut to toggle the sidebar.\n\tuseEffect(() => {\n\t\tconst handleKeyDown = (event: KeyboardEvent) => {\n\t\t\tif (\n\t\t\t\tevent.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n\t\t\t\t(event.metaKey || event.ctrlKey)\n\t\t\t) {\n\t\t\t\tevent.preventDefault()\n\t\t\t\ttoggleSidebar()\n\t\t\t}\n\t\t}\n\n\t\twindow.addEventListener(\"keydown\", handleKeyDown)\n\t\treturn () => window.removeEventListener(\"keydown\", handleKeyDown)\n\t}, [toggleSidebar])\n\n\t// We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n\t// This makes it easier to style the sidebar with Tailwind classes.\n\tconst state = open ? \"expanded\" : \"collapsed\"\n\n\tconst contextValue = useMemo<SidebarContextProps>(\n\t\t() => ({\n\t\t\tstate,\n\t\t\topen,\n\t\t\tsetOpen,\n\t\t\tisMobile,\n\t\t\topenMobile,\n\t\t\tsetOpenMobile,\n\t\t\ttoggleSidebar,\n\t\t}),\n\t\t[state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar]\n\t)\n\n\treturn (\n\t\t<SidebarContext.Provider value={contextValue}>\n\t\t\t<div\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--sidebar-width\": SIDEBAR_WIDTH,\n\t\t\t\t\t\t\"--sidebar-width-icon\": SIDEBAR_WIDTH_ICON,\n\t\t\t\t\t\t...style,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t\"group/sidebar-wrapper flex w-full has-[[data-variant=inset]]:bg-sidebar-background\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t</SidebarContext.Provider>\n\t)\n}\n\n\nexport function Sidebar(\n\t{\n\t\tside = \"left\",\n\t\tvariant = \"sidebar\",\n\t\tcollapsible = \"offcanvas\",\n\t\tclassName,\n\t\tchildren,\n\t\t...props\n\t}: React.ComponentProps<\"div\"> & {\n\t\tside?: \"left\" | \"right\"\n\t\tvariant?: \"sidebar\" | \"floating\" | \"inset\"\n\t\tcollapsible?: \"offcanvas\" | \"icon\" | \"none\"\n\t}\n) {\n\tconst { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n\tif (collapsible === \"none\") {\n\t\treturn (\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t\"flex h-full w-[--sidebar-width] flex-col bg-sidebar-background text-sidebar-foreground\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t{children}\n\t\t\t</div>\n\t\t)\n\t}\n\n\tif (isMobile) {\n\t\treturn (\n\t\t\t<DialogTrigger style={{ \"--sidebar-width\": SIDEBAR_WIDTH_MOBILE, } as React.CSSProperties} isOpen={openMobile} onOpenChange={setOpenMobile} {...props} >\n\t\t\t\t<DialogOverlay>\n\t\t\t\t\t<DialogContent\n\t\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\t\tdata-mobile=\"true\"\n\t\t\t\t\t\tclassName=\"w-[--sidebar-width] p-0 [&>button]:hidden\" side=\"right\">\n\t\t\t\t\t\t{() => (\n\t\t\t\t\t\t\t<>\n\t\t\t\t\t\t\t\t{children}\n\t\t\t\t\t\t\t</>\n\t\t\t\t\t\t)}\n\t\t\t\t\t</DialogContent>\n\t\t\t\t</DialogOverlay>\n\t\t\t</DialogTrigger>\n\t\t)\n\t}\n\n\treturn (\n\t\t<div\n\t\t\tclassName=\"group peer hidden text-sidebar-foreground md:block\"\n\t\t\tdata-state={state}\n\t\t\tdata-collapsible={state === \"collapsed\" ? collapsible : \"\"}\n\t\t\tdata-variant={variant}\n\t\t\tdata-side={side}\n\t\t>\n\t\t\t{/* This is what handles the sidebar gap on desktop */}\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t\"relative w-(--sidebar-width) bg-sidebar-background transition-[width] duration-200 ease-linear\",\n\t\t\t\t\t\"group-data-[collapsible=offcanvas]:w-0\",\n\t\t\t\t\t\"group-data-[side=right]:rotate-180\",\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon]\"\n\t\t\t\t)}\n\t\t\t/>\n\t\t\t<div\n\t\t\t\tclassName={classNames(\n\t\t\t\t\t\"absolute z-10 hidden w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex\",\n\t\t\t\t\tside === \"left\"\n\t\t\t\t\t\t? \"left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]\"\n\t\t\t\t\t\t: \"right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]\",\n\t\t\t\t\t// Adjust the padding for floating and inset variants.\n\t\t\t\t\tvariant === \"floating\" || variant === \"inset\"\n\t\t\t\t\t\t? \"p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]\"\n\t\t\t\t\t\t: \"group-data-[collapsible=icon]:w-[--sidebar-width-icon] group-data-[side=left]:border-r group-data-[side=right]:border-l\",\n\t\t\t\t\tclassName\n\t\t\t\t)}\n\t\t\t\t{...props}\n\t\t\t>\n\t\t\t\t<div\n\t\t\t\t\tdata-sidebar=\"sidebar\"\n\t\t\t\t\tclassName=\"flex h-full w-full flex-col bg-sidebar-background group-data-[variant=floating]:border group-data-[variant=floating]:border-border group-data-[variant=floating]:shadow\"\n\t\t\t\t>\n\t\t\t\t\t{children}\n\t\t\t\t</div>\n\t\t\t</div>\n\t\t</div>\n\t)\n}\n\n\n\nexport function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n\tconst { toggleSidebar, open } = useSidebar()\n\n\treturn (\n\t\t<Button\n\t\t\tdata-sidebar=\"trigger\"\n\t\t\tvariant=\"neutral\"\n\t\t\tsize=\"icon\"\n\t\t\tonClick={(event) => {\n\t\t\t\tonClick?.(event)\n\t\t\t\ttoggleSidebar()\n\t\t\t}}\n\t\t\t{...props}\n\t\t>{open ? <PanelLeftClose /> : <PanelLeftOpen />}</Button>\n\t)\n}\n\n// TODO, evaluate if we need this??\nexport const SidebarRail = forwardRef<\n\tHTMLButtonElement,\n\tReact.ComponentProps<\"button\">\n>(({ className, ...props }, ref) => {\n\tconst { toggleSidebar } = useSidebar()\n\n\treturn (\n\t\t<button\n\t\t\tref={ref}\n\t\t\tdata-sidebar=\"rail\"\n\t\t\taria-label=\"Toggle Sidebar\"\n\t\t\ttabIndex={-1}\n\t\t\tonClick={toggleSidebar}\n\t\t\ttitle=\"Toggle Sidebar\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"absolute inset-y-0 z-20 hidden w-icon -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border group-data-[side=left]:-right-icon group-data-[side=right]:left-0 sm:flex\",\n\t\t\t\t\"[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize\",\n\t\t\t\t\"[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize\",\n\t\t\t\t\"group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar-background\",\n\t\t\t\t\"[[data-side=left][data-collapsible=offcanvas]_&]:-right-2\",\n\t\t\t\t\"[[data-side=right][data-collapsible=offcanvas]_&]:-left-2\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n})\nSidebarRail.displayName = \"SidebarRail\"\n\nexport function SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n\treturn (\n\t\t<main\n\t\t\tclassName={classNames(\n\t\t\t\t\"relative flex w-full flex-1 flex-col bg-background\",\n\t\t\t\t\"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-xl md:peer-data-[variant=inset]:shadow\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\n\t\t\tdata-sidebar=\"header\"\n\t\t\tclassName={classNames(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"footer\"\n\t\t\tclassName={classNames(\"flex flex-col gap-2 p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"content\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group\"\n\t\t\tclassName={classNames(\"relative flex w-full min-w-0 flex-col p-2\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n\nexport function SidebarGroupLabel({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group-label\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"flex h-input shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-icon [&>svg]:shrink-0\",\n\t\t\t\t\"group-data-[collapsible=icon]:-mt-input group-data-[collapsible=icon]:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\nexport function SidebarGroupAction({ className, ...props }: React.ComponentProps<\"button\">) {\n\treturn (\n\t\t<button\n\t\t\tdata-sidebar=\"group-action\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-ring transition-transform hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 [&>svg]:size-icon [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"group-content\"\n\t\t\tclassName={classNames(\"w-full text-sm\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu\"\n\t\t\tclassName={classNames(\"flex w-full min-w-0 flex-col gap-1\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n\treturn (\n\t\t<li\n\t\t\tdata-sidebar=\"menu-item\"\n\t\t\tclassName={classNames(\"group/menu-item relative list-none\", className)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\n/// TODO fix positioning\nexport function SidebarMenuAction({ className, showOnHover = false, ...props }: React.ComponentProps<\"button\"> & {\n\tshowOnHover?: boolean\n}) {\n\n\treturn (\n\t\t<button\n\t\t\tdata-sidebar=\"menu-action\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-ring transition-transform hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-accent-foreground [&>svg]:size-icon [&>svg]:shrink-0\",\n\t\t\t\t// Increases the hit area of the button on mobile.\n\t\t\t\t\"after:absolute after:-inset-2 after:md:hidden\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tshowOnHover &&\n\t\t\t\t\"group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-accent-foreground md:opacity-0\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-badge\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"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 text-sidebar-foreground\",\n\t\t\t\t\"peer-hover/menu-button:text-accent-foreground peer-data-[active=true]/menu-button:text-accent-foreground\",\n\t\t\t\t\"peer-data-[size=sm]/menu-button:top-1\",\n\t\t\t\t\"peer-data-[size=default]/menu-button:top-1.5\",\n\t\t\t\t\"peer-data-[size=lg]/menu-button:top-2.5\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSkeleton({ className, showIcon = false, ...props }: React.ComponentProps<\"div\"> & {\n\tshowIcon?: boolean\n}) {\n\t// Random width between 50 to 90%.\n\tconst width = useMemo(() => {\n\t\treturn `${Math.floor(Math.random() * 40) + 50}%`\n\t}, [])\n\n\treturn (\n\t\t<div\n\t\t\tdata-sidebar=\"menu-skeleton\"\n\t\t\tclassName={classNames(\"flex h-input items-center gap-2 px-2\", className)}\n\t\t\t{...props}\n\t\t>\n\t\t\t{showIcon && (\n\t\t\t\t<Skeleton\n\t\t\t\t\tclassName=\"size-icon\"\n\t\t\t\t\tdata-sidebar=\"menu-skeleton-icon\"\n\t\t\t\t/>\n\t\t\t)}\n\t\t\t<Skeleton\n\t\t\t\tclassName=\"h-icon max-w-[--skeleton-width] flex-1\"\n\t\t\t\tdata-sidebar=\"menu-skeleton-text\"\n\t\t\t\tstyle={\n\t\t\t\t\t{\n\t\t\t\t\t\t\"--skeleton-width\": width,\n\t\t\t\t\t} as React.CSSProperties\n\t\t\t\t}\n\t\t\t/>\n\t\t</div>\n\t)\n}\n\nexport function SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n\treturn (\n\t\t<ul\n\t\t\tdata-sidebar=\"menu-sub\"\n\t\t\tclassName={classNames(\n\t\t\t\t\"mx-2 flex min-w-0 translate-x-px flex-col gap-1 border-l border-border px-2\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n\nexport function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) { return <li className={classNames(\"list-none ms-0\", className)} {...props} /> }\n\n// Common interaction logic for SidebarMenuButton and SidebarMenuSubButton\nconst Cs_SidebarButton = \"flex w-full items-center gap-2 truncate p-2 text-sm btn btn-ghost h-input text-accent data-[active=true]:bg-primary/20 data-[active=true]:font-medium data-[active=true]:text-primary [&>span:last-child]:truncate [&>svg]:size-icon [&>svg]:shrink-0\";\nexport function SidebarMenuButton\n\t(\n\t\t{\n\t\t\tisActive = false,\n\t\t\ttooltip,\n\t\t\tclassName,\n\t\t\t...props\n\t\t}: React.ComponentProps<\"button\"> & {\n\t\t\tisActive?: boolean\n\t\t\ttooltip?: React.ComponentProps<typeof Tooltip>\n\t\t}\n\t) {\n\tconst { isMobile, state } = useSidebar()\n\n\tconst button = (\n\t\t<button\n\t\t\tdata-sidebar=\"menu-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={classNames(\n\t\t\t\t\"peer/menu-button group-has-[[data-sidebar=menu-action]]/menu-item:pr-input group-data-[collapsible=icon]:!size-icon group-data-[collapsible=icon]:!p-2 \",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName)}\n\t\t\t{...props}\n\t\t/>\n\t)\n\n\tif (!tooltip) {\n\t\treturn button\n\t}\n\n\treturn (\n\t\t<TooltipTrigger>\n\t\t\t{button}\n\t\t\t<Tooltip\n\t\t\t\thidden={state !== \"collapsed\" || isMobile}\n\t\t\t\t{...tooltip}\n\t\t\t/>\n\t\t</TooltipTrigger>\n\t)\n}\n\nexport function SidebarMenuSubButton({ isActive, className, ...props }: React.ComponentProps<'a'> & {\n\tisActive?: boolean\n}) {\n\n\treturn (\n\t\t<a\n\t\t\tdata-sidebar=\"menu-sub-button\"\n\t\t\tdata-active={isActive}\n\t\t\tclassName={classNames(\n\t\t\t\t\"-translate-x-px [&>svg]:text-accent-foreground\",\n\t\t\t\t\"group-data-[collapsible=icon]:hidden\",\n\t\t\t\tCs_SidebarButton,\n\t\t\t\tclassName\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t)\n}\n// TODO, standardize heights here"],"names":["SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","createContext","useSidebar","context","use","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","isMobile","useIsMobile","openMobile","setOpenMobile","useState","_open","_setOpen","open","setOpen","useCallback","value","openState","toggleSidebar","useEffect","handleKeyDown","event","state","contextValue","useMemo","jsx","classNames","Sidebar","side","variant","collapsible","DialogTrigger","DialogOverlay","DialogContent","jsxs","SidebarTrigger","onClick","Button","PanelLeftClose","PanelLeftOpen","SidebarRail","forwardRef","ref","SidebarInset","SidebarHeader","SidebarFooter","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","width","Skeleton","SidebarMenuSub","SidebarMenuSubItem","Cs_SidebarButton","SidebarMenuButton","isActive","tooltip","button","TooltipTrigger","Tooltip","SidebarMenuSubButton"],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"skeleton.js","sources":["../../../lib/components/ui/skeleton.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\n\nexport function Skeleton({ className, ...props }: React.ComponentProps<\"div\">) {\n\treturn (\n\t\t<div className={classNames(\"animate-pulse bg-primary/10\", className)} {...props} />\n\t);\n}\n"],"names":["Skeleton","className","props","jsx","classNames"],"mappings":"4GAEO,SAASA,EAAS,CAAE,UAAAC,EAAW,GAAGC,GAAsC,CAC9E,OACCC,EAAC,OAAI,UAAWC,EAAW,8BAA+BH,CAAS,EAAI,GAAGC,EAAO,CAEnF"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"sonner.js","sources":["../../../lib/components/ui/sonner.tsx"],"sourcesContent":["\"use client\";\nimport { Toaster as Sonner } from \"sonner\";\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>;\n\nexport function Toaster({ ...props }: ToasterProps) {\n\treturn (\n\t\t<Sonner\n\t\t\tclassName=\"toaster group\"\n\t\t\ttoastOptions={{\n\t\t\t\tclassNames: {\n\t\t\t\t\ttoast:\n\t\t\t\t\t\t\"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n\t\t\t\t\tdescription: \"group-[.toast]:text-muted-foreground\",\n\t\t\t\t\tactionButton:\n\t\t\t\t\t\t\"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n\t\t\t\t\tcancelButton:\n\t\t\t\t\t\t\"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n\t\t\t\t},\n\t\t\t}}\n\t\t\t{...props}\n\t\t/>\n\t);\n};\n\n\n"],"names":["Toaster","props","jsx","Sonner"],"mappings":"sFAKO,SAASA,EAAQ,CAAE,GAAGC,GAAuB,CACnD,OACCC,EAACC,EAAA,CACA,UAAU,gBACV,aAAc,CACb,WAAY,CACX,MACC,wIACD,YAAa,uCACb,aACC,mEACD,aACC,8DAAA,CACF,EAEA,GAAGF,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as r}from"react/jsx-runtime";import{classNames as o}from"../../utils/primitives.js";import"clsx";function s({className:t,...e}){return r("table",{className:o("caption-bottom text-sm [&_tr:last-child]:border-0 my-0 whitespace-nowrap",t),...e})}function d({className:t,...e}){return r("thead",{className:o("[&_tr]:border-b border-b",t),...e})}function m({className:t,...e}){return r("tbody",{className:o(t),...e})}function b({className:t,...e}){return r("tfoot",{className:o("border-t font-medium last:[&>tr]:border-b-0",t),...e})}function c({className:t,...e}){return r("tr",{className:o("border-b border-border",t),...e})}function i({className:t,...e}){return r("th",{className:o("text-left align-middle font-medium",t),...e})}function u({className:t,...e}){return r("td",{className:o("[&_tr:last-child]:border-dotted",t),...e})}function f({className:t,...e}){return r("caption",{className:o("mt-icon text-sm text-muted-foreground",t),...e})}export{s as Table,m as TableBody,f as TableCaption,u as TableCell,b as TableFooter,i as TableHead,d as TableHeader,c as TableRow};
|
|
2
|
-
//# sourceMappingURL=table.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"table.js","sources":["../../../lib/components/ui/table.tsx"],"sourcesContent":["import { classNames } from \"lib/utils/primitives\";\n\nexport function Table({ className, ...props }: React.ComponentProps<\"table\">) {\n\treturn (\n\t\t<table\n\t\t\tclassName={classNames(\n\t\t\t\t\"caption-bottom text-sm [&_tr:last-child]:border-0 my-0 whitespace-nowrap\",\n\t\t\t\tclassName,\n\t\t\t)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableHeader({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"thead\">) {\n\treturn (\n\t\t<thead\n\t\t\tclassName={classNames(\"[&_tr]:border-b border-b\", className)} // Added border-b to apply a bottom border\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableBody({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"tbody\">) {\n\treturn <tbody className={classNames(className)} {...props} />;\n}\n\nexport function TableFooter({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"tfoot\">) {\n\treturn (\n\t\t<tfoot\n\t\t\tclassName={classNames(\"border-t font-medium last:[&>tr]:border-b-0\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableRow({ className, ...props }: React.ComponentProps<\"tr\">) {\n\treturn <tr className={classNames(\"border-b border-border\", className)} {...props} />;\n}\n\nexport function TableHead({ className, ...props }: React.ComponentProps<\"th\">) {\n\treturn (\n\t\t<th\n\t\t\tclassName={classNames(\"text-left align-middle font-medium\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableCell({ className, ...props }: React.ComponentProps<\"td\">) {\n\treturn (\n\t\t<td\n\t\t\tclassName={classNames(\"[&_tr:last-child]:border-dotted\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n\nexport function TableCaption({\n\tclassName,\n\t...props\n}: React.ComponentProps<\"caption\">) {\n\treturn (\n\t\t<caption\n\t\t\tclassName={classNames(\"mt-icon text-sm text-muted-foreground\", className)}\n\t\t\t{...props}\n\t\t/>\n\t);\n}\n"],"names":["Table","className","props","jsx","classNames","TableHeader","TableBody","TableFooter","TableRow","TableHead","TableCell","TableCaption"],"mappings":"4GAEO,SAASA,EAAM,CAAE,UAAAC,EAAW,GAAGC,GAAwC,CAC7E,OACCC,EAAC,QAAA,CACA,UAAWC,EACV,2EACAH,CAAA,EAEA,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASG,EAAY,CAC3B,UAAAJ,EACA,GAAGC,CACJ,EAAkC,CACjC,OACCC,EAAC,QAAA,CACA,UAAWC,EAAW,2BAA4BH,CAAS,EAC1D,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASI,EAAU,CACzB,UAAAL,EACA,GAAGC,CACJ,EAAkC,CACjC,SAAQ,QAAA,CAAM,UAAWE,EAAWH,CAAS,EAAI,GAAGC,EAAO,CAC5D,CAEO,SAASK,EAAY,CAC3B,UAAAN,EACA,GAAGC,CACJ,EAAkC,CACjC,OACCC,EAAC,QAAA,CACA,UAAWC,EAAW,8CAA+CH,CAAS,EAC7E,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASM,EAAS,CAAE,UAAAP,EAAW,GAAGC,GAAqC,CAC7E,OAAOC,EAAC,MAAG,UAAWC,EAAW,yBAA0BH,CAAS,EAAI,GAAGC,EAAO,CACnF,CAEO,SAASO,EAAU,CAAE,UAAAR,EAAW,GAAGC,GAAqC,CAC9E,OACCC,EAAC,KAAA,CACA,UAAWC,EAAW,qCAAsCH,CAAS,EACpE,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASQ,EAAU,CAAE,UAAAT,EAAW,GAAGC,GAAqC,CAC9E,OACCC,EAAC,KAAA,CACA,UAAWC,EAAW,kCAAmCH,CAAS,EACjE,GAAGC,CAAA,CAAA,CAGP,CAEO,SAASS,EAAa,CAC5B,UAAAV,EACA,GAAGC,CACJ,EAAoC,CACnC,OACCC,EAAC,UAAA,CACA,UAAWC,EAAW,wCAAyCH,CAAS,EACvE,GAAGC,CAAA,CAAA,CAGP"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use client";import{jsx as n}from"react/jsx-runtime";import{Tabs as i,composeRenderProps as r,TabList as s,Tab as l,TabPanel as c}from"react-aria-components";import{classNames as o}from"../../utils/primitives.js";import"clsx";function d({className:t,...a}){return n(i,{className:r(t,e=>o("group flex flex-col gap-2","data-[orientation=vertical]:flex-row",e)),...a})}function p({className:t,...a}){return n(s,{className:r(t,e=>o("inline-flex items-center border-b text-muted-foreground","data-[orientation=vertical]:h-auto data-[orientation=vertical]:flex-col",e)),...a})}function x({className:t,...a}){return n(l,{className:r(t,e=>o("btn btn-ghost leading-none text-accent h-input truncate inline-flex items-center px-3 body font-medium transition-all","data-[selected]:bg-primary/20 data-[selected]:text-primary","group-data-[orientation=vertical]:w-full",e)),...a})}function T({className:t,...a}){return n(c,{className:r(t,e=>o("ring-offset-background","focus-ring",e)),...a})}export{x as Tab,p as TabList,T as TabPanel,d as Tabs};
|
|
2
|
-
//# sourceMappingURL=tabs.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tabs.js","sources":["../../../lib/components/ui/tabs.tsx"],"sourcesContent":["\"use client\"\nimport {\n Tab as AriaTab,\n TabList as AriaTabList,\n TabListProps as AriaTabListProps,\n TabPanel as AriaTabPanel,\n TabPanelProps as AriaTabPanelProps,\n TabProps as AriaTabProps,\n Tabs as AriaTabs,\n TabsProps as AriaTabsProps,\n composeRenderProps,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\n\nexport function Tabs({ className, ...props }: AriaTabsProps) {\n return (\n <AriaTabs\n className={composeRenderProps(className, (className) =>\n classNames(\n \"group flex flex-col gap-2\",\n /* Orientation */\n \"data-[orientation=vertical]:flex-row\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport function TabList<T extends object>({\n className,\n ...props\n}: AriaTabListProps<T>) {\n return (\n <AriaTabList\n className={composeRenderProps(className, (className) =>\n classNames(\n \"inline-flex items-center border-b text-muted-foreground\",\n /* Orientation */\n \"data-[orientation=vertical]:h-auto data-[orientation=vertical]:flex-col\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport function Tab({ className, ...props }: AriaTabProps) {\n return (\n <AriaTab\n className={composeRenderProps(className, (className) =>\n classNames(\n \"btn btn-ghost leading-none text-accent h-input truncate inline-flex items-center px-3 body font-medium transition-all\",\n /* Selected */\n \"data-[selected]:bg-primary/20 data-[selected]:text-primary\",\n /* Orientation */\n \"group-data-[orientation=vertical]:w-full\",\n className\n )\n )}\n {...props}\n />\n )\n}\n\nexport function TabPanel({ className, ...props }: AriaTabPanelProps) {\n return (\n <AriaTabPanel\n className={composeRenderProps(className, (className) =>\n classNames(\n \"ring-offset-background\",\n /* Focus Visible */\n \"focus-ring\",\n className\n )\n )}\n {...props}\n />\n )\n}"],"names":["Tabs","className","props","jsx","AriaTabs","composeRenderProps","classNames","TabList","AriaTabList","Tab","AriaTab","TabPanel","AriaTabPanel"],"mappings":"kOAeO,SAASA,EAAK,CAAE,UAAAC,EAAW,GAAGC,GAAwB,CAC3D,OACEC,EAACC,EAAA,CACC,UAAWC,EAAmBJ,EAAYA,GACxCK,EACE,4BAEA,uCACAL,CAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASK,EAA0B,CACxC,UAAAN,EACA,GAAGC,CACL,EAAwB,CACtB,OACEC,EAACK,EAAA,CACC,UAAWH,EAAmBJ,EAAYA,GACxCK,EACE,0DAEA,0EACAL,CAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASO,EAAI,CAAE,UAAAR,EAAW,GAAGC,GAAuB,CACzD,OACEC,EAACO,EAAA,CACC,UAAWL,EAAmBJ,EAAYA,GACxCK,EACE,wHAEA,6DAEA,2CACAL,CAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV,CAEO,SAASS,EAAS,CAAE,UAAAV,EAAW,GAAGC,GAA4B,CACnE,OACEC,EAACS,EAAA,CACC,UAAWP,EAAmBJ,EAAYA,GACxCK,EACE,yBAEA,aACAL,CAAA,CACF,EAED,GAAGC,CAAA,CAAA,CAGV"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as i,jsxs as c}from"react/jsx-runtime";import{cva as a}from"class-variance-authority";import{classNames as n}from"../../utils/primitives.js";import"clsx";function f({className:t,...e}){return i("ol",{className:n("grid grid-col-1 gap-icon",t),...e})}function p({className:t,...e}){return i("li",{className:n("grid grid-cols-[4rem_2rem_1fr] grid-rows-subgrid list-none gap-icon",t),...e})}const l=a("p-1 rounded-full",{variants:{variant:{destructive:"text-destructive-foreground bg-destructive",success:"text-success-foreground bg-success",muted:"text-muted-foreground bg-muted"}},defaultVariants:{variant:"muted"}});function v({icon:t,className:e,variant:r,...s}){return c("div",{...s,className:"flex flex-col items-center gap-2",children:[i("div",{className:n(l({variant:r,className:e})),children:i(t,{className:"size-icon "})}),i("div",{className:"h-full w-[1px]"})]})}function x({className:t,date:e,dateFormatter:r,...s}){const o=`${(e.getMonth()+1).toString().padStart(2,"0")}-${e.getFullYear()}`;return i("time",{...s,dateTime:e.toISOString(),className:n("font-mono leading-none text-muted",t),children:r?r(e):o})}function N({className:t,...e}){return i("section",{className:n("",t),...e})}export{f as Timeline,N as TimelineContent,x as TimelineDate,v as TimelineIcon,p as TimelineItem,l as timelineIconVariants};
|
|
2
|
-
//# sourceMappingURL=timeline.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"timeline.js","sources":["../../../lib/components/ui/timeline.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\";\nimport { classNames } from \"lib/utils/primitives\";\nimport type { LucideIcon } from \"lucide-react\";\n\nexport function Timeline({ className, ...props }: React.ComponentProps<'ol'>) {\n return <ol className={classNames(\"grid grid-col-1 gap-icon\", className)} {...props} />\n}\n\nexport function TimelineItem({ className, ...props }: React.ComponentProps<'li'> & {}) {\n return (\n <li className={classNames(\"grid grid-cols-[4rem_2rem_1fr] grid-rows-subgrid list-none gap-icon\", className)} {...props} />\n )\n}\n\nexport const timelineIconVariants = cva(\n `p-1 rounded-full`,\n {\n variants: {\n variant: {\n destructive: \"text-destructive-foreground bg-destructive\",\n success: \"text-success-foreground bg-success\",\n muted: \"text-muted-foreground bg-muted\",\n },\n },\n defaultVariants: {\n variant: \"muted\",\n },\n },\n);\n\nexport function TimelineIcon({ icon: Icon, className, variant, ...props }: Omit<React.ComponentProps<'div'>, 'children'> & VariantProps<typeof timelineIconVariants> & {\n icon: LucideIcon\n}) {\n return <div {...props} className=\"flex flex-col items-center gap-2\">\n <div className={classNames(timelineIconVariants({ variant, className }))}>\n <Icon className=\"size-icon \" />\n </div>\n <div className=\"h-full w-[1px]\" />\n </div>\n}\n\nexport function TimelineDate({ className, date, dateFormatter, ...props }: Omit<React.ComponentProps<'time'>, 'dateTime' | 'children'> & {\n date: Date\n dateFormatter?: (d: Date) => string;\n}) {\n const defaultDateDisplay = `${(date.getMonth() + 1).toString().padStart(2, '0')}-${date.getFullYear()}`;\n return <time {...props} dateTime={date.toISOString()} className={classNames(\"font-mono leading-none text-muted\", className)}>{dateFormatter ? dateFormatter(date) : defaultDateDisplay}</time>\n}\n\nexport function TimelineContent({ className, ...props }: React.ComponentProps<'section'>) {\n return <section className={classNames(\"\", className)} {...props} />;\n}"],"names":["Timeline","className","props","jsx","classNames","TimelineItem","timelineIconVariants","cva","TimelineIcon","Icon","variant","jsxs","TimelineDate","date","dateFormatter","defaultDateDisplay","TimelineContent"],"mappings":"qKAIO,SAASA,EAAS,CAAE,UAAAC,EAAW,GAAGC,GAAqC,CAC1E,OAAOC,EAAC,MAAG,UAAWC,EAAW,2BAA4BH,CAAS,EAAI,GAAGC,EAAO,CACxF,CAEO,SAASG,EAAa,CAAE,UAAAJ,EAAW,GAAGC,GAA0C,CACnF,OACIC,EAAC,MAAG,UAAWC,EAAW,sEAAuEH,CAAS,EAAI,GAAGC,EAAO,CAEhI,CAEO,MAAMI,EAAuBC,EAChC,mBACA,CACI,SAAU,CACN,QAAS,CACL,YAAa,6CACb,QAAS,qCACT,MAAO,gCAAA,CACX,EAEJ,gBAAiB,CACb,QAAS,OAAA,CACb,CAER,EAEO,SAASC,EAAa,CAAE,KAAMC,EAAM,UAAAR,EAAW,QAAAS,EAAS,GAAGR,GAE/D,CACC,OAAOS,EAAC,MAAA,CAAK,GAAGT,EAAO,UAAU,mCAC7B,SAAA,CAAAC,EAAC,MAAA,CAAI,UAAWC,EAAWE,EAAqB,CAAE,QAAAI,EAAS,UAAAT,CAAA,CAAW,CAAC,EACnE,SAAAE,EAACM,EAAA,CAAK,UAAU,aAAa,EACjC,EACAN,EAAC,MAAA,CAAI,UAAU,gBAAA,CAAiB,CAAA,EACpC,CACJ,CAEO,SAASS,EAAa,CAAE,UAAAX,EAAW,KAAAY,EAAM,cAAAC,EAAe,GAAGZ,GAG/D,CACC,MAAMa,EAAqB,IAAIF,EAAK,SAAA,EAAa,GAAG,SAAA,EAAW,SAAS,EAAG,GAAG,CAAC,IAAIA,EAAK,aAAa,GACrG,SAAQ,OAAA,CAAM,GAAGX,EAAO,SAAUW,EAAK,YAAA,EAAe,UAAWT,EAAW,oCAAqCH,CAAS,EAAI,WAAgBa,EAAcD,CAAI,EAAIE,EAAmB,CAC3L,CAEO,SAASC,EAAgB,CAAE,UAAAf,EAAW,GAAGC,GAA0C,CACtF,OAAOC,EAAC,WAAQ,UAAWC,EAAW,GAAIH,CAAS,EAAI,GAAGC,EAAO,CACrE"}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
import{jsx as a}from"react/jsx-runtime";import{TooltipTrigger as r,Tooltip as m,composeRenderProps as p}from"react-aria-components";import{classNames as d}from"../../utils/primitives.js";import"clsx";const f=r,c=({className:o,offset:t=4,...e})=>a(m,{offset:t,className:p(o,i=>d("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0","data-[entering]:zoom-in-95","data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95","data-[placement=bottom]:slide-in-from-top-2 data-[placement=left]:slide-in-from-right-2 data-[placement=right]:slide-in-from-left-2 data-[placement=top]:slide-in-from-bottom-2",i)),...e});export{c as Tooltip,f as TooltipTrigger};
|
|
2
|
-
//# sourceMappingURL=tooltip.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tooltip.js","sources":["../../../lib/components/ui/tooltip.tsx"],"sourcesContent":["import {\n\tTooltip as AriaTooltip,\n\tTooltipTrigger as AriaTooltipTrigger,\n\tcomposeRenderProps,\n\ttype TooltipProps as AriaTooltipProps,\n} from \"react-aria-components\"\n\nimport { classNames } from \"lib/utils/primitives\"\n\nconst TooltipTrigger = AriaTooltipTrigger\nconst Tooltip = ({ className, offset = 4, ...props }: AriaTooltipProps) => (\n\t<AriaTooltip\n\t\toffset={offset}\n\t\tclassName={composeRenderProps(className, (className) =>\n\t\t\tclassNames(\n\t\t\t\t\"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0\",\n\t\t\t\t/* Entering */\n\t\t\t\t\"data-[entering]:zoom-in-95\",\n\t\t\t\t/* Exiting */\n\t\t\t\t\"data-[exiting]:animate-out data-[exiting]:fade-out-0 data-[exiting]:zoom-out-95\",\n\t\t\t\t/* Placement */\n\t\t\t\t\"data-[placement=bottom]:slide-in-from-top-2 data-[placement=left]:slide-in-from-right-2 data-[placement=right]:slide-in-from-left-2 data-[placement=top]:slide-in-from-bottom-2\",\n\t\t\t\tclassName\n\t\t\t)\n\t\t)}\n\t\t{...props}\n\t/>\n)\n\nexport { Tooltip, TooltipTrigger }\n"],"names":["TooltipTrigger","AriaTooltipTrigger","Tooltip","className","offset","props","jsx","AriaTooltip","composeRenderProps","classNames"],"mappings":"wMASA,MAAMA,EAAiBC,EACjBC,EAAU,CAAC,CAAE,UAAAC,EAAW,OAAAC,EAAS,EAAG,GAAGC,KAC5CC,EAACC,EAAA,CACA,OAAAH,EACA,UAAWI,EAAmBL,EAAYA,GACzCM,EACC,+HAEA,6BAEA,kFAEA,kLACAN,CAAA,CACD,EAEA,GAAGE,CAAA,CACL"}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|