@tetrascience-npm/tetrascience-react-ui 1.0.0-beta.152.1 → 1.0.0-beta.154.1

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 (41) hide show
  1. package/dist/components/ui/checkbox.d.ts +6 -2
  2. package/dist/components/ui/combobox.d.ts +10 -2
  3. package/dist/components/ui/input-group.d.ts +8 -3
  4. package/dist/components/ui/input.d.ts +9 -2
  5. package/dist/components/ui/radio-group.d.ts +10 -3
  6. package/dist/components/ui/select.d.ts +1 -1
  7. package/dist/components/ui/textarea.d.ts +6 -2
  8. package/dist/index.cjs +1 -1
  9. package/dist/index.css +1 -1
  10. package/dist/index.js +505 -501
  11. package/dist/index.scoped.css +1 -1
  12. package/dist/index.tailwind.css +1 -1
  13. package/dist/ui/checkbox.cjs +1 -1
  14. package/dist/ui/checkbox.cjs.map +1 -1
  15. package/dist/ui/checkbox.js +37 -22
  16. package/dist/ui/checkbox.js.map +1 -1
  17. package/dist/ui/combobox.cjs +1 -1
  18. package/dist/ui/combobox.cjs.map +1 -1
  19. package/dist/ui/combobox.js +97 -78
  20. package/dist/ui/combobox.js.map +1 -1
  21. package/dist/ui/input-group.cjs +1 -1
  22. package/dist/ui/input-group.cjs.map +1 -1
  23. package/dist/ui/input-group.js +89 -63
  24. package/dist/ui/input-group.js.map +1 -1
  25. package/dist/ui/input.cjs +1 -1
  26. package/dist/ui/input.cjs.map +1 -1
  27. package/dist/ui/input.js +33 -9
  28. package/dist/ui/input.js.map +1 -1
  29. package/dist/ui/radio-group.cjs +1 -1
  30. package/dist/ui/radio-group.cjs.map +1 -1
  31. package/dist/ui/radio-group.js +46 -24
  32. package/dist/ui/radio-group.js.map +1 -1
  33. package/dist/ui/select.cjs +1 -1
  34. package/dist/ui/select.cjs.map +1 -1
  35. package/dist/ui/select.js +23 -21
  36. package/dist/ui/select.js.map +1 -1
  37. package/dist/ui/textarea.cjs +1 -1
  38. package/dist/ui/textarea.cjs.map +1 -1
  39. package/dist/ui/textarea.js +32 -10
  40. package/dist/ui/textarea.js.map +1 -1
  41. package/package.json +1 -1
@@ -1,45 +1,67 @@
1
1
  import { jsx as r } from "react/jsx-runtime";
