@kubetail/ui 3.0.0-rc1 → 3.0.0-rc2

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.
Files changed (119) hide show
  1. package/dist/elements/alert.cjs +1 -1
  2. package/dist/elements/alert.cjs.map +1 -1
  3. package/dist/elements/alert.d.ts +2 -2
  4. package/dist/elements/alert.js +6 -12
  5. package/dist/elements/alert.js.map +1 -1
  6. package/dist/elements/button.cjs +1 -1
  7. package/dist/elements/button.cjs.map +1 -1
  8. package/dist/elements/button.d.ts +5 -14
  9. package/dist/elements/button.js +29 -26
  10. package/dist/elements/button.js.map +1 -1
  11. package/dist/elements/card.cjs +1 -1
  12. package/dist/elements/card.cjs.map +1 -1
  13. package/dist/elements/card.d.ts +3 -1
  14. package/dist/elements/card.js +9 -8
  15. package/dist/elements/card.js.map +1 -1
  16. package/dist/elements/checkbox.cjs +1 -1
  17. package/dist/elements/checkbox.cjs.map +1 -1
  18. package/dist/elements/checkbox.d.ts +1 -1
  19. package/dist/elements/checkbox.js +3 -3
  20. package/dist/elements/checkbox.js.map +1 -1
  21. package/dist/elements/context-menu.cjs +1 -1
  22. package/dist/elements/context-menu.cjs.map +1 -1
  23. package/dist/elements/context-menu.d.ts +15 -18
  24. package/dist/elements/context-menu.js +58 -45
  25. package/dist/elements/context-menu.js.map +1 -1
  26. package/dist/elements/dialog.cjs +1 -1
  27. package/dist/elements/dialog.cjs.map +1 -1
  28. package/dist/elements/dialog.d.ts +11 -10
  29. package/dist/elements/dialog.js +52 -38
  30. package/dist/elements/dialog.js.map +1 -1
  31. package/dist/elements/dropdown-menu.cjs +1 -1
  32. package/dist/elements/dropdown-menu.cjs.map +1 -1
  33. package/dist/elements/dropdown-menu.d.ts +19 -19
  34. package/dist/elements/dropdown-menu.js +89 -71
  35. package/dist/elements/dropdown-menu.js.map +1 -1
  36. package/dist/elements/field.cjs +2 -0
  37. package/dist/elements/field.cjs.map +1 -0
  38. package/dist/elements/field.d.ts +24 -0
  39. package/dist/elements/field.js +110 -0
  40. package/dist/elements/field.js.map +1 -0
  41. package/dist/elements/input-group.cjs +2 -0
  42. package/dist/elements/input-group.cjs.map +1 -0
  43. package/dist/elements/input-group.d.ts +18 -0
  44. package/dist/elements/input-group.js +80 -0
  45. package/dist/elements/input-group.js.map +1 -0
  46. package/dist/elements/input.cjs +1 -1
  47. package/dist/elements/input.cjs.map +1 -1
  48. package/dist/elements/input.js +7 -6
  49. package/dist/elements/input.js.map +1 -1
  50. package/dist/elements/label.cjs +1 -1
  51. package/dist/elements/label.cjs.map +1 -1
  52. package/dist/elements/label.d.ts +1 -0
  53. package/dist/elements/label.js +1 -0
  54. package/dist/elements/label.js.map +1 -1
  55. package/dist/elements/pagination.cjs +1 -1
  56. package/dist/elements/pagination.cjs.map +1 -1
  57. package/dist/elements/pagination.d.ts +8 -5
  58. package/dist/elements/pagination.js +32 -26
  59. package/dist/elements/pagination.js.map +1 -1
  60. package/dist/elements/search-box.cjs +1 -1
  61. package/dist/elements/search-box.cjs.map +1 -1
  62. package/dist/elements/search-box.js +5 -5
  63. package/dist/elements/select.cjs +1 -1
  64. package/dist/elements/select.cjs.map +1 -1
  65. package/dist/elements/select.d.ts +8 -13
  66. package/dist/elements/select.js +34 -31
  67. package/dist/elements/select.js.map +1 -1
  68. package/dist/elements/separator.cjs +1 -1
  69. package/dist/elements/separator.cjs.map +1 -1
  70. package/dist/elements/separator.d.ts +1 -1
  71. package/dist/elements/separator.js +3 -1
  72. package/dist/elements/separator.js.map +1 -1
  73. package/dist/elements/sheet.cjs +1 -1
  74. package/dist/elements/sheet.cjs.map +1 -1
  75. package/dist/elements/sheet.d.ts +7 -6
  76. package/dist/elements/sheet.js +50 -37
  77. package/dist/elements/sheet.js.map +1 -1
  78. package/dist/elements/sidebar.cjs +1 -1
  79. package/dist/elements/sidebar.cjs.map +1 -1
  80. package/dist/elements/sidebar.d.ts +10 -16
  81. package/dist/elements/sidebar.js +168 -173
  82. package/dist/elements/sidebar.js.map +1 -1
  83. package/dist/elements/skeleton.cjs +1 -1
  84. package/dist/elements/skeleton.cjs.map +1 -1
  85. package/dist/elements/skeleton.js +1 -1
  86. package/dist/elements/skeleton.js.map +1 -1
  87. package/dist/elements/spinner.cjs.map +1 -1
  88. package/dist/elements/spinner.js.map +1 -1
  89. package/dist/elements/switch.cjs +1 -1
  90. package/dist/elements/switch.cjs.map +1 -1
  91. package/dist/elements/switch.d.ts +1 -1
  92. package/dist/elements/switch.js +2 -2
  93. package/dist/elements/switch.js.map +1 -1
  94. package/dist/elements/table.cjs +1 -1
  95. package/dist/elements/table.cjs.map +1 -1
  96. package/dist/elements/table.d.ts +1 -1
  97. package/dist/elements/table.js +6 -5
  98. package/dist/elements/table.js.map +1 -1
  99. package/dist/elements/tabs.cjs +1 -1
  100. package/dist/elements/tabs.cjs.map +1 -1
  101. package/dist/elements/tabs.d.ts +9 -5
  102. package/dist/elements/tabs.js +28 -16
  103. package/dist/elements/tabs.js.map +1 -1
  104. package/dist/elements/textarea.cjs +2 -0
  105. package/dist/elements/textarea.cjs.map +1 -0
  106. package/dist/elements/textarea.d.ts +3 -0
  107. package/dist/elements/textarea.js +15 -0
  108. package/dist/elements/textarea.js.map +1 -0
  109. package/dist/elements/toggle.cjs +1 -1
  110. package/dist/elements/toggle.cjs.map +1 -1
  111. package/dist/elements/toggle.d.ts +1 -1
  112. package/dist/elements/toggle.js +6 -6
  113. package/dist/elements/toggle.js.map +1 -1
  114. package/dist/elements/tooltip.cjs +1 -1
  115. package/dist/elements/tooltip.cjs.map +1 -1
  116. package/dist/elements/tooltip.d.ts +4 -8
  117. package/dist/elements/tooltip.js +13 -7
  118. package/dist/elements/tooltip.js.map +1 -1
  119. package/package.json +1 -1
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`);var n=(0,require(`class-variance-authority`).cva)(`group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current`}},defaultVariants:{variant:`default`}});function r({className:r,variant:i,...a}){return(0,t.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:e.cn(n({variant:i}),r),...a})}function i({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`alert-title`,className:e.cn(`cn-font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground`,n),...r})}function a({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`alert-description`,className:e.cn(`text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4`,n),...r})}function o({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`alert-action`,className:e.cn(`absolute top-2 right-2`,n),...r})}exports.Alert=r,exports.AlertAction=o,exports.AlertDescription=a,exports.AlertTitle=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require(`../_virtual/_rolldown/runtime.cjs`),t=require(`../lib/utils.cjs`);let n=require(`react/jsx-runtime`),r=require(`class-variance-authority`),i=require(`react`);i=e.__toESM(i,1);var a=(0,r.cva)(`relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current`,{variants:{variant:{default:`bg-card text-card-foreground`,destructive:`bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current`}},defaultVariants:{variant:`default`}});function o({className:e,variant:r,...i}){return(0,n.jsx)(`div`,{"data-slot":`alert`,role:`alert`,className:t.cn(a({variant:r}),e),...i})}function s({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`alert-title`,className:t.cn(`col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight`,e),...r})}function c({className:e,...r}){return(0,n.jsx)(`div`,{"data-slot":`alert-description`,className:t.cn(`col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed`,e),...r})}exports.Alert=o,exports.AlertDescription=c,exports.AlertTitle=s;
2
2
  //# sourceMappingURL=alert.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.cjs","names":[],"sources":["../../src/elements/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />;\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'cn-font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />;\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction };\n"],"mappings":"uLAIA,IAAM,GAAA,sCAAA,KACJ,4TACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YACE,oGACH,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CAED,SAAS,EAAM,CAAE,YAAW,UAAS,GAAG,GAA2E,CACjH,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAA,GAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,EAAS,CAAA,CAGhH,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,sIACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAsC,CAC9E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,oBACV,UAAW,EAAA,GACT,6JACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAA,GAAG,yBAA0B,EAAU,CAAE,GAAI,EAAS,CAAA"}
1
+ {"version":3,"file":"alert.cjs","names":[],"sources":["../../src/elements/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nimport * as React from 'react';\n\nconst alertVariants = cva(\n 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />;\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":"mQAMA,IAAM,GAAA,EAAA,EAAA,KACJ,oOACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,+BACT,YACE,oGACH,CACF,CACD,gBAAiB,CACf,QAAS,UACV,CACF,CACF,CAED,SAAS,EAAM,CAAE,YAAW,UAAS,GAAG,GAA2E,CACjH,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,QAAQ,KAAK,QAAQ,UAAW,EAAA,GAAG,EAAc,CAAE,UAAS,CAAC,CAAE,EAAU,CAAE,GAAI,EAAS,CAAA,CAGhH,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GAAG,8DAA+D,EAAU,CACvF,GAAI,EACJ,CAAA,CAIN,SAAS,EAAiB,CAAE,YAAW,GAAG,GAAsC,CAC9E,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,oBACV,UAAW,EAAA,GACT,iGACA,EACD,CACD,GAAI,EACJ,CAAA"}
@@ -1,9 +1,9 @@
1
1
  import { type VariantProps } from 'class-variance-authority';
2
+ import * as React from 'react';
2
3
  declare const alertVariants: (props?: ({
3
4
  variant?: "default" | "destructive" | null | undefined;
4
5
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
5
6
  declare function Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>): import("react/jsx-runtime").JSX.Element;
6
7
  declare function AlertTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
7
8
  declare function AlertDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
8
- declare function AlertAction({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
9
- export { Alert, AlertTitle, AlertDescription, AlertAction };
9
+ export { Alert, AlertTitle, AlertDescription };
@@ -1,11 +1,12 @@
1
1
  import { cn as e } from "../lib/utils.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  import { cva as n } from "class-variance-authority";
4
+ import "react";
4
5
  //#region src/elements/alert.tsx
5
- var r = n("group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4", {
6
+ var r = n("relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current", {
6
7
  variants: { variant: {
7
8
  default: "bg-card text-card-foreground",
8
- destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current"
9
+ destructive: "bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current"
9
10
  } },
10
11
  defaultVariants: { variant: "default" }
11
12
  });
@@ -20,25 +21,18 @@ function i({ className: n, variant: i, ...a }) {
20
21
  function a({ className: n, ...r }) {
21
22
  return /* @__PURE__ */ t("div", {
22
23
  "data-slot": "alert-title",
23
- className: e("cn-font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground", n),
24
+ className: e("col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight", n),
24
25
  ...r
25
26
  });
26
27
  }
27
28
  function o({ className: n, ...r }) {
28
29
  return /* @__PURE__ */ t("div", {
29
30
  "data-slot": "alert-description",
30
- className: e("text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4", n),
31
- ...r
32
- });
33
- }
34
- function s({ className: n, ...r }) {
35
- return /* @__PURE__ */ t("div", {
36
- "data-slot": "alert-action",
37
- className: e("absolute top-2 right-2", n),
31
+ className: e("col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed", n),
38
32
  ...r
39
33
  });
40
34
  }
41
35
  //#endregion
42
- export { i as Alert, s as AlertAction, o as AlertDescription, a as AlertTitle };
36
+ export { i as Alert, o as AlertDescription, a as AlertTitle };
43
37
 
44
38
  //# sourceMappingURL=alert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"alert.js","names":[],"sources":["../../src/elements/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst alertVariants = cva(\n \"group/alert relative grid w-full gap-0.5 rounded-lg border px-2.5 py-2 text-left text-sm has-data-[slot=alert-action]:relative has-data-[slot=alert-action]:pr-18 has-[>svg]:grid-cols-[auto_1fr] has-[>svg]:gap-x-2 *:[svg]:row-span-2 *:[svg]:translate-y-0.5 *:[svg]:text-current *:[svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 *:[svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />;\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn(\n 'cn-font-heading font-medium group-has-[>svg]/alert:col-start-2 [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'text-sm text-balance text-muted-foreground md:text-pretty [&_a]:underline [&_a]:underline-offset-3 [&_a]:hover:text-foreground [&_p:not(:last-child)]:mb-4',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction AlertAction({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"alert-action\" className={cn('absolute top-2 right-2', className)} {...props} />;\n}\n\nexport { Alert, AlertTitle, AlertDescription, AlertAction };\n"],"mappings":";;;;AAIA,IAAM,IAAgB,EACpB,6TACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,EAAM,EAAE,cAAW,YAAS,GAAG,KAA2E;AACjH,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAQ,MAAK;EAAQ,WAAW,EAAG,EAAc,EAAE,YAAS,CAAC,EAAE,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGhH,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,uIACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;AAC9E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,8JACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;AACzE,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,EAAG,0BAA0B,EAAU;EAAE,GAAI;EAAS,CAAA"}
1
+ {"version":3,"file":"alert.js","names":[],"sources":["../../src/elements/alert.tsx"],"sourcesContent":["import { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nimport * as React from 'react';\n\nconst alertVariants = cva(\n 'relative grid w-full grid-cols-[0_1fr] items-start gap-y-0.5 rounded-lg border px-4 py-3 text-sm has-[>svg]:grid-cols-[calc(var(--spacing)*4)_1fr] has-[>svg]:gap-x-3 [&>svg]:size-4 [&>svg]:translate-y-0.5 [&>svg]:text-current',\n {\n variants: {\n variant: {\n default: 'bg-card text-card-foreground',\n destructive:\n 'bg-card text-destructive *:data-[slot=alert-description]:text-destructive/90 [&>svg]:text-current',\n },\n },\n defaultVariants: {\n variant: 'default',\n },\n },\n);\n\nfunction Alert({ className, variant, ...props }: React.ComponentProps<'div'> & VariantProps<typeof alertVariants>) {\n return <div data-slot=\"alert\" role=\"alert\" className={cn(alertVariants({ variant }), className)} {...props} />;\n}\n\nfunction AlertTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-title\"\n className={cn('col-start-2 line-clamp-1 min-h-4 font-medium tracking-tight', className)}\n {...props}\n />\n );\n}\n\nfunction AlertDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"alert-description\"\n className={cn(\n 'col-start-2 grid justify-items-start gap-1 text-sm text-muted-foreground [&_p]:leading-relaxed',\n className,\n )}\n {...props}\n />\n );\n}\n\nexport { Alert, AlertTitle, AlertDescription };\n"],"mappings":";;;;;AAMA,IAAM,IAAgB,EACpB,qOACA;CACE,UAAU,EACR,SAAS;EACP,SAAS;EACT,aACE;EACH,EACF;CACD,iBAAiB,EACf,SAAS,WACV;CACF,CACF;AAED,SAAS,EAAM,EAAE,cAAW,YAAS,GAAG,KAA2E;AACjH,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAQ,MAAK;EAAQ,WAAW,EAAG,EAAc,EAAE,YAAS,CAAC,EAAE,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGhH,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,+DAA+D,EAAU;EACvF,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAiB,EAAE,cAAW,GAAG,KAAsC;AAC9E,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,kGACA,EACD;EACD,GAAI;EACJ,CAAA"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`class-variance-authority`),n=require(`@base-ui/react/use-render`);var r=(0,t.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground shadow-xs hover:bg-primary/90`,destructive:`bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function i({className:t,variant:i,size:a,render:o,...s}){return(0,n.useRender)({render:o,defaultTagName:`button`,props:{"data-slot":`button`,className:e.cn(r({variant:i,size:a,className:t})),...s}})}exports.Button=i,exports.buttonVariants=r;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`class-variance-authority`),r=require(`react`),i=require(`@base-ui/react/button`);var a=(0,n.cva)(`group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,{variants:{variant:{default:`bg-primary text-primary-foreground [a]:hover:bg-primary/80`,outline:`border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground`,ghost:`hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50`,destructive:`bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 gap-1.5 px-4 py-2 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,xs:`h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3`,sm:`h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5`,lg:`h-10 gap-1.5 px-6 py-5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2`,icon:`size-9`,"icon-xs":`size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3`,"icon-sm":`size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function o({className:n,variant:o=`default`,size:s=`default`,nativeButton:c,render:l,...u}){let d=c??!((0,r.isValidElement)(l)&&typeof l.type==`string`&&l.type!==`button`);return(0,t.jsx)(i.Button,{"data-slot":`button`,className:e.cn(a({variant:o,size:s,className:n})),nativeButton:d,render:l,...u})}exports.Button=o,exports.buttonVariants=a;
2
2
  //# sourceMappingURL=button.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.cjs","names":[],"sources":["../../src/elements/button.tsx"],"sourcesContent":["import { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\n/**\n * `Button` renders a button component\n *\n * @param props.className - the custom className\n * @param props.variant - the button variant\n * @param props.size - the button size\n * @param props.render - render as a different element (e.g. `render={<a href=\"...\" />}`)\n */\nfunction Button({\n className,\n variant,\n size,\n render,\n ...props\n}: React.ComponentProps<'button'> &\n ButtonVariantProps & {\n render?: useRender.RenderProp;\n }) {\n return useRender({\n render,\n defaultTagName: 'button',\n props: {\n 'data-slot': 'button',\n className: cn(buttonVariants({ variant, size, className })),\n ...props,\n },\n });\n}\n\nexport { Button, buttonVariants };\n"],"mappings":"qOAKA,IAAM,GAAA,EAAA,EAAA,KACJ,8bACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,mEACT,YACE,8JACF,QACE,wIACF,UAAW,yEACX,MAAO,uEACP,KAAM,kDACP,CACD,KAAM,CACJ,QAAS,gCACT,GAAI,gDACJ,GAAI,uCACJ,KAAM,SACN,UAAW,SACX,UAAW,UACZ,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,UACP,CACF,CACF,CAYD,SAAS,EAAO,CACd,YACA,UACA,OACA,SACA,GAAG,GAIA,CACH,OAAA,EAAA,EAAA,WAAiB,CACf,SACA,eAAgB,SAChB,MAAO,CACL,YAAa,SACb,UAAW,EAAA,GAAG,EAAe,CAAE,UAAS,OAAM,YAAW,CAAC,CAAC,CAC3D,GAAG,EACJ,CACF,CAAC"}
1
+ {"version":3,"file":"button.cjs","names":[],"sources":["../../src/elements/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from '@base-ui/react/button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { isValidElement } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground [a]:hover:bg-primary/80',\n outline:\n 'border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',\n ghost:\n 'hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50',\n destructive:\n 'bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 gap-1.5 px-4 py-2 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: 'h-10 gap-1.5 px-6 py-5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n icon: 'size-9',\n 'icon-xs':\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n 'icon-sm': 'size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props & ButtonVariantProps) {\n // When `render` targets a non-<button> element (e.g. an <a>), default\n // `nativeButton` to false so Base UI drops native button semantics.\n const resolvedNativeButton =\n nativeButton ?? !(isValidElement(render) && typeof render.type === 'string' && render.type !== 'button');\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n nativeButton={resolvedNativeButton}\n render={render}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\nexport type { ButtonVariantProps };\n"],"mappings":"mRAMA,IAAM,GAAA,EAAA,EAAA,KACJ,6lBACA,CACE,SAAU,CACR,QAAS,CACP,QAAS,6DACT,QACE,kLACF,UACE,kIACF,MACE,mHACF,YACE,8NACF,KAAM,kDACP,CACD,KAAM,CACJ,QAAS,0FACT,GAAI,gNACJ,GAAI,wNACJ,GAAI,2FACJ,KAAM,SACN,UACE,0HACF,UAAW,qFACX,UAAW,UACZ,CACF,CACD,gBAAiB,CACf,QAAS,UACT,KAAM,UACP,CACF,CACF,CAID,SAAS,EAAO,CACd,YACA,UAAU,UACV,OAAO,UACP,eACA,SACA,GAAG,GAC0C,CAG7C,IAAM,EACJ,GAAgB,GAAA,EAAA,EAAA,gBAAiB,EAAO,EAAI,OAAO,EAAO,MAAS,UAAY,EAAO,OAAS,UACjG,OACE,EAAA,EAAA,KAAC,EAAA,OAAD,CACE,YAAU,SACV,UAAW,EAAA,GAAG,EAAe,CAAE,UAAS,OAAM,YAAW,CAAC,CAAC,CAC3D,aAAc,EACN,SACR,GAAI,EACJ,CAAA"}
@@ -1,19 +1,10 @@
1
- import { useRender } from '@base-ui/react/use-render';
1
+ import { Button as ButtonPrimitive } from '@base-ui/react/button';
2
2
  import { type VariantProps } from 'class-variance-authority';
3
3
  declare const buttonVariants: (props?: ({
4
4
  variant?: "default" | "destructive" | "link" | "outline" | "secondary" | "ghost" | null | undefined;
5
- size?: "default" | "sm" | "lg" | "icon" | "icon-sm" | "icon-lg" | null | undefined;
5
+ size?: "default" | "sm" | "lg" | "xs" | "icon" | "icon-xs" | "icon-sm" | "icon-lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
- export type ButtonVariantProps = VariantProps<typeof buttonVariants>;
8
- /**
9
- * `Button` renders a button component
10
- *
11
- * @param props.className - the custom className
12
- * @param props.variant - the button variant
13
- * @param props.size - the button size
14
- * @param props.render - render as a different element (e.g. `render={<a href="..." />}`)
15
- */
16
- declare function Button({ className, variant, size, render, ...props }: React.ComponentProps<'button'> & ButtonVariantProps & {
17
- render?: useRender.RenderProp;
18
- }): import("react").ReactElement<unknown, string | import("react").JSXElementConstructor<any>>;
7
+ type ButtonVariantProps = VariantProps<typeof buttonVariants>;
8
+ declare function Button({ className, variant, size, nativeButton, render, ...props }: ButtonPrimitive.Props & ButtonVariantProps): import("react/jsx-runtime").JSX.Element;
19
9
  export { Button, buttonVariants };
10
+ export type { ButtonVariantProps };
@@ -1,23 +1,27 @@
1
1
  import { cn as e } from "../lib/utils.js";
2
- import { cva as t } from "class-variance-authority";
3
- import { useRender as n } from "@base-ui/react/use-render";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ import { cva as n } from "class-variance-authority";
4
+ import { isValidElement as r } from "react";
5
+ import { Button as i } from "@base-ui/react/button";
4
6
  //#region src/elements/button.tsx
5
- var r = t("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive", {
7
+ var a = n("group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4", {
6
8
  variants: {
7
9
  variant: {
8
- default: "bg-primary text-primary-foreground shadow-xs hover:bg-primary/90",
9
- destructive: "bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",
10
- outline: "border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",
11
- secondary: "bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80",
12
- ghost: "hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",
10
+ default: "bg-primary text-primary-foreground [a]:hover:bg-primary/80",
11
+ outline: "border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50",
12
+ secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground",
13
+ ghost: "hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50",
14
+ destructive: "bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40",
13
15
  link: "text-primary underline-offset-4 hover:underline"
14
16
  },
15
17
  size: {
16
- default: "h-9 px-4 py-2 has-[>svg]:px-3",
17
- sm: "h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",
18
- lg: "h-10 rounded-md px-6 has-[>svg]:px-4",
18
+ default: "h-9 gap-1.5 px-4 py-2 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
19
+ xs: "h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3",
20
+ sm: "h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5",
21
+ lg: "h-10 gap-1.5 px-6 py-5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2",
19
22
  icon: "size-9",
20
- "icon-sm": "size-8",
23
+ "icon-xs": "size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3",
24
+ "icon-sm": "size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg",
21
25
  "icon-lg": "size-10"
22
26
  }
23
27
  },
@@ -26,22 +30,21 @@ var r = t("inline-flex items-center justify-center gap-2 whitespace-nowrap round
26
30
  size: "default"
27
31
  }
28
32
  });
29
- function i({ className: t, variant: i, size: a, render: o, ...s }) {
30
- return n({
31
- render: o,
32
- defaultTagName: "button",
33
- props: {
34
- "data-slot": "button",
35
- className: e(r({
36
- variant: i,
37
- size: a,
38
- className: t
39
- })),
40
- ...s
41
- }
33
+ function o({ className: n, variant: o = "default", size: s = "default", nativeButton: c, render: l, ...u }) {
34
+ let d = c ?? !(r(l) && typeof l.type == "string" && l.type !== "button");
35
+ return /* @__PURE__ */ t(i, {
36
+ "data-slot": "button",
37
+ className: e(a({
38
+ variant: o,
39
+ size: s,
40
+ className: n
41
+ })),
42
+ nativeButton: d,
43
+ render: l,
44
+ ...u
42
45
  });
43
46
  }
44
47
  //#endregion
45
- export { i as Button, r as buttonVariants };
48
+ export { o as Button, a as buttonVariants };
46
49
 
47
50
  //# sourceMappingURL=button.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"button.js","names":[],"sources":["../../src/elements/button.tsx"],"sourcesContent":["import { useRender } from '@base-ui/react/use-render';\nimport { cva, type VariantProps } from 'class-variance-authority';\n\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n \"inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground shadow-xs hover:bg-primary/90',\n destructive:\n 'bg-destructive text-white shadow-xs hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60',\n outline:\n 'border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50',\n secondary: 'bg-secondary text-secondary-foreground shadow-xs hover:bg-secondary/80',\n ghost: 'hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 px-4 py-2 has-[>svg]:px-3',\n sm: 'h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5',\n lg: 'h-10 rounded-md px-6 has-[>svg]:px-4',\n icon: 'size-9',\n 'icon-sm': 'size-8',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nexport type ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\n/**\n * `Button` renders a button component\n *\n * @param props.className - the custom className\n * @param props.variant - the button variant\n * @param props.size - the button size\n * @param props.render - render as a different element (e.g. `render={<a href=\"...\" />}`)\n */\nfunction Button({\n className,\n variant,\n size,\n render,\n ...props\n}: React.ComponentProps<'button'> &\n ButtonVariantProps & {\n render?: useRender.RenderProp;\n }) {\n return useRender({\n render,\n defaultTagName: 'button',\n props: {\n 'data-slot': 'button',\n className: cn(buttonVariants({ variant, size, className })),\n ...props,\n },\n });\n}\n\nexport { Button, buttonVariants };\n"],"mappings":";;;;AAKA,IAAM,IAAiB,EACrB,+bACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,aACE;GACF,SACE;GACF,WAAW;GACX,OAAO;GACP,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WAAW;GACX,WAAW;GACZ;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAYD,SAAS,EAAO,EACd,cACA,YACA,SACA,WACA,GAAG,KAIA;AACH,QAAO,EAAU;EACf;EACA,gBAAgB;EAChB,OAAO;GACL,aAAa;GACb,WAAW,EAAG,EAAe;IAAE;IAAS;IAAM;IAAW,CAAC,CAAC;GAC3D,GAAG;GACJ;EACF,CAAC"}
1
+ {"version":3,"file":"button.js","names":[],"sources":["../../src/elements/button.tsx"],"sourcesContent":["import { Button as ButtonPrimitive } from '@base-ui/react/button';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { isValidElement } from 'react';\n\nimport { cn } from '@/lib/utils';\n\nconst buttonVariants = cva(\n \"group/button inline-flex shrink-0 items-center justify-center rounded-lg border border-transparent bg-clip-padding text-sm font-medium whitespace-nowrap transition-all outline-none select-none focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 active:not-aria-[haspopup]:translate-y-px disabled:pointer-events-none disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n {\n variants: {\n variant: {\n default: 'bg-primary text-primary-foreground [a]:hover:bg-primary/80',\n outline:\n 'border-border bg-background hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:border-input dark:bg-input/30 dark:hover:bg-input/50',\n secondary:\n 'bg-secondary text-secondary-foreground hover:bg-secondary/80 aria-expanded:bg-secondary aria-expanded:text-secondary-foreground',\n ghost:\n 'hover:bg-muted hover:text-foreground aria-expanded:bg-muted aria-expanded:text-foreground dark:hover:bg-muted/50',\n destructive:\n 'bg-destructive/10 text-destructive hover:bg-destructive/20 focus-visible:border-destructive/40 focus-visible:ring-destructive/20 dark:bg-destructive/20 dark:hover:bg-destructive/30 dark:focus-visible:ring-destructive/40',\n link: 'text-primary underline-offset-4 hover:underline',\n },\n size: {\n default: 'h-9 gap-1.5 px-4 py-2 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n xs: \"h-6 gap-1 rounded-[min(var(--radius-md),10px)] px-2 text-xs in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3\",\n sm: \"h-8 gap-1 rounded-[min(var(--radius-md),12px)] px-3 text-[0.8rem] in-data-[slot=button-group]:rounded-lg has-data-[icon=inline-end]:pr-1.5 has-data-[icon=inline-start]:pl-1.5 [&_svg:not([class*='size-'])]:size-3.5\",\n lg: 'h-10 gap-1.5 px-6 py-5 has-data-[icon=inline-end]:pr-2 has-data-[icon=inline-start]:pl-2',\n icon: 'size-9',\n 'icon-xs':\n \"size-6 rounded-[min(var(--radius-md),10px)] in-data-[slot=button-group]:rounded-lg [&_svg:not([class*='size-'])]:size-3\",\n 'icon-sm': 'size-7 rounded-[min(var(--radius-md),12px)] in-data-[slot=button-group]:rounded-lg',\n 'icon-lg': 'size-10',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\ntype ButtonVariantProps = VariantProps<typeof buttonVariants>;\n\nfunction Button({\n className,\n variant = 'default',\n size = 'default',\n nativeButton,\n render,\n ...props\n}: ButtonPrimitive.Props & ButtonVariantProps) {\n // When `render` targets a non-<button> element (e.g. an <a>), default\n // `nativeButton` to false so Base UI drops native button semantics.\n const resolvedNativeButton =\n nativeButton ?? !(isValidElement(render) && typeof render.type === 'string' && render.type !== 'button');\n return (\n <ButtonPrimitive\n data-slot=\"button\"\n className={cn(buttonVariants({ variant, size, className }))}\n nativeButton={resolvedNativeButton}\n render={render}\n {...props}\n />\n );\n}\n\nexport { Button, buttonVariants };\nexport type { ButtonVariantProps };\n"],"mappings":";;;;;;AAMA,IAAM,IAAiB,EACrB,8lBACA;CACE,UAAU;EACR,SAAS;GACP,SAAS;GACT,SACE;GACF,WACE;GACF,OACE;GACF,aACE;GACF,MAAM;GACP;EACD,MAAM;GACJ,SAAS;GACT,IAAI;GACJ,IAAI;GACJ,IAAI;GACJ,MAAM;GACN,WACE;GACF,WAAW;GACX,WAAW;GACZ;EACF;CACD,iBAAiB;EACf,SAAS;EACT,MAAM;EACP;CACF,CACF;AAID,SAAS,EAAO,EACd,cACA,aAAU,WACV,UAAO,WACP,iBACA,WACA,GAAG,KAC0C;CAG7C,IAAM,IACJ,KAAgB,EAAE,EAAe,EAAO,IAAI,OAAO,EAAO,QAAS,YAAY,EAAO,SAAS;AACjG,QACE,kBAAC,GAAD;EACE,aAAU;EACV,WAAW,EAAG,EAAe;GAAE;GAAS;GAAM;GAAW,CAAC,CAAC;EAC3D,cAAc;EACN;EACR,GAAI;EACJ,CAAA"}
@@ -1,2 +1,2 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`);function n({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card`,className:e.cn(`bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm`,n),...r})}function r({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-header`,className:e.cn(`@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6`,n),...r})}function i({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-title`,className:e.cn(`leading-none font-semibold`,n),...r})}function a({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-description`,className:e.cn(`text-muted-foreground text-sm`,n),...r})}function o({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-action`,className:e.cn(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,n),...r})}function s({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-content`,className:e.cn(`px-6`,n),...r})}function c({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-footer`,className:e.cn(`flex items-center px-6 [.border-t]:pt-6`,n),...r})}exports.Card=n,exports.CardAction=o,exports.CardContent=s,exports.CardDescription=a,exports.CardFooter=c,exports.CardHeader=r,exports.CardTitle=i;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`);function n({className:n,size:r=`default`,...i}){return(0,t.jsx)(`div`,{"data-slot":`card`,"data-size":r,className:e.cn(`group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl`,n),...i})}function r({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-header`,className:e.cn(`group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3`,n),...r})}function i({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-title`,className:e.cn(`cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm`,n),...r})}function a({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-description`,className:e.cn(`text-sm text-muted-foreground`,n),...r})}function o({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-action`,className:e.cn(`col-start-2 row-span-2 row-start-1 self-start justify-self-end`,n),...r})}function s({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-content`,className:e.cn(`px-4 group-data-[size=sm]/card:px-3`,n),...r})}function c({className:n,...r}){return(0,t.jsx)(`div`,{"data-slot":`card-footer`,className:e.cn(`flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3`,n),...r})}exports.Card=n,exports.CardAction=o,exports.CardContent=s,exports.CardDescription=a,exports.CardFooter=c,exports.CardHeader=r,exports.CardTitle=i;
2
2
  //# sourceMappingURL=card.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"card.cjs","names":[],"sources":["../../src/elements/card.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn('bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-title\" className={cn('leading-none font-semibold', className)} {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-description\" className={cn('text-muted-foreground text-sm', className)} {...props} />;\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-content\" className={cn('px-6', className)} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"card-footer\" className={cn('flex items-center px-6 [.border-t]:pt-6', className)} {...props} />\n );\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };\n"],"mappings":"uLAEA,SAAS,EAAK,CAAE,YAAW,GAAG,GAAsC,CAClE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,OACV,UAAW,EAAA,GAAG,oFAAqF,EAAU,CAC7G,GAAI,EACJ,CAAA,CAIN,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,6JACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAU,CAAE,YAAW,GAAG,GAAsC,CACvE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,aAAa,UAAW,EAAA,GAAG,6BAA8B,EAAU,CAAE,GAAI,EAAS,CAAA,CAG1G,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAsC,CAC7E,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,mBAAmB,UAAW,EAAA,GAAG,gCAAiC,EAAU,CAAE,GAAI,EAAS,CAAA,CAGnH,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GAAG,iEAAkE,EAAU,CAC1F,GAAI,EACJ,CAAA,CAIN,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAA,GAAG,OAAQ,EAAU,CAAE,GAAI,EAAS,CAAA,CAGtF,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,cAAc,UAAW,EAAA,GAAG,0CAA2C,EAAU,CAAE,GAAI,EAAS,CAAA"}
