@cryptlex/web-components 6.6.29 → 6.6.31
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/avatar.d.ts +2 -1
- package/dist/components/avatar.js +1 -1
- package/dist/components/avatar.js.map +1 -1
- package/dist/components/badge.js +1 -1
- package/dist/components/badge.js.map +1 -1
- package/dist/components/breadcrumbs.js +1 -1
- package/dist/components/breadcrumbs.js.map +1 -1
- package/dist/components/button.d.ts +1 -1
- package/dist/components/button.js +1 -1
- package/dist/components/button.js.map +1 -1
- package/dist/components/checkbox.js +1 -1
- package/dist/components/checkbox.js.map +1 -1
- package/dist/components/data-table.d.ts +901 -7
- package/dist/components/data-table.js +1 -1
- package/dist/components/data-table.js.map +1 -1
- package/dist/components/icons.d.ts +2 -0
- package/dist/components/icons.js +58 -48
- package/dist/components/icons.js.map +1 -1
- package/lib/index.css +15 -3
- package/package.json +6 -4
|
@@ -2,6 +2,7 @@ interface InitialString {
|
|
|
2
2
|
initials: string[2];
|
|
3
3
|
}
|
|
4
4
|
export interface AvatarProps extends Omit<React.ComponentProps<'div'>, 'children'>, InitialString {
|
|
5
|
+
size?: 'sm' | 'lg';
|
|
5
6
|
}
|
|
6
|
-
export declare function Avatar({ className, initials, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export declare function Avatar({ className, initials, size, ...props }: AvatarProps): import("react/jsx-runtime").JSX.Element;
|
|
7
8
|
export {};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as
|
|
1
|
+
import{jsx as s}from"react/jsx-runtime";import{classNames as r}from"../utilities/theme.js";import"clsx";const i={sm:"size-icon",lg:"size-input"};function m({className:e,initials:n,size:o="lg",...t}){return s("div",{className:r("relative body-sm font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none shrink-0 overflow-hidden rounded-full",e,i[o]),...t,children:n})}export{m as Avatar};
|
|
2
2
|
//# sourceMappingURL=avatar.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"avatar.js","sources":["../../lib/components/avatar.tsx"],"sourcesContent":["import { classNames } from '../utilities/theme';\n\ninterface InitialString {\n initials: string[2];\n}\nexport interface AvatarProps extends Omit<React.ComponentProps<'div'>, 'children'>, InitialString {}\nexport function Avatar({ className, initials, ...props }: AvatarProps) {\n return (\n <div\n className={classNames(\n 'relative body-sm font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none
|
|
1
|
+
{"version":3,"file":"avatar.js","sources":["../../lib/components/avatar.tsx"],"sourcesContent":["import { classNames } from '../utilities/theme';\n\ninterface InitialString {\n initials: string[2];\n}\nconst sizeClasses = {\n sm: 'size-icon',\n lg: 'size-input',\n};\nexport interface AvatarProps extends Omit<React.ComponentProps<'div'>, 'children'>, InitialString {\n size?: 'sm' | 'lg';\n}\nexport function Avatar({ className, initials, size = 'lg', ...props }: AvatarProps) {\n return (\n <div\n className={classNames(\n 'relative body-sm font-mono font-bold flex items-center leading-none justify-center bg-accent text-accent-foreground select-none shrink-0 overflow-hidden rounded-full',\n className,\n sizeClasses[size]\n )}\n {...props}\n >\n {initials}\n </div>\n );\n}\n"],"names":["sizeClasses","Avatar","className","initials","size","props","jsx","classNames"],"mappings":"wGAKA,MAAMA,EAAc,CAChB,GAAI,YACJ,GAAI,YACR,EAIO,SAASC,EAAO,CAAE,UAAAC,EAAW,SAAAC,EAAU,KAAAC,EAAO,KAAM,GAAGC,GAAsB,CAChF,OACIC,EAAC,MAAA,CACG,UAAWC,EACP,wKACAL,EACAF,EAAYI,CAAI,CAAA,EAEnB,GAAGC,EAEH,SAAAF,CAAA,CAAA,CAGb"}
|
package/dist/components/badge.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsxs as u,jsx as e}from"react/jsx-runtime";import{cva as c}from"class-variance-authority";import{classNames as s}from"../utilities/theme.js";import"clsx";const o=c("leading-tight body-sm px-
|
|
1
|
+
import{jsxs as u,jsx as e}from"react/jsx-runtime";import{cva as c}from"class-variance-authority";import{classNames as s}from"../utilities/theme.js";import"clsx";const o=c("leading-tight body-sm px-2 relative rounded-full inline-flex gap-2 items-center justify-start select-none h-input-sm focus:outline-hidden focus:ring-1 focus:ring-ring",{variants:{variant:{success:"bg-success/20 text-success",destructive:"bg-destructive/20 text-destructive",warning:"bg-warning/20 text-warning",neutral:"bg-muted/20 text-muted"}},defaultVariants:{variant:"neutral"}}),d={success:"bg-success",destructive:"bg-destructive",warning:"bg-warning",neutral:"bg-muted"};function p({className:n,children:r,variant:t,...a}){const i=d[t??"neutral"];return u("span",{className:s(o({variant:t}),n),...a,children:[e("span",{role:"presentation",className:s("rounded-full size-2",i)}),e("span",{children:r})]})}export{p as Badge,o as badgeVariants};
|
|
2
2
|
//# sourceMappingURL=badge.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"badge.js","sources":["../../lib/components/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { classNames } from '../utilities/theme';\n\nexport const badgeVariants = cva(\n 'leading-tight body-sm px-
|
|
1
|
+
{"version":3,"file":"badge.js","sources":["../../lib/components/badge.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\nimport React from 'react';\nimport { classNames } from '../utilities/theme';\n\nexport const badgeVariants = cva(\n 'leading-tight body-sm px-2 relative rounded-full inline-flex gap-2 items-center justify-start select-none h-input-sm focus:outline-hidden focus:ring-1 focus:ring-ring',\n {\n variants: {\n variant: {\n success: 'bg-success/20 text-success',\n destructive: 'bg-destructive/20 text-destructive',\n warning: 'bg-warning/20 text-warning',\n neutral: 'bg-muted/20 text-muted',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n },\n }\n);\n\ntype BadgeVariant = NonNullable<VariantProps<typeof badgeVariants>['variant']>;\n\nconst dotVariants: Record<BadgeVariant, string> = {\n success: 'bg-success',\n destructive: 'bg-destructive',\n warning: 'bg-warning',\n neutral: 'bg-muted',\n};\n\nexport function Badge({\n className,\n children,\n variant,\n ...props\n}: React.ComponentProps<'span'> & VariantProps<typeof badgeVariants>) {\n const dotClass = dotVariants[variant ?? 'neutral'];\n return (\n <span className={classNames(badgeVariants({ variant }), className)} {...props}>\n <span role=\"presentation\" className={classNames('rounded-full size-2', dotClass)}></span>\n {/* Contents */}\n <span>{children}</span>\n </span>\n );\n}\n"],"names":["badgeVariants","cva","dotVariants","Badge","className","children","variant","props","dotClass","jsxs","classNames","jsx"],"mappings":"iKAIO,MAAMA,EAAgBC,EACzB,yKACA,CACI,SAAU,CACN,QAAS,CACL,QAAS,6BACT,YAAa,qCACb,QAAS,6BACT,QAAS,wBAAA,CACb,EAEJ,gBAAiB,CACb,QAAS,SAAA,CACb,CAER,EAIMC,EAA4C,CAC9C,QAAS,aACT,YAAa,iBACb,QAAS,aACT,QAAS,UACb,EAEO,SAASC,EAAM,CAClB,UAAAC,EACA,SAAAC,EACA,QAAAC,EACA,GAAGC,CACP,EAAsE,CAClE,MAAMC,EAAWN,EAAYI,GAAW,SAAS,EACjD,OACIG,EAAC,OAAA,CAAK,UAAWC,EAAWV,EAAc,CAAE,QAAAM,CAAA,CAAS,EAAGF,CAAS,EAAI,GAAGG,EACpE,SAAA,CAAAI,EAAC,QAAK,KAAK,eAAe,UAAWD,EAAW,sBAAuBF,CAAQ,EAAG,EAElFG,EAAC,QAAM,SAAAN,CAAA,CAAS,CAAA,EACpB,CAER"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
import{jsx as n,jsxs as t}from"react/jsx-runtime";import{Link as i,composeRenderProps as o}from"react-aria-components";import{classNames as s}from"../utilities/theme.js";import{
|
|
1
|
+
import{jsx as n,jsxs as t}from"react/jsx-runtime";import{Link as i,composeRenderProps as o}from"react-aria-components";import{classNames as s}from"../utilities/theme.js";import{IcRight as c,IcMoreHorizontal as m}from"./icons.js";import"clsx";import"react";function x({className:e,...r}){return n("nav",{children:n("ol",{className:s("flex list-none flex-wrap items-center gap-1 break-words",e),...r})})}function b({className:e,...r}){return n("li",{className:s("flex gap-1 items-center",e),...r})}function h({className:e,...r}){return n(i,{className:o(e,a=>s("btn p-0 text-sm",a)),...r})}function B({children:e,className:r,...a}){return n("span",{role:"presentation","aria-hidden":"true",className:s("opacity-70",r),...a,children:e||n(c,{className:"size-icon"})})}function z({className:e,...r}){return t("span",{role:"presentation","aria-hidden":"true",className:s("flex size-input items-center justify-center",e),...r,children:[n(m,{className:"size-icon"}),n("span",{className:"sr-only",children:"More"})]})}export{z as BreadcrumbEllipsis,b as BreadcrumbItem,h as BreadcrumbLink,B as BreadcrumbSeparator,x as Breadcrumbs};
|
|
2
2
|
//# sourceMappingURL=breadcrumbs.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"breadcrumbs.js","sources":["../../lib/components/breadcrumbs.tsx"],"sourcesContent":["import { Link as AriaLink, LinkProps as AriaLinkProps, composeRenderProps } from 'react-aria-components';\nimport { classNames } from '../utilities/theme';\nimport { IcMoreHorizontal,
|
|
1
|
+
{"version":3,"file":"breadcrumbs.js","sources":["../../lib/components/breadcrumbs.tsx"],"sourcesContent":["import { Link as AriaLink, LinkProps as AriaLinkProps, composeRenderProps } from 'react-aria-components';\nimport { classNames } from '../utilities/theme';\nimport { IcMoreHorizontal, IcRight } from './icons';\n\nexport function Breadcrumbs({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <nav>\n <ol\n className={classNames('flex list-none flex-wrap items-center gap-1 break-words', className)}\n {...props}\n />\n </nav>\n );\n}\n\nexport function BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return <li className={classNames('flex gap-1 items-center', className)} {...props} />;\n}\n\nexport function BreadcrumbLink({ className, ...props }: AriaLinkProps) {\n return (\n <AriaLink\n className={composeRenderProps(className, className => classNames('btn p-0 text-sm', className))}\n {...props}\n />\n );\n}\n\nexport function BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span role=\"presentation\" aria-hidden=\"true\" className={classNames('opacity-70', className)} {...props}>\n {children || <IcRight className=\"size-icon\" />}\n </span>\n );\n}\n\nexport function BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={classNames('flex size-input items-center justify-center', className)}\n {...props}\n >\n <IcMoreHorizontal className=\"size-icon\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n"],"names":["Breadcrumbs","className","props","jsx","classNames","BreadcrumbItem","BreadcrumbLink","AriaLink","composeRenderProps","BreadcrumbSeparator","children","IcRight","BreadcrumbEllipsis","jsxs","IcMoreHorizontal"],"mappings":"gQAIO,SAASA,EAAY,CAAE,UAAAC,EAAW,GAAGC,GAAqC,CAC7E,SACK,MAAA,CACG,SAAAC,EAAC,KAAA,CACG,UAAWC,EAAW,0DAA2DH,CAAS,EACzF,GAAGC,CAAA,CAAA,EAEZ,CAER,CAEO,SAASG,EAAe,CAAE,UAAAJ,EAAW,GAAGC,GAAqC,CAChF,OAAOC,EAAC,MAAG,UAAWC,EAAW,0BAA2BH,CAAS,EAAI,GAAGC,EAAO,CACvF,CAEO,SAASI,EAAe,CAAE,UAAAL,EAAW,GAAGC,GAAwB,CACnE,OACIC,EAACI,EAAA,CACG,UAAWC,EAAmBP,EAAWA,GAAaG,EAAW,kBAAmBH,CAAS,CAAC,EAC7F,GAAGC,CAAA,CAAA,CAGhB,CAEO,SAASO,EAAoB,CAAE,SAAAC,EAAU,UAAAT,EAAW,GAAGC,GAAuC,CACjG,SACK,OAAA,CAAK,KAAK,eAAe,cAAY,OAAO,UAAWE,EAAW,aAAcH,CAAS,EAAI,GAAGC,EAC5F,SAAAQ,KAAaC,EAAA,CAAQ,UAAU,YAAY,EAChD,CAER,CAEO,SAASC,EAAmB,CAAE,UAAAX,EAAW,GAAGC,GAAuC,CACtF,OACIW,EAAC,OAAA,CACG,KAAK,eACL,cAAY,OACZ,UAAWT,EAAW,8CAA+CH,CAAS,EAC7E,GAAGC,EAEJ,SAAA,CAAAC,EAACW,EAAA,CAAiB,UAAU,WAAA,CAAY,EACxCX,EAAC,OAAA,CAAK,UAAU,UAAU,SAAA,MAAA,CAAI,CAAA,CAAA,CAAA,CAG1C"}
|
|
@@ -2,7 +2,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
2
2
|
import { ButtonProps as AriaButtonProps } from 'react-aria-components';
|
|
3
3
|
export declare const buttonVariants: (props?: ({
|
|
4
4
|
variant?: "link" | "primary" | "destructive" | "destructive_neutral" | "neutral" | "primary_neutral" | "ghost" | null | undefined;
|
|
5
|
-
size?: "none" | "default" | "icon" | null | undefined;
|
|
5
|
+
size?: "none" | "default" | "sm" | "icon" | "icon-sm" | null | undefined;
|
|
6
6
|
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
7
|
export type ButtonProps = AriaButtonProps & VariantProps<typeof buttonVariants> & {
|
|
8
8
|
ref?: React.Ref<HTMLButtonElement>;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as r,jsxs as
|
|
1
|
+
"use client";import{jsx as r,jsxs as d,Fragment as i}from"react/jsx-runtime";import{cva as p}from"class-variance-authority";import{Button as c,composeRenderProps as a}from"react-aria-components";import{classNames as l}from"../utilities/theme.js";import{Loader as b}from"./loader.js";import"clsx";import"./icons.js";import"react";const f=p("btn",{variants:{variant:{primary:"btn-primary",destructive:"btn-destructive",destructive_neutral:"btn-destructive-neutral",neutral:"btn-neutral",primary_neutral:"btn-primary-neutral",ghost:"btn-ghost",link:"btn-link"},size:{default:"input-dim",sm:"h-input-sm px-2 py-1 body-sm rounded-md leading-tight",icon:"size-input rounded-md","icon-sm":"size-input-sm rounded-md",none:""}},defaultVariants:{variant:"neutral",size:"default"}});function k({className:n,variant:o,size:m,children:s,isPending:e,active:v,...u}){return r(c,{...u,className:a(n,t=>l(f({variant:o,size:m,className:t}),n)),children:a(s,t=>d(i,{children:[e&&r(b,{}),!e&&r(i,{children:t})]}))})}export{k as Button,f as buttonVariants};
|
|
2
2
|
//# sourceMappingURL=button.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"button.js","sources":["../../lib/components/button.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Button as AriaButton, composeRenderProps, type ButtonProps as AriaButtonProps } from 'react-aria-components';\nimport { classNames } from '../utilities/theme';\nimport { Loader } from './loader';\n\nexport const buttonVariants = cva('btn', {\n variants: {\n variant: {\n primary: 'btn-primary',\n destructive: 'btn-destructive',\n destructive_neutral: 'btn-destructive-neutral',\n neutral: 'btn-neutral',\n primary_neutral: 'btn-primary-neutral',\n ghost: 'btn-ghost',\n link: 'btn-link',\n },\n size: {\n default: 'input-dim',\n icon: 'size-input rounded-md',\n none: '',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'default',\n },\n});\n\nexport type ButtonProps = AriaButtonProps &\n VariantProps<typeof buttonVariants> & {\n ref?: React.Ref<HTMLButtonElement>;\n active?: boolean;\n };\n\nexport function Button({\n className: additionalClasses,\n variant,\n size,\n children,\n isPending,\n active,\n ...props\n}: ButtonProps) {\n return (\n <AriaButton\n {...props}\n className={composeRenderProps(additionalClasses, className =>\n classNames(\n buttonVariants({\n variant,\n size,\n className,\n }),\n additionalClasses\n )\n )}\n >\n {composeRenderProps(children, children => (\n <>\n {isPending && <Loader />}\n {!isPending && <>{children}</>}\n </>\n ))}\n </AriaButton>\n );\n}\n"],"names":["buttonVariants","cva","Button","additionalClasses","variant","size","children","isPending","active","props","jsx","AriaButton","composeRenderProps","className","classNames","jsxs","Fragment","Loader"],"mappings":"yUAMO,MAAMA,EAAiBC,EAAI,MAAO,CACrC,SAAU,CACN,QAAS,CACL,QAAS,cACT,YAAa,kBACb,oBAAqB,0BACrB,QAAS,cACT,gBAAiB,sBACjB,MAAO,YACP,KAAM,UAAA,EAEV,KAAM,CACF,QAAS,YACT,KAAM,wBACN,KAAM,EAAA,CACV,EAEJ,gBAAiB,CACb,QAAS,UACT,KAAM,SAAA,CAEd,CAAC,EAQM,SAASC,EAAO,CACnB,UAAWC,EACX,QAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,GAAGC,CACP,EAAgB,CACZ,OACIC,EAACC,EAAA,CACI,GAAGF,EACJ,UAAWG,EAAmBT,EAAmBU,GAC7CC,EACId,EAAe,CACX,QAAAI,EACA,KAAAC,EACA,UAAAQ,CAAA,CACH,EACDV,CAAA,CACJ,EAGH,SAAAS,EAAmBN,EAAUA,GAC1BS,EAAAC,EAAA,CACK,SAAA,CAAAT,KAAcU,EAAA,EAAO,EACrB,CAACV,GAAaG,EAAAM,EAAA,CAAG,SAAAV,CAAAA,CAAS,CAAA,EAC/B,CACH,CAAA,CAAA,CAGb"}
|
|
1
|
+
{"version":3,"file":"button.js","sources":["../../lib/components/button.tsx"],"sourcesContent":["'use client';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { Button as AriaButton, composeRenderProps, type ButtonProps as AriaButtonProps } from 'react-aria-components';\nimport { classNames } from '../utilities/theme';\nimport { Loader } from './loader';\n\nexport const buttonVariants = cva('btn', {\n variants: {\n variant: {\n primary: 'btn-primary',\n destructive: 'btn-destructive',\n destructive_neutral: 'btn-destructive-neutral',\n neutral: 'btn-neutral',\n primary_neutral: 'btn-primary-neutral',\n ghost: 'btn-ghost',\n link: 'btn-link',\n },\n size: {\n default: 'input-dim',\n sm: 'h-input-sm px-2 py-1 body-sm rounded-md leading-tight',\n icon: 'size-input rounded-md',\n 'icon-sm': 'size-input-sm rounded-md',\n none: '',\n },\n },\n defaultVariants: {\n variant: 'neutral',\n size: 'default',\n },\n});\n\nexport type ButtonProps = AriaButtonProps &\n VariantProps<typeof buttonVariants> & {\n ref?: React.Ref<HTMLButtonElement>;\n active?: boolean;\n };\n\nexport function Button({\n className: additionalClasses,\n variant,\n size,\n children,\n isPending,\n active,\n ...props\n}: ButtonProps) {\n return (\n <AriaButton\n {...props}\n className={composeRenderProps(additionalClasses, className =>\n classNames(\n buttonVariants({\n variant,\n size,\n className,\n }),\n additionalClasses\n )\n )}\n >\n {composeRenderProps(children, children => (\n <>\n {isPending && <Loader />}\n {!isPending && <>{children}</>}\n </>\n ))}\n </AriaButton>\n );\n}\n"],"names":["buttonVariants","cva","Button","additionalClasses","variant","size","children","isPending","active","props","jsx","AriaButton","composeRenderProps","className","classNames","jsxs","Fragment","Loader"],"mappings":"yUAMO,MAAMA,EAAiBC,EAAI,MAAO,CACrC,SAAU,CACN,QAAS,CACL,QAAS,cACT,YAAa,kBACb,oBAAqB,0BACrB,QAAS,cACT,gBAAiB,sBACjB,MAAO,YACP,KAAM,UAAA,EAEV,KAAM,CACF,QAAS,YACT,GAAI,wDACJ,KAAM,wBACN,UAAW,2BACX,KAAM,EAAA,CACV,EAEJ,gBAAiB,CACb,QAAS,UACT,KAAM,SAAA,CAEd,CAAC,EAQM,SAASC,EAAO,CACnB,UAAWC,EACX,QAAAC,EACA,KAAAC,EACA,SAAAC,EACA,UAAAC,EACA,OAAAC,EACA,GAAGC,CACP,EAAgB,CACZ,OACIC,EAACC,EAAA,CACI,GAAGF,EACJ,UAAWG,EAAmBT,EAAmBU,GAC7CC,EACId,EAAe,CACX,QAAAI,EACA,KAAAC,EACA,UAAAQ,CAAA,CACH,EACDV,CAAA,CACJ,EAGH,SAAAS,EAAmBN,EAAUA,GAC1BS,EAAAC,EAAA,CACK,SAAA,CAAAT,KAAcU,EAAA,EAAO,EACrB,CAACV,GAAaG,EAAAM,EAAA,CAAG,SAAAV,CAAAA,CAAS,CAAA,EAC/B,CACH,CAAA,CAAA,CAGb"}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use client";import{jsx as e,Fragment as
|
|
1
|
+
"use client";import{jsx as e,Fragment as y,jsxs as w}from"react/jsx-runtime";import{useId as F}from"react";import{Checkbox as I,composeRenderProps as g,CheckboxGroup as B}from"react-aria-components";import{useFieldContext as S}from"../utilities/form-context.js";import{classNames as s}from"../utilities/theme.js";import{labelVariants as z,FormField as j}from"./form.js";import{IcMinus as D,IcCheck as G}from"./icons.js";import"@tanstack/react-form";import"clsx";import"class-variance-authority";import"./card.js";const c="group-data-[disabled]/checkbox:cursor-not-allowed group-data-[disabled]/checkbox:opacity-50",a="group-data-[invalid]/checkbox:border-destructive",x="focus:outline-none focus-visible:outline-none",p="group-data-[selected]/checkbox:bg-primary",R="relative shrink-0 h-6 w-11 rounded-full border border-input bg-elevation-1 transition-colors duration-200",$="absolute top-1/2 -translate-y-1/2 left-0.5 h-5 w-5 rounded-full bg-background border border-input transition-transform duration-200",q="flex shrink-0 items-center bg-elevation-1 rounded-md justify-center border border-input text-current ring-offset-background",K={sm:"size-icon",lg:"size-input"},f={sm:"size-3",lg:"size-icon"},U=B;function T({className:o,label:t,description:n,errorMessage:d,requiredIndicator:l,variant:k="checkbox",size:r="lg",...u}){const v=F(),b=u.id||v,C=k==="switch",N=!!(t||n||d||l),m=e(I,{className:g(o,h=>s("group/checkbox cursor-pointer relative focus-ring flex items-center gap-x-2 disabled-muted",z,h)),id:b,...u,children:g(e(y,{}),(h,i)=>C?e("div",{className:s(R,p,c,a,"group-data-[invalid]/checkbox:group-data-[selected]/checkbox:bg-destructive",x),children:e("div",{className:s($,"group-data-[selected]/checkbox:translate-x-4.5",c,a)})}):w("div",{className:s(q,"group-data-[indeterminate]/checkbox:bg-primary",p,"group-data-[indeterminate]/checkbox:text-primary-foreground group-data-[selected]/checkbox:text-primary-foreground",c,a,"group-data-[invalid]/checkbox:group-data-[selected]/checkbox:bg-destructive group-data-[invalid]/checkbox:group-data-[selected]/checkbox:text-destructive-foreground",x,K[r]),children:[i.isIndeterminate&&e(D,{className:f[r]}),!i.isIndeterminate&&i.isSelected&&e(G,{className:f[r]})]}))});return N?e("div",{className:"group form-field",children:e(j,{label:t,description:n,errorMessage:d,requiredIndicator:l,htmlFor:b,children:m})}):e("div",{className:"group flex",children:m})}function W({...o}){const t=S({disabled:o.isDisabled});return e(T,{requiredIndicator:t.isRequired,isSelected:t.state.value,isDisabled:t.isSubmitting||o.isDisabled,onChange:()=>t.handleChange(!t.state.value),onBlur:t.handleBlur,...o})}export{T as Checkbox,U as CheckboxGroup,W as TfCheckbox};
|
|
2
2
|
//# sourceMappingURL=checkbox.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.js","sources":["../../lib/components/checkbox.tsx"],"sourcesContent":["'use client';\nimport { useId } from 'react';\nimport {\n Checkbox as AriaCheckbox,\n CheckboxGroup as AriaCheckboxGroup,\n composeRenderProps,\n type CheckboxProps as AriaCheckboxProps,\n} from 'react-aria-components';\n\nimport { useFieldContext } from '../utilities/form-context';\nimport { classNames } from '../utilities/theme';\nimport { FormField, labelVariants, type FormFieldProps } from './form';\nimport { IcCheck, IcMinus } from './icons';\n\nconst disabledClasses = 'group-data-[disabled]/checkbox:cursor-not-allowed group-data-[disabled]/checkbox:opacity-50';\nconst invalidBorderClasses = 'group-data-[invalid]/checkbox:border-destructive';\nconst focusResetClasses = 'focus:outline-none focus-visible:outline-none';\nconst selectedPrimaryClasses = 'group-data-[selected]/checkbox:bg-primary';\n\nconst switchBaseClasses =\n 'relative shrink-0 h-6 w-11 rounded-full border border-input bg-elevation-1 transition-colors duration-200';\nconst switchKnobClasses =\n 'absolute top-1/2 -translate-y-1/2 left-0.5 h-5 w-5 rounded-full bg-background border border-input transition-transform duration-200';\n\nconst checkboxBaseClasses =\n 'flex shrink-0 items-center bg-elevation-1 rounded-md justify-center border border-input text-current ring-offset-background';\n\nconst sizeClasses = {\n sm: 'size-icon',\n lg: 'size-input',\n};\nexport const CheckboxGroup = AriaCheckboxGroup;\ntype CheckboxProps = AriaCheckboxProps &\n FormFieldProps & {\n variant?: 'checkbox' | 'switch';\n size?: 'sm' | 'lg';\n };\nexport function Checkbox({\n className,\n label,\n description,\n errorMessage,\n requiredIndicator,\n variant = 'checkbox',\n size = 'lg',\n ...props\n}: Omit<CheckboxProps, 'children'>) {\n const generatedId = useId();\n const fieldId = props.id || generatedId;\n const isSwitch = variant === 'switch';\n
|
|
1
|
+
{"version":3,"file":"checkbox.js","sources":["../../lib/components/checkbox.tsx"],"sourcesContent":["'use client';\nimport { useId } from 'react';\nimport {\n Checkbox as AriaCheckbox,\n CheckboxGroup as AriaCheckboxGroup,\n composeRenderProps,\n type CheckboxProps as AriaCheckboxProps,\n} from 'react-aria-components';\n\nimport { useFieldContext } from '../utilities/form-context';\nimport { classNames } from '../utilities/theme';\nimport { FormField, labelVariants, type FormFieldProps } from './form';\nimport { IcCheck, IcMinus } from './icons';\n\nconst disabledClasses = 'group-data-[disabled]/checkbox:cursor-not-allowed group-data-[disabled]/checkbox:opacity-50';\nconst invalidBorderClasses = 'group-data-[invalid]/checkbox:border-destructive';\nconst focusResetClasses = 'focus:outline-none focus-visible:outline-none';\nconst selectedPrimaryClasses = 'group-data-[selected]/checkbox:bg-primary';\n\nconst switchBaseClasses =\n 'relative shrink-0 h-6 w-11 rounded-full border border-input bg-elevation-1 transition-colors duration-200';\nconst switchKnobClasses =\n 'absolute top-1/2 -translate-y-1/2 left-0.5 h-5 w-5 rounded-full bg-background border border-input transition-transform duration-200';\n\nconst checkboxBaseClasses =\n 'flex shrink-0 items-center bg-elevation-1 rounded-md justify-center border border-input text-current ring-offset-background';\n\nconst sizeClasses = {\n sm: 'size-icon',\n lg: 'size-input',\n};\n\nconst iconSizeClasses = {\n sm: 'size-3',\n lg: 'size-icon',\n};\nexport const CheckboxGroup = AriaCheckboxGroup;\ntype CheckboxProps = AriaCheckboxProps &\n FormFieldProps & {\n variant?: 'checkbox' | 'switch';\n size?: 'sm' | 'lg';\n };\nexport function Checkbox({\n className,\n label,\n description,\n errorMessage,\n requiredIndicator,\n variant = 'checkbox',\n size = 'lg',\n ...props\n}: Omit<CheckboxProps, 'children'>) {\n const generatedId = useId();\n const fieldId = props.id || generatedId;\n const isSwitch = variant === 'switch';\n const hasFormField = !!(label || description || errorMessage || requiredIndicator);\n const checkbox = (\n <AriaCheckbox\n className={composeRenderProps(className, className =>\n classNames(\n 'group/checkbox cursor-pointer relative focus-ring flex items-center gap-x-2 disabled-muted',\n labelVariants,\n className\n )\n )}\n id={fieldId}\n {...props}\n >\n {composeRenderProps(<></>, (_, renderProps) => {\n if (isSwitch) {\n return (\n <div\n className={classNames(\n switchBaseClasses,\n selectedPrimaryClasses,\n disabledClasses,\n invalidBorderClasses,\n 'group-data-[invalid]/checkbox:group-data-[selected]/checkbox:bg-destructive',\n focusResetClasses\n )}\n >\n <div\n className={classNames(\n switchKnobClasses,\n 'group-data-[selected]/checkbox:translate-x-4.5',\n disabledClasses,\n invalidBorderClasses\n )}\n />\n </div>\n );\n }\n\n return (\n <div\n className={classNames(\n checkboxBaseClasses,\n 'group-data-[indeterminate]/checkbox:bg-primary',\n selectedPrimaryClasses,\n 'group-data-[indeterminate]/checkbox:text-primary-foreground group-data-[selected]/checkbox:text-primary-foreground',\n disabledClasses,\n invalidBorderClasses,\n 'group-data-[invalid]/checkbox:group-data-[selected]/checkbox:bg-destructive group-data-[invalid]/checkbox:group-data-[selected]/checkbox:text-destructive-foreground',\n focusResetClasses,\n sizeClasses[size]\n )}\n >\n {renderProps.isIndeterminate && <IcMinus className={iconSizeClasses[size]} />}\n {!renderProps.isIndeterminate && renderProps.isSelected && (\n <IcCheck className={iconSizeClasses[size]} />\n )}\n </div>\n );\n })}\n </AriaCheckbox>\n );\n if (!hasFormField) return <div className=\"group flex\">{checkbox}</div>;\n return (\n <div className=\"group form-field\">\n <FormField {...{ label, description, errorMessage, requiredIndicator, htmlFor: fieldId }}>\n {checkbox}\n </FormField>\n </div>\n );\n}\n\nexport type TfCheckboxProps = Omit<React.ComponentProps<typeof Checkbox>, 'onChange' | 'onBlur' | 'isChecked'>;\nexport function TfCheckbox({ ...props }: TfCheckboxProps) {\n const field = useFieldContext<boolean>({ disabled: props.isDisabled });\n return (\n <Checkbox\n requiredIndicator={field.isRequired}\n isSelected={field.state.value}\n isDisabled={field.isSubmitting || props.isDisabled}\n onChange={() => field.handleChange(!field.state.value)}\n onBlur={field.handleBlur}\n {...props}\n />\n );\n}\n"],"names":["disabledClasses","invalidBorderClasses","focusResetClasses","selectedPrimaryClasses","switchBaseClasses","switchKnobClasses","checkboxBaseClasses","sizeClasses","iconSizeClasses","CheckboxGroup","AriaCheckboxGroup","Checkbox","className","label","description","errorMessage","requiredIndicator","variant","size","props","generatedId","useId","fieldId","isSwitch","hasFormField","checkbox","jsx","AriaCheckbox","composeRenderProps","classNames","labelVariants","Fragment","_","renderProps","jsxs","IcMinus","IcCheck","FormField","TfCheckbox","field","useFieldContext"],"mappings":"igBAcA,MAAMA,EAAkB,8FAClBC,EAAuB,mDACvBC,EAAoB,gDACpBC,EAAyB,4CAEzBC,EACF,4GACEC,EACF,sIAEEC,EACF,8HAEEC,EAAc,CAChB,GAAI,YACJ,GAAI,YACR,EAEMC,EAAkB,CACpB,GAAI,SACJ,GAAI,WACR,EACaC,EAAgBC,EAMtB,SAASC,EAAS,CACrB,UAAAC,EACA,MAAAC,EACA,YAAAC,EACA,aAAAC,EACA,kBAAAC,EACA,QAAAC,EAAU,WACV,KAAAC,EAAO,KACP,GAAGC,CACP,EAAoC,CAChC,MAAMC,EAAcC,EAAA,EACdC,EAAUH,EAAM,IAAMC,EACtBG,EAAWN,IAAY,SACvBO,EAAe,CAAC,EAAEX,GAASC,GAAeC,GAAgBC,GAC1DS,EACFC,EAACC,EAAA,CACG,UAAWC,EAAmBhB,EAAWA,GACrCiB,EACI,6FACAC,EACAlB,CAAA,CACJ,EAEJ,GAAIU,EACH,GAAGH,EAEH,SAAAS,EAAmBF,EAAAK,EAAA,CAAA,CAAE,EAAK,CAACC,EAAGC,IACvBV,EAEIG,EAAC,MAAA,CACG,UAAWG,EACPzB,EACAD,EACAH,EACAC,EACA,8EACAC,CAAA,EAGJ,SAAAwB,EAAC,MAAA,CACG,UAAWG,EACPxB,EACA,iDACAL,EACAC,CAAA,CACJ,CAAA,CACJ,CAAA,EAMRiC,EAAC,MAAA,CACG,UAAWL,EACPvB,EACA,iDACAH,EACA,qHACAH,EACAC,EACA,uKACAC,EACAK,EAAYW,CAAI,CAAA,EAGnB,SAAA,CAAAe,EAAY,iBAAmBP,EAACS,EAAA,CAAQ,UAAW3B,EAAgBU,CAAI,EAAG,EAC1E,CAACe,EAAY,iBAAmBA,EAAY,cACxCG,EAAA,CAAQ,UAAW5B,EAAgBU,CAAI,CAAA,CAAG,CAAA,CAAA,CAAA,CAI1D,CAAA,CAAA,EAGT,OAAKM,IAEA,MAAA,CAAI,UAAU,mBACX,SAAAE,EAACW,GAAgB,MAAAxB,EAAO,YAAAC,EAAa,aAAAC,EAAc,kBAAAC,EAAmB,QAASM,EAC1E,WACL,EACJ,IANuB,MAAA,CAAI,UAAU,aAAc,SAAAG,EAAS,CAQpE,CAGO,SAASa,EAAW,CAAE,GAAGnB,GAA0B,CACtD,MAAMoB,EAAQC,EAAyB,CAAE,SAAUrB,EAAM,WAAY,EACrE,OACIO,EAACf,EAAA,CACG,kBAAmB4B,EAAM,WACzB,WAAYA,EAAM,MAAM,MACxB,WAAYA,EAAM,cAAgBpB,EAAM,WACxC,SAAU,IAAMoB,EAAM,aAAa,CAACA,EAAM,MAAM,KAAK,EACrD,OAAQA,EAAM,WACb,GAAGpB,CAAA,CAAA,CAGhB"}
|