2
- import { RadioGroup as i } from "radix-ui";
3
- import { cn as o } from "../lib/utils.js";
4
- function l({
5
- className: a,
6
- ...e
2
+ import { cva as n } from "class-variance-authority";
3
+ import { RadioGroup as o } from "radix-ui";
4
+ import * as d from "react";
5
+ import { cn as s } from "../lib/utils.js";
6
+ const u = d.createContext({});
7
+ function b({
8
+ className: e,
9
+ size: a,
10
+ ...i
7
11
  }) {
8
- return /* @__PURE__ */ r(
9
- i.Root,
12
+ return /* @__PURE__ */ r(u.Provider, { value: { size: a ?? "default" }, children: /* @__PURE__ */ r(
13
+ o.Root,
10
14
  {
11
15
  "data-slot": "radio-group",
12
- className: o("grid w-full gap-2", a),
13
- ...e
16
+ className: s("grid w-full gap-2", e),
17
+ ...i
14
18
  }
15
- );
19
+ ) });
16
20
  }
17
- function n({
18
- className: a,
19
- ...e
21
+ const c = n(
22
+ "group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input bg-card outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
23
+ {
24
+ variants: {
25
+ // Box scale (SW-2591): default stays 16 (no visual change); xs 14 / lg 20.
26
+ size: {
27
+ xs: "size-3.5",
28
+ sm: "size-4",
29
+ default: "size-4",
30
+ lg: "size-5"
31
+ }
32
+ },
33
+ defaultVariants: {
34
+ size: "default"
35
+ }
36
+ }
37
+ );
38
+ function z({
39
+ className: e,
40
+ size: a,
41
+ ...i
20
42
  }) {
43
+ const l = d.useContext(u), t = a ?? l.size ?? "default";
21
44
  return /* @__PURE__ */ r(
22
- i.Item,
45
+ o.Item,
23
46
  {
24
47
  "data-slot": "radio-group-item",
25
- className: o(
26
- "group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input bg-card outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary",
27
- a
28
- ),
29
- ...e,
48
+ "data-size": t,
49
+ className: s(c({ size: t }), e),
50
+ ...i,
30
51
  children: /* @__PURE__ */ r(
31
- i.Indicator,
52
+ o.Indicator,
32
53
  {
33
54
  "data-slot": "radio-group-indicator",
34
- className: "flex size-4 items-center justify-center",
35
- children: /* @__PURE__ */ r("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground" })
55
+ className: "flex size-full items-center justify-center",
56
+ children: /* @__PURE__ */ r("span", { className: "absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground group-data-[size=xs]/radio-group-item:size-1.5 group-data-[size=lg]/radio-group-item:size-2.5" })
36
57
  }
37
58
  )
38
59
  }
39
60
  );
40
61
  }
41
62
  export {
42
- l as RadioGroup,
43
- n as RadioGroupItem
63
+ b as RadioGroup,
64
+ z as RadioGroupItem,
65
+ c as radioGroupItemVariants
44
66
  };
45
67
  //# sourceMappingURL=radio-group.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"radio-group.js","sources":["../../src/components/ui/radio-group.tsx"],"sourcesContent":["\"use client\"\n\nimport { RadioGroup as RadioGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction RadioGroup({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root>) {\n return (\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid w-full gap-2\", className)}\n {...props}\n />\n )\n}\n\nfunction RadioGroupItem({\n className,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item>) {\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n className={cn(\n \"group/radio-group-item peer relative flex aspect-square size-4 shrink-0 rounded-full border border-input bg-card outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 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 <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"flex size-4 items-center justify-center\"\n >\n <span className=\"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem }\n"],"names":["RadioGroup","className","props","jsx","RadioGroupPrimitive","cn","RadioGroupItem"],"mappings":";;;AAOA,SAASA,EAAW;AAAA,EAClB,WAAAC;AAAA,EACA,GAAGC;AACL,GAA0D;AACxD,SACE,gBAAAC;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,qBAAqBJ,CAAS;AAAA,MAC3C,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;AAEA,SAASI,EAAe;AAAA,EACtB,WAAAL;AAAA,EACA,GAAGC;AACL,GAA0D;AACxD,SACE,gBAAAC;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAJ;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,MAEJ,UAAA,gBAAAC;AAAA,QAACC,EAAoB;AAAA,QAApB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,UAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,wGAAA,CAAwG;AAAA,QAAA;AAAA,MAAA;AAAA,IAC1H;AAAA,EAAA;AAGN;"}
1
+ {"version":3,"file":"radio-group.js","sources":["../../src/components/ui/radio-group.tsx"],"sourcesContent":["\"use client\"\n\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { RadioGroup as RadioGroupPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\ntype RadioSize = \"xs\" | \"sm\" | \"default\" | \"lg\"\n\nconst RadioGroupContext = React.createContext<{ size?: RadioSize }>({})\n\nfunction RadioGroup({\n className,\n size,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Root> & { size?: RadioSize }) {\n return (\n <RadioGroupContext.Provider value={{ size: size ?? \"default\" }}>\n <RadioGroupPrimitive.Root\n data-slot=\"radio-group\"\n className={cn(\"grid w-full gap-2\", className)}\n {...props}\n />\n </RadioGroupContext.Provider>\n )\n}\n\nconst radioGroupItemVariants = cva(\n \"group/radio-group-item peer relative flex aspect-square shrink-0 rounded-full border border-input bg-card outline-none after:absolute after:-inset-x-3 after:-inset-y-2 focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus aria-invalid:aria-checked:border-primary dark:bg-input/30 dark:aria-invalid:border-destructive/50 data-checked:border-primary data-checked:bg-primary data-checked:text-primary-foreground dark:data-checked:bg-primary\",\n {\n variants: {\n // Box scale (SW-2591): default stays 16 (no visual change); xs 14 / lg 20.\n size: {\n xs: \"size-3.5\",\n sm: \"size-4\",\n default: \"size-4\",\n lg: \"size-5\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nfunction RadioGroupItem({\n className,\n size,\n ...props\n}: React.ComponentProps<typeof RadioGroupPrimitive.Item> &\n VariantProps<typeof radioGroupItemVariants>) {\n const context = React.useContext(RadioGroupContext)\n const resolved = size ?? context.size ?? \"default\"\n return (\n <RadioGroupPrimitive.Item\n data-slot=\"radio-group-item\"\n data-size={resolved}\n className={cn(radioGroupItemVariants({ size: resolved }), className)}\n {...props}\n >\n <RadioGroupPrimitive.Indicator\n data-slot=\"radio-group-indicator\"\n className=\"flex size-full items-center justify-center\"\n >\n <span className=\"absolute top-1/2 left-1/2 size-2 -translate-x-1/2 -translate-y-1/2 rounded-full bg-primary-foreground group-data-[size=xs]/radio-group-item:size-1.5 group-data-[size=lg]/radio-group-item:size-2.5\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n}\n\nexport { RadioGroup, RadioGroupItem, radioGroupItemVariants }\n"],"names":["RadioGroupContext","React","RadioGroup","className","size","props","jsx","RadioGroupPrimitive","cn","radioGroupItemVariants","cva","RadioGroupItem","context","resolved"],"mappings":";;;;;AAUA,MAAMA,IAAoBC,EAAM,cAAoC,EAAE;AAEtE,SAASC,EAAW;AAAA,EAClB,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,GAAiF;AAC/E,SACE,gBAAAC,EAACN,EAAkB,UAAlB,EAA2B,OAAO,EAAE,MAAMI,KAAQ,aACjD,UAAA,gBAAAE;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,WAAWC,EAAG,qBAAqBL,CAAS;AAAA,MAC3C,GAAGE;AAAA,IAAA;AAAA,EAAA,GAER;AAEJ;AAEA,MAAMI,IAAyBC;AAAA,EAC7B;AAAA,EACA;AAAA,IACE,UAAU;AAAA;AAAA,MAER,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASC,EAAe;AAAA,EACtB,WAAAR;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,GAC+C;AAC7C,QAAMO,IAAUX,EAAM,WAAWD,CAAiB,GAC5Ca,IAAWT,KAAQQ,EAAQ,QAAQ;AACzC,SACE,gBAAAN;AAAA,IAACC,EAAoB;AAAA,IAApB;AAAA,MACC,aAAU;AAAA,MACV,aAAWM;AAAA,MACX,WAAWL,EAAGC,EAAuB,EAAE,MAAMI,EAAA,CAAU,GAAGV,CAAS;AAAA,MAClE,GAAGE;AAAA,MAEJ,UAAA,gBAAAC;AAAA,QAACC,EAAoB;AAAA,QAApB;AAAA,UACC,aAAU;AAAA,UACV,WAAU;AAAA,UAEV,UAAA,gBAAAD,EAAC,QAAA,EAAK,WAAU,sMAAA,CAAsM;AAAA,QAAA;AAAA,MAAA;AAAA,IACxN;AAAA,EAAA;AAGN;"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("lucide-react"),n=require("radix-ui"),o=require("../lib/utils.cjs");function u({...t}){return e.jsx(n.Select.Root,{"data-slot":"select",...t})}function p({className:t,...a}){return e.jsx(n.Select.Group,{"data-slot":"select-group",className:o.cn("scroll-my-1 p-1",t),...a})}function g({...t}){return e.jsx(n.Select.Value,{"data-slot":"select-value",...t})}function m({className:t,size:a="default",children:s,...l}){return e.jsxs(n.Select.Trigger,{"data-slot":"select-trigger","data-size":a,className:o.cn("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l,children:[s,e.jsx(n.Select.Icon,{asChild:!0,children:e.jsx(r.ChevronDownIcon,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function f({className:t,children:a,position:s="item-aligned",align:l="center",...d}){return e.jsx(n.Select.Portal,{children:e.jsxs(n.Select.Content,{"data-slot":"select-content","data-align-trigger":s==="item-aligned",className:o.cn("relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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",s==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:s,align:l,...d,children:[e.jsx(c,{}),e.jsx(n.Select.Viewport,{"data-position":s,className:o.cn("data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",s==="popper"&&""),children:a}),e.jsx(i,{})]})})}function x({className:t,...a}){return e.jsx(n.Select.Label,{"data-slot":"select-label",className:o.cn("px-1.5 py-1 text-xs text-muted-foreground",t),...a})}function S({className:t,children:a,...s}){return e.jsxs(n.Select.Item,{"data-slot":"select-item",className:o.cn("relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...s,children:[e.jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:e.jsx(n.Select.ItemIndicator,{children:e.jsx(r.CheckIcon,{className:"pointer-events-none"})})}),e.jsx(n.Select.ItemText,{children:a})]})}function v({className:t,...a}){return e.jsx(n.Select.Separator,{"data-slot":"select-separator",className:o.cn("pointer-events-none -mx-1 my-1 h-px bg-border",t),...a})}function c({className:t,...a}){return e.jsx(n.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o.cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e.jsx(r.ChevronUpIcon,{})})}function i({className:t,...a}){return e.jsx(n.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o.cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e.jsx(r.ChevronDownIcon,{})})}exports.Select=u;exports.SelectContent=f;exports.SelectGroup=p;exports.SelectItem=S;exports.SelectLabel=x;exports.SelectScrollDownButton=i;exports.SelectScrollUpButton=c;exports.SelectSeparator=v;exports.SelectTrigger=m;exports.SelectValue=g;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("react/jsx-runtime"),r=require("lucide-react"),s=require("radix-ui"),o=require("../lib/utils.cjs");function u({...t}){return e.jsx(s.Select.Root,{"data-slot":"select",...t})}function p({className:t,...a}){return e.jsx(s.Select.Group,{"data-slot":"select-group",className:o.cn("scroll-my-1 p-1",t),...a})}function g({...t}){return e.jsx(s.Select.Value,{"data-slot":"select-value",...t})}function m({className:t,size:a="default",children:n,...l}){return e.jsxs(s.Select.Trigger,{"data-slot":"select-trigger","data-size":a,className:o.cn("flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=lg]:h-9 data-[size=lg]:pl-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:text-[0.8rem] data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),10px)] data-[size=xs]:pl-2 data-[size=xs]:text-xs *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l,children:[n,e.jsx(s.Select.Icon,{asChild:!0,children:e.jsx(r.ChevronDownIcon,{className:"pointer-events-none size-4 text-muted-foreground"})})]})}function x({className:t,children:a,position:n="item-aligned",align:l="center",...d}){return e.jsx(s.Select.Portal,{children:e.jsxs(s.Select.Content,{"data-slot":"select-content","data-align-trigger":n==="item-aligned",className:o.cn("relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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==="popper"&&"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1",t),position:n,align:l,...d,children:[e.jsx(i,{}),e.jsx(s.Select.Viewport,{"data-position":n,className:o.cn("data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",n==="popper"&&""),children:a}),e.jsx(c,{})]})})}function f({className:t,...a}){return e.jsx(s.Select.Label,{"data-slot":"select-label",className:o.cn("px-1.5 py-1 text-xs text-muted-foreground",t),...a})}function v({className:t,children:a,...n}){return e.jsxs(s.Select.Item,{"data-slot":"select-item",className:o.cn("relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",t),...n,children:[e.jsx("span",{className:"pointer-events-none absolute right-2 flex size-4 items-center justify-center",children:e.jsx(s.Select.ItemIndicator,{children:e.jsx(r.CheckIcon,{className:"pointer-events-none"})})}),e.jsx(s.Select.ItemText,{children:a})]})}function S({className:t,...a}){return e.jsx(s.Select.Separator,{"data-slot":"select-separator",className:o.cn("pointer-events-none -mx-1 my-1 h-px bg-border",t),...a})}function i({className:t,...a}){return e.jsx(s.Select.ScrollUpButton,{"data-slot":"select-scroll-up-button",className:o.cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e.jsx(r.ChevronUpIcon,{})})}function c({className:t,...a}){return e.jsx(s.Select.ScrollDownButton,{"data-slot":"select-scroll-down-button",className:o.cn("z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",t),...a,children:e.jsx(r.ChevronDownIcon,{})})}exports.Select=u;exports.SelectContent=x;exports.SelectGroup=p;exports.SelectItem=v;exports.SelectLabel=f;exports.SelectScrollDownButton=c;exports.SelectScrollUpButton=i;exports.SelectSeparator=S;exports.SelectTrigger=m;exports.SelectValue=g;
2
2
  //# sourceMappingURL=select.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.cjs","sources":["../../src/components/ui/select.tsx"],"sourcesContent":["\"use client\"\n\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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\", position ===\"popper\"&&\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"names":["Select","props","SelectPrimitive","SelectGroup","className","jsx","cn","SelectValue","SelectTrigger","size","children","jsxs","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}