1
+ {"version":3,"file":"card.cjs","names":[],"sources":["../../src/elements/card.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nfunction Card({ className, size = 'default', ...props }: React.ComponentProps<'div'> & { size?: 'default' | 'sm' }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n 'group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n 'group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-description\" className={cn('text-sm text-muted-foreground', className)} {...props} />;\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-content\" className={cn('px-4 group-data-[size=sm]/card:px-3', className)} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3', className)}\n {...props}\n />\n );\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };\n"],"mappings":"uLAEA,SAAS,EAAK,CAAE,YAAW,OAAO,UAAW,GAAG,GAAoE,CAClH,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,OACV,YAAW,EACX,UAAW,EAAA,GACT,uVACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GACT,qSACA,EACD,CACD,GAAI,EACJ,CAAA,CAIN,SAAS,EAAU,CAAE,YAAW,GAAG,GAAsC,CACvE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,aACV,UAAW,EAAA,GAAG,uFAAwF,EAAU,CAChH,GAAI,EACJ,CAAA,CAIN,SAAS,EAAgB,CAAE,YAAW,GAAG,GAAsC,CAC7E,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,mBAAmB,UAAW,EAAA,GAAG,gCAAiC,EAAU,CAAE,GAAI,EAAS,CAAA,CAGnH,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GAAG,iEAAkE,EAAU,CAC1F,GAAI,EACJ,CAAA,CAIN,SAAS,EAAY,CAAE,YAAW,GAAG,GAAsC,CACzE,OAAO,EAAA,EAAA,KAAC,MAAD,CAAK,YAAU,eAAe,UAAW,EAAA,GAAG,sCAAuC,EAAU,CAAE,GAAI,EAAS,CAAA,CAGrH,SAAS,EAAW,CAAE,YAAW,GAAG,GAAsC,CACxE,OACE,EAAA,EAAA,KAAC,MAAD,CACE,YAAU,cACV,UAAW,EAAA,GAAG,wFAAyF,EAAU,CACjH,GAAI,EACJ,CAAA"}
@@ -1,4 +1,6 @@
1
- declare function Card({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
1
+ declare function Card({ className, size, ...props }: React.ComponentProps<'div'> & {
2
+ size?: 'default' | 'sm';
3
+ }): import("react/jsx-runtime").JSX.Element;
2
4
  declare function CardHeader({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
3
5
  declare function CardTitle({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
4
6
  declare function CardDescription({ className, ...props }: React.ComponentProps<'div'>): import("react/jsx-runtime").JSX.Element;
@@ -1,31 +1,32 @@
1
1
  import { cn as e } from "../lib/utils.js";
2
2
  import { jsx as t } from "react/jsx-runtime";
3
3
  //#region src/elements/card.tsx
4
- function n({ className: n, ...r }) {
4
+ function n({ className: n, size: r = "default", ...i }) {
5
5
  return /* @__PURE__ */ t("div", {
6
6
  "data-slot": "card",
7
- className: e("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm", n),
8
- ...r
7
+ "data-size": r,
8
+ className: e("group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl", n),
9
+ ...i
9
10
  });
10
11
  }
11
12
  function r({ className: n, ...r }) {
12
13
  return /* @__PURE__ */ t("div", {
13
14
  "data-slot": "card-header",
14
- className: e("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6", n),
15
+ className: e("group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3", n),
15
16
  ...r
16
17
  });
17
18
  }
18
19
  function i({ className: n, ...r }) {
19
20
  return /* @__PURE__ */ t("div", {
20
21
  "data-slot": "card-title",
21
- className: e("leading-none font-semibold", n),
22
+ className: e("cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm", n),
22
23
  ...r
23
24
  });
24
25
  }
25
26
  function a({ className: n, ...r }) {
26
27
  return /* @__PURE__ */ t("div", {
27
28
  "data-slot": "card-description",
28
- className: e("text-muted-foreground text-sm", n),
29
+ className: e("text-sm text-muted-foreground", n),
29
30
  ...r
30
31
  });
31
32
  }
@@ -39,14 +40,14 @@ function o({ className: n, ...r }) {
39
40
  function s({ className: n, ...r }) {
40
41
  return /* @__PURE__ */ t("div", {
41
42
  "data-slot": "card-content",
42
- className: e("px-6", n),
43
+ className: e("px-4 group-data-[size=sm]/card:px-3", n),
43
44
  ...r
44
45
  });
45
46
  }
46
47
  function c({ className: n, ...r }) {
47
48
  return /* @__PURE__ */ t("div", {
48
49
  "data-slot": "card-footer",
49
- className: e("flex items-center px-6 [.border-t]:pt-6", n),
50
+ className: e("flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3", n),
50
51
  ...r
51
52
  });
52
53
  }
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","names":[],"sources":["../../src/elements/card.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nfunction Card({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card\"\n className={cn('bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n '@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-1.5 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-title\" className={cn('leading-none font-semibold', className)} {...props} />;\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-description\" className={cn('text-muted-foreground text-sm', className)} {...props} />;\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-content\" className={cn('px-6', className)} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot=\"card-footer\" className={cn('flex items-center px-6 [.border-t]:pt-6', className)} {...props} />\n );\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };\n"],"mappings":";;;AAEA,SAAS,EAAK,EAAE,cAAW,GAAG,KAAsC;AAClE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,qFAAqF,EAAU;EAC7G,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,8JACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAU,EAAE,cAAW,GAAG,KAAsC;AACvE,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAa,WAAW,EAAG,8BAA8B,EAAU;EAAE,GAAI;EAAS,CAAA;;AAG1G,SAAS,EAAgB,EAAE,cAAW,GAAG,KAAsC;AAC7E,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAmB,WAAW,EAAG,iCAAiC,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGnH,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,kEAAkE,EAAU;EAC1F,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;AACzE,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,EAAG,QAAQ,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGtF,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EAAK,aAAU;EAAc,WAAW,EAAG,2CAA2C,EAAU;EAAE,GAAI;EAAS,CAAA"}
1
+ {"version":3,"file":"card.js","names":[],"sources":["../../src/elements/card.tsx"],"sourcesContent":["import { cn } from '@/lib/utils';\n\nfunction Card({ className, size = 'default', ...props }: React.ComponentProps<'div'> & { size?: 'default' | 'sm' }) {\n return (\n <div\n data-slot=\"card\"\n data-size={size}\n className={cn(\n 'group/card flex flex-col gap-4 overflow-hidden rounded-xl bg-card py-4 text-sm text-card-foreground ring-1 ring-foreground/10 has-data-[slot=card-footer]:pb-0 has-[>img:first-child]:pt-0 data-[size=sm]:gap-3 data-[size=sm]:py-3 data-[size=sm]:has-data-[slot=card-footer]:pb-0 *:[img:first-child]:rounded-t-xl *:[img:last-child]:rounded-b-xl',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-header\"\n className={cn(\n 'group/card-header @container/card-header grid auto-rows-min items-start gap-1 rounded-t-xl px-4 group-data-[size=sm]/card:px-3 has-data-[slot=card-action]:grid-cols-[1fr_auto] has-data-[slot=card-description]:grid-rows-[auto_auto] [.border-b]:pb-4 group-data-[size=sm]/card:[.border-b]:pb-3',\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction CardTitle({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-title\"\n className={cn('cn-font-heading text-base leading-snug font-medium group-data-[size=sm]/card:text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction CardDescription({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-description\" className={cn('text-sm text-muted-foreground', className)} {...props} />;\n}\n\nfunction CardAction({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-action\"\n className={cn('col-start-2 row-span-2 row-start-1 self-start justify-self-end', className)}\n {...props}\n />\n );\n}\n\nfunction CardContent({ className, ...props }: React.ComponentProps<'div'>) {\n return <div data-slot=\"card-content\" className={cn('px-4 group-data-[size=sm]/card:px-3', className)} {...props} />;\n}\n\nfunction CardFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"card-footer\"\n className={cn('flex items-center rounded-b-xl border-t bg-muted/50 p-4 group-data-[size=sm]/card:p-3', className)}\n {...props}\n />\n );\n}\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardAction, CardDescription, CardContent };\n"],"mappings":";;;AAEA,SAAS,EAAK,EAAE,cAAW,UAAO,WAAW,GAAG,KAAoE;AAClH,QACE,kBAAC,OAAD;EACE,aAAU;EACV,aAAW;EACX,WAAW,EACT,wVACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EACT,sSACA,EACD;EACD,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAU,EAAE,cAAW,GAAG,KAAsC;AACvE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,wFAAwF,EAAU;EAChH,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAgB,EAAE,cAAW,GAAG,KAAsC;AAC7E,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAmB,WAAW,EAAG,iCAAiC,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGnH,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,kEAAkE,EAAU;EAC1F,GAAI;EACJ,CAAA;;AAIN,SAAS,EAAY,EAAE,cAAW,GAAG,KAAsC;AACzE,QAAO,kBAAC,OAAD;EAAK,aAAU;EAAe,WAAW,EAAG,uCAAuC,EAAU;EAAE,GAAI;EAAS,CAAA;;AAGrH,SAAS,EAAW,EAAE,cAAW,GAAG,KAAsC;AACxE,QACE,kBAAC,OAAD;EACE,aAAU;EACV,WAAW,EAAG,yFAAyF,EAAU;EACjH,GAAI;EACJ,CAAA"}
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/checkbox`);function i({className:i,...a}){return(0,t.jsx)(r.Checkbox.Root,{"data-slot":`checkbox`,className:e.cn(`peer border-input dark:bg-input/30 data-[checked]:bg-primary data-[checked]:text-primary-foreground dark:data-[checked]:bg-primary data-[checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50`,i),...a,children:(0,t.jsx)(r.Checkbox.Indicator,{"data-slot":`checkbox-indicator`,className:`flex items-center justify-center text-current transition-none`,children:(0,t.jsx)(n.CheckIcon,{className:`size-3.5`})})})}exports.Checkbox=i;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/checkbox`);function i({className:i,...a}){return(0,t.jsx)(r.Checkbox.Root,{"data-slot":`checkbox`,className:e.cn(`peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary`,i),...a,children:(0,t.jsx)(r.Checkbox.Indicator,{"data-slot":`checkbox-indicator`,className:`grid place-content-center text-current transition-none [&>svg]:size-3.5`,children:(0,t.jsx)(n.CheckIcon,{})})})}exports.Checkbox=i;
2
2
  //# sourceMappingURL=checkbox.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.cjs","names":[],"sources":["../../src/elements/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-input dark:bg-input/30 data-[checked]:bg-primary data-[checked]:text-primary-foreground dark:data-[checked]:bg-primary data-[checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":"mQAOA,SAAS,EAAS,CAAE,YAAW,GAAG,GAA8D,CAC9F,OACE,EAAA,EAAA,KAAC,EAAA,SAAkB,KAAnB,CACE,YAAU,WACV,UAAW,EAAA,GACT,sdACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,SAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,0EAEV,EAAA,EAAA,KAAC,EAAA,UAAD,CAAW,UAAU,WAAa,CAAA,CACN,CAAA,CACP,CAAA"}
1
+ {"version":3,"file":"checkbox.cjs","names":[],"sources":["../../src/elements/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":"mQAOA,SAAS,EAAS,CAAE,YAAW,GAAG,GAAuC,CACvE,OACE,EAAA,EAAA,KAAC,EAAA,SAAkB,KAAnB,CACE,YAAU,WACV,UAAW,EAAA,GACT,oqBACA,EACD,CACD,GAAI,YAEJ,EAAA,EAAA,KAAC,EAAA,SAAkB,UAAnB,CACE,YAAU,qBACV,UAAU,oFAEV,EAAA,EAAA,KAAC,EAAA,UAAD,EAAa,CAAA,CACe,CAAA,CACP,CAAA"}
@@ -1,3 +1,3 @@
1
1
  import { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';
2
- declare function Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
2
+ declare function Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props): import("react/jsx-runtime").JSX.Element;
3
3
  export { Checkbox };
@@ -7,12 +7,12 @@ import { Checkbox as r } from "@base-ui/react/checkbox";
7
7
  function i({ className: i, ...a }) {
8
8
  return /* @__PURE__ */ t(r.Root, {
9
9
  "data-slot": "checkbox",
10
- className: e("peer border-input dark:bg-input/30 data-[checked]:bg-primary data-[checked]:text-primary-foreground dark:data-[checked]:bg-primary data-[checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50", i),
10
+ className: e("peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary", i),
11
11
  ...a,
12
12
  children: /* @__PURE__ */ t(r.Indicator, {
13
13
  "data-slot": "checkbox-indicator",
14
- className: "flex items-center justify-center text-current transition-none",
15
- children: /* @__PURE__ */ t(n, { className: "size-3.5" })
14
+ className: "grid place-content-center text-current transition-none [&>svg]:size-3.5",
15
+ children: /* @__PURE__ */ t(n, {})
16
16
  })
17
17
  });
18
18
  }
@@ -1 +1 @@
1
- {"version":3,"file":"checkbox.js","names":[],"sources":["../../src/elements/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Checkbox({ className, ...props }: React.ComponentProps<typeof CheckboxPrimitive.Root>) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer border-input dark:bg-input/30 data-[checked]:bg-primary data-[checked]:text-primary-foreground dark:data-[checked]:bg-primary data-[checked]:border-primary focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive size-4 shrink-0 rounded-[4px] border shadow-xs transition-shadow outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"flex items-center justify-center text-current transition-none\"\n >\n <CheckIcon className=\"size-3.5\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":";;;;;;AAOA,SAAS,EAAS,EAAE,cAAW,GAAG,KAA8D;AAC9F,QACE,kBAAC,EAAkB,MAAnB;EACE,aAAU;EACV,WAAW,EACT,udACA,EACD;EACD,GAAI;YAEJ,kBAAC,EAAkB,WAAnB;GACE,aAAU;GACV,WAAU;aAEV,kBAAC,GAAD,EAAW,WAAU,YAAa,CAAA;GACN,CAAA;EACP,CAAA"}
1
+ {"version":3,"file":"checkbox.js","names":[],"sources":["../../src/elements/checkbox.tsx"],"sourcesContent":["'use client';\n\nimport { Checkbox as CheckboxPrimitive } from '@base-ui/react/checkbox';\nimport { CheckIcon } from 'lucide-react';\n\nimport { cn } from '@/lib/utils';\n\nfunction Checkbox({ className, ...props }: CheckboxPrimitive.Root.Props) {\n return (\n <CheckboxPrimitive.Root\n data-slot=\"checkbox\"\n className={cn(\n 'peer relative flex size-4 shrink-0 items-center justify-center rounded-[4px] border border-input transition-colors outline-none group-has-disabled/field:opacity-50 after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:ring-3 focus-visible:ring-ring/50 disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:ring-3 aria-invalid:ring-destructive/20 aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 dark:aria-invalid:ring-destructive/40 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary',\n className,\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n data-slot=\"checkbox-indicator\"\n className=\"grid place-content-center text-current transition-none [&>svg]:size-3.5\"\n >\n <CheckIcon />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n );\n}\n\nexport { Checkbox };\n"],"mappings":";;;;;;AAOA,SAAS,EAAS,EAAE,cAAW,GAAG,KAAuC;AACvE,QACE,kBAAC,EAAkB,MAAnB;EACE,aAAU;EACV,WAAW,EACT,qqBACA,EACD;EACD,GAAI;YAEJ,kBAAC,EAAkB,WAAnB;GACE,aAAU;GACV,WAAU;aAEV,kBAAC,GAAD,EAAa,CAAA;GACe,CAAA;EACP,CAAA"}
@@ -1,2 +1,2 @@
1
- "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/context-menu`);function i({...e}){return(0,t.jsx)(r.ContextMenu.Root,{...e})}function a({className:n,...i}){return(0,t.jsx)(r.ContextMenu.Trigger,{"data-slot":`context-menu-trigger`,className:e.cn(`select-none`,n),...i})}function o({...e}){return(0,t.jsx)(r.ContextMenu.Group,{"data-slot":`context-menu-group`,...e})}function s({...e}){return(0,t.jsx)(r.ContextMenu.Portal,{...e})}function c({...e}){return(0,t.jsx)(r.ContextMenu.SubmenuRoot,{...e})}function l({...e}){return(0,t.jsx)(r.ContextMenu.RadioGroup,{"data-slot":`context-menu-radio-group`,...e})}function u({className:n,side:i,align:a,...o}){return(0,t.jsx)(r.ContextMenu.Portal,{children:(0,t.jsx)(r.ContextMenu.Positioner,{side:i,align:a,children:(0,t.jsx)(r.ContextMenu.Popup,{"data-slot":`context-menu-content`,className:e.cn(`z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95`,n),...o})})})}function d({className:n,inset:i,variant:a=`default`,...o}){return(0,t.jsx)(r.ContextMenu.Item,{"data-slot":`context-menu-item`,"data-inset":i,"data-variant":a,className:e.cn(`group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:data-[highlighted]:bg-destructive/10 data-[variant=destructive]:data-[highlighted]:text-destructive dark:data-[variant=destructive]:data-[highlighted]:bg-destructive/20 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 data-[highlighted]:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive`,n),...o})}function f({className:i,inset:a,children:o,...s}){return(0,t.jsxs)(r.ContextMenu.SubmenuTrigger,{"data-slot":`context-menu-sub-trigger`,"data-inset":a,className:e.cn(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[popup-open]:bg-accent data-[popup-open]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[o,(0,t.jsx)(n.ChevronRightIcon,{className:`cn-rtl-flip ml-auto`})]})}function p({className:n,...i}){return(0,t.jsx)(r.ContextMenu.Portal,{children:(0,t.jsx)(r.ContextMenu.Positioner,{children:(0,t.jsx)(r.ContextMenu.Popup,{"data-slot":`context-menu-sub-content`,className:e.cn(`z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-lg border bg-popover p-1 text-popover-foreground shadow-lg duration-100 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-[open]:animate-in data-[open]:fade-in-0 data-[open]:zoom-in-95 data-[closed]:animate-out data-[closed]:fade-out-0 data-[closed]:zoom-out-95`,n),...i})})})}function m({className:i,children:a,checked:o,inset:s,...c}){return(0,t.jsxs)(r.ContextMenu.CheckboxItem,{"data-slot":`context-menu-checkbox-item`,"data-inset":s,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),checked:o,...c,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2`,children:(0,t.jsx)(r.ContextMenu.CheckboxItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function h({className:i,children:a,inset:o,...s}){return(0,t.jsxs)(r.ContextMenu.RadioItem,{"data-slot":`context-menu-radio-item`,"data-inset":o,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none data-[highlighted]:bg-accent data-[highlighted]:text-accent-foreground data-[inset]:pl-7 data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2`,children:(0,t.jsx)(r.ContextMenu.RadioItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function g({className:n,inset:r,...i}){return(0,t.jsx)(`div`,{"data-slot":`context-menu-label`,"data-inset":r,className:e.cn(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-[inset]:pl-7`,n),...i})}function _({className:n,...i}){return(0,t.jsx)(r.ContextMenu.Separator,{"data-slot":`context-menu-separator`,className:e.cn(`-mx-1 my-1 h-px bg-border`,n),...i})}function v({className:n,...r}){return(0,t.jsx)(`span`,{"data-slot":`context-menu-shortcut`,className:e.cn(`ml-auto text-xs tracking-widest text-muted-foreground group-data-[highlighted]/context-menu-item:text-accent-foreground`,n),...r})}exports.ContextMenu=i,exports.ContextMenuCheckboxItem=m,exports.ContextMenuContent=u,exports.ContextMenuGroup=o,exports.ContextMenuItem=d,exports.ContextMenuLabel=g,exports.ContextMenuPortal=s,exports.ContextMenuRadioGroup=l,exports.ContextMenuRadioItem=h,exports.ContextMenuSeparator=_,exports.ContextMenuShortcut=v,exports.ContextMenuSub=c,exports.ContextMenuSubContent=p,exports.ContextMenuSubTrigger=f,exports.ContextMenuTrigger=a;
1
+ "use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`}),require(`../_virtual/_rolldown/runtime.cjs`);const e=require(`../lib/utils.cjs`);let t=require(`react/jsx-runtime`),n=require(`lucide-react`),r=require(`@base-ui/react/context-menu`);function i({...e}){return(0,t.jsx)(r.ContextMenu.Root,{"data-slot":`context-menu`,...e})}function a({...e}){return(0,t.jsx)(r.ContextMenu.Portal,{"data-slot":`context-menu-portal`,...e})}function o({className:n,...i}){return(0,t.jsx)(r.ContextMenu.Trigger,{"data-slot":`context-menu-trigger`,className:e.cn(`select-none`,n),...i})}function s({className:n,align:i=`start`,alignOffset:a=4,side:o=`right`,sideOffset:s=0,...c}){return(0,t.jsx)(r.ContextMenu.Portal,{children:(0,t.jsx)(r.ContextMenu.Positioner,{className:`isolate z-50 outline-none`,align:i,alignOffset:a,side:o,sideOffset:s,children:(0,t.jsx)(r.ContextMenu.Popup,{"data-slot":`context-menu-content`,className:e.cn(`z-50 max-h-(--available-height) min-w-36 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover p-1 text-popover-foreground shadow-md ring-1 ring-foreground/10 duration-100 outline-none data-[side=bottom]:slide-in-from-top-2 data-[side=inline-end]:slide-in-from-left-2 data-[side=inline-start]:slide-in-from-right-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 data-open:animate-in data-open:fade-in-0 data-open:zoom-in-95 data-closed:animate-out data-closed:fade-out-0 data-closed:zoom-out-95`,n),...c})})})}function c({...e}){return(0,t.jsx)(r.ContextMenu.Group,{"data-slot":`context-menu-group`,...e})}function l({className:n,inset:i,...a}){return(0,t.jsx)(r.ContextMenu.GroupLabel,{"data-slot":`context-menu-label`,"data-inset":i,className:e.cn(`px-1.5 py-1 text-xs font-medium text-muted-foreground data-inset:pl-7`,n),...a})}function u({className:n,inset:i,variant:a=`default`,...o}){return(0,t.jsx)(r.ContextMenu.Item,{"data-slot":`context-menu-item`,"data-inset":i,"data-variant":a,className:e.cn(`group/context-menu-item relative flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 data-[variant=destructive]:focus:text-destructive dark:data-[variant=destructive]:focus:bg-destructive/20 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 focus:*:[svg]:text-accent-foreground data-[variant=destructive]:*:[svg]:text-destructive`,n),...o})}function d({...e}){return(0,t.jsx)(r.ContextMenu.SubmenuRoot,{"data-slot":`context-menu-sub`,...e})}function f({className:i,inset:a,children:o,...s}){return(0,t.jsxs)(r.ContextMenu.SubmenuTrigger,{"data-slot":`context-menu-sub-trigger`,"data-inset":a,className:e.cn(`flex cursor-default items-center gap-1.5 rounded-md px-1.5 py-1 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-open:bg-accent data-open:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[o,(0,t.jsx)(n.ChevronRightIcon,{className:`cn-rtl-flip ml-auto`})]})}function p({...e}){return(0,t.jsx)(s,{"data-slot":`context-menu-sub-content`,className:`shadow-lg`,side:`right`,...e})}function m({className:i,children:a,checked:o,inset:s,...c}){return(0,t.jsxs)(r.ContextMenu.CheckboxItem,{"data-slot":`context-menu-checkbox-item`,"data-inset":s,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),checked:o,...c,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2`,children:(0,t.jsx)(r.ContextMenu.CheckboxItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function h({...e}){return(0,t.jsx)(r.ContextMenu.RadioGroup,{"data-slot":`context-menu-radio-group`,...e})}function g({className:i,children:a,inset:o,...s}){return(0,t.jsxs)(r.ContextMenu.RadioItem,{"data-slot":`context-menu-radio-item`,"data-inset":o,className:e.cn(`relative flex cursor-default items-center gap-1.5 rounded-md py-1 pr-8 pl-1.5 text-sm outline-hidden select-none focus:bg-accent focus:text-accent-foreground data-inset:pl-7 data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,i),...s,children:[(0,t.jsx)(`span`,{className:`pointer-events-none absolute right-2`,children:(0,t.jsx)(r.ContextMenu.RadioItemIndicator,{children:(0,t.jsx)(n.CheckIcon,{})})}),a]})}function _({className:n,...i}){return(0,t.jsx)(r.ContextMenu.Separator,{"data-slot":`context-menu-separator`,className:e.cn(`-mx-1 my-1 h-px bg-border`,n),...i})}function v({className:n,...r}){return(0,t.jsx)(`span`,{"data-slot":`context-menu-shortcut`,className:e.cn(`ml-auto text-xs tracking-widest text-muted-foreground group-focus/context-menu-item:text-accent-foreground`,n),...r})}exports.ContextMenu=i,exports.ContextMenuCheckboxItem=m,exports.ContextMenuContent=s,exports.ContextMenuGroup=c,exports.ContextMenuItem=u,exports.ContextMenuLabel=l,exports.ContextMenuPortal=a,exports.ContextMenuRadioGroup=h,exports.ContextMenuRadioItem=g,exports.ContextMenuSeparator=_,exports.ContextMenuShortcut=v,exports.ContextMenuSub=d,exports.ContextMenuSubContent=p,exports.ContextMenuSubTrigger=f,exports.ContextMenuTrigger=o;
2
2
  //# sourceMappingURL=context-menu.cjs.map