tembro 1.0.1 → 1.0.3

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 (48) hide show
  1. package/dist/components/calendar/calendar.cjs +1 -1
  2. package/dist/components/calendar/calendar.js +3 -3
  3. package/dist/components/calendar/date-picker.cjs +1 -1
  4. package/dist/components/calendar/date-picker.js +2 -2
  5. package/dist/components/calendar/date-range-picker.cjs +1 -1
  6. package/dist/components/calendar/date-range-picker.js +2 -4
  7. package/dist/components/data-table/data-table-toolbar.cjs +1 -1
  8. package/dist/components/data-table/data-table-toolbar.js +2 -2
  9. package/dist/components/data-table/data-table.cjs +1 -1
  10. package/dist/components/data-table/data-table.js +3 -3
  11. package/dist/components/display/carousel.cjs +1 -1
  12. package/dist/components/display/carousel.d.ts +3 -1
  13. package/dist/components/display/carousel.js +38 -27
  14. package/dist/components/inputs/async-select.cjs +1 -1
  15. package/dist/components/inputs/async-select.js +21 -21
  16. package/dist/components/inputs/combobox.cjs +1 -1
  17. package/dist/components/inputs/combobox.d.ts +5 -1
  18. package/dist/components/inputs/combobox.js +69 -59
  19. package/dist/components/inputs/simple-select.cjs +1 -1
  20. package/dist/components/inputs/simple-select.d.ts +1 -1
  21. package/dist/components/inputs/simple-select.js +5 -5
  22. package/dist/components/ui/button.cjs +1 -0
  23. package/dist/components/ui/button.d.ts +1 -0
  24. package/dist/components/ui/button.js +2 -0
  25. package/dist/components/ui/input.cjs +1 -0
  26. package/dist/components/ui/input.d.ts +1 -0
  27. package/dist/components/ui/input.js +3 -0
  28. package/dist/components/ui/select/index.cjs +1 -1
  29. package/dist/components/ui/select/index.d.ts +1 -1
  30. package/dist/components/ui/select/index.js +3 -3
  31. package/dist/showcase/tembro-registry.json.cjs +1 -1
  32. package/dist/showcase/tembro-registry.json.js +1 -1
  33. package/package.json +2 -1
  34. package/packages/cli/dist/index.cjs +2 -2
  35. package/packages/cli/vendor/src/components/calendar/calendar.tsx +3 -3
  36. package/packages/cli/vendor/src/components/calendar/date-picker.tsx +2 -2
  37. package/packages/cli/vendor/src/components/calendar/date-range-picker.tsx +4 -5
  38. package/packages/cli/vendor/src/components/data-table/data-table-toolbar.tsx +2 -2
  39. package/packages/cli/vendor/src/components/data-table/data-table.tsx +3 -3
  40. package/packages/cli/vendor/src/components/display/carousel.tsx +30 -12
  41. package/packages/cli/vendor/src/components/inputs/async-select.tsx +22 -22
  42. package/packages/cli/vendor/src/components/inputs/combobox.tsx +71 -41
  43. package/packages/cli/vendor/src/components/inputs/simple-select.tsx +6 -6
  44. package/packages/cli/vendor/src/components/ui/button.tsx +2 -0
  45. package/packages/cli/vendor/src/components/ui/input.tsx +2 -0
  46. package/packages/cli/vendor/src/components/ui/select/index.tsx +4 -4
  47. package/packages/cli/vendor/src/showcase/tembro-registry.json +1 -1
  48. package/registry.json +1 -1
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s(e,t,n){if(e instanceof Date)return r.startOfMonth(e);let i=r.parseDateKey(e);if(i)return r.startOfMonth(i);let a=r.parseDateKey(t);if(a)return r.startOfMonth(a);let o=r.parseDateKey(n?.from??n?.to);return o?r.startOfMonth(o):r.startOfMonth(new Date)}function c(e,t){let n=new Date(e);return n.setDate(e.getDate()+t),n}function l(e,t){let n=new Date(t.getFullYear(),t.getMonth()+1,0).getDate();return new Date(t.getFullYear(),t.getMonth(),Math.min(e.getDate(),n))}function u(e,t){let n=r.parseDateKey(e),i=r.parseDateKey(t);if(!n||!i||t<e)return[];let a=[],o=new Date(n);for(;r.toDateKey(o)<=t;)a.push(r.toDateKey(o)),o.setDate(o.getDate()+1);return a}function d({className:e,value:d,range:f,onValueChange:p,onRangeChange:m,mode:h=`single`,month:g,defaultMonth:_,onMonthChange:v,min:y,max:b,disabledDates:x,locale:S=`en-US`,weekStartsOn:C=1,numberOfMonths:w=1,showMonthHeaders:T,pagedNavigation:E=!1,labels:D,...O}){let[k,A]=i.useState(()=>s(_,d,f)),j=g??k,M=Math.max(w,1),N=T??M>1,P=E?M:1,F=r.toDateKey(new Date),I=i.useMemo(()=>new Set(x??[]),[x]),L=i.useMemo(()=>r.getWeekdayLabels(S,C),[S,C]),R=i.useRef(new Map),[z,B]=i.useState(()=>d??f?.from??F),V=i.useMemo(()=>Array.from({length:M},(e,t)=>r.addMonths(j,t)),[j,M]),H=i.useMemo(()=>V.map(e=>({month:e,days:r.getMonthDays(e,C)})),[V,C]),U=i.useMemo(()=>H.flatMap(e=>e.days),[H]),W=i.useCallback(e=>{if(I.has(e))return`disabled`;if(r.isBeforeDate(e,y))return`min`;if(r.isAfterDate(e,b))return`max`},[I,b,y]),G=i.useCallback(e=>!!W(e),[W]),K=i.useMemo(()=>U.map(r.toDateKey).filter(e=>!G(e)),[U,G]),q=i.useMemo(()=>{let e=d??f?.from??F;return K.includes(z)?z:K.includes(e)?e:K[0]},[z,f?.from,F,d,K]);i.useEffect(()=>{z&&R.current.get(z)?.focus()},[z]);let J=e=>{let t=r.startOfMonth(e);A(t),v?.(t)},Y=e=>{let t=e,n=r.toDateKey(t),i=0;for(;G(n)&&i<370;)t=c(t,t<e?-1:1),n=r.toDateKey(t),i+=1;B(n),V.some(e=>r.isSameMonth(t,e))||J(r.startOfMonth(t))},X=e=>{if(G(e))return;if(h===`single`){p?.(e);return}let t=f?.from??null,n=f?.to??null;if(!t||t&&n||e<t){m?.({from:e,to:null});return}if(u(t,e).some(e=>G(e))){m?.({from:e,to:null});return}m?.({from:t,to:e})},Z=(e,t)=>{let n=((H.find(e=>r.isSameMonth(t,e.month))?.days.findIndex(e=>r.toDateKey(e)===r.toDateKey(t))??0)+7)%7;switch(e.key){case`ArrowRight`:e.preventDefault(),Y(c(t,1));break;case`ArrowLeft`:e.preventDefault(),Y(c(t,-1));break;case`ArrowDown`:e.preventDefault(),Y(c(t,7));break;case`ArrowUp`:e.preventDefault(),Y(c(t,-7));break;case`Home`:e.preventDefault(),Y(c(t,-n));break;case`End`:e.preventDefault(),Y(c(t,6-n));break;case`PageUp`:e.preventDefault(),Y(l(t,r.addMonths(t,-1)));break;case`PageDown`:e.preventDefault(),Y(l(t,r.addMonths(t,1)));break}};return(0,o.jsxs)(`div`,{"data-slot":`calendar`,"data-months":M,className:t.cn(`w-fit rounded-[calc(var(--radius-2xl)+2px)] border border-border/70 bg-popover p-3 text-popover-foreground shadow-[0_18px_48px_rgba(15,23,42,0.18)] backdrop-blur`,e),...O,children:[(0,o.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,o.jsx)(n.Button,{type:`button`,variant:`outline`,size:`icon-sm`,className:`rounded-full border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground`,"aria-label":D?.previousMonth??`Previous month`,onClick:()=>J(r.addMonths(j,-P)),children:(0,o.jsx)(a.ChevronLeftIcon,{})}),(0,o.jsxs)(`div`,{className:`flex flex-1 flex-col items-center text-center`,children:[(0,o.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground/90`,children:`Calendar`}),(0,o.jsx)(`div`,{className:`text-base font-semibold capitalize tracking-tight text-foreground`,children:r.getMonthLabel(j,S)})]}),(0,o.jsx)(n.Button,{type:`button`,variant:`outline`,size:`icon-sm`,className:`rounded-full border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground`,"aria-label":D?.nextMonth??`Next month`,onClick:()=>J(r.addMonths(j,P)),children:(0,o.jsx)(a.ChevronRightIcon,{})})]}),(0,o.jsx)(`div`,{className:t.cn(`grid gap-3`,M>1&&`sm:grid-cols-2`),style:M>2?{gridTemplateColumns:`repeat(${M}, minmax(0, 1fr))`}:void 0,children:H.map(({month:e,days:n})=>(0,o.jsxs)(`div`,{className:`min-w-[16.5rem] rounded-[var(--radius-2xl)] bg-transparent p-1`,children:[N&&(0,o.jsx)(`div`,{className:`mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground`,children:r.getMonthLabel(e,S)}),(0,o.jsx)(`div`,{className:`grid grid-cols-7 gap-1 text-center text-[0.68rem] font-semibold uppercase tracking-[0.18em] text-muted-foreground/90`,children:L.map(t=>(0,o.jsx)(`div`,{className:`py-1`,children:t},`${r.toDateKey(e)}-${t}`))}),(0,o.jsx)(`div`,{className:`mt-1.5 grid grid-cols-7 gap-1`,children:n.map(n=>{let i=r.toDateKey(n),a=!r.isSameMonth(n,e),s=h===`single`?d===i:i===f?.from||i===f?.to,c=h===`range`&&r.isWithinRange(i,f?.from,f?.to),l=W(i),u=!!l,p=l?D?.disabledDate?.(i,l):void 0;return(0,o.jsx)(`button`,{ref:e=>{e?R.current.set(i,e):R.current.delete(i)},type:`button`,disabled:u,"aria-label":p??D?.selectDate?.(i)??i,"aria-current":i===F?`date`:void 0,tabIndex:i===q?0:-1,title:p,"data-selected":s||void 0,"data-today":i===F||void 0,"data-outside":a||void 0,"data-in-range":c||void 0,"data-disabled-reason":l,className:t.cn(`flex h-9 items-center justify-center rounded-[min(var(--radius-xl),14px)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30`,a&&`text-muted-foreground/34`,i===F&&`border-border/70 bg-muted/60 text-foreground`,c&&`bg-primary/10 text-foreground`,s&&`border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground`),onFocus:()=>B(i),onKeyDown:e=>Z(e,n),onClick:()=>X(i),children:n.getDate()},i)})})]},r.toDateKey(e)))})]})}exports.Calendar=d;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("./date-utils.cjs");let i=require("react");i=e.__toESM(i,1);let a=require("lucide-react"),o=require("react/jsx-runtime");function s(e,t,n){if(e instanceof Date)return r.startOfMonth(e);let i=r.parseDateKey(e);if(i)return r.startOfMonth(i);let a=r.parseDateKey(t);if(a)return r.startOfMonth(a);let o=r.parseDateKey(n?.from??n?.to);return o?r.startOfMonth(o):r.startOfMonth(new Date)}function c(e,t){let n=new Date(e);return n.setDate(e.getDate()+t),n}function l(e,t){let n=new Date(t.getFullYear(),t.getMonth()+1,0).getDate();return new Date(t.getFullYear(),t.getMonth(),Math.min(e.getDate(),n))}function u(e,t){let n=r.parseDateKey(e),i=r.parseDateKey(t);if(!n||!i||t<e)return[];let a=[],o=new Date(n);for(;r.toDateKey(o)<=t;)a.push(r.toDateKey(o)),o.setDate(o.getDate()+1);return a}function d({className:e,value:d,range:f,onValueChange:p,onRangeChange:m,mode:h=`single`,month:g,defaultMonth:_,onMonthChange:v,min:y,max:b,disabledDates:x,locale:S=`en-US`,weekStartsOn:C=1,numberOfMonths:w=1,showMonthHeaders:T,pagedNavigation:E=!1,labels:D,...O}){let[k,A]=i.useState(()=>s(_,d,f)),j=g??k,M=Math.max(w,1),N=T??M>1,P=E?M:1,F=r.toDateKey(new Date),I=i.useMemo(()=>new Set(x??[]),[x]),L=i.useMemo(()=>r.getWeekdayLabels(S,C),[S,C]),R=i.useRef(new Map),[z,B]=i.useState(()=>d??f?.from??F),V=i.useMemo(()=>Array.from({length:M},(e,t)=>r.addMonths(j,t)),[j,M]),H=i.useMemo(()=>V.map(e=>({month:e,days:r.getMonthDays(e,C)})),[V,C]),U=i.useMemo(()=>H.flatMap(e=>e.days),[H]),W=i.useCallback(e=>{if(I.has(e))return`disabled`;if(r.isBeforeDate(e,y))return`min`;if(r.isAfterDate(e,b))return`max`},[I,b,y]),G=i.useCallback(e=>!!W(e),[W]),K=i.useMemo(()=>U.map(r.toDateKey).filter(e=>!G(e)),[U,G]),q=i.useMemo(()=>{let e=d??f?.from??F;return K.includes(z)?z:K.includes(e)?e:K[0]},[z,f?.from,F,d,K]);i.useEffect(()=>{z&&R.current.get(z)?.focus()},[z]);let J=e=>{let t=r.startOfMonth(e);A(t),v?.(t)},Y=e=>{let t=e,n=r.toDateKey(t),i=0;for(;G(n)&&i<370;)t=c(t,t<e?-1:1),n=r.toDateKey(t),i+=1;B(n),V.some(e=>r.isSameMonth(t,e))||J(r.startOfMonth(t))},X=e=>{if(G(e))return;if(h===`single`){p?.(e);return}let t=f?.from??null,n=f?.to??null;if(!t||t&&n||e<t){m?.({from:e,to:null});return}if(u(t,e).some(e=>G(e))){m?.({from:e,to:null});return}m?.({from:t,to:e})},Z=(e,t)=>{let n=((H.find(e=>r.isSameMonth(t,e.month))?.days.findIndex(e=>r.toDateKey(e)===r.toDateKey(t))??0)+7)%7;switch(e.key){case`ArrowRight`:e.preventDefault(),Y(c(t,1));break;case`ArrowLeft`:e.preventDefault(),Y(c(t,-1));break;case`ArrowDown`:e.preventDefault(),Y(c(t,7));break;case`ArrowUp`:e.preventDefault(),Y(c(t,-7));break;case`Home`:e.preventDefault(),Y(c(t,-n));break;case`End`:e.preventDefault(),Y(c(t,6-n));break;case`PageUp`:e.preventDefault(),Y(l(t,r.addMonths(t,-1)));break;case`PageDown`:e.preventDefault(),Y(l(t,r.addMonths(t,1)));break}};return(0,o.jsxs)(`div`,{"data-slot":`calendar`,"data-months":M,className:t.cn(`w-fit rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,e),...O,children:[(0,o.jsxs)(`div`,{className:`mb-3 flex items-center justify-between gap-3`,children:[(0,o.jsx)(n.Button,{type:`button`,variant:`outline`,size:`icon-sm`,className:`rounded-full border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground`,"aria-label":D?.previousMonth??`Previous month`,onClick:()=>J(r.addMonths(j,-P)),children:(0,o.jsx)(a.ChevronLeftIcon,{})}),(0,o.jsxs)(`div`,{className:`flex flex-1 flex-col items-center text-center`,children:[(0,o.jsx)(`span`,{className:`text-[10px] font-semibold uppercase tracking-[0.24em] text-muted-foreground/90`,children:`Calendar`}),(0,o.jsx)(`div`,{className:`text-base font-semibold capitalize tracking-tight text-foreground`,children:r.getMonthLabel(j,S)})]}),(0,o.jsx)(n.Button,{type:`button`,variant:`outline`,size:`icon-sm`,className:`rounded-full border-border/70 bg-background text-foreground shadow-none hover:border-border hover:bg-accent hover:text-accent-foreground`,"aria-label":D?.nextMonth??`Next month`,onClick:()=>J(r.addMonths(j,P)),children:(0,o.jsx)(a.ChevronRightIcon,{})})]}),(0,o.jsx)(`div`,{className:t.cn(`grid gap-3`,M>1&&`sm:grid-cols-2`),style:M>2?{gridTemplateColumns:`repeat(${M}, minmax(0, 1fr))`}:void 0,children:H.map(({month:e,days:n})=>(0,o.jsxs)(`div`,{className:`min-w-[16.5rem] rounded-[var(--radius-lg)] bg-transparent p-1`,children:[N&&(0,o.jsx)(`div`,{className:`mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground`,children:r.getMonthLabel(e,S)}),(0,o.jsx)(`div`,{className:`grid grid-cols-7 gap-1 text-center text-[0.68rem] font-semibold uppercase tracking-[0.18em] text-muted-foreground/90`,children:L.map(t=>(0,o.jsx)(`div`,{className:`py-1`,children:t},`${r.toDateKey(e)}-${t}`))}),(0,o.jsx)(`div`,{className:`mt-1.5 grid grid-cols-7 gap-1`,children:n.map(n=>{let i=r.toDateKey(n),a=!r.isSameMonth(n,e),s=h===`single`?d===i:i===f?.from||i===f?.to,c=h===`range`&&r.isWithinRange(i,f?.from,f?.to),l=W(i),u=!!l,p=l?D?.disabledDate?.(i,l):void 0;return(0,o.jsx)(`button`,{ref:e=>{e?R.current.set(i,e):R.current.delete(i)},type:`button`,disabled:u,"aria-label":p??D?.selectDate?.(i)??i,"aria-current":i===F?`date`:void 0,tabIndex:i===q?0:-1,title:p,"data-selected":s||void 0,"data-today":i===F||void 0,"data-outside":a||void 0,"data-in-range":c||void 0,"data-disabled-reason":l,className:t.cn(`flex h-9 items-center justify-center rounded-[var(--radius-md)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30`,a&&`text-muted-foreground/34`,i===F&&`border-border/70 bg-muted/60 text-foreground`,c&&`bg-primary/10 text-foreground`,s&&`border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground`),onFocus:()=>B(i),onKeyDown:e=>Z(e,n),onClick:()=>X(i),children:n.getDate()},i)})})]},r.toDateKey(e)))})]})}exports.Calendar=d;
@@ -112,7 +112,7 @@ function x({ className: l, value: x, range: S, onValueChange: C, onRangeChange:
112
112
  return /* @__PURE__ */ g("div", {
113
113
  "data-slot": "calendar",
114
114
  "data-months": L,
115
- className: e("w-fit rounded-[calc(var(--radius-2xl)+2px)] border border-border/70 bg-popover p-3 text-popover-foreground shadow-[0_18px_48px_rgba(15,23,42,0.18)] backdrop-blur", l),
115
+ className: e("w-fit rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 text-popover-foreground shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur", l),
116
116
  ...F,
117
117
  children: [/* @__PURE__ */ g("div", {
118
118
  className: "mb-3 flex items-center justify-between gap-3",
@@ -150,7 +150,7 @@ function x({ className: l, value: x, range: S, onValueChange: C, onRangeChange:
150
150
  className: e("grid gap-3", L > 1 && "sm:grid-cols-2"),
151
151
  style: L > 2 ? { gridTemplateColumns: `repeat(${L}, minmax(0, 1fr))` } : void 0,
152
152
  children: q.map(({ month: t, days: n }) => /* @__PURE__ */ g("div", {
153
- className: "min-w-[16.5rem] rounded-[var(--radius-2xl)] bg-transparent p-1",
153
+ className: "min-w-[16.5rem] rounded-[var(--radius-lg)] bg-transparent p-1",
154
154
  children: [
155
155
  R && /* @__PURE__ */ h("div", {
156
156
  className: "mb-2 text-center text-sm font-semibold capitalize tracking-tight text-foreground",
@@ -182,7 +182,7 @@ function x({ className: l, value: x, range: S, onValueChange: C, onRangeChange:
182
182
  "data-outside": i || void 0,
183
183
  "data-in-range": o || void 0,
184
184
  "data-disabled-reason": s,
185
- className: e("flex h-9 items-center justify-center rounded-[min(var(--radius-xl),14px)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30", i && "text-muted-foreground/34", r === B && "border-border/70 bg-muted/60 text-foreground", o && "bg-primary/10 text-foreground", a && "border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground"),
185
+ className: e("flex h-9 items-center justify-center rounded-[var(--radius-md)] border border-transparent text-sm font-medium outline-none transition-[background-color,color,border-color,box-shadow,transform] hover:bg-accent hover:text-accent-foreground focus-visible:ring-2 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-30", i && "text-muted-foreground/34", r === B && "border-border/70 bg-muted/60 text-foreground", o && "bg-primary/10 text-foreground", a && "border-primary bg-primary text-primary-foreground shadow-[0_10px_22px_color-mix(in_oklch,var(--primary),transparent_78%)] hover:bg-primary hover:text-primary-foreground"),
186
186
  onFocus: () => G(r),
187
187
  onKeyDown: (e) => ce(e, n),
188
188
  onClick: () => se(r),
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:i,placeholder:u,labels:d,disabled:f=!1,formatValue:p=l,triggerClassName:m,contentClassName:h,className:g,..._}){let[v,y]=o.useState(!1),b=!!e;return(0,c.jsx)(`div`,{"data-slot":`date-picker`,className:t.cn(`w-full`,g),children:(0,c.jsxs)(r.Popover,{open:v,onOpenChange:y,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,className:t.cn(`min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]`,!b&&`text-muted-foreground`,m)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:b?p(String(e)):u??d?.placeholder??`Select date`})]}),(0,c.jsx)(r.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur`,h),children:(0,c.jsx)(a.Calendar,{value:e,onValueChange:e=>{i?.(e),y(!1)},labels:d,..._})})]})})}exports.DatePicker=u;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({value:e,onValueChange:i,placeholder:u,labels:d,disabled:f=!1,formatValue:p=l,triggerClassName:m,contentClassName:h,className:g,..._}){let[v,y]=o.useState(!1),b=!!e;return(0,c.jsx)(`div`,{"data-slot":`date-picker`,className:t.cn(`w-full`,g),children:(0,c.jsxs)(r.Popover,{open:v,onOpenChange:y,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:f,className:t.cn(`min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,!b&&`text-muted-foreground`,m)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:b?p(String(e)):u??d?.placeholder??`Select date`})]}),(0,c.jsx)(r.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,h),children:(0,c.jsx)(a.Calendar,{value:e,onValueChange:e=>{i?.(e),y(!1)},labels:d,..._})})]})})}exports.DatePicker=u;
@@ -24,7 +24,7 @@ function f({ value: a, onValueChange: f, placeholder: p, labels: m, disabled: h
24
24
  type: "button",
25
25
  variant: "outline",
26
26
  disabled: h,
27
- className: e("min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]", !C && "text-muted-foreground", _)
27
+ className: e("min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]", !C && "text-muted-foreground", _)
28
28
  }),
29
29
  children: [/* @__PURE__ */ l(c, { "data-icon": "inline-start" }), /* @__PURE__ */ l("span", {
30
30
  className: "min-w-0 flex-1 truncate",
@@ -32,7 +32,7 @@ function f({ value: a, onValueChange: f, placeholder: p, labels: m, disabled: h
32
32
  })]
33
33
  }), /* @__PURE__ */ l(r, {
34
34
  align: "start",
35
- className: e("w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur", v),
35
+ className: e("w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur", v),
36
36
  children: /* @__PURE__ */ l(o, {
37
37
  value: a,
38
38
  onValueChange: (e) => {
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({className:e,value:i,onValueChange:u,labels:d,placeholder:f,disabled:p=!1,formatValue:m=l,closeOnSelect:h=!0,showFooter:g=!1,triggerClassName:_,contentClassName:v,numberOfMonths:y=2,pagedNavigation:b=!0,...x}){let[S,C]=o.useState(!1),[w,T]=o.useState(i??{}),E=i?.from??``,D=i?.to??``,O=!!(E||D),k=g?w:i,A=k?.from??``,j=k?.to??``,M=!!(A||j),N=E&&D?`${m(E)} - ${m(D)}`:E?`${m(E)} - ...`:f??d?.placeholder??`Select date range`,P=A&&j?`${m(A)} - ${m(j)}`:A?`${m(A)} - ...`:d?.placeholder??`Select date range`;o.useEffect(()=>{S&&g&&T(i??{})},[S,g,i]);let F=e=>{if(g){T(e);return}u?.(e),h&&e.from&&e.to&&C(!1)},I=()=>{u?.(w),C(!1)},L=()=>{let e={};if(g){T(e);return}u?.(e)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(r.Popover,{open:S,onOpenChange:C,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:p,className:t.cn(`min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]`,!O&&`text-muted-foreground`,_)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:N})]}),(0,c.jsxs)(r.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur`,v),children:[(0,c.jsx)(a.Calendar,{mode:`range`,range:k,onRangeChange:F,labels:d,numberOfMonths:y,pagedNavigation:b,...x}),g&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:P})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,className:`rounded-full`,onClick:L,children:d?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,className:`rounded-full`,disabled:!M,onClick:I,children:d?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=u;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/popover/index.cjs"),i=require("./date-utils.cjs"),a=require("./calendar.cjs");let o=require("react");o=e.__toESM(o,1);let s=require("lucide-react"),c=require("react/jsx-runtime");function l(e){let t=i.parseDateKey(e);return t?new Intl.DateTimeFormat(`en-US`,{dateStyle:`medium`}).format(t):e}function u({className:e,value:i,onValueChange:u,labels:d,placeholder:f,disabled:p=!1,formatValue:m=l,closeOnSelect:h=!0,showFooter:g=!1,triggerClassName:_,contentClassName:v,numberOfMonths:y=2,pagedNavigation:b=!0,...x}){let[S,C]=o.useState(!1),[w,T]=o.useState(i??{}),E=i?.from??``,D=i?.to??``,O=!!(E||D),k=g?w:i,A=k?.from??``,j=k?.to??``,M=!!(A||j),N=E&&D?`${m(E)} - ${m(D)}`:E?`${m(E)} - ...`:f??d?.placeholder??`Select date range`,P=A&&j?`${m(A)} - ${m(j)}`:A?`${m(A)} - ...`:d?.placeholder??`Select date range`;o.useEffect(()=>{S&&g&&T(i??{})},[S,g,i]);let F=e=>{if(g){T(e);return}u?.(e),h&&e.from&&e.to&&C(!1)},I=()=>{u?.(w),C(!1)},L=()=>{let e={};if(g){T(e);return}u?.(e)};return(0,c.jsx)(`div`,{"data-slot":`date-range-picker`,className:t.cn(`w-full`,e),children:(0,c.jsxs)(r.Popover,{open:S,onOpenChange:C,children:[(0,c.jsxs)(r.PopoverTrigger,{render:(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:p,className:t.cn(`min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]`,!O&&`text-muted-foreground`,_)}),children:[(0,c.jsx)(s.CalendarIcon,{"data-icon":`inline-start`}),(0,c.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:N})]}),(0,c.jsxs)(r.PopoverContent,{align:`start`,className:t.cn(`w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur`,v),children:[(0,c.jsx)(a.Calendar,{mode:`range`,range:k,onRangeChange:F,labels:d,numberOfMonths:y,pagedNavigation:b,...x}),g&&(0,c.jsxs)(`div`,{className:`flex flex-wrap items-center justify-between gap-3 border-t border-border/70 bg-muted/24 px-4 py-3`,children:[(0,c.jsx)(`div`,{className:`min-w-0 text-sm text-muted-foreground`,children:(0,c.jsx)(`span`,{className:`block truncate`,children:P})}),(0,c.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,c.jsx)(n.Button,{type:`button`,variant:`ghost`,size:`sm`,onClick:L,children:d?.clear??`Clear`}),(0,c.jsx)(n.Button,{type:`button`,size:`sm`,disabled:!M,onClick:I,children:d?.apply??`Apply`})]})]})]})]})})}exports.DateRangePicker=u;
@@ -47,7 +47,7 @@ function f({ className: a, value: f, onValueChange: p, labels: m, placeholder: h
47
47
  type: "button",
48
48
  variant: "outline",
49
49
  disabled: g,
50
- className: e("min-h-11 w-full justify-start rounded-[min(var(--radius-xl),16px)] border-border/80 bg-background/96 text-left font-normal shadow-[0_1px_0_rgba(255,255,255,0.06)]", !j && "text-muted-foreground", b)
50
+ className: e("min-h-11 w-full justify-start rounded-[var(--aui-control-radius,var(--radius-md))] border-border/80 bg-background/96 text-left font-normal shadow-[var(--aui-control-shadow,0_1px_2px_rgba(15,23,42,0.04))]", !j && "text-muted-foreground", b)
51
51
  }),
52
52
  children: [/* @__PURE__ */ l(c, { "data-icon": "inline-start" }), /* @__PURE__ */ l("span", {
53
53
  className: "min-w-0 flex-1 truncate",
@@ -55,7 +55,7 @@ function f({ className: a, value: f, onValueChange: p, labels: m, placeholder: h
55
55
  })]
56
56
  }), /* @__PURE__ */ u(r, {
57
57
  align: "start",
58
- className: e("w-auto overflow-hidden rounded-[calc(var(--radius-2xl)+2px)] border-border/70 bg-popover p-0 shadow-[0_22px_56px_rgba(15,23,42,0.2)] backdrop-blur", x),
58
+ className: e("w-auto overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border-border/70 bg-popover p-0 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))] backdrop-blur", x),
59
59
  children: [/* @__PURE__ */ l(o, {
60
60
  mode: "range",
61
61
  range: M,
@@ -78,13 +78,11 @@ function f({ className: a, value: f, onValueChange: p, labels: m, placeholder: h
78
78
  type: "button",
79
79
  variant: "ghost",
80
80
  size: "sm",
81
- className: "rounded-full",
82
81
  onClick: B,
83
82
  children: m?.clear ?? "Clear"
84
83
  }), /* @__PURE__ */ l(t, {
85
84
  type: "button",
86
85
  size: "sm",
87
- className: "rounded-full",
88
86
  disabled: !F,
89
87
  onClick: z,
90
88
  children: m?.apply ?? "Apply"
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`flex flex-col`,{variants:{variant:{default:``,plain:`border-transparent bg-transparent shadow-none`,soft:`rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]`},density:{compact:`gap-3 p-3`,default:`gap-4 p-4 md:p-5`,comfortable:`gap-5 p-5 md:p-6`}},defaultVariants:{variant:`plain`,density:`default`}});function o({className:e,variant:n,density:r,title:o,description:s,search:c,filters:l,actions:u,selectionActions:d,selectedCount:f=0,totalCount:p,selectedLabel:m=(e,t)=>t===void 0?`${e} selected`:`${e} of ${t} selected`,titleClassName:h,descriptionClassName:g,actionsClassName:_,children:v,...y}){let b=!!(o||s),x=f>0&&!!d;return(0,i.jsxs)(`div`,{"data-slot":`data-table-toolbar`,"data-variant":n??`plain`,"data-density":r??`default`,className:t.cn(a({variant:n,density:r}),e),...y,children:[(b||u)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[b&&(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[o&&(0,i.jsx)(`h2`,{className:t.cn(`text-lg font-semibold tracking-tight text-foreground`,h),children:o}),s&&(0,i.jsx)(`p`,{className:t.cn(`text-sm leading-6 text-muted-foreground`,g),children:s})]}),u&&(0,i.jsx)(`div`,{className:t.cn(`flex shrink-0 flex-wrap items-center gap-2`,_),children:u})]}),(c||l||x||v)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center`,children:[c,l,v]}),x&&(0,i.jsxs)(`div`,{"data-slot":`data-table-selection-bar`,className:`flex shrink-0 items-center gap-2 rounded-full border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:m(f,p)}),d]})]})]})}exports.DataTableToolbar=o,exports.dataTableToolbarVariants=a;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs");let n=require("react");n=e.__toESM(n,1);let r=require("class-variance-authority"),i=require("react/jsx-runtime");var a=(0,r.cva)(`flex flex-col`,{variants:{variant:{default:``,plain:`border-transparent bg-transparent shadow-none`,soft:`rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]`},density:{compact:`gap-3 p-3`,default:`gap-4 p-4 md:p-5`,comfortable:`gap-5 p-5 md:p-6`}},defaultVariants:{variant:`plain`,density:`default`}});function o({className:e,variant:n,density:r,title:o,description:s,search:c,filters:l,actions:u,selectionActions:d,selectedCount:f=0,totalCount:p,selectedLabel:m=(e,t)=>t===void 0?`${e} selected`:`${e} of ${t} selected`,titleClassName:h,descriptionClassName:g,actionsClassName:_,children:v,...y}){let b=!!(o||s),x=f>0&&!!d;return(0,i.jsxs)(`div`,{"data-slot":`data-table-toolbar`,"data-variant":n??`plain`,"data-density":r??`default`,className:t.cn(a({variant:n,density:r}),e),...y,children:[(b||u)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-3 sm:flex-row sm:items-start sm:justify-between`,children:[b&&(0,i.jsxs)(`div`,{className:`grid gap-1`,children:[o&&(0,i.jsx)(`h2`,{className:t.cn(`text-lg font-semibold tracking-tight text-foreground`,h),children:o}),s&&(0,i.jsx)(`p`,{className:t.cn(`text-sm leading-6 text-muted-foreground`,g),children:s})]}),u&&(0,i.jsx)(`div`,{className:t.cn(`flex shrink-0 flex-wrap items-center gap-2`,_),children:u})]}),(c||l||x||v)&&(0,i.jsxs)(`div`,{className:`flex flex-col gap-2 lg:flex-row lg:items-center lg:justify-between`,children:[(0,i.jsxs)(`div`,{className:`flex min-w-0 flex-1 flex-col gap-2 sm:flex-row sm:items-center`,children:[c,l,v]}),x&&(0,i.jsxs)(`div`,{"data-slot":`data-table-selection-bar`,className:`flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur`,children:[(0,i.jsx)(`span`,{className:`text-muted-foreground`,children:m(f,p)}),d]})]})]})}exports.DataTableToolbar=o,exports.dataTableToolbarVariants=a;
@@ -8,7 +8,7 @@ var i = t("flex flex-col", {
8
8
  variant: {
9
9
  default: "",
10
10
  plain: "border-transparent bg-transparent shadow-none",
11
- soft: "rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]"
11
+ soft: "rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--card),var(--background)_16%)] shadow-[var(--aui-card-shadow,var(--aui-control-shadow,none))]"
12
12
  },
13
13
  density: {
14
14
  compact: "gap-3 p-3",
@@ -58,7 +58,7 @@ function a({ className: t, variant: a, density: o, title: s, description: c, sea
58
58
  ]
59
59
  }), S && /* @__PURE__ */ r("div", {
60
60
  "data-slot": "data-table-selection-bar",
61
- className: "flex shrink-0 items-center gap-2 rounded-full border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur",
61
+ className: "flex shrink-0 items-center gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-control-border-strong,var(--border))] bg-[color:var(--aui-control-surface,var(--background))] px-2.5 py-1.5 text-sm shadow-[var(--aui-control-shadow,none)] backdrop-blur",
62
62
  children: [/* @__PURE__ */ n("span", {
63
63
  className: "text-muted-foreground",
64
64
  children: h(p, m)
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../inputs/search-input.cjs"),i=require("../ui/table/index.cjs"),a=require("../feedback/empty-state.cjs"),o=require("../feedback/loading-state.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var ae={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},u={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function oe(e,t){return typeof t==`function`?t(e):t}function se(e,t){return typeof t==`function`?t(e):t}function ce(e,t){return typeof t==`function`?t(e):t}function le(e){return e==null||e===``}function d({className:e,columns:d,data:f,title:p,description:m,features:h,search:g,toolbarActions:_,rowActions:v,bulkActions:y,onRefresh:b,onExport:x,refreshLabel:ue=`Refresh`,exportLabel:de=`Export`,getRowId:fe,isLoading:S=!1,isError:pe=!1,emptyState:me,errorState:he,loadingState:C,loadingVariant:ge=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:_e,onSortingChange:ve,columnVisibility:ye,onColumnVisibilityChange:be,rowSelection:xe,onRowSelectionChange:Se,enableRowSelection:Ce,renderMobileCard:D,onRowClick:O,onRowDoubleClick:we,getRowDisabled:k,density:A=`default`,striped:j=!1,bordered:M=!1,stickyHeader:N=!1,skeletonRows:Te=6,skeletonCellClassName:Ee,cellFallback:De=`-`,tableClassName:Oe,tableWrapperClassName:ke,headerCellClassName:Ae,cellClassName:je,rowClassName:Me,renderExpandedRow:P,expanded:Ne,onExpandedChange:F,getRowCanExpand:Pe,columnPinning:I,onColumnPinningChange:Fe,...Ie}){let Le=s.useMemo(()=>{let e=d;return!v||h?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:v})]},[d,h?.rowActions,v]),L=E===!1?void 0:E,Re=L?{pageIndex:L.pageIndex,pageSize:L.pageSize}:void 0,R=!!(L&&L.manual!==!1),z=xe??{},ze=Object.keys(z).length,B=(0,l.useReactTable)({data:f,columns:Le,getRowId:fe,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:L&&!R?(0,l.getPaginationRowModel)():void 0,manualPagination:R,pageCount:L?.pageCount,state:{sorting:_e,columnVisibility:ye,rowSelection:z,pagination:Re,expanded:Ne,...I?{columnPinning:I}:{}},onSortingChange:ve,onColumnVisibilityChange:be,onRowSelectionChange:Se,onExpandedChange:F,onColumnPinningChange:Fe,enableRowSelection:Ce,getRowCanExpand:Pe,getExpandedRowModel:(0,l.getExpandedRowModel)()}),V=B.getRowModel().rows,H=B.getSelectedRowModel().rows.map(e=>e.original),U=s.useMemo(()=>({table:B,data:f,selectedRows:H}),[f,H,B]),W=B.getVisibleLeafColumns(),Be=Math.max(W.length,1),G=typeof w==`function`?w(B):w,K=typeof T==`function`?T(B):T,Ve=!!(g&&h?.search!==!1),q=!!(h?.columnVisibility&&B.getAllLeafColumns().some(e=>e.getCanHide())),J=!!(h?.refresh&&b),Y=!!(h?.export&&x),He=!!(h?.bulkActions!==!1&&y?.length),X=Ve&&g?(0,c.jsx)(r.SearchInput,{value:g.value,onValueChange:g.onValueChange,placeholder:g.placeholder??`Search...`,wrapperClassName:g.wrapperClassName??g.className,inputClassName:g.inputClassName,disabled:g.disabled,clearable:g.clearable,clearLabel:g.clearLabel,searchIcon:g.searchIcon}):void 0,Ue=(0,c.jsxs)(c.Fragment,{children:[typeof _==`function`?_(U):_,q&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:B}),J&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>b?.(U),children:ue}),Y&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>x?.(U),children:de})]}),Z=He?(0,c.jsx)(te.DataTableBulkActions,{rows:H,actions:y??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>B.resetRowSelection(),hideWhenEmpty:!1}):void 0,We=!!(G||K||p||m||X||_||q||J||Y||Z),Ge=!!(L&&!L.hidden),Q=S&&ge===`skeleton`,Ke=e=>(0,c.jsx)(i.TableRow,{children:(0,c.jsx)(i.TableCell,{colSpan:Be,className:`p-0`,children:e})}),qe=()=>Array.from({length:Math.max(Te,1)},(e,n)=>(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,children:W.map(e=>(0,c.jsx)(i.TableCell,{className:t.cn(u[A],M&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ee)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:S?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):pe?(0,c.jsx)(a.EmptyState,{title:`Could not load data`,description:`Please try again.`,...he}):V.length===0?(0,c.jsx)(a.EmptyState,{...me}):null;return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...Ie,children:[We&&(G??(0,c.jsx)(ie.DataTableToolbar,{title:p,description:m,search:X,actions:Ue,selectionActions:Z,selectedCount:ze,totalCount:L?L.rowCount??f.length:f.length,variant:`plain`,...K})),D&&(0,c.jsx)(`div`,{className:`grid gap-3 md:hidden`,children:$??(Q?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):V.map(e=>(0,c.jsx)(s.Fragment,{children:D(e)},e.id)))}),(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":A,"data-striped":j||void 0,"data-bordered":M||void 0,className:t.cn(`overflow-hidden rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_30px_rgba(15,23,42,0.08))] backdrop-blur`,D&&`hidden md:block`,ke),children:[(0,c.jsxs)(i.Table,{containerClassName:`rounded-none border-0 bg-transparent shadow-none ring-0`,className:t.cn(`text-[0.95rem]`,Oe),children:[(0,c.jsx)(i.TableHeader,{className:t.cn(N&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:B.getHeaderGroups().map(e=>(0,c.jsx)(i.TableRow,{children:e.headers.map(e=>(0,c.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:N?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:N?20:11}:{}},className:t.cn(ae[A],`bg-transparent text-muted-foreground`,N&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,se(e,Ae)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(i.TableBody,{children:$?Ke($):Q?qe():V.map((e,n)=>{let r=k?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.TableRow,{"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":j&&n%2==1?`true`:void 0,"data-disabled":r||void 0,className:t.cn(O&&!r&&`cursor-pointer`,!r&&`transition-colors hover:bg-[color:var(--aui-page-bg-alt)]`,r&&`pointer-events-none opacity-55`,oe(e,Me)),onClick:()=>{r||O?.(e)},onDoubleClick:()=>{r||we?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(u[A],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,ce(e,je)),children:le(n)?De:n},e.id)})}),e.getIsExpanded()&&P&&(0,c.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:P(e)})})]},e.id)})})]}),Ge&&L&&(0,c.jsx)(re.DataTablePagination,{pageIndex:L.pageIndex,pageSize:L.pageSize,pageCount:L.pageCount,rowCount:L.rowCount,pageSizeOptions:L.pageSizeOptions,showPageSize:L.showPageSize,labels:L.labels,disabled:S,onPageChange:L.onPageChange,onPageSizeChange:L.onPageSizeChange})]})]})}exports.DataTable=d;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../inputs/search-input.cjs"),i=require("../ui/table/index.cjs"),a=require("../feedback/empty-state.cjs"),o=require("../feedback/loading-state.cjs"),ee=require("./data-table-actions-column.cjs"),te=require("./data-table-bulk-actions.cjs"),ne=require("./data-table-column-visibility-menu.cjs"),re=require("./data-table-pagination.cjs"),ie=require("./data-table-toolbar.cjs");let s=require("react");s=e.__toESM(s,1);let c=require("react/jsx-runtime"),l=require("@tanstack/react-table");var ae={compact:`h-8 px-2 py-1.5`,default:`h-10 px-2 py-2`,comfortable:`h-12 px-3 py-3`},u={compact:`px-2 py-1.5`,default:`p-2`,comfortable:`px-3 py-3`};function oe(e,t){return typeof t==`function`?t(e):t}function se(e,t){return typeof t==`function`?t(e):t}function ce(e,t){return typeof t==`function`?t(e):t}function le(e){return e==null||e===``}function d({className:e,columns:d,data:f,title:p,description:m,features:h,search:g,toolbarActions:_,rowActions:v,bulkActions:y,onRefresh:b,onExport:x,refreshLabel:ue=`Refresh`,exportLabel:de=`Export`,getRowId:fe,isLoading:S=!1,isError:pe=!1,emptyState:me,errorState:he,loadingState:C,loadingVariant:ge=`skeleton`,toolbar:w,toolbarProps:T,pagination:E,sorting:_e,onSortingChange:ve,columnVisibility:ye,onColumnVisibilityChange:be,rowSelection:xe,onRowSelectionChange:Se,enableRowSelection:Ce,renderMobileCard:D,onRowClick:O,onRowDoubleClick:we,getRowDisabled:k,density:A=`default`,striped:j=!1,bordered:M=!1,stickyHeader:N=!1,skeletonRows:Te=6,skeletonCellClassName:Ee,cellFallback:De=`-`,tableClassName:Oe,tableWrapperClassName:ke,headerCellClassName:Ae,cellClassName:je,rowClassName:Me,renderExpandedRow:P,expanded:Ne,onExpandedChange:F,getRowCanExpand:Pe,columnPinning:I,onColumnPinningChange:Fe,...Ie}){let Le=s.useMemo(()=>{let e=d;return!v||h?.rowActions===!1?e:[...e,ee.createDataTableActionsColumn({getActions:v})]},[d,h?.rowActions,v]),L=E===!1?void 0:E,Re=L?{pageIndex:L.pageIndex,pageSize:L.pageSize}:void 0,R=!!(L&&L.manual!==!1),z=xe??{},ze=Object.keys(z).length,B=(0,l.useReactTable)({data:f,columns:Le,getRowId:fe,getCoreRowModel:(0,l.getCoreRowModel)(),getPaginationRowModel:L&&!R?(0,l.getPaginationRowModel)():void 0,manualPagination:R,pageCount:L?.pageCount,state:{sorting:_e,columnVisibility:ye,rowSelection:z,pagination:Re,expanded:Ne,...I?{columnPinning:I}:{}},onSortingChange:ve,onColumnVisibilityChange:be,onRowSelectionChange:Se,onExpandedChange:F,onColumnPinningChange:Fe,enableRowSelection:Ce,getRowCanExpand:Pe,getExpandedRowModel:(0,l.getExpandedRowModel)()}),V=B.getRowModel().rows,H=B.getSelectedRowModel().rows.map(e=>e.original),U=s.useMemo(()=>({table:B,data:f,selectedRows:H}),[f,H,B]),W=B.getVisibleLeafColumns(),Be=Math.max(W.length,1),G=typeof w==`function`?w(B):w,K=typeof T==`function`?T(B):T,Ve=!!(g&&h?.search!==!1),q=!!(h?.columnVisibility&&B.getAllLeafColumns().some(e=>e.getCanHide())),J=!!(h?.refresh&&b),Y=!!(h?.export&&x),He=!!(h?.bulkActions!==!1&&y?.length),X=Ve&&g?(0,c.jsx)(r.SearchInput,{value:g.value,onValueChange:g.onValueChange,placeholder:g.placeholder??`Search...`,wrapperClassName:g.wrapperClassName??g.className,inputClassName:g.inputClassName,disabled:g.disabled,clearable:g.clearable,clearLabel:g.clearLabel,searchIcon:g.searchIcon}):void 0,Ue=(0,c.jsxs)(c.Fragment,{children:[typeof _==`function`?_(U):_,q&&(0,c.jsx)(ne.DataTableColumnVisibilityMenu,{table:B}),J&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,disabled:S,onClick:()=>b?.(U),children:ue}),Y&&(0,c.jsx)(n.Button,{type:`button`,variant:`outline`,size:`sm`,onClick:()=>x?.(U),children:de})]}),Z=He?(0,c.jsx)(te.DataTableBulkActions,{rows:H,actions:y??[],selectedLabel:()=>`Actions`,clearLabel:null,onClearSelection:()=>B.resetRowSelection(),hideWhenEmpty:!1}):void 0,We=!!(G||K||p||m||X||_||q||J||Y||Z),Ge=!!(L&&!L.hidden),Q=S&&ge===`skeleton`,Ke=e=>(0,c.jsx)(i.TableRow,{children:(0,c.jsx)(i.TableCell,{colSpan:Be,className:`p-0`,children:e})}),qe=()=>Array.from({length:Math.max(Te,1)},(e,n)=>(0,c.jsx)(i.TableRow,{"aria-hidden":`true`,children:W.map(e=>(0,c.jsx)(i.TableCell,{className:t.cn(u[A],M&&`border-r last:border-r-0`),children:(0,c.jsx)(`div`,{className:t.cn(`h-4 w-full max-w-40 animate-pulse rounded-md bg-muted`,n%3==1&&`max-w-24`,n%3==2&&`max-w-32`,Ee)})},`${e.id}-${n}`))},`skeleton-${n}`)),$=Q?null:S?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):pe?(0,c.jsx)(a.EmptyState,{title:`Could not load data`,description:`Please try again.`,...he}):V.length===0?(0,c.jsx)(a.EmptyState,{...me}):null;return(0,c.jsxs)(`div`,{"data-slot":`data-table`,className:t.cn(`grid gap-3`,e),...Ie,children:[We&&(G??(0,c.jsx)(ie.DataTableToolbar,{title:p,description:m,search:X,actions:Ue,selectionActions:Z,selectedCount:ze,totalCount:L?L.rowCount??f.length:f.length,variant:`plain`,...K})),D&&(0,c.jsx)(`div`,{className:`grid gap-3 md:hidden`,children:$??(Q?(0,c.jsx)(o.LoadingState,{label:`Loading data...`,...C}):V.map(e=>(0,c.jsx)(s.Fragment,{children:D(e)},e.id)))}),(0,c.jsxs)(`div`,{"data-slot":`data-table-wrapper`,"data-density":A,"data-striped":j||void 0,"data-bordered":M||void 0,className:t.cn(`overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur`,D&&`hidden md:block`,ke),children:[(0,c.jsxs)(i.Table,{containerClassName:`rounded-none border-0 bg-transparent shadow-none ring-0`,className:t.cn(`text-[0.95rem]`,Oe),children:[(0,c.jsx)(i.TableHeader,{className:t.cn(N&&`sticky top-0 z-10 shadow-sm backdrop-blur`),children:B.getHeaderGroups().map(e=>(0,c.jsx)(i.TableRow,{children:e.headers.map(e=>(0,c.jsx)(i.TableHead,{style:{width:e.getSize(),...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:N?20:11}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:N?20:11}:{}},className:t.cn(ae[A],`bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground`,N&&`bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur`,e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,se(e,Ae)),children:e.isPlaceholder?null:(0,l.flexRender)(e.column.columnDef.header,e.getContext())},e.id))},e.id))}),(0,c.jsx)(i.TableBody,{children:$?Ke($):Q?qe():V.map((e,n)=>{let r=k?.(e)??!1;return(0,c.jsxs)(s.Fragment,{children:[(0,c.jsx)(i.TableRow,{"data-state":e.getIsSelected()?`selected`:void 0,"data-striped":j&&n%2==1?`true`:void 0,"data-disabled":r||void 0,className:t.cn(O&&!r&&`cursor-pointer`,!r&&`transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]`,r&&`pointer-events-none opacity-55`,oe(e,Me)),onClick:()=>{r||O?.(e)},onDoubleClick:()=>{r||we?.(e)},children:e.getVisibleCells().map(e=>{let n=(0,l.flexRender)(e.column.columnDef.cell,e.getContext());return(0,c.jsx)(i.TableCell,{style:{...e.column.getIsPinned()===`left`?{left:`${e.column.getStart(`left`)}px`,position:`sticky`,zIndex:10}:{},...e.column.getIsPinned()===`right`?{right:`${e.column.getAfter(`right`)}px`,position:`sticky`,zIndex:10}:{}},className:t.cn(u[A],e.column.getIsPinned()&&`bg-card shadow-[1px_0_0_var(--border)]`,M&&`border-r last:border-r-0`,ce(e,je)),children:le(n)?De:n},e.id)})}),e.getIsExpanded()&&P&&(0,c.jsx)(i.TableRow,{className:`bg-muted/50 hover:bg-muted/50`,children:(0,c.jsx)(i.TableCell,{colSpan:e.getVisibleCells().length,children:P(e)})})]},e.id)})})]}),Ge&&L&&(0,c.jsx)(re.DataTablePagination,{pageIndex:L.pageIndex,pageSize:L.pageSize,pageCount:L.pageCount,rowCount:L.rowCount,pageSizeOptions:L.pageSizeOptions,showPageSize:L.showPageSize,labels:L.labels,disabled:S,onPageChange:L.onPageChange,onPageSizeChange:L.onPageSizeChange})]})]})}exports.DataTable=d;
@@ -158,7 +158,7 @@ function f({ className: f, columns: p, data: m, title: h, description: g, featur
158
158
  "data-density": j,
159
159
  "data-striped": M || void 0,
160
160
  "data-bordered": N || void 0,
161
- className: e("overflow-hidden rounded-[var(--radius-2xl)] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_30px_rgba(15,23,42,0.08))] backdrop-blur", k && "hidden md:block", ze),
161
+ className: e("overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_10px_24px_rgba(15,23,42,0.07))] backdrop-blur", k && "hidden md:block", ze),
162
162
  children: [/* @__PURE__ */ u(r, {
163
163
  containerClassName: "rounded-none border-0 bg-transparent shadow-none ring-0",
164
164
  className: e("text-[0.95rem]", Re),
@@ -178,7 +178,7 @@ function f({ className: f, columns: p, data: m, title: h, description: g, featur
178
178
  zIndex: P ? 20 : 11
179
179
  } : {}
180
180
  },
181
- className: e(me[j], "bg-transparent text-muted-foreground", P && "bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur", t.column.getIsPinned() && "bg-card shadow-[1px_0_0_var(--border)]", N && "border-r last:border-r-0", ge(t, Be)),
181
+ className: e(me[j], "bg-[color:color-mix(in_oklch,var(--card),var(--background)_10%)] text-muted-foreground", P && "bg-[color:color-mix(in_oklch,var(--card),transparent_12%)] backdrop-blur", t.column.getIsPinned() && "bg-card shadow-[1px_0_0_var(--border)]", N && "border-r last:border-r-0", ge(t, Be)),
182
182
  children: t.isPlaceholder ? null : le(t.column.columnDef.header, t.getContext())
183
183
  }, t.id)) }, t.id))
184
184
  }), /* @__PURE__ */ l(ee, { children: $ ? rt($) : Q ? it() : V.map((t, n) => {
@@ -187,7 +187,7 @@ function f({ className: f, columns: p, data: m, title: h, description: g, featur
187
187
  "data-state": t.getIsSelected() ? "selected" : void 0,
188
188
  "data-striped": M && n % 2 == 1 ? "true" : void 0,
189
189
  "data-disabled": r || void 0,
190
- className: e(A && !r && "cursor-pointer", !r && "transition-colors hover:bg-[color:var(--aui-page-bg-alt)]", r && "pointer-events-none opacity-55", he(t, He)),
190
+ className: e(A && !r && "cursor-pointer", !r && "transition-colors hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_96%)] data-[state=selected]:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)]", r && "pointer-events-none opacity-55", he(t, He)),
191
191
  onClick: () => {
192
192
  r || A?.(t);
193
193
  },
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o(e,t,n){return t<=0?0:n?(e%t+t)%t:Math.min(Math.max(e,0),t-1)}function s({index:e,defaultIndex:s=0,onIndexChange:c,loop:l=!1,showDots:u=!0,showArrows:d=!0,keyboard:f=!0,previousLabel:p=`Previous slide`,nextLabel:m=`Next slide`,className:h,children:g,..._}){let v=r.Children.toArray(g),[y,b]=r.useState(s),x=e!==void 0,S=o(x?e:y,v.length,l);function C(e){let t=o(e,v.length,l);x||b(t),c?.(t)}let w=l||S>0,T=l||S<v.length-1;return(0,a.jsxs)(`div`,{"data-slot":`carousel`,className:t.cn(`grid gap-3`,h),onKeyDown:e=>{!f||v.length<=1||(e.key===`ArrowLeft`&&w&&(e.preventDefault(),C(S-1)),e.key===`ArrowRight`&&T&&(e.preventDefault(),C(S+1)))},..._,children:[(0,a.jsxs)(`div`,{className:`relative overflow-hidden rounded-xl border bg-card`,children:[v[S],d&&v.length>1?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Button,{type:`button`,variant:`secondary`,size:`icon-sm`,className:`absolute left-3 top-3`,disabled:!w,"aria-label":p,onClick:()=>C(S-1),children:(0,a.jsx)(i.ChevronLeftIcon,{})}),(0,a.jsx)(n.Button,{type:`button`,variant:`secondary`,size:`icon-sm`,className:`absolute right-3 top-3`,disabled:!T,"aria-label":m,onClick:()=>C(S+1),children:(0,a.jsx)(i.ChevronRightIcon,{})})]}):null]}),u&&v.length>1&&(0,a.jsx)(`div`,{className:`flex items-center justify-center gap-2`,children:v.map((e,n)=>(0,a.jsx)(`button`,{type:`button`,"aria-label":`Go to slide ${n+1}`,"aria-pressed":n===S,className:t.cn(`size-2.5 rounded-full bg-muted-foreground/30 transition-colors`,n===S&&`bg-primary`),onClick:()=>C(n)},n))})]})}function c({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`carousel-item`,className:t.cn(`p-4`,e),...n})}exports.Carousel=s,exports.CarouselItem=c;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs");let r=require("react");r=e.__toESM(r,1);let i=require("lucide-react"),a=require("react/jsx-runtime");function o(e,t,n){return t<=0?0:n?(e%t+t)%t:Math.min(Math.max(e,0),t-1)}function s({index:e,defaultIndex:s=0,onIndexChange:c,loop:l=!1,variant:u=`default`,showDots:d=!0,showArrows:f=!0,keyboard:p=!0,ariaLabel:m=`Carousel`,previousLabel:h=`Previous slide`,nextLabel:g=`Next slide`,className:_,children:v,...y}){let b=r.Children.toArray(v),[x,S]=r.useState(s),C=e!==void 0,w=o(C?e:x,b.length,l);function T(e){let t=o(e,b.length,l);C||S(t),c?.(t)}let E=l||w>0,D=l||w<b.length-1;return(0,a.jsxs)(`div`,{"data-slot":`carousel`,"data-variant":u,role:`region`,"aria-roledescription":`carousel`,"aria-label":m,className:t.cn(`grid gap-3`,_),onKeyDown:e=>{!p||b.length<=1||(e.key===`ArrowLeft`&&E&&(e.preventDefault(),T(w-1)),e.key===`ArrowRight`&&D&&(e.preventDefault(),T(w+1)))},...y,children:[(0,a.jsxs)(`div`,{className:t.cn(`relative overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_32px_rgba(15,23,42,0.08))]`,u===`hero`&&`min-h-72`,u===`minimal`&&`rounded-[var(--radius-md)] shadow-none`),children:[(0,a.jsx)(`div`,{className:`transition-transform duration-300 ease-out`,"aria-live":`polite`,children:b[w]}),f&&b.length>1?(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(n.Button,{type:`button`,variant:u===`hero`?`default`:`secondary`,size:`icon-sm`,className:`absolute left-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg`,disabled:!E,"aria-label":h,onClick:()=>T(w-1),children:(0,a.jsx)(i.ChevronLeftIcon,{})}),(0,a.jsx)(n.Button,{type:`button`,variant:u===`hero`?`default`:`secondary`,size:`icon-sm`,className:`absolute right-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg`,disabled:!D,"aria-label":g,onClick:()=>T(w+1),children:(0,a.jsx)(i.ChevronRightIcon,{})})]}):null]}),d&&b.length>1&&(0,a.jsx)(`div`,{className:`flex items-center justify-center gap-2`,role:`tablist`,"aria-label":`${m} slides`,children:b.map((e,n)=>(0,a.jsx)(`button`,{type:`button`,role:`tab`,"aria-label":`Go to slide ${n+1}`,"aria-selected":n===w,className:t.cn(`h-2.5 rounded-full bg-muted-foreground/30 transition-[width,background-color,opacity] hover:bg-muted-foreground/55`,n===w?`w-7 bg-primary`:`w-2.5`),onClick:()=>T(n)},n))})]})}function c({className:e,...n}){return(0,a.jsx)(`div`,{"data-slot":`carousel-item`,className:t.cn(`min-h-40 p-5 sm:p-6`,e),...n})}exports.Carousel=s,exports.CarouselItem=c;
@@ -4,13 +4,15 @@ export type CarouselProps = React.ComponentProps<"div"> & {
4
4
  defaultIndex?: number;
5
5
  onIndexChange?: (index: number) => void;
6
6
  loop?: boolean;
7
+ variant?: "default" | "hero" | "minimal";
7
8
  showDots?: boolean;
8
9
  showArrows?: boolean;
9
10
  keyboard?: boolean;
11
+ ariaLabel?: string;
10
12
  previousLabel?: string;
11
13
  nextLabel?: string;
12
14
  };
13
15
  export type CarouselItemProps = React.ComponentProps<"div">;
14
- declare function Carousel({ index, defaultIndex, onIndexChange, loop, showDots, showArrows, keyboard, previousLabel, nextLabel, className, children, ...props }: CarouselProps): React.JSX.Element;
16
+ declare function Carousel({ index, defaultIndex, onIndexChange, loop, variant, showDots, showArrows, keyboard, ariaLabel, previousLabel, nextLabel, className, children, ...props }: CarouselProps): React.JSX.Element;
15
17
  declare function CarouselItem({ className, ...props }: CarouselItemProps): React.JSX.Element;
16
18
  export { Carousel, CarouselItem };
@@ -7,49 +7,60 @@ import { Fragment as a, jsx as o, jsxs as s } from "react/jsx-runtime";
7
7
  function c(e, t, n) {
8
8
  return t <= 0 ? 0 : n ? (e % t + t) % t : Math.min(Math.max(e, 0), t - 1);
9
9
  }
10
- function l({ index: l, defaultIndex: u = 0, onIndexChange: d, loop: f = !1, showDots: p = !0, showArrows: m = !0, keyboard: h = !0, previousLabel: g = "Previous slide", nextLabel: _ = "Next slide", className: v, children: y, ...b }) {
11
- let x = n.Children.toArray(y), [S, C] = n.useState(u), w = l !== void 0, T = c(w ? l : S, x.length, f);
12
- function E(e) {
13
- let t = c(e, x.length, f);
14
- w || C(t), d?.(t);
10
+ function l({ index: l, defaultIndex: u = 0, onIndexChange: d, loop: f = !1, variant: p = "default", showDots: m = !0, showArrows: h = !0, keyboard: g = !0, ariaLabel: _ = "Carousel", previousLabel: v = "Previous slide", nextLabel: y = "Next slide", className: b, children: x, ...S }) {
11
+ let C = n.Children.toArray(x), [w, T] = n.useState(u), E = l !== void 0, D = c(E ? l : w, C.length, f);
12
+ function O(e) {
13
+ let t = c(e, C.length, f);
14
+ E || T(t), d?.(t);
15
15
  }
16
- let D = f || T > 0, O = f || T < x.length - 1;
16
+ let k = f || D > 0, A = f || D < C.length - 1;
17
17
  return /* @__PURE__ */ s("div", {
18
18
  "data-slot": "carousel",
19
- className: e("grid gap-3", v),
19
+ "data-variant": p,
20
+ role: "region",
21
+ "aria-roledescription": "carousel",
22
+ "aria-label": _,
23
+ className: e("grid gap-3", b),
20
24
  onKeyDown: (e) => {
21
- !h || x.length <= 1 || (e.key === "ArrowLeft" && D && (e.preventDefault(), E(T - 1)), e.key === "ArrowRight" && O && (e.preventDefault(), E(T + 1)));
25
+ !g || C.length <= 1 || (e.key === "ArrowLeft" && k && (e.preventDefault(), O(D - 1)), e.key === "ArrowRight" && A && (e.preventDefault(), O(D + 1)));
22
26
  },
23
- ...b,
27
+ ...S,
24
28
  children: [/* @__PURE__ */ s("div", {
25
- className: "relative overflow-hidden rounded-xl border bg-card",
26
- children: [x[T], m && x.length > 1 ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(t, {
29
+ className: e("relative overflow-hidden rounded-[var(--aui-card-radius,var(--radius-lg))] border border-[color:var(--aui-card-border,var(--border))] bg-card shadow-[var(--aui-card-shadow,0_12px_32px_rgba(15,23,42,0.08))]", p === "hero" && "min-h-72", p === "minimal" && "rounded-[var(--radius-md)] shadow-none"),
30
+ children: [/* @__PURE__ */ o("div", {
31
+ className: "transition-transform duration-300 ease-out",
32
+ "aria-live": "polite",
33
+ children: C[D]
34
+ }), h && C.length > 1 ? /* @__PURE__ */ s(a, { children: [/* @__PURE__ */ o(t, {
27
35
  type: "button",
28
- variant: "secondary",
36
+ variant: p === "hero" ? "default" : "secondary",
29
37
  size: "icon-sm",
30
- className: "absolute left-3 top-3",
31
- disabled: !D,
32
- "aria-label": g,
33
- onClick: () => E(T - 1),
38
+ className: "absolute left-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg",
39
+ disabled: !k,
40
+ "aria-label": v,
41
+ onClick: () => O(D - 1),
34
42
  children: /* @__PURE__ */ o(r, {})
35
43
  }), /* @__PURE__ */ o(t, {
36
44
  type: "button",
37
- variant: "secondary",
45
+ variant: p === "hero" ? "default" : "secondary",
38
46
  size: "icon-sm",
39
- className: "absolute right-3 top-3",
40
- disabled: !O,
41
- "aria-label": _,
42
- onClick: () => E(T + 1),
47
+ className: "absolute right-3 top-1/2 -translate-y-1/2 rounded-full shadow-lg",
48
+ disabled: !A,
49
+ "aria-label": y,
50
+ onClick: () => O(D + 1),
43
51
  children: /* @__PURE__ */ o(i, {})
44
52
  })] }) : null]
45
- }), p && x.length > 1 && /* @__PURE__ */ o("div", {
53
+ }), m && C.length > 1 && /* @__PURE__ */ o("div", {
46
54
  className: "flex items-center justify-center gap-2",
47
- children: x.map((t, n) => /* @__PURE__ */ o("button", {
55
+ role: "tablist",
56
+ "aria-label": `${_} slides`,
57
+ children: C.map((t, n) => /* @__PURE__ */ o("button", {
48
58
  type: "button",
59
+ role: "tab",
49
60
  "aria-label": `Go to slide ${n + 1}`,
50
- "aria-pressed": n === T,
51
- className: e("size-2.5 rounded-full bg-muted-foreground/30 transition-colors", n === T && "bg-primary"),
52
- onClick: () => E(n)
61
+ "aria-selected": n === D,
62
+ className: e("h-2.5 rounded-full bg-muted-foreground/30 transition-[width,background-color,opacity] hover:bg-muted-foreground/55", n === D ? "w-7 bg-primary" : "w-2.5"),
63
+ onClick: () => O(n)
53
64
  }, n))
54
65
  })]
55
66
  });
@@ -57,7 +68,7 @@ function l({ index: l, defaultIndex: u = 0, onIndexChange: d, loop: f = !1, show
57
68
  function u({ className: t, ...n }) {
58
69
  return /* @__PURE__ */ o("div", {
59
70
  "data-slot": "carousel-item",
60
- className: e("p-4", t),
71
+ className: e("min-h-40 p-5 sm:p-6", t),
61
72
  ...n
62
73
  });
63
74
  }
@@ -1 +1 @@
1
- Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/popover/index.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime");function ee(e,t){let[n,r]=a.useState(e);return a.useEffect(()=>{let n=window.setTimeout(()=>{r(e)},t);return()=>{window.clearTimeout(n)}},[t,e]),n}function c(e){return typeof e==`object`&&!!e&&`options`in e}function l(e){if(!e||e.length===0)return[];let t=e[0];return c(t)?e:[{options:e}]}function u(e){return e.flatMap(e=>e.options)}function te(e){return typeof e.label==`string`||typeof e.label==`number`?String(e.label).toLowerCase():e.value.toLowerCase()}function ne(e,t){let n=e.trim().toLowerCase();return n?!t.some(e=>e.value.toLowerCase()===n||te(e)===n):!1}function re(e,t,n,r,i){if(e)return t?.value===e?t:i?.value===e?i:[...n,...r].find(t=>t.value===e)}function d(...e){let t=new Map;return e.forEach(e=>{e?.forEach(e=>{t.set(e.value,e)})}),Array.from(t.values())}function f(e,t){let n=new Map(t.map(e=>[e.value,e]));return e.map(e=>n.get(e)).filter(e=>!!e)}function ie(e,t,n){let r=e.get(t);if(r){if(Number.isFinite(n)&&Date.now()-r.createdAt>n){e.delete(t);return}return r.groups}}function ae(e,t,n){e.set(t,{groups:n,createdAt:Date.now()})}function oe(e){return e.trim().toLowerCase()}function p({className:e,children:n}){return(0,s.jsx)(`div`,{"data-slot":`async-select-state`,className:t.cn(`rounded-[min(var(--radius-xl),16px)] border px-3 py-3 text-sm text-muted-foreground`,e),children:n})}function m(e){return typeof e.label==`string`||typeof e.label==`number`?String(e.label):e.value}function se({option:e,selected:n,renderOption:r,optionClassName:i,onSelect:a}){return(0,s.jsxs)(`button`,{type:`button`,disabled:e.disabled,"data-slot":`async-select-option`,"data-selected":n||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex w-full items-start gap-2 rounded-[min(var(--radius-xl),16px)] border border-transparent px-3 py-2.5 text-left text-sm outline-none transition-[background-color,border-color,color,box-shadow] disabled:pointer-events-none disabled:opacity-50`,i),onClick:()=>a(e),children:[(0,s.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:n&&(0,s.jsx)(o.CheckIcon,{className:`size-4`})}),(0,s.jsx)(`span`,{className:`min-w-0 flex-1`,children:r?.(e,{selected:n})??(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,s.jsx)(`span`,{className:`truncate`,children:e.label}),e.description&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.description}),e.disabled&&e.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.disabledReason})]})})]})}function ce({search:e,isCreating:t,label:n,onCreate:r}){return(0,s.jsxs)(`button`,{type:`button`,disabled:t,"data-slot":`async-select-create`,className:`flex w-full items-center gap-2 rounded-[min(var(--radius-xl),16px)] border border-dashed px-3 py-2.5 text-left text-sm outline-none transition-[background-color,border-color,color,box-shadow] disabled:pointer-events-none disabled:opacity-50`,onClick:r,children:[(0,s.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:t?(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}):(0,s.jsx)(o.PlusIcon,{className:`size-4`})}),(0,s.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n?.(e)??`Create "${e.trim()}"`})]})}function h({className:e,value:c,selectedOption:te,onValueChange:d,loadOptions:f,loadSelectedOption:m,defaultOptions:h,disabled:g=!1,clearable:le=!0,cacheOptions:_=!0,cacheTtl:ue=1/0,debounceMs:v=250,minSearchLength:y=0,labels:b,renderOption:de,renderValue:x,renderLoading:S,renderEmpty:fe,renderError:C,renderMinSearch:pe,onCreateOption:me,createOptionLabel:he,showCreateOption:ge,triggerClassName:_e,contentClassName:ve,searchClassName:ye,optionClassName:be,invalid:w,...xe}){let T=a.useMemo(()=>l(h),[h]),Se=a.useMemo(()=>u(T),[T]),[E,D]=a.useState(!1),[O,k]=a.useState(``),[A,j]=a.useState(T),[M,Ce]=a.useState(null),[N,P]=a.useState(!1),[F,I]=a.useState(!1),[L,R]=a.useState(!1),z=a.useRef(new Map),B=a.useRef(0),we=a.useRef(0),V=ee(O,v).trim(),H=a.useMemo(()=>u(A),[A]),U=a.useMemo(()=>({search:O,minSearchLength:y,options:H}),[H,y,O]),W=re(c,te,H,Se,M),Te=le&&!!c&&!g,G=V.length<y,K=!G&&!!me&&(ge??ne)(O,H);a.useEffect(()=>{z.current.clear()},[f]),a.useEffect(()=>{j(T)},[T]),a.useEffect(()=>{if(!c||W||!m)return;let e=new AbortController,t=++we.current;async function n(){let n=await m?.(c,e.signal);!e.signal.aborted&&t===we.current&&Ce(n??null)}return n(),()=>{e.abort()}},[W,m,c]),a.useEffect(()=>{if(!E)return;if(G){j(T),P(!1),R(!1);return}let e=_?ie(z.current,V,ue):void 0;if(e){j(e),P(!1),R(!1);return}let t=new AbortController,n=++B.current;async function r(){P(!0),R(!1);try{let e=l(await f(V,t.signal));!t.signal.aborted&&n===B.current&&(_&&ae(z.current,V,e),j(e))}catch{!t.signal.aborted&&n===B.current&&(R(!0),j([]))}finally{!t.signal.aborted&&n===B.current&&P(!1)}}return r(),()=>{t.abort()}},[_,ue,f,E,T,V,G]);let q=e=>{e.disabled||(d?.(e.value,e),D(!1),k(``))},J=()=>{d?.(void 0),k(``)},Ee=e=>{t.stopInteractivePropagation(e),J()},Y=e=>{if(!g){if(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `){e.preventDefault(),D(!0);return}(e.key===`Backspace`||e.key===`Delete`)&&c&&(e.preventDefault(),J())}},X=async()=>{if(!(!me||!O.trim()||G)){I(!0);try{let e=await me(O.trim()),t=oe(O);j(t=>[{options:[e]},...t]),_&&t&&ae(z.current,t,[{options:[e]}]),d?.(e.value,e),k(``),D(!1)}finally{I(!1)}}};return(0,s.jsx)(`div`,{"data-slot":`async-select`,className:t.cn(`w-full`,e),...xe,children:(0,s.jsxs)(i.Popover,{open:E,onOpenChange:D,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:g,"aria-expanded":E,"aria-invalid":w||void 0,"data-slot":`async-select-trigger`,className:t.cn(`min-h-11 w-full justify-between`,_e),onKeyDown:Y}),children:[(0,s.jsx)(`span`,{className:`min-w-0 flex-1 text-left`,children:W?(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,s.jsx)(`span`,{className:`truncate`,children:x?.(W)??W.label}),W.disabled&&W.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:W.disabledReason})]}):(0,s.jsx)(`span`,{className:`truncate`,children:b?.placeholder??`Select`})}),(0,s.jsxs)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:[Te&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,className:`rounded-full border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground`,"aria-label":b?.clear??`Clear`,onClick:Ee,onKeyDown:e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t.stopInteractivePropagation(e),J())},children:(0,s.jsx)(o.XIcon,{className:`size-3.5`})}),(0,s.jsx)(o.ChevronsUpDownIcon,{className:`size-4 opacity-60`})]})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`async-select-content`,className:t.cn(`w-(--anchor-width) gap-3 rounded-[var(--radius-2xl)] p-3.5`,ve),children:[(0,s.jsxs)(`div`,{"data-slot":`async-select-search-wrap`,className:`relative`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{"data-slot":`async-select-search`,value:O,onChange:e=>k(e.target.value),placeholder:b?.searchPlaceholder??`Search...`,className:t.cn(`pl-8`,ye)})]}),(0,s.jsxs)(`div`,{className:`max-h-64 space-y-1 overflow-y-auto pr-1`,children:[G&&H.length===0&&(pe?.(U)??(0,s.jsx)(p,{children:b?.minSearchLength?.(y)??`Type at least ${y} characters`})),N&&(S?.(U)??(0,s.jsx)(p,{children:(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}),b?.loading??`Loading...`]})})),!N&&L&&(C?.(U)??(0,s.jsx)(p,{className:`text-destructive`,children:b?.error??`Could not load options`})),!N&&!L&&!G&&H.length===0&&!K&&(fe?.(U)??(0,s.jsx)(p,{children:b?.empty??`No options found`})),!N&&!L&&K&&(0,s.jsx)(ce,{search:O,isCreating:F,label:he,onCreate:X}),!N&&!L&&A.map((e,t)=>(0,s.jsxs)(`div`,{children:[e.label&&(0,s.jsx)(`div`,{className:`sticky top-0 z-10 bg-popover px-2 py-1 text-xs font-medium text-muted-foreground`,children:e.label}),e.options.map(e=>(0,s.jsx)(se,{option:e,selected:e.value===c,renderOption:de,optionClassName:be,onSelect:q},e.value))]},t))]})]})]})})}function g({className:e,value:c,selectedOptions:te,onValueChange:re,loadOptions:h,loadSelectedOptions:g,defaultOptions:le,disabled:_=!1,clearable:ue=!0,cacheOptions:v=!0,cacheTtl:y=1/0,closeOnSelect:b=!1,debounceMs:de=250,minSearchLength:x=0,maxSelected:S,showSelectAll:fe=!1,labels:C,renderOption:pe,renderValue:me,renderTag:he,renderLoading:ge,renderEmpty:_e,renderError:ve,renderMinSearch:ye,renderMaxSelected:be,onCreateOption:w,createOptionLabel:xe,showCreateOption:T,triggerClassName:Se,contentClassName:E,searchClassName:D,optionClassName:O,tagClassName:k,invalid:A,...j}){let M=a.useMemo(()=>c??[],[c]),Ce=M.join(`|`),N=a.useMemo(()=>l(le),[le]),P=a.useMemo(()=>u(N),[N]),[F,I]=a.useState(!1),[L,R]=a.useState(``),[z,B]=a.useState(N),[we,V]=a.useState([]),[H,U]=a.useState(!1),[W,Te]=a.useState(!1),[G,K]=a.useState(!1),q=a.useRef(new Map),J=a.useRef(0),Ee=a.useRef(0),Y=ee(L,de).trim(),X=a.useMemo(()=>u(z),[z]),De=a.useMemo(()=>new Set(M),[M]),Z=a.useMemo(()=>d(te,we,X,P),[P,X,we,te]),Oe=a.useMemo(()=>f(M,Z),[Z,M]),Q=a.useMemo(()=>({search:L,minSearchLength:x,options:X,selectedCount:M.length,maxSelected:S}),[X,S,x,L,M.length]),ke=M.length>0,Ae=ue&&ke&&!_,je=typeof S==`number`&&M.length>=S,$=Y.length<x,Me=!$&&!!w&&(T??ne)(L,X),Ne=X.filter(e=>!e.disabled).filter(e=>!De.has(e.value)),Pe=fe&&Ne.length>0&&!je;a.useEffect(()=>{q.current.clear()},[h]),a.useEffect(()=>{B(N)},[N]),a.useEffect(()=>{if(!M.length||!g)return;let e=new Set(Z.map(e=>e.value)),t=M.filter(t=>!e.has(t));if(!t.length)return;let n=new AbortController,r=++Ee.current;async function i(){let e=await g?.(t,n.signal);!n.signal.aborted&&r===Ee.current&&e&&V(t=>d(t,e))}return i(),()=>{n.abort()}},[Z,g,Ce,M]),a.useEffect(()=>{if(!F)return;if($){B(N),U(!1),K(!1);return}let e=v?ie(q.current,Y,y):void 0;if(e){B(e),U(!1),K(!1);return}let t=new AbortController,n=++J.current;async function r(){U(!0),K(!1);try{let e=l(await h(Y,t.signal));!t.signal.aborted&&n===J.current&&(v&&ae(q.current,Y,e),B(e))}catch{!t.signal.aborted&&n===J.current&&(K(!0),B([]))}finally{!t.signal.aborted&&n===J.current&&U(!1)}}return r(),()=>{t.abort()}},[v,y,h,F,N,Y,$]);let Fe=(e,t)=>{re?.(e,f(e,t))},Ie=e=>{Fe(M.filter(t=>t!==e),Z)},Le=e=>{e.disabled||(Fe(De.has(e.value)?M.filter(t=>t!==e.value):je?M:[...M,e.value],d(Z,[e])),b&&(I(!1),R(``)))},Re=(e,n)=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Backspace`&&e.key!==`Delete`||(e.preventDefault(),t.stopInteractivePropagation(e),Ie(n.value))},ze=e=>{if(!_){if(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `){e.preventDefault(),I(!0);return}L.length>0||M.length===0||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),Ie(M[M.length-1]))}},Be=()=>{if(!Ne.length)return;let e=typeof S==`number`?Math.max(S-M.length,0):Ne.length,t=Ne.slice(0,e);Fe(Array.from(new Set([...M,...t.map(e=>e.value)])),d(Z,t))},Ve=e=>{Ie(e.value)},He=()=>{re?.([],[]),R(``)},Ue=e=>{t.stopInteractivePropagation(e),He()},We=async()=>{if(!(!w||!L.trim()||$)){Te(!0);try{let e=await w(L.trim()),t=oe(L),n=d(Z,[e]),r=De.has(e.value)||je?M:[...M,e.value];B(t=>[{options:[e]},...t]),v&&t&&ae(q.current,t,[{options:[e]}]),Fe(r,n),R(``),b&&I(!1)}finally{Te(!1)}}};return(0,s.jsx)(`div`,{"data-slot":`async-multi-select`,className:t.cn(`w-full`,e),...j,children:(0,s.jsxs)(i.Popover,{open:F,onOpenChange:I,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:_,"aria-expanded":F,"aria-invalid":A||void 0,"data-slot":`async-select-trigger`,className:t.cn(`min-h-11 w-full justify-between`,Se),onKeyDown:ze}),children:[(0,s.jsx)(`span`,{className:`flex min-w-0 flex-1 flex-wrap gap-1 text-left`,children:Oe.length>0?Oe.map(e=>(0,s.jsxs)(`span`,{"data-slot":`async-select-tag`,className:t.cn(`inline-flex max-w-full items-center gap-1 rounded-full border px-2 py-1 text-xs text-foreground`,k),children:[(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,s.jsx)(`span`,{className:`truncate`,children:he?.(e,{remove:()=>Ve(e)})??me?.(e)??e.label}),e.disabled&&e.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,children:e.disabledReason})]}),!_&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,"data-slot":`async-select-tag-remove`,className:`rounded-full text-muted-foreground transition-colors hover:text-foreground`,"aria-label":`Remove ${m(e)}`,onClick:n=>{t.stopInteractivePropagation(n),Ve(e)},onKeyDown:t=>Re(t,e),children:(0,s.jsx)(o.XIcon,{className:`size-3`})})]},e.value)):(0,s.jsx)(`span`,{className:`truncate text-muted-foreground`,children:C?.placeholder??`Select`})}),(0,s.jsxs)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:[Ae&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,"data-slot":`async-select-clear`,className:`rounded-full border p-1 text-muted-foreground transition-colors hover:text-foreground`,"aria-label":C?.clearAll??C?.clear??`Clear all`,onClick:Ue,onKeyDown:e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t.stopInteractivePropagation(e),He())},children:(0,s.jsx)(o.XIcon,{className:`size-3.5`})}),(0,s.jsx)(o.ChevronsUpDownIcon,{className:`size-4 opacity-60`})]})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`async-select-content`,className:t.cn(`w-(--anchor-width) gap-3 rounded-[var(--radius-2xl)] p-3.5`,E),children:[(0,s.jsxs)(`div`,{"data-slot":`async-select-search-wrap`,className:`relative`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{"data-slot":`async-select-search`,value:L,onChange:e=>R(e.target.value),placeholder:C?.searchPlaceholder??`Search...`,className:t.cn(`pl-8`,D)})]}),(0,s.jsxs)(`div`,{"data-slot":`async-select-meta`,className:`flex flex-wrap items-center justify-between gap-2 rounded-[min(var(--radius-xl),16px)] border px-3 py-2 text-xs text-muted-foreground`,children:[ke&&C?.selectedCount&&(0,s.jsx)(`span`,{children:C.selectedCount(M.length)}),je&&(be?.(Q)??(0,s.jsx)(`span`,{children:C?.maxSelected?.(S??M.length)??`Maximum ${S} selected`})),(0,s.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Pe&&(0,s.jsx)(`button`,{type:`button`,"data-slot":`async-select-meta-action`,className:`rounded-full border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background`,onClick:Be,children:C?.selectAll??`Select all`}),Ae&&(0,s.jsx)(`button`,{type:`button`,"data-slot":`async-select-meta-action`,className:`rounded-full border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background`,onClick:()=>re?.([],[]),children:C?.clearAll??C?.clear??`Clear all`})]})]}),(0,s.jsxs)(`div`,{className:`max-h-64 space-y-1 overflow-y-auto pr-1`,children:[$&&X.length===0&&(ye?.(Q)??(0,s.jsx)(p,{children:C?.minSearchLength?.(x)??`Type at least ${x} characters`})),H&&(ge?.(Q)??(0,s.jsx)(p,{children:(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}),C?.loading??`Loading...`]})})),!H&&G&&(ve?.(Q)??(0,s.jsx)(p,{className:`text-destructive`,children:C?.error??`Could not load options`})),!H&&!G&&!$&&X.length===0&&!Me&&(_e?.(Q)??(0,s.jsx)(p,{children:C?.empty??`No options found`})),!H&&!G&&Me&&(0,s.jsx)(ce,{search:L,isCreating:W,label:xe,onCreate:We}),!H&&!G&&z.map((e,t)=>(0,s.jsxs)(`div`,{children:[e.label&&(0,s.jsx)(`div`,{className:`sticky top-0 z-10 bg-popover px-2 py-1 text-xs font-medium text-muted-foreground`,children:(0,s.jsx)(`span`,{"data-slot":`async-select-group-label`,children:e.label})}),e.options.map(e=>(0,s.jsx)(se,{option:e,selected:De.has(e.value),renderOption:pe,optionClassName:O,onSelect:Le},e.value))]},t))]})]})]})})}exports.AsyncMultiSelect=g,exports.AsyncSelect=h;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("../../_virtual/_rolldown/runtime.cjs"),t=require("../../lib/utils.cjs"),n=require("../ui/button/index.cjs"),r=require("../ui/input/index.cjs"),i=require("../ui/popover/index.cjs");let a=require("react");a=e.__toESM(a,1);let o=require("lucide-react"),s=require("react/jsx-runtime");function ee(e,t){let[n,r]=a.useState(e);return a.useEffect(()=>{let n=window.setTimeout(()=>{r(e)},t);return()=>{window.clearTimeout(n)}},[t,e]),n}function c(e){return typeof e==`object`&&!!e&&`options`in e}function l(e){if(!e||e.length===0)return[];let t=e[0];return c(t)?e:[{options:e}]}function u(e){return e.flatMap(e=>e.options)}function te(e){return typeof e.label==`string`||typeof e.label==`number`?String(e.label).toLowerCase():e.value.toLowerCase()}function ne(e,t){let n=e.trim().toLowerCase();return n?!t.some(e=>e.value.toLowerCase()===n||te(e)===n):!1}function re(e,t,n,r,i){if(e)return t?.value===e?t:i?.value===e?i:[...n,...r].find(t=>t.value===e)}function d(...e){let t=new Map;return e.forEach(e=>{e?.forEach(e=>{t.set(e.value,e)})}),Array.from(t.values())}function f(e,t){let n=new Map(t.map(e=>[e.value,e]));return e.map(e=>n.get(e)).filter(e=>!!e)}function ie(e,t,n){let r=e.get(t);if(r){if(Number.isFinite(n)&&Date.now()-r.createdAt>n){e.delete(t);return}return r.groups}}function ae(e,t,n){e.set(t,{groups:n,createdAt:Date.now()})}function oe(e){return e.trim().toLowerCase()}function p({className:e,children:n}){return(0,s.jsx)(`div`,{"data-slot":`async-select-state`,className:t.cn(`rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_55%)] px-3 py-3 text-sm leading-5 text-muted-foreground`,e),children:n})}function m(e){return typeof e.label==`string`||typeof e.label==`number`?String(e.label):e.value}function se({option:e,selected:n,renderOption:r,optionClassName:i,onSelect:a}){return(0,s.jsxs)(`button`,{type:`button`,disabled:e.disabled,"data-slot":`async-select-option`,"data-selected":n||void 0,"data-disabled":e.disabled||void 0,className:t.cn(`flex w-full items-start gap-2.5 rounded-[var(--radius-md)] border border-transparent px-3 py-2.5 text-left text-sm outline-none transition-[background-color,border-color,color,box-shadow] hover:border-[color:color-mix(in_oklch,var(--primary),transparent_76%)] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_93%)] focus-visible:border-[color:var(--aui-focus-ring,var(--ring))] focus-visible:shadow-[0_0_0_3px_var(--aui-focus-ring-soft,transparent)] data-[selected=true]:border-[color:color-mix(in_oklch,var(--primary),transparent_68%)] data-[selected=true]:bg-[color:color-mix(in_oklch,var(--primary),transparent_89%)] data-[selected=true]:text-foreground disabled:pointer-events-none disabled:opacity-50`,i),onClick:()=>a(e),children:[(0,s.jsx)(`span`,{className:t.cn(`mt-0.5 flex size-4 shrink-0 items-center justify-center rounded-full border border-border/70`,n&&`border-primary bg-primary text-primary-foreground`),children:n&&(0,s.jsx)(o.CheckIcon,{className:`size-3`})}),(0,s.jsx)(`span`,{className:`min-w-0 flex-1`,children:r?.(e,{selected:n})??(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,s.jsx)(`span`,{className:`truncate font-medium`,children:e.label}),e.description&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.description}),e.disabled&&e.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:e.disabledReason})]})})]})}function ce({search:e,isCreating:t,label:n,onCreate:r}){return(0,s.jsxs)(`button`,{type:`button`,disabled:t,"data-slot":`async-select-create`,className:`flex w-full items-center gap-2 rounded-[var(--radius-md)] border border-dashed border-[color:color-mix(in_oklch,var(--primary),transparent_55%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_94%)] px-3 py-2.5 text-left text-sm font-medium text-foreground outline-none transition-[background-color,border-color,color,box-shadow] hover:bg-[color:color-mix(in_oklch,var(--primary),transparent_90%)] disabled:pointer-events-none disabled:opacity-50`,onClick:r,children:[(0,s.jsx)(`span`,{className:`flex size-4 shrink-0 items-center justify-center`,children:t?(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}):(0,s.jsx)(o.PlusIcon,{className:`size-4`})}),(0,s.jsx)(`span`,{className:`min-w-0 flex-1 truncate`,children:n?.(e)??`Create "${e.trim()}"`})]})}function h({className:e,value:c,selectedOption:te,onValueChange:d,loadOptions:f,loadSelectedOption:m,defaultOptions:h,disabled:g=!1,clearable:le=!0,cacheOptions:_=!0,cacheTtl:ue=1/0,debounceMs:v=250,minSearchLength:y=0,labels:b,renderOption:de,renderValue:x,renderLoading:S,renderEmpty:fe,renderError:C,renderMinSearch:pe,onCreateOption:me,createOptionLabel:he,showCreateOption:ge,triggerClassName:_e,contentClassName:ve,searchClassName:ye,optionClassName:be,invalid:w,...xe}){let T=a.useMemo(()=>l(h),[h]),Se=a.useMemo(()=>u(T),[T]),[E,D]=a.useState(!1),[O,k]=a.useState(``),[A,j]=a.useState(T),[M,Ce]=a.useState(null),[N,P]=a.useState(!1),[F,I]=a.useState(!1),[L,R]=a.useState(!1),z=a.useRef(new Map),B=a.useRef(0),we=a.useRef(0),V=ee(O,v).trim(),H=a.useMemo(()=>u(A),[A]),U=a.useMemo(()=>({search:O,minSearchLength:y,options:H}),[H,y,O]),W=re(c,te,H,Se,M),Te=le&&!!c&&!g,G=V.length<y,K=!G&&!!me&&(ge??ne)(O,H);a.useEffect(()=>{z.current.clear()},[f]),a.useEffect(()=>{j(T)},[T]),a.useEffect(()=>{if(!c||W||!m)return;let e=new AbortController,t=++we.current;async function n(){let n=await m?.(c,e.signal);!e.signal.aborted&&t===we.current&&Ce(n??null)}return n(),()=>{e.abort()}},[W,m,c]),a.useEffect(()=>{if(!E)return;if(G){j(T),P(!1),R(!1);return}let e=_?ie(z.current,V,ue):void 0;if(e){j(e),P(!1),R(!1);return}let t=new AbortController,n=++B.current;async function r(){P(!0),R(!1);try{let e=l(await f(V,t.signal));!t.signal.aborted&&n===B.current&&(_&&ae(z.current,V,e),j(e))}catch{!t.signal.aborted&&n===B.current&&(R(!0),j([]))}finally{!t.signal.aborted&&n===B.current&&P(!1)}}return r(),()=>{t.abort()}},[_,ue,f,E,T,V,G]);let q=e=>{e.disabled||(d?.(e.value,e),D(!1),k(``))},J=()=>{d?.(void 0),k(``)},Ee=e=>{t.stopInteractivePropagation(e),J()},Y=e=>{if(!g){if(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `){e.preventDefault(),D(!0);return}(e.key===`Backspace`||e.key===`Delete`)&&c&&(e.preventDefault(),J())}},X=async()=>{if(!(!me||!O.trim()||G)){I(!0);try{let e=await me(O.trim()),t=oe(O);j(t=>[{options:[e]},...t]),_&&t&&ae(z.current,t,[{options:[e]}]),d?.(e.value,e),k(``),D(!1)}finally{I(!1)}}};return(0,s.jsx)(`div`,{"data-slot":`async-select`,className:t.cn(`w-full`,e),...xe,children:(0,s.jsxs)(i.Popover,{open:E,onOpenChange:D,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:g,"aria-expanded":E,"aria-invalid":w||void 0,"data-slot":`async-select-trigger`,className:t.cn(`min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left`,_e),onKeyDown:Y}),children:[(0,s.jsx)(`span`,{className:`min-w-0 flex-1 text-left`,children:W?(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col gap-0.5`,children:[(0,s.jsx)(`span`,{className:`truncate font-semibold`,children:x?.(W)??W.label}),W.disabled&&W.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-xs text-muted-foreground`,children:W.disabledReason})]}):(0,s.jsx)(`span`,{className:`truncate text-muted-foreground`,children:b?.placeholder??`Select`})}),(0,s.jsxs)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:[Te&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,className:`rounded-full border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground`,"aria-label":b?.clear??`Clear`,onClick:Ee,onKeyDown:e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t.stopInteractivePropagation(e),J())},children:(0,s.jsx)(o.XIcon,{className:`size-3.5`})}),(0,s.jsx)(o.ChevronsUpDownIcon,{className:`size-4 opacity-60`})]})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`async-select-content`,className:t.cn(`w-(--anchor-width) min-w-72 gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]`,ve),children:[(0,s.jsxs)(`div`,{"data-slot":`async-select-search-wrap`,className:`relative`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{"data-slot":`async-select-search`,value:O,onChange:e=>k(e.target.value),placeholder:b?.searchPlaceholder??`Search...`,className:t.cn(`pl-8`,ye)})]}),(0,s.jsxs)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto pr-1`,children:[G&&H.length===0&&(pe?.(U)??(0,s.jsx)(p,{children:b?.minSearchLength?.(y)??`Type at least ${y} characters`})),N&&(S?.(U)??(0,s.jsx)(p,{children:(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}),b?.loading??`Loading...`]})})),!N&&L&&(C?.(U)??(0,s.jsx)(p,{className:`text-destructive`,children:b?.error??`Could not load options`})),!N&&!L&&!G&&H.length===0&&!K&&(fe?.(U)??(0,s.jsx)(p,{children:b?.empty??`No options found`})),!N&&!L&&K&&(0,s.jsx)(ce,{search:O,isCreating:F,label:he,onCreate:X}),!N&&!L&&A.map((e,t)=>(0,s.jsxs)(`div`,{children:[e.label&&(0,s.jsx)(`div`,{className:`sticky top-0 z-10 bg-popover px-2 py-1 text-xs font-medium text-muted-foreground`,children:e.label}),e.options.map(e=>(0,s.jsx)(se,{option:e,selected:e.value===c,renderOption:de,optionClassName:be,onSelect:q},e.value))]},t))]})]})]})})}function g({className:e,value:c,selectedOptions:te,onValueChange:re,loadOptions:h,loadSelectedOptions:g,defaultOptions:le,disabled:_=!1,clearable:ue=!0,cacheOptions:v=!0,cacheTtl:y=1/0,closeOnSelect:b=!1,debounceMs:de=250,minSearchLength:x=0,maxSelected:S,showSelectAll:fe=!1,labels:C,renderOption:pe,renderValue:me,renderTag:he,renderLoading:ge,renderEmpty:_e,renderError:ve,renderMinSearch:ye,renderMaxSelected:be,onCreateOption:w,createOptionLabel:xe,showCreateOption:T,triggerClassName:Se,contentClassName:E,searchClassName:D,optionClassName:O,tagClassName:k,invalid:A,...j}){let M=a.useMemo(()=>c??[],[c]),Ce=M.join(`|`),N=a.useMemo(()=>l(le),[le]),P=a.useMemo(()=>u(N),[N]),[F,I]=a.useState(!1),[L,R]=a.useState(``),[z,B]=a.useState(N),[we,V]=a.useState([]),[H,U]=a.useState(!1),[W,Te]=a.useState(!1),[G,K]=a.useState(!1),q=a.useRef(new Map),J=a.useRef(0),Ee=a.useRef(0),Y=ee(L,de).trim(),X=a.useMemo(()=>u(z),[z]),De=a.useMemo(()=>new Set(M),[M]),Z=a.useMemo(()=>d(te,we,X,P),[P,X,we,te]),Oe=a.useMemo(()=>f(M,Z),[Z,M]),Q=a.useMemo(()=>({search:L,minSearchLength:x,options:X,selectedCount:M.length,maxSelected:S}),[X,S,x,L,M.length]),ke=M.length>0,Ae=ue&&ke&&!_,je=typeof S==`number`&&M.length>=S,$=Y.length<x,Me=!$&&!!w&&(T??ne)(L,X),Ne=X.filter(e=>!e.disabled).filter(e=>!De.has(e.value)),Pe=fe&&Ne.length>0&&!je;a.useEffect(()=>{q.current.clear()},[h]),a.useEffect(()=>{B(N)},[N]),a.useEffect(()=>{if(!M.length||!g)return;let e=new Set(Z.map(e=>e.value)),t=M.filter(t=>!e.has(t));if(!t.length)return;let n=new AbortController,r=++Ee.current;async function i(){let e=await g?.(t,n.signal);!n.signal.aborted&&r===Ee.current&&e&&V(t=>d(t,e))}return i(),()=>{n.abort()}},[Z,g,Ce,M]),a.useEffect(()=>{if(!F)return;if($){B(N),U(!1),K(!1);return}let e=v?ie(q.current,Y,y):void 0;if(e){B(e),U(!1),K(!1);return}let t=new AbortController,n=++J.current;async function r(){U(!0),K(!1);try{let e=l(await h(Y,t.signal));!t.signal.aborted&&n===J.current&&(v&&ae(q.current,Y,e),B(e))}catch{!t.signal.aborted&&n===J.current&&(K(!0),B([]))}finally{!t.signal.aborted&&n===J.current&&U(!1)}}return r(),()=>{t.abort()}},[v,y,h,F,N,Y,$]);let Fe=(e,t)=>{re?.(e,f(e,t))},Ie=e=>{Fe(M.filter(t=>t!==e),Z)},Le=e=>{e.disabled||(Fe(De.has(e.value)?M.filter(t=>t!==e.value):je?M:[...M,e.value],d(Z,[e])),b&&(I(!1),R(``)))},Re=(e,n)=>{e.key!==`Enter`&&e.key!==` `&&e.key!==`Backspace`&&e.key!==`Delete`||(e.preventDefault(),t.stopInteractivePropagation(e),Ie(n.value))},ze=e=>{if(!_){if(e.key===`ArrowDown`||e.key===`Enter`||e.key===` `){e.preventDefault(),I(!0);return}L.length>0||M.length===0||(e.key===`Backspace`||e.key===`Delete`)&&(e.preventDefault(),Ie(M[M.length-1]))}},Be=()=>{if(!Ne.length)return;let e=typeof S==`number`?Math.max(S-M.length,0):Ne.length,t=Ne.slice(0,e);Fe(Array.from(new Set([...M,...t.map(e=>e.value)])),d(Z,t))},Ve=e=>{Ie(e.value)},He=()=>{re?.([],[]),R(``)},Ue=e=>{t.stopInteractivePropagation(e),He()},We=async()=>{if(!(!w||!L.trim()||$)){Te(!0);try{let e=await w(L.trim()),t=oe(L),n=d(Z,[e]),r=De.has(e.value)||je?M:[...M,e.value];B(t=>[{options:[e]},...t]),v&&t&&ae(q.current,t,[{options:[e]}]),Fe(r,n),R(``),b&&I(!1)}finally{Te(!1)}}};return(0,s.jsx)(`div`,{"data-slot":`async-multi-select`,className:t.cn(`w-full`,e),...j,children:(0,s.jsxs)(i.Popover,{open:F,onOpenChange:I,children:[(0,s.jsxs)(i.PopoverTrigger,{render:(0,s.jsx)(n.Button,{type:`button`,variant:`outline`,disabled:_,"aria-expanded":F,"aria-invalid":A||void 0,"data-slot":`async-select-trigger`,className:t.cn(`min-h-11 w-full justify-between rounded-[var(--aui-control-radius,var(--radius-md))] px-3.5 text-left`,Se),onKeyDown:ze}),children:[(0,s.jsx)(`span`,{className:`flex min-w-0 flex-1 flex-wrap gap-1 text-left`,children:Oe.length>0?Oe.map(e=>(0,s.jsxs)(`span`,{"data-slot":`async-select-tag`,className:t.cn(`inline-flex max-w-full items-center gap-1.5 rounded-[var(--radius-sm)] border border-[color:color-mix(in_oklch,var(--primary),transparent_70%)] bg-[color:color-mix(in_oklch,var(--primary),transparent_92%)] px-2 py-1 text-xs font-medium text-foreground`,k),children:[(0,s.jsxs)(`span`,{className:`flex min-w-0 flex-col`,children:[(0,s.jsx)(`span`,{className:`truncate`,children:he?.(e,{remove:()=>Ve(e)})??me?.(e)??e.label}),e.disabled&&e.disabledReason&&(0,s.jsx)(`span`,{className:`truncate text-[11px] text-muted-foreground`,children:e.disabledReason})]}),!_&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,"data-slot":`async-select-tag-remove`,className:`rounded-full p-0.5 text-muted-foreground transition-colors hover:bg-background hover:text-foreground`,"aria-label":`Remove ${m(e)}`,onClick:n=>{t.stopInteractivePropagation(n),Ve(e)},onKeyDown:t=>Re(t,e),children:(0,s.jsx)(o.XIcon,{className:`size-3`})})]},e.value)):(0,s.jsx)(`span`,{className:`truncate text-muted-foreground`,children:C?.placeholder??`Select`})}),(0,s.jsxs)(`span`,{className:`ml-2 flex shrink-0 items-center gap-1`,children:[Ae&&(0,s.jsx)(`span`,{role:`button`,tabIndex:0,"data-slot":`async-select-clear`,className:`rounded-full border border-border/65 p-1 text-muted-foreground transition-colors hover:border-border hover:bg-muted/55 hover:text-foreground`,"aria-label":C?.clearAll??C?.clear??`Clear all`,onClick:Ue,onKeyDown:e=>{e.key!==`Enter`&&e.key!==` `||(e.preventDefault(),t.stopInteractivePropagation(e),He())},children:(0,s.jsx)(o.XIcon,{className:`size-3.5`})}),(0,s.jsx)(o.ChevronsUpDownIcon,{className:`size-4 opacity-60`})]})]}),(0,s.jsxs)(i.PopoverContent,{align:`start`,"data-slot":`async-select-content`,className:t.cn(`w-(--anchor-width) min-w-72 gap-3 rounded-[var(--aui-card-radius,var(--radius-lg))] border-[color:var(--aui-card-border,var(--border))] bg-popover p-3 shadow-[var(--aui-control-panel-shadow,0_18px_40px_rgba(15,23,42,0.14))]`,E),children:[(0,s.jsxs)(`div`,{"data-slot":`async-select-search-wrap`,className:`relative`,children:[(0,s.jsx)(o.SearchIcon,{className:`pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-muted-foreground`}),(0,s.jsx)(r.Input,{"data-slot":`async-select-search`,value:L,onChange:e=>R(e.target.value),placeholder:C?.searchPlaceholder??`Search...`,className:t.cn(`pl-8`,D)})]}),(0,s.jsxs)(`div`,{"data-slot":`async-select-meta`,className:`flex flex-wrap items-center justify-between gap-2 rounded-[var(--radius-md)] border border-[color:var(--aui-card-border,var(--border))] bg-[color:color-mix(in_oklch,var(--muted),transparent_62%)] px-3 py-2 text-xs text-muted-foreground`,children:[ke&&C?.selectedCount&&(0,s.jsx)(`span`,{children:C.selectedCount(M.length)}),je&&(be?.(Q)??(0,s.jsx)(`span`,{children:C?.maxSelected?.(S??M.length)??`Maximum ${S} selected`})),(0,s.jsxs)(`div`,{className:`ml-auto flex items-center gap-2`,children:[Pe&&(0,s.jsx)(`button`,{type:`button`,"data-slot":`async-select-meta-action`,className:`rounded-[var(--radius-sm)] border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background`,onClick:Be,children:C?.selectAll??`Select all`}),Ae&&(0,s.jsx)(`button`,{type:`button`,"data-slot":`async-select-meta-action`,className:`rounded-[var(--radius-sm)] border border-border/75 px-2.5 py-1 font-medium text-foreground transition-colors hover:bg-background`,onClick:()=>re?.([],[]),children:C?.clearAll??C?.clear??`Clear all`})]})]}),(0,s.jsxs)(`div`,{className:`max-h-72 space-y-1 overflow-y-auto pr-1`,children:[$&&X.length===0&&(ye?.(Q)??(0,s.jsx)(p,{children:C?.minSearchLength?.(x)??`Type at least ${x} characters`})),H&&(ge?.(Q)??(0,s.jsx)(p,{children:(0,s.jsxs)(`span`,{className:`inline-flex items-center gap-2`,children:[(0,s.jsx)(o.Loader2Icon,{className:`size-4 animate-spin`}),C?.loading??`Loading...`]})})),!H&&G&&(ve?.(Q)??(0,s.jsx)(p,{className:`text-destructive`,children:C?.error??`Could not load options`})),!H&&!G&&!$&&X.length===0&&!Me&&(_e?.(Q)??(0,s.jsx)(p,{children:C?.empty??`No options found`})),!H&&!G&&Me&&(0,s.jsx)(ce,{search:L,isCreating:W,label:xe,onCreate:We}),!H&&!G&&z.map((e,t)=>(0,s.jsxs)(`div`,{children:[e.label&&(0,s.jsx)(`div`,{className:`sticky top-0 z-10 bg-popover px-2 py-1 text-xs font-medium text-muted-foreground`,children:(0,s.jsx)(`span`,{"data-slot":`async-select-group-label`,children:e.label})}),e.options.map(e=>(0,s.jsx)(se,{option:e,selected:De.has(e.value),renderOption:pe,optionClassName:O,onSelect:Le},e.value))]},t))]})]})]})})}exports.AsyncMultiSelect=g,exports.AsyncSelect=h;