1
+ {"version":3,"file":"select.cjs","sources":["../../src/components/ui/select.tsx"],"sourcesContent":["\"use client\"\n\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"xs\" | \"sm\" | \"default\" | \"lg\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n // Shared control scale (SW-2591): xs 24 / sm 28 / default 32 / lg 36,\n // radius 8 at xs/sm and 10 at default/lg — matching Button.\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=lg]:h-9 data-[size=lg]:pl-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:text-[0.8rem] data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),10px)] data-[size=xs]:pl-2 data-[size=xs]:text-xs *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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\", position ===\"popper\"&&\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"names":["Select","props","SelectPrimitive","SelectGroup","className","jsx","cn","SelectValue","SelectTrigger","size","children","jsxs","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}
package/dist/ui/select.js CHANGED
@@ -1,8 +1,8 @@
1
1
  import { jsx as t, jsxs as l } from "react/jsx-runtime";
2
2
  import { CheckIcon as c, ChevronDownIcon as i, ChevronUpIcon as u } from "lucide-react";
3
3
  import { Select as o } from "radix-ui";
4
- import { cn as n } from "../lib/utils.js";
5
- function x({
4
+ import { cn as s } from "../lib/utils.js";
5
+ function h({
6
6
  ...e
7
7
  }) {
8
8
  return /* @__PURE__ */ t(o.Root, { "data-slot": "select", ...e });
@@ -15,32 +15,34 @@ function b({
15
15
  o.Group,
16
16
  {
17
17
  "data-slot": "select-group",
18
- className: n("scroll-my-1 p-1", e),
18
+ className: s("scroll-my-1 p-1", e),
19
19
  ...a
20
20
  }
21
21
  );
22
22
  }
23
- function w({
23
+ function z({
24
24
  ...e
25
25
  }) {
26
26
  return /* @__PURE__ */ t(o.Value, { "data-slot": "select-value", ...e });
27
27
  }
28
- function z({
28
+ function w({
29
29
  className: e,
30
30
  size: a = "default",
31
31
  children: r,
32
- ...s
32
+ ...n
33
33
  }) {
34
34
  return /* @__PURE__ */ l(
35
35
  o.Trigger,
36
36
  {
37
37
  "data-slot": "select-trigger",
38
38
  "data-size": a,
39
- className: n(
40
- "flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
39
+ className: s(
40
+ // Shared control scale (SW-2591): xs 24 / sm 28 / default 32 / lg 36,
41
+ // radius 8 at xs/sm and 10 at default/lg — matching Button.
42
+ "flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=lg]:h-9 data-[size=lg]:pl-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:text-[0.8rem] data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),10px)] data-[size=xs]:pl-2 data-[size=xs]:text-xs *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
41
43
  e
42
44
  ),
43
- ...s,
45
+ ...n,
44
46
  children: [
45
47
  r,
46
48
  /* @__PURE__ */ t(o.Icon, { asChild: !0, children: /* @__PURE__ */ t(i, { className: "pointer-events-none size-4 text-muted-foreground" }) })
@@ -52,7 +54,7 @@ function S({
52
54
  className: e,
53
55
  children: a,
54
56
  position: r = "item-aligned",
55
- align: s = "center",
57
+ align: n = "center",
56
58
  ...d
57
59
  }) {
58
60
  return /* @__PURE__ */ t(o.Portal, { children: /* @__PURE__ */ l(
@@ -60,9 +62,9 @@ function S({
60
62
  {
61
63
  "data-slot": "select-content",
62
64
  "data-align-trigger": r === "item-aligned",
63
- className: n("relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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", r === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", e),
65
+ className: s("relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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", r === "popper" && "data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1", e),
64
66
  position: r,
65
- align: s,
67
+ align: n,
66
68
  ...d,
67
69
  children: [
68
70
  /* @__PURE__ */ t(p, {}),
@@ -70,7 +72,7 @@ function S({
70
72
  o.Viewport,
71
73
  {
72
74
  "data-position": r,
73
- className: n(
75
+ className: s(
74
76
  "data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)",
75
77
  r === "popper" && ""
76
78
  ),
@@ -90,7 +92,7 @@ function y({
90
92
  o.Label,
91
93
  {
92
94
  "data-slot": "select-label",
93
- className: n("px-1.5 py-1 text-xs text-muted-foreground", e),
95
+ className: s("px-1.5 py-1 text-xs text-muted-foreground", e),
94
96
  ...a
95
97
  }
96
98
  );
@@ -104,7 +106,7 @@ function N({
104
106
  o.Item,
105
107
  {
106
108
  "data-slot": "select-item",
107
- className: n(
109
+ className: s(
108
110
  "relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2",
109
111
  e
110
112
  ),
@@ -124,7 +126,7 @@ function I({
124
126
  o.Separator,
125
127
  {
126
128
  "data-slot": "select-separator",
127
- className: n("pointer-events-none -mx-1 my-1 h-px bg-border", e),
129
+ className: s("pointer-events-none -mx-1 my-1 h-px bg-border", e),
128
130
  ...a
129
131
  }
130
132
  );
@@ -137,7 +139,7 @@ function p({
137
139
  o.ScrollUpButton,
138
140
  {
139
141
  "data-slot": "select-scroll-up-button",
140
- className: n(
142
+ className: s(
141
143
  "z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
142
144
  e
143
145
  ),
@@ -157,7 +159,7 @@ function m({
157
159
  o.ScrollDownButton,
158
160
  {
159
161
  "data-slot": "select-scroll-down-button",
160
- className: n(
162
+ className: s(
161
163
  "z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4",
162
164
  e
163
165
  ),
@@ -170,7 +172,7 @@ function m({
170
172
  );
171
173
  }
172
174
  export {
173
- x as Select,
175
+ h as Select,
174
176
  S as SelectContent,
175
177
  b as SelectGroup,
176
178
  N as SelectItem,
@@ -178,7 +180,7 @@ export {
178
180
  m as SelectScrollDownButton,
179
181
  p as SelectScrollUpButton,
180
182
  I as SelectSeparator,
181
- z as SelectTrigger,
182
- w as SelectValue
183
+ w as SelectTrigger,
184
+ z as SelectValue
183
185
  };
184
186
  //# sourceMappingURL=select.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"select.js","sources":["../../src/components/ui/select.tsx"],"sourcesContent":["\"use client\"\n\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"sm\" | \"default\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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\", position ===\"popper\"&&\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"names":["Select","props","SelectPrimitive","SelectGroup","className","jsx","cn","SelectValue","SelectTrigger","size","children","jsxs","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}
1
+ {"version":3,"file":"select.js","sources":["../../src/components/ui/select.tsx"],"sourcesContent":["\"use client\"\n\nimport { ChevronDownIcon, CheckIcon, ChevronUpIcon } from \"lucide-react\"\nimport { Select as SelectPrimitive } from \"radix-ui\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\n\nfunction Select({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />\n}\n\nfunction SelectGroup({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return (\n <SelectPrimitive.Group\n data-slot=\"select-group\"\n className={cn(\"scroll-my-1 p-1\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectValue({\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />\n}\n\nfunction SelectTrigger({\n className,\n size = \"default\",\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: \"xs\" | \"sm\" | \"default\" | \"lg\"\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n // Shared control scale (SW-2591): xs 24 / sm 28 / default 32 / lg 36,\n // radius 8 at xs/sm and 10 at default/lg — matching Button.\n \"flex w-fit items-center justify-between gap-1.5 rounded-lg border border-input bg-card pr-2 pl-2.5 text-sm whitespace-nowrap transition-colors outline-none select-none focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus data-placeholder:text-muted-foreground data-[size=default]:h-8 data-[size=lg]:h-9 data-[size=lg]:pl-3 data-[size=sm]:h-7 data-[size=sm]:rounded-[min(var(--radius-md),10px)] data-[size=sm]:text-[0.8rem] data-[size=xs]:h-6 data-[size=xs]:rounded-[min(var(--radius-md),10px)] data-[size=xs]:pl-2 data-[size=xs]:text-xs *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-1.5 dark:bg-input/30 dark:hover:bg-input/50 dark:aria-invalid:border-destructive/50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"pointer-events-none size-4 text-muted-foreground\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n )\n}\n\nfunction SelectContent({\n className,\n children,\n position = \"item-aligned\",\n align = \"center\",\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n data-align-trigger={position === \"item-aligned\"}\n className={cn(\"relative z-50 max-h-(--radix-select-content-available-height) p-1 min-w-36 origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-lg bg-popover text-popover-foreground shadow-elevation-4 ring-1 ring-foreground/10 duration-100 data-[align-trigger=true]:animate-none 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\", position ===\"popper\"&&\"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\", className )}\n position={position}\n align={align}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n data-position={position}\n className={cn(\n \"data-[position=popper]:h-(--radix-select-trigger-height) data-[position=popper]:w-full data-[position=popper]:min-w-(--radix-select-trigger-width)\",\n position === \"popper\" && \"\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n )\n}\n\nfunction SelectLabel({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn(\"px-1.5 py-1 text-xs text-muted-foreground\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"relative flex w-full 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 not-data-[variant=destructive]:focus:**:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute right-2 flex size-4 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"pointer-events-none\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n )\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn(\"pointer-events-none -mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n )\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronUpIcon\n />\n </SelectPrimitive.ScrollUpButton>\n )\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn(\n \"z-10 flex cursor-default items-center justify-center bg-popover py-1 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <ChevronDownIcon\n />\n </SelectPrimitive.ScrollDownButton>\n )\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n}\n"],"names":["Select","props","SelectPrimitive","SelectGroup","className","jsx","cn","SelectValue","SelectTrigger","size","children","jsxs","ChevronDownIcon","SelectContent","position","align","SelectScrollUpButton","SelectScrollDownButton","SelectLabel","SelectItem","CheckIcon","SelectSeparator","ChevronUpIcon"],"mappings":"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"}
@@ -1,2 +1,2 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const t=require("react/jsx-runtime"),i=require("../lib/utils.cjs");function a({className:e,...r}){return t.jsx("textarea",{"data-slot":"textarea",className:i.cn("flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-card px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50",e),...r})}exports.Textarea=a;
1
+ "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const i=require("react/jsx-runtime"),d=require("class-variance-authority"),s=require("../lib/utils.cjs"),t=d.cva("flex field-sizing-content w-full border border-input bg-card transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50",{variants:{size:{xs:"min-h-12 rounded-md px-2 py-1 text-xs",sm:"min-h-14 rounded-md px-2.5 py-1.5 text-[0.8rem]",default:"min-h-16 rounded-lg px-2.5 py-2 text-base md:text-sm",lg:"min-h-20 rounded-lg px-3 py-2.5 text-base md:text-sm"}},defaultVariants:{size:"default"}});function n({className:a,size:e,...r}){return i.jsx("textarea",{"data-slot":"textarea","data-size":e??"default",className:s.cn(t({size:e}),a),...r})}exports.Textarea=n;exports.textareaVariants=t;
2
2
  //# sourceMappingURL=textarea.cjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.cjs","sources":["../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-card px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"names":["Textarea","className","props","jsx","cn"],"mappings":"mJAIA,SAASA,EAAS,CAAE,UAAAC,EAAW,GAAGC,GAA2C,CAC3E,OACEC,EAAAA,IAAC,WAAA,CACC,YAAU,WACV,UAAWC,EAAAA,GACT,4bACAH,CAAA,EAED,GAAGC,CAAA,CAAA,CAGV"}
1
+ {"version":3,"file":"textarea.cjs","sources":["../../src/components/ui/textarea.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst textareaVariants = cva(\n \"flex field-sizing-content w-full border border-input bg-card transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50\",\n {\n variants: {\n // Shared control scale (SW-2591): min-height + padding/radius/text step\n // with the same rhythm as the single-line inputs.\n size: {\n xs: \"min-h-12 rounded-md px-2 py-1 text-xs\",\n sm: \"min-h-14 rounded-md px-2.5 py-1.5 text-[0.8rem]\",\n default: \"min-h-16 rounded-lg px-2.5 py-2 text-base md:text-sm\",\n lg: \"min-h-20 rounded-lg px-3 py-2.5 text-base md:text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nfunction Textarea({\n className,\n size,\n ...props\n}: React.ComponentProps<\"textarea\"> & VariantProps<typeof textareaVariants>) {\n return (\n <textarea\n data-slot=\"textarea\"\n data-size={size ?? \"default\"}\n className={cn(textareaVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nexport { Textarea, textareaVariants }\n"],"names":["textareaVariants","cva","Textarea","className","size","props","jsx","cn"],"mappings":"yLAKMA,EAAmBC,EAAAA,IACvB,uYACA,CACE,SAAU,CAGR,KAAM,CACJ,GAAI,wCACJ,GAAI,kDACJ,QAAS,uDACT,GAAI,sDAAA,CACN,EAEF,gBAAiB,CACf,KAAM,SAAA,CACR,CAEJ,EAEA,SAASC,EAAS,CAChB,UAAAC,EACA,KAAAC,EACA,GAAGC,CACL,EAA6E,CAC3E,OACEC,EAAAA,IAAC,WAAA,CACC,YAAU,WACV,YAAWF,GAAQ,UACnB,UAAWG,EAAAA,GAAGP,EAAiB,CAAE,KAAAI,CAAA,CAAM,EAAGD,CAAS,EAClD,GAAGE,CAAA,CAAA,CAGV"}
@@ -1,19 +1,41 @@
1
- import { jsx as i } from "react/jsx-runtime";
2
- import { cn as a } from "../lib/utils.js";
3
- function o({ className: e, ...r }) {
4
- return /* @__PURE__ */ i(
1
+ import { jsx as r } from "react/jsx-runtime";
2
+ import { cva as d } from "class-variance-authority";
3
+ import { cn as i } from "../lib/utils.js";
4
+ const o = d(
5
+ "flex field-sizing-content w-full border border-input bg-card transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50",
6
+ {
7
+ variants: {
8
+ // Shared control scale (SW-2591): min-height + padding/radius/text step
9
+ // with the same rhythm as the single-line inputs.
10
+ size: {
11
+ xs: "min-h-12 rounded-md px-2 py-1 text-xs",
12
+ sm: "min-h-14 rounded-md px-2.5 py-1.5 text-[0.8rem]",
13
+ default: "min-h-16 rounded-lg px-2.5 py-2 text-base md:text-sm",
14
+ lg: "min-h-20 rounded-lg px-3 py-2.5 text-base md:text-sm"
15
+ }
16
+ },
17
+ defaultVariants: {
18
+ size: "default"
19
+ }
20
+ }
21
+ );
22
+ function u({
23
+ className: t,
24
+ size: e,
25
+ ...a
26
+ }) {
27
+ return /* @__PURE__ */ r(
5
28
  "textarea",
6
29
  {
7
30
  "data-slot": "textarea",
8
- className: a(
9
- "flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-card px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50",
10
- e
11
- ),
12
- ...r
31
+ "data-size": e ?? "default",
32
+ className: i(o({ size: e }), t),
33
+ ...a
13
34
  }
14
35
  );
15
36
  }
16
37
  export {
17
- o as Textarea
38
+ u as Textarea,
39
+ o as textareaVariants
18
40
  };
19
41
  //# sourceMappingURL=textarea.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"textarea.js","sources":["../../src/components/ui/textarea.tsx"],"sourcesContent":["import * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nfunction Textarea({ className, ...props }: React.ComponentProps<\"textarea\">) {\n return (\n <textarea\n data-slot=\"textarea\"\n className={cn(\n \"flex field-sizing-content min-h-16 w-full rounded-lg border border-input bg-card px-2.5 py-2 text-base transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus md:text-sm dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50\",\n className\n )}\n {...props}\n />\n )\n}\n\nexport { Textarea }\n"],"names":["Textarea","className","props","jsx","cn"],"mappings":";;AAIA,SAASA,EAAS,EAAE,WAAAC,GAAW,GAAGC,KAA2C;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,WAAWC;AAAA,QACT;AAAA,QACAH;AAAA,MAAA;AAAA,MAED,GAAGC;AAAA,IAAA;AAAA,EAAA;AAGV;"}
1
+ {"version":3,"file":"textarea.js","sources":["../../src/components/ui/textarea.tsx"],"sourcesContent":["import { cva, type VariantProps } from \"class-variance-authority\"\nimport * as React from \"react\"\n\nimport { cn } from \"@/lib/utils\"\n\nconst textareaVariants = cva(\n \"flex field-sizing-content w-full border border-input bg-card transition-colors outline-none placeholder:text-muted-foreground focus-visible:border-ring focus-visible:shadow-focus disabled:cursor-not-allowed disabled:bg-input/50 disabled:opacity-50 aria-invalid:border-destructive aria-invalid:shadow-focus dark:bg-input/30 dark:disabled:bg-input/80 dark:aria-invalid:border-destructive/50\",\n {\n variants: {\n // Shared control scale (SW-2591): min-height + padding/radius/text step\n // with the same rhythm as the single-line inputs.\n size: {\n xs: \"min-h-12 rounded-md px-2 py-1 text-xs\",\n sm: \"min-h-14 rounded-md px-2.5 py-1.5 text-[0.8rem]\",\n default: \"min-h-16 rounded-lg px-2.5 py-2 text-base md:text-sm\",\n lg: \"min-h-20 rounded-lg px-3 py-2.5 text-base md:text-sm\",\n },\n },\n defaultVariants: {\n size: \"default\",\n },\n }\n)\n\nfunction Textarea({\n className,\n size,\n ...props\n}: React.ComponentProps<\"textarea\"> & VariantProps<typeof textareaVariants>) {\n return (\n <textarea\n data-slot=\"textarea\"\n data-size={size ?? \"default\"}\n className={cn(textareaVariants({ size }), className)}\n {...props}\n />\n )\n}\n\nexport { Textarea, textareaVariants }\n"],"names":["textareaVariants","cva","Textarea","className","size","props","jsx","cn"],"mappings":";;;AAKA,MAAMA,IAAmBC;AAAA,EACvB;AAAA,EACA;AAAA,IACE,UAAU;AAAA;AAAA;AAAA,MAGR,MAAM;AAAA,QACJ,IAAI;AAAA,QACJ,IAAI;AAAA,QACJ,SAAS;AAAA,QACT,IAAI;AAAA,MAAA;AAAA,IACN;AAAA,IAEF,iBAAiB;AAAA,MACf,MAAM;AAAA,IAAA;AAAA,EACR;AAEJ;AAEA,SAASC,EAAS;AAAA,EAChB,WAAAC;AAAA,EACA,MAAAC;AAAA,EACA,GAAGC;AACL,GAA6E;AAC3E,SACE,gBAAAC;AAAA,IAAC;AAAA,IAAA;AAAA,MACC,aAAU;AAAA,MACV,aAAWF,KAAQ;AAAA,MACnB,WAAWG,EAAGP,EAAiB,EAAE,MAAAI,EAAA,CAAM,GAAGD,CAAS;AAAA,MAClD,GAAGE;AAAA,IAAA;AAAA,EAAA;AAGV;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tetrascience-npm/tetrascience-react-ui",
3
- "version": "1.0.0-beta.152.1",
3
+ "version": "1.0.0-beta.154.1",
4
4
  "description": "TetraScience React UI",
5
5
  "type": "module",
6
6
  "author": "TetraScience",